Zenwalk
Приобщение к Linux

Алексей Федорчук

2008-06-25

назад | к началу | вперед

Конфигурирование netpkg

Как уже неоднократно говорилось, за настройку работы netpkg отвечает файл /etc/netpkg.conf. Настало время подробнее ознакомиться с его устройством.

Файл этот состоит из двух секций, хотя они и не обособлены явным образом. Первая описывает все доступные зеркала репозиториев, о которых уже говорилось столько, что здесь добавить просто нечего. Вторая же содержит все остальные возможные настройки, которые мы и опишем последовательно.

Первыми после списка зеркал репозиториев идут строки

Proxy_Socket = 
Proxy_User = 
Proxy_Password =

Здесь при необходимости надо вписать адрес используемого прокси-сервера, имя пользователя и его пароль — в общем, те, кто заходят в Интернет через прокси, и сами знают, что тут писать.

Строка

Package_logs = /var/log/packages

указывает путь к базе данных установленных пакетов. Менять тут ничего не следует — это создается и используется утилитой installpkg, о которой речь была раньше.

В строках

Keep_packages = yes
# Keep_packages = no

определяется, надо ли сохранять файлы устанавливаемых пакетов в локальном кэше. Если нет — достаточно закрыть комментарием первую строку и раскомментировать вторую. Если же файлы пакетов требуется сохранять, то нужно определить, где. Это указывается в строке

Local_repository = /var/packages

а стоит или нет менять значение по умолчанию (например, на ~/packages) — решать пользователю.

В строке

Black_list = aaa_base

можно перечислить имена пакетов, которые не будут обновляться ни автоматически через netpkg upgrade, ни при явном их указании — netpkg имя_пакета: их необходимо будет скачать и установить вручную. В прежних версиях этот перечень включал, в частности, всё, что относится к ядру — сам образ его, исходники и заголовки. Ныне же, как можно видеть, "черный список" по умолчанию пуст.

В следующей строке

Protected_files = [много_всего]

можно видеть перечень конфигурационных файлов, которые не будут изменяться при автоматическом обновлении пакетов или системы в целом. По умолчанию он включает такие конфиги, как /etc/lilo.conf, /etc/fstab, /etc/passwd, /etc/shadow, /etc/group, /etc/inittab, /etc/rc.d/rc.local, /etc/rc.d/rc.modules, /etc/rc.d/rc.netfilter, /etc/profile, /etc/hosts, /etc/sudoers, /etc/X11/xorg.conf.

Строкой

Netpkg_dir = /var/netpkg

задаётся каталог для помещения всех файлов, связанных с работой netpkg — списка установленных пакетов, смены зеркал и так далее, то, что заинтересованному пользователю предлагалось изучить самостоятельно.

Затем определяется, следует ли выводить информацию о зависимостях при установке пакета:

Handle_dependencies = yes 

По умолчанию на установку зависимостей запрашивается подтверждение. Вполне очевидно, что если заменить значение yes на no, то при выполнении команды

$ netpkg install pkg_name

все пакеты, связанные зависимостями с пакетом имярек, будут устанавливаться автоматически.

Наконец, строка

Logfile = /var/log/netpkg.log

определяет имя и положение log-файла, в котором протоколируются все действия утилиты netpkg.

Из сказанного ясно, что использование утилиты netpkg и ее настройка предельно просты. Что, естественно, компенсируется ограниченностью ее возможностей, о чем уже говорилось ранее.

В некоторой мере эта ограниченность возможностей netpkg преодолевается посредством графической её испотаси —

Xnetkpg, или те же Фаберже, но в графике

Иконка этой программы (правда, с надписью Netpkg) где только не попадалсь нам ранее — и на панели запуска приложений, и в меню Система, и еще где-то, уже и не упомнишь. И щелчок на этой иконке всегда и везде вызывал запуск графической ипостаси netpkg. Я уже много раз грозился рассказать о ней в будущем — вот, наконец, это самое будущее и наступило.

Итак, вызываем Netpkg любым возможным способом, вводим затребованный системой пароль суперпользователя и оказываемся в окне нашей программы (рис. 9.06), которая как раз в это время производит синхронизацию с тем репозиторием, который был раньше определен как текущий при использовании консольной ипостаси. Если последняя ранее не запускалась — после получения прав root'а и старта xnetpkg будет запрос, какой из репозиториев считать текущим.


Рис. 9.06. Xnetpkg — общий вид

Первое, что бросается в глаза после запуска xnetpkg, — это более удобный способ переключения репозиториев, когда нужный выбирается из выпадающего списка (рис. 9.07).


