вторник, 28 октября 2014 г.

"Бустинг" Slackware

  

Немного предыстории:
        Мало для кого будет откровением, что штатных пакетов Slackware хватает нечасто. Регулярно приходится что-то доустанавливать из сторонних репозитариев, или собирать самому. Какое-то время частичным решением было создание дистрибутива DeepStyle, который состоял из штатных пакетов Slackware + некоторые добавки при установке / конфигурировании.
        DeepStyle успешно жил и развивался в течение 9-ти лет. Какое-то время на некоторые неудобства закрывались глаза ( вроде недоразумений с соответствием версий Slackware-DeepStyle, некоторыми сложностями с обновлением, и т.д. ).  В конце-концов такая ситуация начала напрягать, да и дублировать пяток гиг пакетов + исходников тоже не особо интересно, и было решено как-то эту ситуацию исправить. Решили ограничиться только дополнительными пакетами + легкой подстройкой системы. Очень кстати появился проект http://slakfinder.org/slackpkg+.html,  позволяющий в штатном режиме    устанавливать / обновлять / удалять не только штатные пакеты Slackware, но и пакеты сторонних сборщиков.

    0 - Структура SlackBoost:
        Коревой каталог: slackboost64-<версия Slackware>.
        В нем пристутствуют каталоги:
      scripts       - парочка полезных скриптов + tagfiles для разных установок ( сервер, рабочая станция, кластер )
      slackboost64  - Основное дерево пакетов SlackBoost

         a   - пропатченные пакеты из основного дерева (пока только infozip, перебран с поддержкой русских имен файлов)
         ap  - пропатченный man (с выводом сообщений на русском языке в UTF-8), более новые версии mc и vim
         n   - nfs-utils собраны с поддержкой NFS4
         xap - audacious* и vim-gvim - более новые версии.
                ----------------------------------------------------------------
        Эти пакеты заменяют штатные
        Далее - пакеты, которых нет в штатном репозитарии Slackware.

        sba     - Пакеты, настоятельно рекомендованные для локализации + пакет "бустеризации" системы - вставляются старт-стопы для postfix, postgres, clamav, dovecot, idmap, nss-ldap + пару вкусностей. Для параноиков: исходные скрипты складываются в /etc/Slackware-backup, так что если кому-то не   понравились изменения, или что подпортилось - можно     восстановить. ( кому интересно - загляните, там все просто ).
        sbap      - Консольные пакеты различного назначения
        sbcluster - Кластерный софт
        sbdev     - Средства разработки. Языки, IDE-шки, и т.д.
        sbe       - Enlightenment
        sbl       - Библиотеки. То, что требуется остальному софту из SB*
        sblxde    - LXDE
        sbn       - Сетевой софт (Почтовики, squid, LDAP-сервер и т.д.)
        sbo       - Офисные пакеты. Пока что только LibreOffice и OpenOffice. (Зачем два практически идентичных пакета? - У каждого свой набор глюков, выбираем по ситуации, друг другу не мешают, можно спокойно ставить оба.)
        sbperl     - Perl-овые модули.
        sbpython   - Python-овские модули и софт. ( В том числе python3 )
        sbsip      - SIP-клиенты.
        sbv        - Пакеты виртуализации. Пока только qemu с прилагающимся софтом.
        sbx        - X-овые шрифты
        sbxap      - Графические приложения (audacity, blender, digikam, локализация firefox/thunderbird и т.д.)
        sbxg       - Игрушки


        slackboost64-01    
        slackboost64-02 

        slackboost64-03 
             В этих каталогах структура повторяется, но находятся другие версии того же софта ( более старые, более новые )
        sourceboost - Исходники со скриптами сборки. Присутствует только в slackboost64.




    1 - А теперь, собственно, "бустинг":
        1 - Ставится Slackware. Обычно. Штатный. Пару замечаний: не забудьте установить slackpkg (практически обязательно), wget ( тоже обязательно, slackpkg требует ) и terminus-font ( эт по желанию. Кто работает только удаленно по ssh - смысла нет )

        2 - Ставим slackpkg+ :

root@darkstar:~#  wget http://slakfinder.org/slackpkg+/pkg/slackpkg+-1.3.2-noarch-1mt.txz
root@darkstar:~# installpkg slackpkg+-1.3.2-noarch-1mt.txz

        3 - Скачиваем и запускаем скрипт "бустинга":

root@darkstar:~# wget ftp://download.deepstyle.org.ua/pub/slackware/slackboost64-14.1/scripts/slackpkg+boost.sh
root@darkstar:~# . ./slackpkg+boost.sh

            Все, что этот скрипт делает - это прописывает репозитарии в нужные места slackpkg и slackpkg+.
            Можете и не запускать его, а прописать все это вручную:

            3.1 - прописать репозитарий Slackware в /etc/slackpkg/mirrors

