Как использовать dpkg, apt, aptitude, synaptic и tasksel в Debian

Debian предлагает несколько инструментов для управления пакетами программного обеспечения, каждый из которых выполняет определённую функцию в экосистеме управления пакетами. Понимание того, когда и как использовать каждый инструмент, поможет вам эффективно поддерживать систему.
Понимание иерархии управления пакетами
В Debian управление пакетами осуществляется поэтапно, и каждый инструмент выполняет свою функцию:
- dpkg — это основной инструмент, который используется для прямой установки, удаления и проверки
.debфайлов пакетов, но он не занимается загрузкой пакетов или определением зависимостей. aptиaptitudeработают поверхdpkgи извлекают пакеты из онлайн-репозиториев, автоматически обрабатывая зависимости, что значительно упрощает установку.- Synaptic — это просто графический интерфейс (визуальный инструмент, похожий на магазин приложений), который позволяет использовать функции
aptбез командной строки. taskselустанавливает группы связанных программ (называемых задачами), например «Веб-сервер» или «Среда рабочего стола», избавляя вас от необходимости устанавливать каждый пакет по отдельности.
Поскольку эти инструменты работают на разных уровнях, они дополняют, а не заменяют друг друга, и вы можете столкнуться с ситуациями, когда один инструмент окажется более подходящим, чем другой.
Работа с dpkg
dpkg — это низкоуровневый инструмент для работы с пакетами, который напрямую взаимодействует с .deb файлами, уже имеющимися в вашей системе. Он не загружает пакеты из интернета и не устанавливает автоматически необходимые зависимости.
Поэтому, если для работы пакета требуется другое программное обеспечение, вам нужно установить эти зависимости самостоятельно или переключиться на apt, чтобы установить их автоматически.
Чтобы установить уже загруженный файл пакета, например файл google-chrome-stable_current_amd64.deb, вы можете установить его с помощью команды
dpkg -i package-name.deb
Если все необходимые зависимости уже установлены, установка завершится успешно. Однако если какие-то пакеты отсутствуют, вы можете увидеть сообщение об ошибке, например:
dependency problems - leaving unconfigured
В этом случае вы можете устранить отсутствующие зависимости, выполнив следующую команду, которая указывает apt автоматически загрузить и установить все зависимости, необходимые для завершения установки.
sudo apt -f install
Чтобы удалить установленный пакет:
dpkg -r package-name
Чтобы просмотреть список всех установленных в вашей системе пакетов:
dpkg -l
Чтобы проверить, установлен ли определённый пакет:
dpkg -l package-name
Поскольку dpkg не обрабатывает зависимости автоматически, вы можете столкнуться с ошибками, связанными с отсутствием пакетов. В таких случаях необходимо использовать инструменты более высокого уровня, такие как apt.
Использование apt для повседневного управления пакетами
Хотя dpkg работает напрямую с .deb файлами, apt — это инструмент, который вы будете использовать чаще всего, поскольку он автоматически загружает пакеты из онлайн-репозиториев Debian и устанавливает все необходимые зависимости, что делает apt предпочтительным инструментом для повседневной установки, удаления и обновления программного обеспечения.
Для установки и удаления инструмента apt требуются права суперпользователя, поэтому вам нужно будет использовать sudo или выполнить эти команды от имени пользователя root.
Перед установкой любого программного обеспечения рекомендуется обновить список пакетов, чтобы система знала о последних доступных версиях:
sudo apt update
Чтобы установить пакет и все необходимые зависимости, используйте команду:
sudo apt install package-name
Чтобы удалить пакет, оставив файлы конфигурации:
sudo apt remove package-name
Если вы также хотите удалить файлы конфигурации (для более чистого удаления), используйте следующую команду:
sudo apt purge package-name
Чтобы обновить все установленные пакеты до последних версий:
sudo apt upgrade
Если вы не уверены в точном названии пакета, вы можете выполнить поиск по ключевому слову, и вам будет показан список подходящих пакетов с краткими описаниями.
apt search keyword
apt сохраняет загруженные файлы пакетов в вашей системе на случай, если они понадобятся снова. Со временем этот кэш может разрастись, и чтобы освободить место, выполните следующую команду:
sudo apt clean
Управление пакетами с помощью aptitude
Хотя apt обычно достаточно для повседневного управления пакетами, aptitude предоставляет дополнительные функции и часто может справиться с более сложными ситуациями, связанными с зависимостями. В некоторых случаях, когда apt не может разрешить конфликты пакетов или выполнить обновление, aptitude может предложить более эффективные решения.
Вы можете использовать aptitude из командной строки так же, как apt:
sudo aptitude update sudo aptitude install package-name sudo aptitude remove package-name aptitude search keyword
Однако одним из ключевых преимуществ aptitude является наличие интерактивного текстового интерфейса, который можно открыть с помощью:
sudo aptitude

