Алексей Федорчук
С некоторых пор, работая в своей основной системе — Zenwlak’е, я стал испытывать дискомфорт. Нет, ничего фатального — всё справно работало и не проявляло тенденций к саморазрушению. Просто, установив в своё время систему в варианте 5.4 beta1, обновив её до 6.0-rc1, а затем и до состояния релиза 6.0, я постоянно натыкался на реликты «геологического прошлого». Не говоря уже о ряде приложений, которые или по ряду причин перестали использоваться. Не то что бы это всё мне сильно мешало — но несколько оскорбляло моё эстетическое чувство.
Разумеется, самый простой способ получить «чистую» систему — переустановить её с нуля. Однако даже при условии сохранения всех общесистемных и пользовательских конфигов это грозило значительными потерями времени. Причём абсолютно непроизводительными — никаких изменений в инсталляторе новой версии отмечано не было, так что ценность процедуры с точки зрения удовлетворения любопытства была равна нулю.
И я решил выполнить большую чистку системы посредством netpkg, тем более что её современные версии в графической опистаси обещали эффективное отслеживание «осиротелых» (orphans) зависимостей. Ну и заодно проверить эффективность этой процедуры и сравнить её с таковой в Debian based дистрибутивах при использовании aptitude.
Итак, запускаю netpkg в графической ипостаси («Дельфинье» меню -> Система -> Netpkg с вводом пароля администратора) и обновляю базу данных с одного из снапшот-зеркал (я обычно использую вот это — чисто субъективно оно кажется самым быстрым).
Вообще, какой репозиторий использовать — current или snapshot — вопрос спорный. В большинстве случаев использование snapshot совершенно безопасно, с одной стороны, и обеспечивает актуальность установленных версий — с другой, в репозитории current, как правило, происходят только обновления, связанные с устранением «дыр» в безопасности. Однако бывают переломные моменты, когда обновление до snapshot-версии с завидной регулярностью приводит систему в полностью неработоспособное состояние — один из таких моментов имел место быть минувшей осенью, во время смены Xfce 4.4 на тестовые версии 4.6, смены принципов пакетирования некоторых крупных пакетов (таких, как компоненты Xorg), радикального изменения схемы инициализации и существенной модификации утилит настроки системы.
Общую рекомендацию я бы дал такую: если Zemwalk нужен ислючительно для практической работы, ограничиться при обновлениях current-репозиторием, в этом случае неожиданности, как показывает опыт последних версий, практически исключены. При желании же быть на острие прогресса следует использовать snapshot-репозиторий, но с осторожностью: ни в коем случае не применять бездумно netpkg upgrade по поводу и без повода, а внимательно отслеживать текущие изменения, в чём неоценимую помощь окажет как раз графическая ипостась менеджера пакетов.
Вернёмся, однако, к нашей большой чистке. Первое, что я сделал после обновления репозитория — избавился от приложений, ставших ненужными. В их число попали в первую очередь те, что устанавливались по случаю. Например, seamonkey мне пришлось установить в тот момент, когда текущая версия iceweasel категорически отказывалась работать со многими онлайновыми сервисами, такими, как gmail и webmoney.
Далее, из системы были изъяты Abiword, Gnumeric и все связанные с ними компоненты т.н. Gnome Office. Причина в том, что без Openoffice.org мне всё равно не обойтись, а держать два офисных пакета, единственное назначение которых — чтение чужих документов из Microsoft Office, показалось мне излишней роскошью.
Наконец, я поудалял все пакеты, которые в своё время ставились «на посмотреть», такие, как браузер Midori, очень интересный сам по себе, но к практическому использованию пока не пригодный.
Во всех случаях, когда менеджер пакетов предлагал удалить вместе с пакетами «осиротевшие» зависимости, я с этим соглашался. После чего перезагрузился вчистую на предмет проверки: система оказалась полностью работоспособной, ничего лишнего удалено не было.
Теперь, после избавления от заведомого балласта, наступило время тотального обновления. Для чего я просто отметил чекбокс Modified, потом — чекбоксы всех категорий, в которых были обнаружены модифицированные приложения, после чего нажал кнопку Install, уже довольно давно пришедшую на смену Большой Красной Кнопке, согласившись с предложением установить все зависимости модифицированных пакетов.
Увы, результат оказался тот же, что и при обновлении до 6.0-rc1: бодро скачав пакеты и столь же резво начав их разворачивать, ползунок Netpkg застыл где-то на середине, и более никуда не двигался. Пришлось опять обратиться к опробованному методу: командам
# netpkg mirror
с выбором того же зеркала, и
# netpkg upgrade
После чего тотальное обновление успешно завершилось.
Теперь предстояло разбираться с тем, что было обновлено. Главное отличие схемы пакетирования текущей версии от всех предыдущих заключалось в расчленении xorg: составляющие его крупные пакеты были разделены на много мелких. В частности, xorg-drivers-input и xorg-drivers-video, объединяющие драйвера для устройств ввода и видеокарт, соответственно, были разделены на мелкие пакеты, каждый для своего устройства (всякого рода планшеты, джойстики и так далее) и своего видеочипа (коих там бессчётное количество).
Это давало возможность избавиться от дополнительного балласта: никаких планшетов и тому подобного инструмента у меня в хозяйстве не водится, а из поддерживаемых Иксами видеочипов 90% можно считать вымершими. В итоге из устройств ввода я оставил только стандартные драйвера клавиатуры и мыши (xorg-driver-keyboard и xorg-driver-mouse), а из видеоустройств — драйвер для интегрированного видео от Intel (xorg-driver-intel) и, на всякий пожарный, драйвер VESA (xorg-driver-vesa).
Теперь предстояло перезагрузить машину. Поскольку версия X-сервера в результате всех обьновлений поднялась до 1.6 (то есть последней на сей момент), я, наученный горьким опытом и с CRUX’ом, и с PC-BSD, установил загрузку в текстовом режиме, заменив в файле /etc/inittab строку
id:4:initdefault:
на
id:3:initdefault:
После рестарта я от лица root’а первым делом выполнил автоматическое реконфигурирование Иксов:
# X -configure
Затем скопировал новооборазованный прототип конфига по месту постоянной прописки:
# cp /root/xorg.conf.new /etc/X11/xorg.conf
и отредактировал его должным образом. А именно:
- обеспечил возможность переключения с латиницы на кириллицу строками
Option "XkbLayout" "us,ru" Option "XkbVariant" ",winkeys" Option "XkbOptions" "grp:lwin_toggle"
в секции InputDevice, и
- запретил автоопределение устройств посредством HAL
Option "AutoAddDevices" "False" Option "AllowEmptyInput" "False"
в секции ServerLayout.
Вернув загрузку в графическом режиме, поменяв указанные строки в /etc/inittab, снова выполнил рестарт машины. И, авторизовавшись через gdm (автоматический вход в систему слетел во время всех этих апгрейдов — но это дело легко поправимое), имел удовольствие наблюдать Xfce со всеми моими прежними настройками.
Всё описанное выше заняло меньше времени, чем ушло у меня на сочинение настоящей заметки. Результат — неизменно превосходен: чистая, незахламленная система, сконфигурированная точно так же, как и раньше — но с освежёнными версиями всего софта и лишённая тяжкого наследия прошлых режимов.
Поздравляю с Днем геолога!
Вчера МГРИ отмечал его в музее на Моховой совершенно замечательным концертом.
* запретил автоопределение устройств посредством HAL
Option «AutoAddDevices» «False»
Option «AllowEmptyInput» «False»
в секции ServerLayout.
А это-то для чего? Может и мне надо?
Виноват, сам разобрался — http://alv.me/?p=371