Като споменах SLES в другата тема се усетих, че може да ви питам за един проблем със SuSE Linux Enterprise Server 12, който ме спъна. Не успявам да задам IP адрес на мрежови интерфейс при изключен кабел. Някой играл ли си е с тази дистрибуция и знае ли дали има начин това да стане със стандартния инструментариум в нея?
Понеже съм се отчаял, че ще намеря отговор, та поне да си изплача мъката

Губя почва под краката си, когато разбера, че трябва да се занимая с някое SuSE. С тази дистрибуция ми върви наопаки - някои неща се случват на магия и ми спестяват работа (макар че рядко е добра идея да разчиташ на неща, които не си разбрал как са станали), но редовно ми се случват проблеми, които другаде съм нямал. Лично аз съм на мнение, че SuSE може да се брои за Linux точно толкова, колкото и Android, ама не искам да разсърдя някои негови фенове

В тази версия на SLES за настройка на мрежата не се ползва ifup, не се ползва и NetworkManager, а се ползва нещо, на име Wicked. Мрежовия интрефейс (в случая бяха 4 карти, вързани 2х2 в bonding, но това няма значение за проблема; пробвах и с единична карта) го настроих през YaST, постарали са се да има привидно всичко необходимо за настройка, но се оказва, че Wicked не задава IP на интерфейса, когато няма включен кабел в него. Оказа се и, че въпреки различните настройки за това кога интерфейсът да се вдига (при boot, при вкаран кабел, при зареден модул...) не се задава IPv4 адрес, ако системата зареди без включен кабел и чак след това се включи. Казвам IPv4 адрес, понеже се оказа, че IPv6 адрес с всякакви настройки успява да се зададе автоматично при вкарване на кабела (макар че там нямах IPv6 свързаност, за да пробвам работи ли, и макар че IPv6 адрес също не се задава, ако кабелът е изключен при вдигане на интерфейса). След заравяне във файловете в /etc/wicked намерих един ред, на който пишеше "use-nanny" и беше "false". Зададох го на "true" и след рестарт на Wicked автоматичното задаване на адрес при вкаран кабел тръгна. Чудно защо в сървърна дистрибуция е изключено по подразбиране и защо не е изведено сред настройките в YaST, но гледайки в changelog-а на дистрибуцията как ту е бил включен по подразбиране, ту не, оставам с впечатлението, че този демон може и да е бъгав, но сякаш работи. Но той не помага за задаване на адреси при изключен кабел. А е важно да се задават адреси при изключен кабел, защото хората там казаха, че щяло да се случва сървърът да се пуска без мрежа (това също не го разбирам, но както и да е), а на сървъра му сложихме dhcpd, който упорито отказва да запали, ако няма зададен IP адрес на мрежовия интерфейс, към който е вързан. Успях да го накарам да се рестартира при ifdown-ifup и при цялостен рестарт на мрежата, като сложих команда за това в един скрипт за рестарт на firewall-а, който Wicked си ползва, и като добавих "sleep 1" в скрипта за стартиране на dhcpd, понеже без него успяваше да се рестартира, преди да е успял да се зададе адрес на интерфейса, въпреки че се изпълняваше съвсем в края на процеса по рестарт на мрежата. Не съм сигурен как се получаваше това разминаване, но SLES 12 пристига със systemd и е възможно да има някаква връзка с асинхронните му процеси. И въпреки всичко все още не стартира, ако системата се зареди с изключен мрежови кабел, защото все още не се задава IP адрес на интерфейса при този случай и ще иска ръчно рестартиране след включването на кабела, защото, за разлика от основния демон на Wicked, демонът Wicked-nanny, който включих да се грижи за задаването на адрес при включване на кабела, не поддържа скриптови разширения и няма къде да му добавя рестарт на dhcpd-то. Да, това се решава със скрипт в cron-а, който да следи за появата на адрес и да рестартира dhcpd-то, но... Всички гимнастики, които описах, нямаше да са нужни, ако в SLES 12 се задаваше IP адрес и на мрежови интерфейси без връзка. Много ще се радвам, ако разбера, че и то си можело, но аз съм пропуснал нещо