Управление пакетами в linux (шпаргалка)

Русский конспект статей http://distrowatch.com/weekly.php?issue=20081013 и http://distrowatch.com/weekly.php?issue=20081020 (автор Ladislav Bodnar)

Управление пакетами является, пожалуй, наиболее отличительной чертой любого linux дистрибутива. Несмотря на то, что нынешняя тенденция среди большинства крупных проектов заключается в том, чтобы предоставить своего рода удобный интерфейс, где пользователи могут выбрать пакет и установить его щелчком мыши (например в Debian Synaptic или Mandriva в Drakrpm), эти программы обычно просто графическая оболочка к низкоуровневым утилитам, которые управляют задачами, связанными с установкой пакетов в Linux системе. И хотя многие пользователи настольных Linux чувствуют себя гораздо удобнее, устанавливая пакеты через интуитивный графический инструмент, не отрицая, что в командной строке управление пакетами предлагает две великолепные функции, недоступные в любой графической утилите управления пакетами: мощь и скорость.

В первой таблице перечислены задачи управления пакетами в четырех самых популярных групп дистрибутивов - Debian (в том числе Ubuntu, Linux Mint, KNOPPIX, sidux и другие производные Debian), OpenSUSE, Fedora (в том числе Red Hat Enterprise Linux, CentOS, Scientific Linux и других дистрибутивов, основанных на Fedora), и Mandriva Linux.

 

Задача

apt (deb)
Debian, Ubuntu

zypp (rpm)
openSUSE

yum (rpm)
Fedora, CentOS

urpmi (rpm)
Mandriva

Управление ПО





Установка нового ПО из репозитариев

apt-get install pkg

zypper install pkg

yum install pkg

urpmi pkg

Установка нового ПО из локального пакета

dpkg -i pkg

zypper install pkg

yum localinstall pkg

urpmi pkg

Обновлений существующего ПО

apt-get install pkg

zypper update -t package pkg

yum update pkg

urpmi pkg

Удаление ненужного ПО

apt-get remove pkg

zypper remove pkg

yum erase pkg

urpme pkg

Обновление системы





Обновление списка пакетов

apt-get update

zypper refresh

yum check-update

urpmi.update -a

Обновление системы

apt-get upgrade

zypper update

yum update

urpmi --auto-select

Поиск пакетов





Поиск пакетов по имени

apt-cache search pkg

zypper search pkg

yum list pkg

urpmq pkg

Поиск по шаблону

apt-cache search pattern

zypper search -t pattern pattern

yum search pattern

urpmq --fuzzy pkg

Поиск по имени файла

apt-file search path

zypper wp file

yum provides file

urpmf file

Список установленных пакетов

dpkg -l

zypper search -is

rpm -qa

rpm -qa

Настройка доступа к репозитариям ПО





Список репозитариев ПО

cat /etc/apt/sources.list

zypper repos

yum repolist

urpmq --list-media

Добавление репозитария

(edit /etc/apt/sources.list)

zypper addrepo path name

(add repo to /etc/yum.repos.d/)

urpmi.addmedia name path

Удаление репозитария

(edit /etc/apt/sources.list)

zypper removerepo name

(remove repo from /etc/yum.repos.d/)

urpmi.removemedia media


Во второй таблице перечислены утилиты управления пакетами в Slackware Linux и других дистрибутивах, основанных на Slackware. Патрик Фолькердинг (Patrick Volkerding) уже неоднократно заявлял, что Slackware, вряд ли когда-либо будет иметь развитый (т.е. с разрешением зависимостей) инструмент управления пакетами, поэтому все задачи (установка, обновление и удаление) и впредь будут выполняться с pkgtools - набором очень простых скриптов, которые не менялись много лет. Тем не менее, неподдерживаемый Slackware дополнительный репозитарий (доступный также в инсталяционном DVD) содержит slackpkg, сторонний инструмент управления пакетами, который могжет быть использован для более автоматизированной установки программного обеспечения в Slackware Linux. Следует отметить, что некоторые популярные производные Slackware, такие, как VectorLinux, используют slapt-get, другую стороннюю утилиту, имитирующую поведение APT в Debian.

 

Задача

pkgtools
Slackware

slackpkg
Slackware

slapt-get
Vector

netpkg
Zenwalk

Управление ПО





Установка нового ПО из репозитариев

--

slackpkg install pkg

slapt-get --install pkg

