Установка программ в Linux. Для чего нужны менеджеры управления пакетами?

установка программ в linux. для чего нужны менеджеры управления пакетами?

Компиляция программ и её недостатки

Большинство пользователей привыкли к тому, что в операционной системе Windows для установки программы необходимо запустить специальный исполняемый файл. Например, с именем setup.exe. Linux реализует совершенно иной подход.

Программа может быть скомпилирована из исходных кодов. Это довольно специфичный и долгий процесс. К тому же чаще всего он отнимает много нервов. Большинству программ для нормальной работы требуются зависимости, которые пользователю также придется самостоятельно разрешать с помощью компиляции или установки пакетов.

С компиляцией связана одна неприятная особенность. В Linux не существует простого способа удаления скомпилированных программ. Пользователю придется самостоятельно выискивать все директории с данными, исполняемыми файлами и логами, чтобы очистить их. Также вы не сможете быть уверенным в нормальном функционировании системы, так как удаленная программа могла использоваться другими приложениями в качестве зависимости.

Чаще всего компиляция используется для установки самых новых версий программ, которые еще не успели войти в репозитории пакетов, либо для установки с указанием специфичных опций.

Заметка
Справедливости ради отметим, что компиляция программы из исходных кодов может быть произведена и в Windows. Однако данная операция является большой редкостью в этой операционной системе.

Преимущества менеджеров пакетов

В каждом современном дистрибутиве Linux имеется менеджер пакетов. Он осуществляет учет установленных программ и их зависимостей, что значительно облегчает администрирование системы. Пакет по принципу действия схож с установочным файлом Windows, однако не является исполняемым. Его можно считать чем-то вроде заархивированного набора инструкций, говорящего менеджеру как правильно и с какими зависимостями произвести установку программы.

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

Работа через менеджеры пакетов дает ряд существенных преимуществ:

  • Установка и удаление программ осуществляется вызовом простых команд.
  • Не нужно самостоятельно разрешать зависимости всех пакетов. Если вам необходимо установить программу, все её компоненты подтянутся из репозитория.
  • Файловая система не замусоривается. Зависимости, директории логов и данных могут удаляться автоматически в случае не надобности.
  • Высокая степень безопасности. Пакеты скачиваются через официальные репозитории и имеют криптографические подписи. Это исключает возможность установки программ с вредоносным кодом. В случае компиляции вы можете получить исходные коды с любого сайта или форума, и никто не гарантирует их безопасность.
  • Менеджер самостоятельно следит за обновлением версий пакетов.

Разнообразие форматов пакетов

В различных дистрибутивах Linux могут использоваться разные менеджеры пакетов. Так Debian и все его производные поддерживают формат пакетов deb, а Red Hat следует своему пути с форматом rpm. Существуют низкоуровневые команды, позволяющие осуществлять установку, удаление и обновление пакетов. В Debian команда именуется как dpkg, а в Red Hat соответственно rpm. Эти команды реализуют примитивный функционал. Например, они не осуществляют автоматическую установку зависимостей пакетов.

На основе примитивных команд rpm и dpkg реализованы высокоуровневые системы управления пакетами, позволяющие осуществлять простое и эффективное взаимодействие с форматами deb и rpm. Именно об их преимуществах мы говорили выше. К данным системам относятся Yum в Red Hat, APT и Aptitude в Debian/Ubuntu. Они являются консольными, но есть и системы управления пакетами с графической оболочкой YumExtender и Synaptic.

Также существует ряд инструментов, созданных под конкретные дистрибутивы. Они не будут рассмотрены в данном учебном курсе.

Заметка
Этот урок содержит исключительно теоритические основы работы пакетных менеджеров Linux. Конкретные команды и практические примеры использования каждого менеджера будут рассмотрены в следующих статьях.

Последние публикации