2 ноября 2009 г.

Сводная таблица команд двух популярных пакетных систем

Мне по долгу службы зачастую приходится ковыряться работать с разными дистрибутивами Linux. Так уж случилось, что мне наиболее хорошо известна именно работа с rpm-пакетами. Поэтому я попытался создать сводную таблицу, отражающую команды схожего назначения для работы с rpm-пакетами (Red Hat, Fedora, SUSE, Mandriva, Alt Linux, etc) и deb-пакетами (Debian, Ubuntu и их производные).


Итак, вот результат:


Действие
rpm/yum
deb/apt
Проверка наличия пакета в системе
rpm -qa | grep <имя_пакета>
dpkg-query -s <имя_пакета>
dpkg-query -l <образец_имени_пакета>
dpkg-query -l <имя_пакета>
Поиск пакета, по имени файла, который он предоставляет
rpm -qf
dpkg-query -S
dpkg -S
Просмотр содержимого пакета
rpm -ql <имя пакета>
rpm -qlp
dpkg -с 
dpkg --contents
Просмотр информации об установленном пакете
rpm -qi <имя пакета>
dpkg-query -s <имя_пакета>
dpkg-query -l <имя_пакета>
dpkg -s <имя_пакета>
dpkg -l <имя_пакета>
Просмотр информации о скачанном пакете
rpm -qip
dpkg -I
Проверка целостности пакетов системы/конкретного пакета
rpm -Va

rpm -V <имя пакета>
debsums -as

debsums <имя пакета>



Распаковка пакета

dpkg --extract <имя пакета>
Установка пакета (без разрешения зависимостей)
rpm -ivh <имя пакета>
dpkg -i ./<имя пакета>
Удаление пакета («низкий уровень»)
rpm -e <имя пакета>
dpkg -r <имя пакета>
dpkg -P <имя пакета> (со всеми конфигами)

Установка пакета из сети (с разрешением зависимостей)
yum install <пакет>
apt-get install <пакет>
aptitude install <пакет>
Удаление пакетов
yum remove <пакет>
apt-get remove <пакет>
aptitude remove <пакет>
Обновление системы (мягкий вариант)
yum update
apt-get upgrade
aptitude safe-upgrade
Обновление системы (жесткий вариант — переход между релизами)
yum upgrade
apt-get dist-upgrade
aptitude full-upgrade
Синхронизация базы данных с репозиторием
Автоматически
apt-get update
aptitude update
Поиск нужного пакета по его имени и/или входящим в него файлам
yum whatprovides <запрос>

Поиск нужного пакета по регулярному выражению/части имени
yum search <запрос>
apt-cache search <запрос>
aptitude search <запрос>
Просмотр информации о пакете
yum info <имя пакета>
apt-cache showpkg <имя пакета>
Очистка системы от ненужных зависимостей
Отсутствует
apt-get autoremove
Очистка кэша (полностью)
yum clean all
apt-get clean
aptitude clean
«Умная» очистка кэша (от неустановленных/удаленных пакетов)

apt-get autoclean
aptitude autoclean

Я "догадываюсь", что здесь возможно приведены не все возможные варианты команд. Но для большинства случаев жизни приведенного хватает с избытком. Если тут что-то отсутствует или неправильно - всегда готов исправить.

4 комментария:

  1. Распаковка пакета в rpm:
    rpm2cpio пакет.rpm | cpio -i

    ОтветитьУдалить
  2. Этот комментарий был удален автором.

    ОтветитьУдалить
  3. Просмотр содержимого пакета для Debian вместо rpm -ql <имя пакета> - dpkg-query -L <имя пакета>

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