netpkg pkg

Установка нового ПО из локального пакета

installpkg pkg

slackpkg install pkg

slapt-get --install pkg

netpkg pkg

Обновлений существующего ПО

upgradepkg pkg

slackpkg install pkg

slapt-get --install pkg

netpkg pkg

Удаление ненужного ПО

removepkg pkg

slackpkg remove pkg

slapt-get --remove pkg

netpkg remove pkg

Обновление системы





Обновление списка пакетов

--

slackpkg update

slapt-get --update

(automatic)

Обновление системы

--

slackpkg upgrade-all

slapt-get --upgrade

netpkg upgrade

Поиск пакетов





Поиск пакетов по имени

--

slackpkg search pkg

slapt-get --search pkg

netpkg pkg repo

Поиск по шаблону

--

slackpkg search pattern

slapt-get --search pattern

netpkg list | grep pattern

Поиск по имени файла

--

--

--

netpkg file repo

Список установленных пакетов

ls /var/log/packages/

ls /var/log/packages/

slapt-get --installed

netpk list I

Настройка доступа к репозитариям ПО





Список репозитариев ПО

--

cat /etc/slackpkg/mirrors

cat /etc/slapt-get/slapt-getrc

netpkg mirror

Добавление репозитария

--

(edit /etc/slackpkg/mirrors)

(edit /etc/slapt-get/slapt-getrc)

(edit /etc/netpkg.conf)

Удаление репозитария

--

(edit /etc/slackpkg/mirrors)

(edit /etc/slapt-get/slapt-getrc)

(edit /etc/netpkg.conf)


В следующей группе у нас несколько в основном независимых дистрибутивов, которые набирают популярность в последние годы. Sabayon Linux, хотя и произошел из Gentoo, ввел свою собственную утилиту управления пакетами из консоли, называемую equo. Утилита Pacman в Arch Linux была повсеместной в течение долгого времени и она, зачастую, считается одной из наиболее быстрых утилит управления пакетами. Conary, разработанный rPath и популяризованный Foresight Linux, представляет собой абсолютно новый подход к управлению пакетами, созданный хорошо известными бывшими инженерами Red Hat с многолетним опытом управления пакетами. PiSi от Pardus Linux представляет собой относительно новую утилиту, но распространившуюся быстрыми темпами за последние пару лет.


Задача

equo
Sabayon

pacman
Arch

conary
rPath, Foresight

pisi
Pardus

Управление ПО





Установка нового ПО из репозитариев

equo install pkg

pacman -S pkg

conary update pkg

pisi install pkg

Установка нового ПО из локального пакета

equo install pkg

pacman -U pkg

conary update pkg

pisi install pkg

Обновлений существующего ПО

equo install pkg

pacman -S pkg

conary update pkg

pisi install pkg

Удаление ненужного ПО

equo remove pkg

pacman -R pkg

conary erase pkg

pisi remove pkg

Обновление системы





Обновление списка пакетов

equo update

pacman -Sy


pisi update-repo

Обновление системы

equo world

pacman -Su

conary updateall

pisi upgrade

Поиск пакетов





Поиск пакетов по имени

equo match pkg

pacman -Ss pkg

conary query pkg

pisi search pkg

Поиск по шаблону

equo search pattern

pacman -Ss pattern

conary query pkg

pisi search pkg

Поиск по имени файла

equo belongs file

pacman -Qo file

conary query --path path

pisi search-file path

Список установленных пакетов

equo list

pacman -Q

conary query

pisi list-installed

Настройка доступа к репозитариям ПО





Список репозитариев ПО

equo repoinfo

cat /etc/pacman.conf


pisi list-repo

Добавление репозитария


(edit /etc/pacman.conf)


pisi add-repo name path

Удаление репозитария


(edit /etc/pacman.conf)


pisi remove-repo name


Помимо стандартных утилит управления пакетами, которые большинство дистрибутивов используют в качестве части их систем, существуют также утилиты, независимые от дистрибутива, которые были размещены с разным успехом в некоторых дистрибутивах. Утилита Smart, первоначально разработанная Conectiva, не быля на слуху в последнее время, но некоторые пользователи, как правило, больше предпочитают ее, чем urpmi в Mandriva или zypper в OpenSUSE (она также поддерживает системы, основанные на Debian и Slackware). Более новая утилита проекта Fedora - PackageKit распространяется как метод управления пакетами через дистрибутивы и архитектуры. Сейчас добавленная во многие дистрибутивы и являющаяся частью PackageKit консольная утилита pkgcon — эффективная оболочка для родных инструментов управления пакетами в Fedora, Ubuntu, OpenSUSE, Mandriva и других дистрибутивах.

 