Текстовый интерфейс aptitude
Этот интерфейс позволяет просматривать пакеты, читать описания, просматривать версии и помечать пакеты для установки или удаления перед применением изменений. Пакеты аккуратно распределены по категориям, что упрощает изучение системы по сравнению с запоминанием имён команд или поисковых запросов.

Удобный просмотр пакетов с помощью aptitude
Ещё одно преимущество заключается в том, что aptitude отслеживает, какие пакеты были установлены вручную, а какие — автоматически в качестве зависимостей. Благодаря этому при удалении программного обеспечения можно с большей уверенностью решить, какие пакеты можно безопасно удалить, и избежать случайного удаления чего-то важного.
Использование Synaptic для графического управления пакетами
Если вы предпочитаете работать с графическим интерфейсом, а не с командной строкой, Synaptic предоставляет полнофункциональный менеджер пакетов, созданный на основе apt. Он отображает пакеты в упорядоченном списке с возможностью поиска, а также предоставляет подробные описания и информацию о зависимостях, версиях и статусе установки.
Чтобы установить Synaptic, выполните следующую команду:
sudo apt install synaptic
После установки вы можете запустить его из меню приложений или с помощью команды:
sudo synaptic-pkexec

Менеджер пакетов Synaptic
Когда Synaptic откроется, вы увидите категории пакетов слева и список пакетов справа. При выборе пакета на нижней панели отобразится подробная информация, в том числе о том, что делает пакет, какая версия доступна и от каких других пакетов он зависит.

Просмотр информации о пакете через Synaptic
Чтобы установить пакет, щёлкните по нему правой кнопкой мыши и выберите «Отметить для установки», после чего автоматически будут выбраны все необходимые зависимости. После того как вы отметите все нужные пакеты, нажмите «Применить», чтобы начать установку.

Установка пакетов С помощью Synaptic
Поскольку Synaptic предоставляет визуальную обратную связь о конфликтах пакетов и изменениях зависимостей до установки чего-либо, пользователи могут наглядно видеть последствия своих действий.
Установка групп пакетов с помощью tasksel
В отличие от инструментов, ориентированных на отдельные пакеты, tasksel устанавливает сразу целые наборы связанного программного обеспечения, которые называются задачами, и каждая задача содержит все пакеты, необходимые для выполнения определенной функции в вашей системе, например для работы веб-сервера, среды рабочего стола или почтового сервера.
Чтобы запустить интерактивное меню выбора задач, выполните следующую команду:
sudo tasksel
Откроется меню, в котором можно просмотреть доступные задачи и перемещаться между ними с помощью клавиш со стрелками, а также выбирать и отменять выбор задачи с помощью пробела.

Использование интерактивного меню Tasksel
Если вы хотите просмотреть доступные задачи, не открывая меню, используйте:
tasksel --list-tasks

Просмотр доступных задач
Чтобы установить определённую задачу непосредственно из командной строки, выполните команду:
sudo tasksel install task-name
Хотя tasksel используется реже при обычном повседневном управлении пакетами, он очень полезен при настройке системы или когда нужно установить полноценную программную среду за один шаг.
Выбор подходящего инструмента
Каждый инструмент управления пакетами в Debian предназначен для определённой цели, и выбор подходящего инструмента зависит от того, что вы пытаетесь сделать. Используйте dpkg при работе с отдельным .deb файлом, который вы скачали вручную, особенно из неофициальных репозиториев. Используйте apt в повседневных ситуациях, например при установке, удалении и обновлении программного обеспечения из командной строки. Он автоматически обработает зависимости.
Используйте aptitude при решении более сложных проблем, связанных с зависимостями, или когда вам нужно использовать интерактивный текстовый интерфейс для просмотра пакетов и управления ими. Выберите Synaptic, если вам больше нравится графический интерфейс или вы хотите визуально изучить доступное программное обеспечение перед его установкой.
Наконец, используйте tasksel, когда вам нужно установить полный набор соответствующих программных пакетов, например для настройки системы в качестве веб-сервера, среды рабочего стола или рабочей станции для разработки.
Все эти инструменты работают с одной и той же базой данных пакетов, поэтому они не конфликтуют друг с другом. Вы можете переключаться между ними в зависимости от своих потребностей. Главное — выбрать инструмент, который лучше всего подходит для решения конкретной задачи, а не полагаться на один метод для всего.
Редактор: AndreyEx