#/sbin/chkconfig --add adsl if [ -f /etc/ppp/resolv.conf ]; then rm -f /etc/ppp/resolv.conf && ln -s /etc/resolv.conf /etc/ppp/resolv.conf else ln -s /etc/resolv.conf /etc/ppp/resolv.conf fi 1. %post_service 2. /etc/ppp/resolv.conf -> /etc/resolv.conf это неправильно. Цитирую из man pppd/usepeerdns: In addition, pppd will create an /etc/ppp/resolv.conf file containing one or two nameserver lines with the address(es) supplied by the peer. Это приводит к тому, что имеем файл, не принадлежащий какому-либо пакету, наличие которого ломает логику работы ip-up/ifup-post и постоянно портит /etc/resolv.conf.
1) При чём тут %post_service? Напротив строки запуска сервиса стоит комментарий. 2) Что значиет "портит"? А куда же тогда прописывать динамически получаемый DNS провайдера? Если я не ошибаюсь, то pppd уже давно не пишет в /etc/ppp/resolv.conf, по крайней мере у нас я такого не замечал. Мне наоборот пришлось вводить эту систему ссылок в прошлом году для того, чтобы после поднятия pppoe записи о правильных DNS попадали в chrooted резолвер. А до этого три года всё спокойно писалось в /etc/ppp/resolv.conf, а /etc/resolv.conf был ссылкой на него. Если необходимо "найти хозяина" для /etc/ppp/resolv.conf, то это не проблема. Я это сделаю.
(In reply to comment #1) > 1) При чём тут %post_service? Напротив строки запуска сервиса стоит комментарий. Согласен. Был сонный. > 2) Что значиет "портит"? А куда же тогда прописывать динамически получаемый DNS > провайдера? Если я не ошибаюсь, то pppd уже давно не пишет в > /etc/ppp/resolv.conf, по крайней мере у нас я такого не замечал. Мне наоборот Пишет-пишет. man не врёт. > пришлось вводить эту систему ссылок в прошлом году для того, чтобы после > поднятия pppoe записи о правильных DNS попадали в chrooted резолвер. А до этого Если в rp-pppoe-client используется pppd и ему передаётся usepeerdns, то после поднятия интерфейса при запуске /etc/ppp/ip-up нужные значения будут записаны в /etc/resolv.conf > три года всё спокойно писалось в /etc/ppp/resolv.conf, а /etc/resolv.conf был > ссылкой на него. Если необходимо "найти хозяина" для /etc/ppp/resolv.conf, то > это не проблема. Я это сделаю. Этот файл создаст и сам pppd, если ему передан usepeerdns.
*** This bug has been marked as a duplicate of 4249 ***
А ведь pppd действительно пишет в /etc/ppp/resolv.conf. Опишу конкретную ситуацию. Поднят кэширующий DNS pdnsd. Это требует, чтобы в /etc/resolv.conf находилась _лишь одна_ строчка nameserver 127.0.0.1. Реальные DNS провайдера pdnsd получает от pppd (/etc/ppp/ip-up) через переменные DNS1 и DNS2. Поскольку у нас rp-pppoe-client при установке, а также adsl-connect при запуске делают /etc/ppp/resolv.conf ссылкой на /etc/resolv.conf, содержимое последнего меняется каждый раз, когда запускается pppd. На мой взгляд, подобная ссылка создаваться не должна.
.
%postin #/sbin/chkconfig --add adsl #if [ -f /etc/ppp/resolv.conf ]; then # rm -f /etc/ppp/resolv.conf && ln -s /etc/resolv.conf /etc/ppp/resolv.conf #else # ln -s /etc/resolv.conf /etc/ppp/resolv.conf #fi [ -h /etc/ppp/resolv.conf ] && rm -f /etc/ppp/resolv.conf && cat /etc/resolv.conf > /etc/ppp/resolv.conf ||: Предлагаю: 1. сервис добавлять 2. сделать не запускаемым по умолчанию 3. /etc/ppp/resolv.conf не трогать, но симлинк удалять
Сервис и так добавляется, но не запускается.