Задача

smart
Mandriva, openSUSE

pkgcon
Fedora, Ubuntu, openSUSE, Mandriva

Управление ПО



Установка нового ПО из репозитариев

smart install pkg

pkcon install pkg

Установка нового ПО из локального пакета

smart install pkg

pkcon install-file pkg

Обновлений существующего ПО

smart install pkg

pkcon update pkg

Удаление ненужного ПО

smart remove pkg

pkcon remove pkg

Обновление системы



Обновление списка пакетов

smart update

pkcon refresh

Обновление системы

smart upgrade

pkcon upgrade

Поиск пакетов



Поиск пакетов по имени

smart search pkg

pkcon search name pkg

Поиск по шаблону

smart search pattern

pkcon search details pattern

Поиск по имени файла

smart query file

pkcon what-provides file

Список установленных пакетов

smart query --installed

--

Настройка доступа к репозитариям ПО



Список репозитариев ПО

smart channel --show

pkcon repo-list

Добавление репозитария

smart channel --add name path


Удаление репозитария

smart channel --remove name


 

Наступила очередь дистрибутивов, основанных на исходных текстах. Утилита Portage дистрибутива Gentoo хорошо документирована и широко используется. Но другие дистрибутивы, которые призваны быть построены с нуля, не часто фигурируют в новостях о Linux, поэтому их системы управления пакетами не особенно хорошо известны. Sorcerer, который существовал еще до того как был задуман Gentoo Linux, использует сценарии bash для "вызова заклинаний" или загрузки, установки и сбора пакетов. Sorcerer был позднее ответвлен в Lunar Linux и Source Mage GNU/Linux, которые приведены в таблице ниже. К сожалению, по самому Sorcerer недостаточно он-лайн документации, поэтому он был пропущен.

 

Задача

portage
Gentoo

lunar
Lunar

sorcery
Source Mage

Управление ПО




Установка нового ПО из репозитариев

emerge pkg

lin pkg

cast pkg

Установка нового ПО из локального пакета




Обновлений существующего ПО

emerge pkg

lin pkg

cast pkg

Удаление ненужного ПО

emerge -aC pkg

lrm pkg

dispel pkg

Обновление системы




Обновление списка пакетов

emerge --sync

lin moonbase

scribe update

Обновление системы

emerge -NuDa world

lunar update

sorcery upgrade

Поиск пакетов




Поиск пакетов по имени

emerge --search pkg

lvu search pkg

gaze search -name pkg

Поиск по шаблону

emerge --search pattern

lvu search pattern

gaze search pattern

Поиск по имени файла



gaze from file

Список установленных пакетов

qlist -I

lvu installed

gaze installed

Настройка доступа к репозитариям ПО




Список репозитариев ПО

layman -L

--

scribe index

Добавление репозитария

layman -a repo

--

scribe add repo

Удаление репозитария

layman -d repo

--

scribe remove repo


Наконец, таблица задач для управления бинарными пакетами и пакетами с исходными текстами дистрибутива FreeBSD

 

Задача

packages
FreeBSD

ports
FreeBSD

Управление ПО



Установка нового ПО из репозитариев

pkg_add -r package

cd port_dir && make && make install

Установка нового ПО из локального пакета

pkg_add path_to_package

--

Обновлений существующего ПО

pkg_add path_to_package

portupgrade -R pkg

Удаление ненужного ПО

pkg_delete pkg

pkg_delete pkg

Обновление системы



Обновление списка пакетов


csup -L 2 -h cvsup.FreeBSD.org path_to_supfile
portsnap update

Обновление системы


portupgrade -a
portmanager -u
portmaster -a

Поиск пакетов



Поиск пакетов по имени


cd /usr/ports && make search pkg

Поиск по шаблону


cd /usr/ports && make search pattern

Поиск по имени файла



Список установленных пакетов

pkg_info

pkg_info

Настройка доступа к репозитариям ПО



Список репозитариев ПО

--

--

Добавление репозитария

--

--

Удаление репозитария

--

--


Автор: Aydar Источник
free-templates.ru