ftp://download.deepstyle.org/pub/slackware/slackware(64)-14.1/


            3.2 - добавить репозитарий SlackBoost в /etc/slackpkg/slackpkgplus.conf

# SlackBoost 14.1 - x86_64
MIRRORPLUS['boost']=ftp://download.deepstyle.org/pub/slackware/slackboost(64)-14.1/slackboost64/
MIRRORPLUS['boost1']=ftp://download.deepstyle.org/pub/slackware/slackboost(64)-14.1/slackboost64-01/
MIRRORPLUS['boost2']=ftp://download.deepstyle.org/pub/slackware/slackboost(64)-14.1/slackboost64-02/
MIRRORPLUS['boost3']=ftp://download.deepstyle.org/pub/slackware/slackboost(64)-14.1/slackboost64-03/


                Добавлять все 4 не обязательно. Если с версиями пакетов играться не собираетесь - можно указать только один:

MIRRORPLUS['boost']=ftp://download.deepstyle.org/pub/slackware/slackboost(64)-14.1/slackboost64/

            3.3 - подправить переменную REPOPLUS

                   REPOPLUS=( boost slackpkgplus restricted alienbob slacky )

            3.4 - Установить переменную PKGS_PRIORITY

                    PKGS_PRIORITY=( boost:.* )

                Примеры использования - в самом конфиге.

            3.5 - Собственно, все. Можно покомментарить лишние репозитарии (для ускорения работы ), можно этого не делать, на Ваше усмотрение.

        4 - Далее - все штатно:
             
root@darkstar:~# slackpkg update gpg
root@darkstar:~# slackpkg update
root@darkstar:~# slackpkg upgrade-all
root@darkstar:~# slackpkg install <что_хотите>


        5 - Если хотите локализовать систему, настоятельно рекомендуется сделать следующее:

root@darkstar:~# slackpkg install sba

Обновление:
    Опыт показывает, что данная команда на slackpkg+ версий больше, чем 1.5.0 не срабатывает.
В этом случае даем команду 
 
root@darkstar:~# slackpkg install enca keymap-ruk libnatspec slackboost


                и поставить все пакеты.

root@darkstar:~# /var/log/setup/setup.00.locale - выбрать нужную локаль.

        6 - Маленькая красивость:
                    Если не забыли поставить terminus-font,

root@darkstar:~# cat /etc/rc.d/rc.font.ter > /etc/rc.d/rc.font
root@darkstar:~# chmod +x /etc/rc.d/rc.font


                    и у вас будет приятная консоль с terminus-шрифтами.

    Вот и весь "бустинг". В дальнейшем все штатно:

root@darkstar:~# slackpkg update
root@darkstar:~# slackpkg upgrade-all
root@darkstar:~# slackpkg search <чего_хочу_например_dovecot>
root@darkstar:~# slackpkg install dovecot

           
            При данной схеме использования будут обновляться/ставиться пакеты по мере их обновления/появления в репозиториях slackware/slackboost.
           
    Примечание:
            Пакеты, которые требуют отдельного юзера (dovecot, postfix, postgres, etc.) - автоматически создают такого пользователя. Если по каким-то причинам вам желательно иметь того же юзера, но с другим UIDом, создайте его сами до установки пакета.

9 комментариев:

  1. Слакбуст лишь для x86-64 Слака, верно?

    ОтветитьУдалить
  2. Почему? Собственно "бустинг" платформонезависимый, а дальше уже slackpkg сам разбирается, кому, чего и сколько.....

    ОтветитьУдалить
    Ответы
    1. Саша, для таких как я (в простоинтернетье именуемых "ламеры") это неочевидно :) Спасибо!

      Удалить
  3. комманда slackpkg update gpg выдает ошибку awk: error while loading shared libraries: libsigsegv.so.2: cannot open shared object file: No such file or directory
    Login incorrect

    ОтветитьУдалить
    Ответы
    1. Простите, какая версия Slackware?
      Потому как ни в репозитарии Slackware, ни в репозитарии SlackBoost я такого не нашел.

      Удалить
    2. Тогда нужно подробней.
      Черкните на old.hottab@gmail.com:
      Для начала cd /var/log/packages; ls
      И еще : система ставилась начисто, или апгрейд предыдущей?
      Потому как уж сколько раз ставил - такого ни разу не было. Мож, что упустил? ;)

      Удалить
  4. > что-то доустанавливать из сторонних репозитариев
    Акурат по поводу, репы Microlinux Enterprise Desktop & Server:
    http://www.microlinux.fr/microlinux/
    Почитать подробнее о проекте на русском можно тут:
    http://zenway.ru/page/meld

    ОтветитьУдалить