Системы управления пакетами
- Низкоуровневые — для установки, удаления, создания файлов пакетов. rmp(RedHat Package Manager) не умеет работать с репозиториями.
- Высокоуровневые — для выполнения поиска в метаданных и разрешение зависимостей. yum, dnf.
Основные команды rpm
команда | описание |
---|---|
rpm -qf file | В рамках какого пакета был установлен file |
rpm -ql pkg | Выводит список установленных файлов в рамках пакета pkg |
rpm -qi pkg | Выводит информацию о pkg. Аналог dnf info |
rpm -q —scripts | показывет скрипты используемые в пакете. |
rpm -qp <pkg> | |
rpm -qR pkg | Показывает зависимости пакета |
rpm -V pkg | Показывает какая часть пакетов была изменена с момента установки |
rpm -Va | Проверяет все установленные пакеты, показывает те, которые были изменены с момента установки |
rpm -qa | список всех установленных пакетов |
Основные команды dnf
Команда | Описание |
---|---|
search | поиск пакета по точному совпадению |
provides */name | выполняет глубокий поиск чтобы показать к какому пакету принадлежит файлу */name. |
info | предоставляет информацию о пакете |
install | устанавливает пакет |
remove | удаляет пакет |
list [all | installed |
group list | список групп пакетов |
group install | установить все пакеты из группы |
update | обновить все пакеты |
clean all | удалить все метаданные |
yum — сокращение от Yellowdog Updater, Modified — является утилитой для управления пакетами.
dnf (расшифровку не нашёл) — Современная версия пакетного менеджера yum. В новых ОС команда yum присутствует в качестве мягкой ссылки. Введите следующие команды
which yum
ls -l /usr/bin/yum
Введите команду dnf repolist для того чтобы увидеть список репозиториев в которых будет производиться поиск. Чтобы увидеть более подробную информацию о репозиториях, добавьте флаг -v.
dnf repolist -v
Файлы настроек репозиториев храняться в /etc/yum.repos.d/
ls /etc/yum.repos.d/
Давайте откроем один из них.
less /etc/yum.repos.d/almalinux-ha.repo
Здесь вы найдёте информацию о названии репозитория, ссылке на сам репозиторий, публичный ключ(GPG — GNU Privacy Guard) и флаги проверки ключа и доступности репозитория.
Попробуем нати sublime в текущих репозиториях.
dnf search sublime
Обычно, разработчики предлагают добавить свой репозиторий за которым они следят самостоятельно. Зайдите на сайт sublimetext. В разделе downloads выберите Linux repos. Далее тот пакетный менеджер, который вы используете. Впервые dnf был представлен в fedora, поэтому она и ассоциирована с данным установщиком. Далее просто поочерёдно выполним предложенные команды.
Убедимся, что пакет установлен
rpm -qa sublime-text
Выведем список файлов связанных с пакетом
dnf repoquery -l sublime-text
Среди списка находится и исполняемый файл
/opt/sublime_text/sublime_text
- создать алиас на sublime на данный файл.
- Посмотрите список доступных групп пакетов командой dfn group list
- Дополните команду dfn group list hidden
- Посмотрите какие пакеты включает в себя одна из групп dfn group info «Python Web»
Если имя группы содержит несколько слов, заключите его в кавычки
- Установите группу dfn group install «Python Web»
- Просмотрите историю dfn history
- Отмените установку пакета передав номер дейстия из истории в команду dfn history undo N
Раньше на уроке мы установили утилиты iostat. Если мы захотим узнать в рамках какого пакета была установлена эта утилита, достаточно об этом спросить dnf
dnf provides iostat
Cent-os, Red Hat, Fedora
Обновление пакетного менеджера
yum update
Поиск пакета в репозитории
yum search sublime
Установка пакета из репозитория
yum install sublime-text
Удалить пакет
yum earse sublime-text
Установка пакета из файла
rpm -i sublime.rmp
Обновление пакета из файла
rpm -U sublime-text.rmp
Посмотреть список установленных пакетов
rpm -qa
Посмотреть список установленных пакетов вместе с другим пакетом
rpm -qa sublime-text
Информация о пакете
dnf info sublime-text
Узнать к какому пакету принадлежит файл
rpm -qf */file
Посмотреть историю действий
dnf history
Debian (Ubuntu, Mint)
Утилита apt(Advanced Packaging Tool) является высокоуровневым интерфейсом для управления пакатеми. Работает в паре с apt-get и apt-cache.
Обновление пакетного менеджера
apt-get update
Поиск пакета в репозитории
apt-cache search sublime
Установка пакета из репозитория
apt-get install sublime-text
Удалить пакет
apt-get remove sublime-text
Установка пакета из файла
Скачайте файл sublime.deb. Перейдите в директорию со скачанным файлом. Введите команду
dpkg --install sublime.deb
Обновление пакета из файла
dpkg не умеет обновлять из файла, есть возможность только установки.
Посмотреть список установленных пакетов
apt list --installed
# или
dpkg -l
Проверить состояние пакета
dpkg --status sublime-text
Информация о пакете
apt-cache show sublime-text
Как узнать куда установлен пакет
dpkg-quert -L sublime-text | grep 'sublime-text$'
Посмотрите какими файлами располагает установленный пакет. Ищите исполняемый файл в папках /usr/share/ или /opt/