Добрый день всем.Подскажите плиз, как правильно, технично произвести апргрейд sendmail-8.8.8 на sendmail-8.11.6. Весь инет пролазил, но не нашел ничего вразумительного. С одним товарищем общался, его цитата: "Сам лучше не делай, найди гуру". Но нет гуру по рукой, что же пропадать теперь чтоль:-). Подкиньте инфу, хотя бы в теории для начала, последовательность шагов и т.п.
Заранее спасибо.
>Добрый день всем.
>
>Подскажите плиз, как правильно, технично произвести апргрейд sendmail-8.8.8 на sendmail-8.11.6. Весь инет
>пролазил, но не нашел ничего вразумительного. С одним товарищем общался, его
>цитата: "Сам лучше не делай, найди гуру". Но нет гуру по
>рукой, что же пропадать теперь чтоль:-). Подкиньте инфу, хотя бы
>в теории для начала, последовательность шагов и т.п.
>Заранее спасибо.
не надо никого искать ! сам делай. Ну понятное дело когда нет никого (из пользователей)
незнаю какая у тебя OS стоит, ну предположу что FreeBSD (так как сам на ней сижу)
1. Обнови порты или скачай исходники
2. Сбакапь /etc/mail
3. Если ставишь из портов то cd /usr/ports/mail/sendmail-old (у меня там 8,11,6 версия лежит)
3.1 Make
3.2 killall sendmail ---обязательно
3.3 make install
потом заводишь sendmail (через скрипт или ручками)для проверки какая версия стоит делаешь sendmail -bt -d0.1
если из исходника ставишь ... то напиши кину линк, как делать :)
>незнаю какая у тебя OS стоит, ну предположу что FreeBSD (так какверсия Digital UNIX V4.0F
>сам на ней сижу)
>1. Обнови порты или скачай исходникиисходник уже скачен и растарен
>2. Сбакапь /etc/mail
у меня лежит в /usr/var/adm/sendmail - забэкаплю
>3. Если ставишь из портов то cd /usr/ports/mail/sendmail-old (у меня там 8,11,6
>версия лежит)а можно уточнить что это за штука - порты в этом коннтексте
>3.1 Make
>3.2 killall sendmail ---обязательноя правильно понял что эта команда удалит предыдущую версию sendmail-а
>3.3 make install
>потом заводишь sendmail (через скрипт или ручками)
>
>для проверки какая версия стоит делаешь sendmail -bt -d0.1
>если из исходника ставишь ... то напиши кину линк, как делать :)
>линк вещь рулезная, хотелось бы:-)))
>>незнаю какая у тебя OS стоит, ну предположу что FreeBSD (так как
>
>версия Digital UNIX V4.0F
>
>>сам на ней сижу)
>>1. Обнови порты или скачай исходники
>
>исходник уже скачен и растарен
>
>>2. Сбакапь /etc/mail
>
>у меня лежит в /usr/var/adm/sendmail - забэкаплю
>
>>3. Если ставишь из портов то cd /usr/ports/mail/sendmail-old (у меня там 8,11,6
>>версия лежит)
>
>а можно уточнить что это за штука - порты в этом коннтексте
>
>
>>3.1 Make
>>3.2 killall sendmail ---обязательно
>
>я правильно понял что эта команда удалит предыдущую версию sendmail-а
>
>>3.3 make install
>>потом заводишь sendmail (через скрипт или ручками)
>>
>>для проверки какая версия стоит делаешь sendmail -bt -d0.1
>>если из исходника ставишь ... то напиши кину линк, как делать :)
>>
>
>линк вещь рулезная, хотелось бы:-)))1. Порты это набор минимальных данных для установки программ (такая "штучка" есть только под FreeBSD), в потах есть обсольтное множество программ, заточенных именно под FreeBSD.
2. killall не удалит предыдущую верси sendmail, а остановит его.
3. линк http://www.opennet.ru/docs/RUS/linuxsos/ch15_1.html#1
!!! Почитай внимательно!!!!
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Ничего что она (ДОКА) под линукс, принцип один итотже.
!!изменеия в файлы не вноси!!.
если чего не поймешь из этой доки пиши.
>Добрый день всем.
>
>Подскажите плиз, как правильно, технично произвести апргрейд sendmail-8.8.8 на sendmail-8.11.6. Весь инет
>пролазил, но не нашел ничего вразумительного. С одним товарищем общался, его
>цитата: "Сам лучше не делай, найди гуру". Но нет гуру по
>рукой, что же пропадать теперь чтоль:-). Подкиньте инфу, хотя бы
>в теории для начала, последовательность шагов и т.п.
>Заранее спасибо.скачиваешь дистрибутив, проверяешь checksum, раскрываешь, читаешь
README, INSTALL там все по пунктам расписано.
Ребят, извените, что опять надоедаю, но тут возникла новая проблема. пытаюсь запустить sh Build
но выходит следующая ошибка:
ERROR: Using M4=/usr/bin/m4: This version of m4 is broken: trailing zero problem
/usr/bin/m4::6 can't open fileзначит ли это, что препроцессор m4 накрылся медным тазом, и чтобы продолжить все работы, необходимо залить в систему новую или обновить старую версию или что-то в этом роде m4, если да - то не скажете, так как у меня повторюсь система Digital UNIX V4, где мне взять этот исходник m4? или здесь и от линукс подойдет за милую душу?
информация к размышлению.Если говорить о формировании файла cf.
если я запускаяю командой
m4 ${CFDIR}/m4/cf.m4 config.mc > config.cf
Всё прекрасно отрабатывает, создает. Если я запускаю тоже самое действо с помощью сендмайловского скрипта Build
cd ${CFDIR}/cf
./Build config.cfвыдает ту же ошибку:
ERROR: Using M4=/usr/bin/m4: This version of m4 is broken: trailing zero problem /usr/bin/m4::6 can't open file
Я правильно делаю вывод?: сендмайловский скрипт Build некорректно работает с моим предпроцессором m4.
и вопрос, как можно эту феньку обойти, ведь мне ещё надо сделать Build, Build installи т.д.?
>Ребят, извените, что опять надоедаю, но тут возникла новая проблема. пытаюсь запустить
>sh Build
>но выходит следующая ошибка:
>ERROR: Using M4=/usr/bin/m4: This version of m4 is broken: trailing zero problem
>
>/usr/bin/m4::6 can't open file
>
>значит ли это, что препроцессор m4 накрылся медным тазом, и чтобы продолжить
>все работы, необходимо залить в систему новую или обновить старую версию
>или что-то в этом роде m4, если да - то не
>скажете, так как у меня повторюсь система Digital UNIX V4, где
>мне взять этот исходник m4? или здесь и от линукс подойдет
>за милую душу?опс, sorry, это ньюанс и он есть в README, поставь гнутый m4 с PREFIX=/usr/local и полностью запускай создание конфигурации:
+--------------------------+
| INTRODUCTION AND EXAMPLE |
+--------------------------+Configuration files are contained in the subdirectory "cf", with a
suffix ".mc". They must be run through "m4" to produce a ".cf" file.
You must pre-load "cf.m4":m4 ${CFDIR}/m4/cf.m4 config.mc > config.cf
Alternatively, you can simply:
cd ${CFDIR}/cf
./Build config.cfwhere ${CFDIR} is the root of the cf directory and config.mc is the
name of your configuration file. If you are running a version of M4
that understands the __file__ builtin (versions of GNU m4 >= 0.75 do
this, but the versions distributed with 4.4BSD and derivatives do not)
or the -I flag (ditto), then ${CFDIR} can be in an arbitrary directory.
For "traditional" versions, ${CFDIR} ***MUST*** be "..", or you MUST
use -D_CF_DIR_=/path/to/cf/dir/ -- note the trailing slash! For example:m4 -D_CF_DIR_=${CFDIR}/ ${CFDIR}/m4/cf.m4 config.mc > config.cf
попробуй через groups.google.com поискать мой постинг в fido7.ru.unix.bsd
- я там для Solaris расписывал. Во многих коммерческих Unix'ах m4 старыйВзять можешь прямо с GNU или зеркал, например:
ftp://ftp.chg.ru/pub/gnu/m4/m4-1.4.tar.gz
или ищи к ближайший к себе:
http://www.filesearch.ru/
прежде всего, спасибо за помощь. Теперь вроде бы проникся всем, кроме одного:при установке, он создал директорию /etc/mail, и в ней, при запуске, ищёт sendmail.cf, сейчас всё настроил всё работает.
Но вот хочеться чтобы он брал при запуске из старой директории куда он был установлен ранее - из /var/adm/sendmail/.
Попытался сконфигурировать на эту директорию, ничего не вышло.
Не подскажите, где нужно указать чтобы при старте он искал sendmail.cf в директории /var/adm/sendmail/.
Пробовал изменить путь в переменной MAIL_SETTINGS_DIR в файле сfhead.m4, который вызывается скриптом cf.m4
и с помощью "m4 cf.m4 config.mc > config.cf" собрать конфигурационный файл, после чего проинсталлировал вновь sendmail, но результата не добился:-((
>прежде всего, спасибо за помощь. Теперь вроде бы проникся всем, кроме одного:
>
>
>при установке, он создал директорию /etc/mail, и в ней, при запуске, ищёт
>sendmail.cf, сейчас всё настроил всё работает.
>Но вот хочеться чтобы он брал при запуске из старой директории куда
>он был установлен ранее - из /var/adm/sendmail/.
>Попытался сконфигурировать на эту директорию, ничего не вышло.
>Не подскажите, где нужно указать чтобы при старте он искал sendmail.cf в
>директории /var/adm/sendmail/.
>Пробовал изменить путь в переменной MAIL_SETTINGS_DIR в файле сfhead.m4, который вызывается скриптом
>cf.m4
>и с помощью "m4 cf.m4 config.mc > config.cf" собрать конфигурационный файл, после чего проинсталлировал вновь sendmail, но результата не добился:-((
я тебе по почте расписал, в новых версиях сменили m4 и подход к расположению файлов конфигурации и директории для них:MAIL_SETTINGS_DIR == /etc/mail
-DUSE_VENDOR_CF_PATH=... - путь /path/sendmail.cf флаг компиляции
или как вариант:
ln -s /path/sendmail.cf /etc/mail/sendmail.cf
>MAIL_SETTINGS_DIR == /etc/mail
>-DUSE_VENDOR_CF_PATH=... - путь /path/sendmail.cf флаг компиляции
>или как вариант:
>ln -s /path/sendmail.cf /etc/mail/sendmail.cfэто сообщение уже можно рассматривать как бормотание непроникшегося ламера: "Ну как же так?!" с разведением руками. Позвольте описать мои шаги, а вы уж решите ламер я или нет:
Задача, поставить sendmail не в /etc/mail а в другую директорию -/usr/var/adm/sendmail/.в файле /tmp/sendmail-8.11.6/devtools/Site создал файл site.config.m4 следующего вида
---------------------------------------
# $Id: OSF1,v 8.12.16.1 2000/06/05 17:29:47 gshapiro Exp $
define(`confENVDEF', `-DUSE_VENDOR_CF_PATH=/usr/var/adm/sendmail/sendmail.cf')
define(`confCC', `cc -std1 -Olimit 1000')
define(`confMAPDEF', `-DNDBM -DNIS -DMAP_REGEX')
define(`confLIBS', `-ldbm')
define(`confSTDIR', `/usr/var/adm/sendmail')
define(`confINSTALL', `/usr/var/adm/sendmail')
define(`confEBINDIR', `/usr/lbin')
define(`confUBINDIR', `${BINDIR}')
define(`confDEPEND_TYPE', `CC-M')define(`confMTLDOPTS', `-lpthread')
define(`confDEPLIBS', `-lpthread -lc')
define(`confSONAME', `-soname')
----------------------------------------
в директории sendmail запускаю sh Build -L/usr/shlib
в директории cf/cf создаю config.mc следующего вида
-----------------------------------
divert(-1)
# This is a generic configuration file for OSF/1.
# It has support for local and SMTP mail only. If you want to
# customize it, copy it to a name appropriate for your environment
# and do the modifications there.
divert(0)dnl
VERSIONID(`$Id: generic-osf1.mc,v 8.11 1999/02/07 07:26:02 gshapiro Exp $')
OSTYPE(osf1)dnl
DOMAIN(generic)dnl
MAILER(local)dnl
MAILER(smtp)dnl
-----------------------------------
иду в каталог сf.m4, и в файле cfhead.cf (который вызывается из cf.m4) правлю переменную MAIL_SETTINGS_DIR
строка имеет следующий вид
-----------------------------------
ifdef(`MAIL_SETTINGS_DIR', , `define(`MAIL_SETTINGS_DIR', `/usr/var/adm/sendmail/')')
-----------------------------------
далее перехожу обратно в cf/cf/ и запускаю следующее
m4 ../m4/cf.m4 config.mc > config.cf
скопировал config.cf в /usr/var/adm/sendmail/sendmail.cf
перехожу обратно в sendmail
и запускаю sh Build install
и в ходе работы скрипта всё-же создается директория /etc/mail!!:-((
и при попытке запустить sendmail
/sbin/init.d/sendmail start он ругается
------------------------
/etc/mail/sendmail.cf: line 0: cannot open: No such file or directory
*** Exit 72
Stop.
------------------------сейчас просто сделал линк ln -s /path/sendmail.cf /etc/mail/sendmail.cf, всё работает,
но всё же хочелось бы конечно знать, где же я проявил ламерство!:-)и, спасибо всем, кто проявил участие в данной теме, живите в мире:-)