Como mudar o mailx?

2

Estou com um problema em minhas VMs.

Eu usei o mesmo template (Debian 7min) no OpenVZ, mas por alguma razão os dois estão usando um mailx diferente. Eu tenho um pequeno script que eu uso para enviar mensagens de status:

    mailx -v -s "$subject" -S smtp=$smtphost -S from="$mailfrom" -S smtp-auth-user=$smtpuser \
 -S smtp-auth-password=$smtppwd $emailto </dev/null

Ele funciona em um servidor, o outro me envia uma mensagem de erro 'unknown command -S'.

Ok, eu sei que o mailx é apenas um pacote virtual, e eu costumo instalar o bsd-mailx, mas ambos mostram que o servidor é de configuração idêntica

ls -al / etc / alternatives / ma *

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

O problema é que o mailx como nunca suporta qualquer tipo de informação de versão, então mailx --help ou --version apenas diz 'unknown option' - então eu não consigo nem descobrir qual 'versão' do mailx é

Esta é a saída do servidor 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

esta é a saída do servidor 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]

Claramente não é identico. Qualquer ajuda como eu posso 'obter' o mailx do servidor 1 para o servidor 2? Eu estou sem ideias.

    
por Chris 10.02.2015 / 02:27

2 respostas

2

Portanto, no servidor1 você tem heilroom-mailx, ou seja, /etc/alternatives/mailx -> /usr/bin/heirloom-mailx , o segundo servidor usa bsd-mailx .

Faça apt-get install heirloom-mailx em ambos os servidores se você quiser ter o mailx do server1.

Após a instalação, o servidor deve usar automaticamente a herança como mailx, se não:

sudo update-alternatives --set mailx /usr/bin/heirloom-mailx
    
por 11.02.2015 / 17:29
0

Para expandir a resposta de @darek e @ nadir-latif /usr/bin/mail também é uma alternativa e é um escravo da alternativa mailx , a partir da verificação de instalações Wheezy / Jessie, a heirloom-mailx prioridade era 60, para instalar use

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

que permitirá definir as alternativas mail e mailx . No Stretch, o mail.mailutils tem uma prioridade de 30 e da página man

When a link group is in automatic mode, the alternatives pointed to by members of the group will be those which have the highest priority.

Se você usar a prioridade de 60 e tiver definido como automático, não precisará definir explicitamente a alternativa, do contrário, como os estados @darek usam

sudo update-alternatives --set mailx /usr/bin/heirloom-mailx
    
por 26.02.2018 / 15:51