Перевод сборника команд Unix ToolBox.Часть 6 Управление пакетами

567

Гики, создавшие дистрибутив Gentoo решили сделать более легкий и гибкий формат пакетных данных и придумали пакеты ebuild. Но самым «кашерным» считается подход к пакетной базе древнейшего, но при этом чуть ли не самого надежного дистрибутива Slackware Linux.

В шестой части перевода сборника команд Unix ToolBox вы узнаете с помощью каких команд можно управлять пакетами.

Управление пакетами

Список установленных пакетов
# rpm -qa # Список установленных пакетов(RH, SuSE, RPM)
# dpkg -l # Debian, Ubuntu
# pkg_info # Список установленных пакетов во FreeBSD
# pkg_info -W smbd # Посмотреть, какому пакету принадлежит файл во FreeBSD
# pkginfo # Solaris
Установка пакетов / удаление пакетов

Yast2/yast для SuSE, redhat-config-packages для Red Hat.

# rpm -i pkgname.rpm # Установить пакет (RH, SuSE, RPM)
# rpm -e pkgname # Удалить пакет
Debian
# apt-cache search nginx # Поик нужного пакета в репозитарии
# apt-get update # Обновить список пакетов
# apt-get install emacs # Установить пакет emacs
# dpkg —remove emacs # Удалить пакет emacs
# dpkg -S file # Найти какому пакету принадлежит файл
# dpkg -l # Список всех установленных пакетов
Gentoo

Gentoo использует emerge для управления системой своих пакетов.

# emerge —sync # Синхронизировать локальное дерево портов
# emerge -u packagename # Установить пакет или обновить пакет
# emerge -C packagename # Удалить пакет
# revdep-rebuild # Восстановить зависимости пакетов
Solaris

Путь к обчно выглядит так /cdrom/cdrom0.

# pkgadd -d /Solaris_9/Product SUNWgtar
# pkgadd -d SUNWgtar # Добавить скачанный пакет(сначала распаковать bunzip2)
# pkgrm SUNWgtar # Удалить пакет
FreeBSD
# pkg_add -r rsync # Скачать и установить пакет rsync.
# pkg_delete /var/db/pkg/rsync-xx # Удалить пакет rsync

Установить, откуда будут получены пакеты, можно переменной PACKAGESITE. Например:

# export PACKAGESITE=ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages/Latest/
# или ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6-stable/Latest/
Порты FreeBSD

Дерево портов FreeBSD, это коллекция программ, готовых к компилированию и установке, располагается по адресу /usr/ports. Обновить дерево портов можно с помощью программы portsnap.

# portsnap fetch extract # Получить и разпаковать свежее дерево портов ( при первом запуске )
# portsnap fetch update # Обновить дерево портов
# cd /usr/ports/net/rsync/ # Перейти в директорию порта для установки
# make install clean # Установить порт и очистить директорию установки (смотрите man ports)
# make package # Создать из порта бинарный пакет
Пути к библиотекам

Библиотеки проверяются с помощью команды ldd, и управляются ldconfig.
На примере программы rsync:

# ldd /usr/bin/rsync # Список необходимых библиотек для rsync
# ldconfig -n /path/to/libs/ # Добавить путь к разделяемым библиотекам
# ldconfig -m /path/to/libs/ # FreeBSD
# LD_LIBRARY_PATH # Данная переменная устанавливает путь к библиотекам