Debian 8 amavis problem

Здравейте и за много години!

Наложи ми се да правя ъпгрейд на един от главните ми сървъри, който беше с debian 7 и вече е с 8-ца :)

Всичко мина долу-горе добре, обаче изникна проблем с amavis-a. Проблема се изразяваше в следното : самият amavisd демон не искаше да тръгва, и съответно в логове се виждаше това :

Starting amavisd: syntax error at /usr/sbin/amavisd-new line 1921, near “$pn qw(DEBUG INFO NOTICE WARNING ERR CRIT ALERT EMERG)”
 syntax error at /usr/sbin/amavisd-new line 1923, near “$prio : LOG_WARNING”
 syntax error at /usr/sbin/amavisd-new line 1929, near “}”
 syntax error at /usr/sbin/amavisd-new line 1937, near “}”
 syntax error at /usr/sbin/amavisd-new line 1943, near “}”
 syntax error at /usr/sbin/amavisd-new line 1963, near “}”
 syntax error at /usr/sbin/amavisd-new line 1978, near “}”
 syntax error at /usr/sbin/amavisd-new line 1987, near “}”
 syntax error at /usr/sbin/amavisd-new line 1990, near “}”
 Can’t use global @_ in “my” at /usr/sbin/amavisd-new line 1995, near “= @_”
 /usr/sbin/amavisd-new has too many errors.
 (failed).

Тук проблема се оказа от новата версия на perl , и остарелия amavis ( който беше инсталиран ръчно, чрез make && make install ). След обновяване през apt-get install amavis самият процес тръгна, обаче взе да плюе следното в mail.log-a:
 Jan 4 11:10:45 alpha amavis[25842]: (25842–02–6) (!)WARN save_info_final: sql exec: err=1054, 42S22, DBD::mysql::st execute failed: Unknown column ‘rseqnum’ in ‘field list’ at (eval 96) line 172.
 Jan 4 11:10:46 alpha amavis[25838]: (25838–02–5) (!)WARN save_info_final: sql exec: err=1054, 42S22, DBD::mysql::st execute failed: Unknown column ‘rseqnum’ in ‘field list’ at (eval 96) line 172.
 Jan 4 11:10:46 alpha amavis[25838]: (25838–02–5) (!!)ERROR sql_storage: too many retries on storing final, info not saved

Тук пък в крайна сметка се оказа, че след версия 2.7 трябвало да се добавят 3 полета в таблица msgrcpt и едно в таблица msgs. Това става лесно:

ALTER TABLE msgrcpt ADD rseqnum integer DEFAULT 0 NOT NULL;
 ALTER TABLE msgrcpt ADD content char(1) DEFAULT ‘ ‘ NOT NULL;
 ALTER TABLE msgrcpt ADD is_local char(1) DEFAULT ‘ ‘ NOT NULL;
 ALTER TABLE msgs ADD originating char(1) DEFAULT ‘ ‘ NOT NULL;

- взаймствано инфо от тук.

И така, в крайна сметка проблема ми с пощенския сървър се оправи и всичко работи както преди :)

Like what you read? Give Nikolay Nikolov a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.