Анатомия Slax: Модули

Итак, более-менее разобравшись с преимуществами и структурой дистрибутива Slax, пользователь решает скомплектовать его на свой вкус. Такое желание возникнет несомненно, т.к. не все, любят, например, KDE, которым дистрибутив оснащен по умолчанию. И уж конечно захочется дополнить дистрибутив особыми возможностями, поменять обои рабочего стола и т.п. Для этого как раз и служат модули.


Модули — файлы с расширением lzm. Это аналоги пакетов в других дистрибутивах. Практически это переупакованные пакеты Linux Slackware. Только они не устанавливаются, а активизируются. Активизировать их можно в момент загрузки, положив в каталог $SLAX_HOME/slax/base или указав нужные в конфигурационном файле меню. Можно «поднять» программу и на уже работающей системе, например:

activate gimp.lzm


(запускается от имени root'а).

О том, как перечислить активируемые при загрузке модули в конфиге мы еще поговорим, а пока сосредоточимся на другой проблеме — где раздобыть нужные программы для Slax?

Первый способ очевиден: на соответствующем сайте. Действительно, модули там красиво разложены по категориям, есть механизм поиска. Нужен графический редактор Gimp? Без проблем. Свежий Python? Пожалуйста. Библиотеки, SDK, темы рабочего стола — много чего выложено. И все-таки есть несколько причин, по которым не всегда стоит искать модули на сайте Slax. Во-первых, есть там далеко не всё, и это понятно: процесс создания и обмена модулями ведется энтузиастами и пополняют они эту коллекцию довольно бессистемно. Во-вторых, далеко не все модули успевают пройти проверку на безопасность. В-третьих, к комплектации модулей создатели подходят довольно анархически. Могут, например, запузырить пакет Pastscript в пакет cups (мол, чтобы зависимости удовлетворить). Я, например, не люблю такой мешанины. Пусть модули соответствуют пакетам Slackware, на их упорядочивание ПатрикБох затратил слишком много усилий, чтобы всё это похерить. Тем не менее, скачать с сайта крупные модули, с изготовлением которых могут быть сложности — вполне нормальное решение. Я взял оттуда OpenOffice, тот же Python, русифицированный Firefox и т.п.

Второй способ — изготовить модуль из каталога. Он хорош для тюнинговки. Например, хотим создать пользователя и задать ему пароль:

useradd -d /home/uzwer -s /bin/bash uzwer
passwd uzwer <устанавливаем пароль>
mkdir -p /tmp/uzwer/etc /tmp/uzwer/home/uzwer
chown uzwer /tmp/uzwer/home/uzwer
cp /etc/passwd /tmp/uzwer/etc
cp /etc/shadow /tmp/uzwer/etc
dir2lzm /tmp/uzwer $SLAX_HOME/slax/base/passwd.lzm


Т.е. создаем временный каталог, создаем в нем файлы в соответствии с корневой структурой (/etc, /home), наполняем их нужным содержимым, устанавливаем права и прочие атрибуты и упаковываем утилитой dir2lzm.

Третий способ — изготавливать модули Slax из пакетов Slackware. Slax, как следует из названия, произошел от Slackware самым непосредственным образом, так что соответствие между пакетами и модулями очень хорошее. Итак, берем модуль Slackware, применяем к нему утилиту tgz2lzm и вуаля!:

tgz2lzm /mnt/distrib/slackware/x/gimp-2.6.tgz $SLAX_HOME/slax/base/gimp.lzm


Нужно отметить, что в последней, 13-й версии Slackware пакеты заархивированы в формате txz. Их утилита tgz2lzm не обрабатывает, так что нужно сначала преобразовать в tgz и только потом в lzm. Как это сделать — опишу в отдельном топике, т.к. эта тема интересна сама по себе и выходит за рамки Slax. Но можно найти и пакеты в старом формате, т.е. tgz. Лучший ресурс для этого — packages.slackverse.org/ (ИМХО).

Кстати, можно создавать модули и из rpm, только через посредствующее звено:

rpm2tgz bla-bla-bla.rpm
tgz2lzm bla-bla-bla.tgz bla-bla-bla.lzm


В заключение — о том, как произвести обратную операцию, т.е. вытащить содержимое модуля в каталог, чтобы что-то в нем (модуле) подправить и потом опять запаковать:

mkdir /tmp/bla-bla-bla
lzm2dir bla-bla-bla.lzm /tmp/bla-bla-bla


Инструменты — tgz2lzm, dir2lzm, lzm2dir, activate, deactivate — находятся в каталоге $SLAX_HOME/tools. Для удобства можно скопировать их куда-нибудь, где ОС может их легко найти, например в /usr/bin (в случае, если работаете не из Slax, а из другого дистрибутива).

Комментарии (7)

RSS свернуть / развернуть
+
0
Мне что в slax не понравилось — так это зависимости модулей — когда начинаешь собирать из пакетов на сайте себе дистрибутив — нужно добавлять кучу зависимостей и т.п.
avatar

Sergei_T

  • 17 мая 2010, 17:31
+
0
Это там перестраховка. Я на эти рекомендации внимания не обращаю. Скачиваю модуль, ставлю, как правило работает. Если не работает — смотрю чего не хватает и доустанавливаю.
avatar

yababay

  • 17 мая 2010, 17:50
+
0
Многие пакеты там требуют именно KDE — не самый лучший выбор оконного менеджера для live дистрибутива — поменяли бы например на lxde!

Есть также сервис SUSE Studio для сборки собственных дистрибутивов. Инвайт можно запросить на susestudio.com/login, оставив свой email
avatar

Sergei_T

  • 17 мая 2010, 18:05
+
+1
Если тупо удалить модуль KDE из каталога $SLAX_HOME\slax\base, Slax будет запускать иксы с fluxbox. Легче некуда
avatar

yababay

  • 17 мая 2010, 18:46
+
0
avatar

Sergei_T

  • 17 мая 2010, 18:16
+
+1
Пока лежит отдыхает сервис

avatar

Sergei_T

  • 17 мая 2010, 18:29
+
0
Очень полезно !
avatar

Markony

  • 17 мая 2010, 21:01

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.