Найти в Дзене
Николай Буренков

Развенчиваем страшные мифы о терминале в Линукс. Окончание

Теперь пришло время заключительной части моего повествования. Разберем кратенько, что такое Система управления пакетами (или менеджер пакетов). Сперва обратимся к Вики: «Система управления пакетами — набор программного обеспечения, позволяющего управлять процессом установки, удаления, настройки и обновления различных компонентов программного обеспечения. Системы управления пакетами активно используются в различных дистрибутивах операционной системы Linux и других UNIX-подобных операционных системах.

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

Установка программ в Линукс отличается от таковой в Windows. В Линукс используются два основных способа инсталляции — это с помощью пакетов или из исходных кодов. За процесс установки пакета отвечает менеджер пакетов. Менеджер пакетов являет собой основу дистрибутива, полностью контролируя целостность и рабочее состояние всей системы. С помощью менеджеров пакетов можно как устанавливать, так и удалять пакеты и производить любые другие операции. Системы управления пакетами обычно включают инструменты двух типов: низкоуровневые инструменты, решающие такие задачи, как установка и удаление файлов пакетов, и высокоуровневые инструменты, выполняющие поиск в метаданных и разрешение различных зависимостей. Например, все дистрибутивы на основе Debian опираются на одну низкоуровневую программу DPKG. Но при этом используют разные высокоуровневые инструменты, такие как apt-get и aptitude. Red Hat в свою очередь опирается на низкоуровневую программу RPM, но использует такие высокоуровневые инструменты, как yum. DEB- пакеты применяются в дистрибутиве Debian и основанных на Debian дистрибутивах, таких как Ubuntu, Kubuntu, Mint и др. RPM-пакеты применяются во всех Red Hat-совместимых дистрибутивах, таких как Red Hat, Fedora, Mandriva, ALT Linux и др. И так:

DPKG — это базовая система управления пакетами низкого уровня в Debian. Она может использоваться для инсталляции, удаления, хранения, получения информации о пакетах с расширением .deb. Есть дополнительные утилиты, которые являются помощниками в установке, удалении и других действий с пакетами. Давайте рассмотрим их:

APT (Advanced Packaging Tool) — Один из популярнейших мощных инструментов командной строки с открытым исходным кодом для управления пакетами, увеличивающий возможности dpkg. Данная утилита используется в Debian и его производных, таких Ubuntu, Linux Mint.

Например, для обновления пакетов в Ubuntu в терминале набираем команду apt-get update. Для обновления системы — apt-get dist-upgrade. Для установки какой-либо программы, например, vlс надо набрать: apt install vlc (или название любой другой нужной вам программы). А для удаления всех битых файлов надо набрать команду apt-get autoremove.

Aptitude Package Manager — утилита командной строки для управления пакетами в Debian. По функционалу аналогична Apt, но в отличие от Apt на сегодняшний день может применяться и в дистрибутивах Red Hat.

RPM (Red Hat Package Manager) — является базовым форматом и системой управления пакетами, разработанными в Red Hat. Это низкоуровневый инструмент, у которого есть свои пакетные менеджеры. Познакомимся с ними:

YUM (Yellowdog Updater, Modified) Популярный менеджер пакетов Linux с открытым исходным кодом для командной строки. Используется для управления пакетами в дистрибутиве Red Hat. По сравнению с Apt, обладает теми же функциональными возможностями, но работает медленнее, чем Apt.

DNF представляет собой модернизированный YUM. Это пакетный менеджер Linux, используемый в дистрибутиве Fedora начиная с версии 18. Представляет собой улучшенное поколение YUM.

Сначала DNF был разработан как экспериментальная версия, но начиная с Fedora 22 уже используется как пакетный менеджер по умолчанию. Он работает почти также как и YUM, а для разрешения зависимостей используется библиотека libsolv и hawkey. У dnf можно наблюдать увеличение скорости работы, а также уменьшение потребления памяти.

PACMAN — это менеджер пакетов ARCH LINUX. Данный менеджер пакетов Linux разработан командой программистов для дистрибутива ArchLinux. Сейчас, кроме ArchLinux, он используется, по моему, в Manjaro и еще нескольких малоизвестных дистрибутивах, основанных на ArchLinux.

Здесь тоже поддерживаются все основные возможности, такие как установка программного обеспечения, автоматическое разрешение зависимостей, обновление, удаление пакетов, а также загрузка пакетов программ для последующей установки.

Эта программа специально спроектирована для удобной работы с пакетами в среде Arch Linux. А так как это система с режимом выпуска в виде роллинг релизов, то этот пакетный менеджер подходит наилучшим образом. Pacman поддерживает систему в актуальном состоянии синхронизируя списки пакетов из основного сервера.

ZYPPER является пакетным менеджером OpenSUSE. Он разработан специально для этого дистрибутива и использует библиотеку libzypp, в которой реализованы такие общие возможности, как доступ к репозиторию, установка пакетов, разрешение зависимостей, работа с репозториями и многое другое. Zypper работает намного быстрее чем Yum. Поддерживает различные форматы репозиториев, а также расширения репозиториев. Поддерживается как обычное обновление, так и обновление патчами, во время которого только накладываются патчи на установленные пакеты для исправления проблем с безопасностью. Работать с zypper одно удовольствие, как, впрочем, и с openSUSE.

Ну вот как-то как. Читайте и подписывайтесь на мой канал. Ставьте лайки. Удачного всем дня и отличного настроения.