У меня проблема с моими виртуальными машинами.
Я использовал тот же шаблон (Debian 7min) в OpenVZ, но по какой-то причине эти двое используют разные mailx. У меня есть небольшой скрипт, который я использую для отправки статусных писем:
mailx -v -s "$subject" -S smtp=$smtphost -S from="$mailfrom" -S smtp-auth-user=$smtpuser \
-S smtp-auth-password=$smtppwd $emailto </dev/null
Он работает на одном сервере, другой выдает мне сообщение об ошибке «unknown command -S».
Хорошо, я знаю, что mailx - это просто виртуальный пакет, и я обычно устанавливаю bsd-mailx, но оба сервера показывают, что они идентичны
ls -al / и т.д. / альтернативы / ма *
lrwxrwxrwx 1 root root 18 Feb 9 20:07 /etc/alternatives/mailx -> /usr/bin/bsd-mailx
dpkg --get-selections | grep mail
bsd-mailx install
fetchmail install
procmail install
rmail install
sendmail install
sendmail-base install
sendmail-bin install
sendmail-cf install
sendmail-doc install
Проблема в том, что mailx никогда не поддерживает какую-либо информацию о версии, поэтому mailx --help или --version просто говорит «неизвестный параметр», поэтому я даже не могу понять, какая «версия» mailx это
Это вывод с сервера 1
mailx: illegal option -- -
Usage: mailx -eiIUdEFntBDNHRV~ -T FILE -u USER -h hops -r address -s SUBJECT -a FILE -q FILE -f FILE -A ACCOUNT -b USERS -c USERS -S OPTION users
это вывод с сервера 2
mailx: invalid option -- '-'
usage: mailx [-dEIinv] [-a header] [-b bcc-addr] [-c cc-addr] [-s subject] to-addr ...
[-- sendmail-options ...]
mailx [-dEIiNnv] -f [name]
mailx [-dEIiNnv] [-u user]
Явно не идентичный. Любая помощь, как я могу «получить» mailx с сервера 1 на сервер 2? У меня нет идей.
Итак, на server1 у вас есть heilroom-mailx, т.е. /etc/alternatives/mailx -> /usr/bin/heirloom-mailx
, второй сервер использует bsd-mailx
.
Делать apt-get install heirloom-mailx
на обоих серверах, если вы хотите получать mailx с server1.
После установки сервер должен автоматически использовать семейную реликвию как mailx, в противном случае:
sudo update-alternatives --set mailx /usr/bin/heirloom-mailx
Чтобы расширить ответ от @darek и @ nadir-latif /usr/bin/mail
также является альтернативой и является рабом mailx
альтернативно, проверяя установки Wheezy / Jessie, heirloom-mailx
приоритет был 60, поэтому для установки используйте
sudo update-alternatives --install /usr/bin/mailx mailx /usr/bin/heirloom-mailx \
60 --slave /usr/bin/mail mail /usr/bin/heirloom-mailx \
--slave /usr/share/man/man1/mail.1.gz mail.1.gz \
/usr/share/man/man1/heirloom-mailx.1.gz --slave \
/usr/share/man/man1/mailx.1.gz mailx.1.gz \
/usr/share/man/man1/heirloom-mailx.1.gz
что позволит установить как mail
и mailx
альтернативы. На растяжке mail.mailutils
имеет приоритет 30 и со страницы руководства
Когда группа ссылок находится в автоматическом режиме, альтернативы, на которые указывают члены группы, будут иметь наивысший приоритет.
поэтому, если вы используете приоритет 60
и у вас установлен автоматический режим, вам не нужно явно указывать альтернативу, иначе, поскольку @darek использует
sudo update-alternatives --set mailx /usr/bin/heirloom-mailx