Убил выходные на то, чтобы 3 компьютера проапгрейдить со старых ОС на OpenSuSe 11.4.
Хуже всего проходил upgrade с 11.0 на 11.4 на ноутбуке. Вроде и система установилась нормально, перегружаю ноутбук, и при попытке залогиниться получаю отбивку – “Неизвестный модуль” (или для англоязычной версии “Module is unknown”).
Выяснилось, что в 11.4 для авторизации используются модули PAM (которые не были установлены на ноутбуке в версии 11.0 и при апгрейде система их “забыла” поставить). Так что есть два варианта решения проблемы – либо доставить модули руками (что проблематично, т.к. так просто залогиниться не получится), либо отключить использование PAM при логине – я так и сделал.
Процедура следующая. При загрузке системы в меню Grub надо выбрать соответствующий вариант загрузки и руками в опцию загрузки написать single. В однопользовательском режиме надо поправить файл /etc/pam.d/login, и закомментировать строчку:
#session required pam_resmgr.so
После перезагрузки ноутбука в обычном режиме в систему уже можно было залогиниться, но запустить X с помощью startx мог только root (остальным пользователям не хватало прав). Проблема не наблюдалась в runlevel 5 (т.к. там иксы стартуют от рута), но у меня все работает в runlevel 3 и иксы запускаются только при необходимости. Это лечится добавлением прав на запуск:
# chmod a+s /usr/bin/Xorg