Рис. 9.07. Xnetpkg — выбор нужного репозитория

А после этого весь интерфейс программы сводится, по выражению Жана Филиппа Гийомена, содержащемуся в одном из его интервью, к "нажатию одной большой кнопки" (правда, разработчики не подобрали французского эквивалента нашему "Сделай мне пес...то", и она так и осталась безымянной).

Так, для поиска пакета достаточно указать либо его категорию, либо статус (фильтр), либо и то, и другое (причем не возбраняется поставить галочки в чекбоксах против нескольких категорий и фильтров — да хоть против всех), а в поле поиска вписать имя нужного пакета (рис. 9.08).


Рис. 9.08. Поиск пакета — "Сделай мне пес...то!")

После чего остаётся выполнить магическое действие — нажать одну большую кнопку. Что, как ясно сведующему в магии человеку, эквивалентно произнесению волшебного заклинания — "Сделай мне пес...то!". И пожелание пользователя будет исполнено (рис. 9.09) — причем практически немедленно, даже если были отмечены чекбоксы всех категорий и фильтров, то есть, фактически, фильтрация не производится вовсе, а поиск осуществляется и по базе установленных пакетов, и по всему репозиторию.


Рис. 9.09. Система рапортует — "Тебе уже пес...то!")

Теперь, для достижения "пес...тости" par excellence с найденным пакетом остаётся только произвести необходимые действия. То есть, если пакет не был установлен ранее, — его можно установить (рис. 9.10). Как? Вы, конечно, уже и сами догадались: нажав одну большую кнопку.


Рис. 9.10. Остается нажать одну большую кнопку

После чего всё происходит почти мгновенно, и система бодро рапортует... а что она рапотрует, можно видеть на рис. 9.11.


Рис. 9.11. Система рапортует — "Тебе уже пес...то!"

Правда, тут надо учесть, что зависимости пакетов xnetpkg устанавливает автоматически, без запроса и вывода каких-либо сообщений. Поэтому я для инсталляции пакетов все-таки предпочитаю консольный вариант netpkg: хотя всё, что фигурирует в зависимостях пакетов Zenwalk'а, так или иначе подлежит инсталляции, всё-таки знание того, что именно устанавливается, мне лишним не кажется.

А что делать с пакетом, если он уже установлен (рис. 9.12)?


Рис. 9.12. Если пакет уже установлен...

Согласно знаменитым словам за кадром великого советского фильма, любой человек, имеющий машину, мечтает её продать. Так что единственное, что с таким пакетом можно сделать — это удалить его (рис. 9.13).


Рис. 9.13. ... его остаётся только удалить

Так что на нажатие кнопки "Удалить установленное" по-прежнему последует бодрый рапорт о дистижении... ну того самого замечательного состояния (рис. 9.14).


Рис. 9.14. "Тебе опять... очень хорошо" — радостно сообщает система

При этом, если пакет оставляет после себя "сиротские" зависимости, то есть пакеты, от которых он зависел, и от которых более не зависит уже ничего, то будет предложено удалить также и их.

Нельзя сказать, чтобы Xnetpkg работала бы совсем без сбоев. Иногда при поиске вместо нажатия одной большой кнопки требуется нажать другую — клавишу Enter на клавиатуре, когда курсор находится в поле ввода имени искомого файла. В других случаях, при уже найденном пакете, нажатие одной большой кнопки вместо вызова панели с предложением, что же сделать с пакетом, выводит огромадный список — то ли всех установленных, то ли всех доступных пакетов, причем без всяких предложений.

Но очень надеюсь, что в будущих версиях от этих глюков удастся избавиться. Потому что сама идея с одной большой кнопкой мне очень понравилась — я никогда не верил в кнопку "Сделай мне пес...то", но разработчики Zenwalk'а смогли меня убедить в том, что даже она, при своевременном обращении к /dev/head, может быть реализована вполне достойно.

И тем не менее, средства netpkg и xnetpkg кажутся мне не взаимоисключающими, а взаимодополняющими. Как уже говорилось, при установке пакетов я предпочитаю пользоваться первой. А вот во всех остальных случаях — удалении пакетов и, тем более, их поиске, я полагаюсь на графический фронт-энд.

Вот, пожалуй, и все, что следует знать начинающему пользователю Zenwalk об управлении пакетами в этом дистрибутиве. В ближайшей интермедии я надеюсь рассказать о том, как создавать пакеты самостоятельно. По сравнению с материнской системой, сиречь Slackware, специфики тут не много, но тем не менее, она есть.

назад | к началу | вперед