Рекомендации по установке дополнительных программ

Вместо введения

В основе системы лежит HLFS (Hardened Linux From Scratch). HLFS в свою очередь происходит от LFS (Linux From Scratch) и частично BLFS (Beyond Linux From Scratch).

(Если Вы хотите разобраться в том как работают *NIX-системы, то лучшего способа, чем прохождение курса LFS, а затем BLFS - нет)

  1. Во время обновления всё содержимое корневого раздела уничтожается. Поэтому не стоит использовать данный раздел для своих программ. Также нежелательно хранить свои данные в разделе /var.

  2. Разделы /home, /var, /tmp подключаются с запретом на исполнение файлов. Поэтому любая попытка запустить исполняемый файл с данных разделов приводит к сообщению "Permission denied".

    Если требуется запуск файлов с данных разделов, то переподключите нужный раздел с опцией "exec":

    mount -o remount,exec /home
  3. Для установки программ лучше всего использовать дополнительный(-ые) раздел(-ы), которой(-ые) подключить к /usr/local (/opt).

    Раздел /opt больше подходит для программ, устанавливающихся в отдельный каталог - /opt/some_program. Раздел /usr/local оптимален для программ, "раскидывающих" свои файлы по всему разделу в каталоги /usr/local/bin, /usr/local/etc, /usr/local/share и т.д.

    С использованием LVM это может выглядеть так (после установки системы остаётся свободно около 25% дискового пространства):

    # создаём логический раздел LVM с названием "usr_local"
    # и размером один гигабайт
    $ lvcreate -L 1G -n usr_local vg_bsl
    
    # форматируем полученный раздел
    $ mkfs.ext3 /dev/vg_bsl/usr_local
    
    # подключаем раздел
    $ mount /dev/vg_bsl/usr_local /usr/local
    

    Добавляем запись о новом разделе в файл /etc/fstab (для его автоматического подключения при старте системы):

    ...
    /dev/vg_bsl/usr_local   /usr/local    ext3    defaults    0 4
    
  4. Если при старте/останове системы надо запустить какие-либо скрипты, то поместите их в /usr/local/etc/init.d/. Исполняемые файлы из данного каталога при старте системы будут запущены с параметром 'start' в алфавитном порядке, а при останове - с параметром 'stop' в обратном алфавитном порядке.

  5. В системе установлен пакетный менеджер PACO, который может быть использован для отслеживания информации о том, какие файлы какому пакету принадлежат.

    # какому пакету принадлежит файл "/etc/rpc"?
    $ paco -q /etc/rpc
    
    # установить пакет "packet_name" и
    # зафиксировать какие файлы при этом были установлены
    $ paco -lp packet_name "make install"
    
    # посмотреть какие файлы принадлежат пакету "packet_name"
    $ paco -f packet_name
    
    # посмотреть список всех установленных пакетов
    $ paco -a
    

--
2008-08-02