Пакетное управление. Что такое менеджер пакетов? Настройка кэширования пакетов

Мы сравним разные менеджеры пакетов Linux. Между всеми дистрибутивами Linux одна из вещей, которыми они делятся, - это необходимость установки новых программных пакетов в систему. В зависимости от дистрибутива доступны различные менеджеры пакетов, позволяющие легко и быстро устанавливать, управлять и удалять пакеты. Менеджеры пакетов очень хорошо подходят для упрощения установки, с обычными местами установки и конфигурациями. В этой статье мы обсудим различные доступные менеджеры пакетов, какие дистрибутивы они могут использовать, и что делает их уникальными. Мы рассмотрим менеджеров пакетов на базе Debian, менеджеров пакетов RedHat Enterprise Linux (RHEL) и других менеджеров пакетов, разработанных специально для вас.

Менеджеры пакетов на базе Debian

Ubuntu и Debian сегодня считаются одной из наиболее широко используемых на рынке настольных Linux-операционных систем. Их менеджеры пакетов разделены, причем система управления пакетами самого низкого уровня - «dpkg», для «Debian Package» - сокращение. Это программное обеспечение для управления пакетами barebones, с инструментами для установки, удаления и создания пакетов.

Что недостает dpkg, так это более сложные функции - такие функции, как загрузка пакетов из Интернета или автоматическая установка зависимостей, невозможны через dpkg. Возможность сделать это из Интернета очень полезна, поскольку позволяет пользователям добавлять репозитории для пакетов, что значительно увеличивает выбор программного обеспечения, которое может быть легко установлено в системе. Он также может значительно упростить процесс установки программного обеспечения, поскольку он может легко находить и устанавливать пакет только с одной командой.

Менеджер пакетов APT

Именно здесь вступают в действие интерфейсы, такие как apt и aptitude. APT, сокращенный для Advanced Package Tool, намного более совершенен по функциональности по сравнению с dpkg. Он также может устанавливать, удалять и создавать пакеты, однако его функциональность идет гораздо дальше. APT может автоматически обновлять ваши пакеты, устанавливать зависимости, а также автоматически загружать ваши пакеты из Интернета. Это один из самых распространенных менеджеров пакетов, установленных на современных дистрибутивах, с предустановленным на Ubuntu, Debian и большинством других операционных систем на базе Debian.

Менеджер пакетов Aptitude

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

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

Менеджеры пакетов RedHat Enterprise Linux (RHEL)

Менеджер пакетов RPM

RedHat и CentOS - одна из наиболее широко используемых серверных операционных систем, найденных сегодня на серверах. Основным программным обеспечением управления пакетами, установленным в этих системах, является RPM, что сокращает работу Red Hat Package Manager. Этот менеджер пакетов также выполняет основные операции, такие как установка и удаление пакетов, и, как и dpkg, также не может управлять пакетами или устанавливать их непосредственно из Интернета.

Менеджер пакетов YUM

Как и операционные системы на базе Debian, операционные системы RHEL также имеют собственное программное обеспечение для управления пакетами. YUM, сокращение от Yellow Dog Updater, является самым популярным выбором в качестве интерфейса RPM. Он открывает намного больше возможностей для файлов RPM через репозитории, отслеживает, что установлено в системе, упрощает обновление и многое другое. Это эквивалент менеджера пакетов APT на основе RHEL.

DNF, сокращенный для Dandified Packaging Tool, является более модернизированной и расширенной версией менеджера YUM, включающей функции YUM, одновременно повышая производительность и использование ресурсов. На данный момент только Fedora использует эту версию YUM следующего поколения, но, надеюсь, мы увидим, что в будущем она будет распространяться на большее количество операционных систем.

Есть несколько других инструментов управления пакетами, доступных для систем на основе RPM, таких как up2date, urpmi и ZYpp. Однако они не так широко используются как YUM или DNF.

Другие менеджеры пакетов

Иногда разработчики создают специальные менеджеры пакетов, предназначенные для своих дистрибутивов Linux - они обычно разрабатываются вокруг операционной системы и не встречаются в основных дистрибутивах Linux.

Pacman - менеджер пакетов, найденный в Arch Linux. Pacman - единственный инструмент управления пакетами, найденный на Arch, что делает его не интерфейсом. Arch Linux - это скользящая версия операционной системы, причем обновления добавляются каждый день. Есть только несколько команд с pacman, предназначенных для поиска, установки и удаления пакетов. Этот менеджер пакетов может подключаться к Интернету и приобретать его пакеты оттуда, делая его более удобным для пользователя. Тем не менее, pacman предназначен для установки программного обеспечения из репозитория Arch, что делает его невозможным для установки из сторонних репозиториев.

Конструктор пакетов ABS

ABS, сокращение от Arch Build System, представляет собой систему инструментов, предназначенных для создания устанавливаемых пакетов программного обеспечения для Arch Linux из исходного кода. Это состоит из нескольких инструментов, которые работают вместе для создания пакетов. Этими инструментами являются все независимые программы, такие как makepkg, pacman, asp и т. Д. Способ создания / установки пакета с использованием АБС отличается от обычного дистрибутива Linux. Вместо установки предварительно скомпилированных пакетов вам нужно создать файл PKGBUILD из ветки Svn или Git, используя пакет asp. Оттуда вы используете команду makepkg, которая использует файл PKGBUILD для загрузки и компиляции исходного кода вашей системы. Это делает ABS немного менее интуитивным методом установки пакетов на Arch Linux. Он также имеет несколько других применений, таких как настройка существующих пакетов или создание и установка настраиваемого ядра.

Менеджер пакетов портов

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

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

PS. Если вам понравился этот пост при сравнении разных менеджеров пакетов Linux, поделитесь им со своими друзьями в социальных сетях, используя кнопки слева, или просто оставьте ответ ниже. Благодарю.

Обновление (апрель 09, 2018): Исправлены некоторые неточности в отношении набора инструментов компоновщика пакетов ABS.

Что такое менеджер пакетов?

Менеджер пакетов следит за тем, какие программы установлены на вашем компьютере, и позволяет вам легко устанавливать новые программы, обновлять программы до более новых версий или удалять те программы, которые вы ранее установили. Как предполагает само название, менеджеры пакетов имеют дело с пакетами - наборами файлов, которые упакованы вместе и могут быть установлены или удалены группой.

Зачастую, пакет представляет собой просто отдельную программу. Например, клиент мгновенных сообщений gaim находится в пакете Debian с таким же именем. С другой стороны, для программ вполне нормально состоять из нескольких взаимосвязанных пакетов. Например, графический редактор gimp состоит не только из пакета gimp , но и из пакета gimp-data ; так же доступны необязательные пакеты с дополнениями (содержащими эзотерические данные, документацию и т.д.). Несколько небольших связанных программ могут входить в один пакет, например, пакет fileutils содержит несколько общих команд Unix, таких как ls , cp и т.д.

Некоторым пакетам для работы требуются другие пакеты. В Debian пакеты могут зависеть от других пакетов, рекомендовать , предлагать , ломать их или конфликтовать с ними.

    Если пакет A зависит от другого пакета B, то B требуется для правильной работы A. Например, пакет gimp зависит от пакета gimp-data , поскольку необходимо гарантировать, что графическому редактору GIMP доступны необходимые файлы данных.

    Если пакет A рекомендует другой пакет B, то пакет B предоставляет важную дополнительную функциональность пакету A, которая желательна в большинстве случаев. Например, пакет mozilla-browser рекомендует пакет mozilla-psm , который добавляет поддержку безопасной передачи данных веб-браузеру Mozilla . В то время как пакет mozilla-psm не строго требуется для работы Mozilla, большинство пользователей хотят, чтобы Mozilla поддерживал безопасную передачу конфиденциальных данных (таких как номера кредитных карт).

    Если пакет A предлагает другой пакет B, то пакет B предоставляет функциональность, которая может улучшить пакет A, но не является необходимой в большинстве случаев. Например, пакет kmail предлагает пакет gnupg , содержащий программу для шифрования, которая может использоваться KMail .

    Если пакет A конфликтует с другим пакетом B, то эти два пакета не могут быть установлены одновременно. Например, пакет fb-music-hi конфликтует с пакетом fb-music-low , поскольку они предоставляют альтернативные наборы музыки для игры Frozen Bubble .

Работа менеджера пакетов заключается в предоставлении интерфейса, который помогает пользователю в управлении набором пакетов, установленных в его или её системе. aptitude предоставляет такой интерфейс на основе системы управления пакетами apt .

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

Как работают менеджеры пакетов

У каждого пакетного менеджера есть файл с настройками, в котором нам нужно указать от каких пакетов зависит наш код, чтобы пакетный менеджер их скачал и установил к нам в систему. При этом каждый пакет может зависеть от других пакетов. Пакетный менеджер распутывает эту систему зависимостей и устанавливает всё что нужно, поэтому их ещё называют менеджерами зависимостей. Вот пример: для работы я использую фрэймоворк Twitter Bootstrap и для его работы нужен jQuery. Поэтому если я укажу своему менеджеру пакетов установить Twitter Bootstrap, то он автоматически установит и jQuery.

Какие пакетные менеджеры использовать

Я в своей работе использую три разных пакетных менеджера:

  • — пакетный менеджер для мира PHP. Использую для загрузки чужого PHP-кода;

М ы будем сравнивать различные менеджеры пакетов в Linux. Между всеми распределениями в Linux, одна из вещей, которые они разделяют, это необходимость иметь возможность установить новые пакеты программного обеспечения в систему. В зависимости от распределения, доступны различные менеджеры пакетов, что позволяет пользователю устанавливать, управлять и удалять пакеты легко и быстро. Менеджеры пакетов очень хороши в оптимизации установок, с общими местами установки и конфигурациями. В этой статье мы обсудим различные доступные менеджеры пакетов, на каких дистрибутивах они могут использоваться и что делает каждый из них уникальным. Мы расскажем, менеджеры пакетов основанные на , основные менеджеры пакетов RedHat Enterprise Linux (RHEL), и другие пользовательские менеджеры пакетов.

Debian – основанные менеджеры пакетов

Менеджер пакетов Dpkg

Ubuntu и Debian считаются одним из наиболее широко используемых потребительских операционных систем на основе Linux, имеющихся сегодня на рынке. Их менеджеры пакетов являются общими, с системой управления пакетами нижайшего уровня «Dpkg», сокращенно от «Debian Package». Это скелет программного обеспечения для управления пакетами, с инструментами для установки, удаления и сборки пакетов.

В Dpkg не хватает более расширенные возможности – функциональные возможности, такие как загрузка пакетов из Интернета, или установка зависимостей автоматически не возможно через DPKG. Будучи в состоянии сделать это из Интернета очень полезна, так как она позволяет пользователям добавлять репозитории пакетов, что значительно увеличивает выбор программного обеспечения, которое может быть легко установлено в системе. Оно также может значительно упростить процесс установки программного обеспечения, будучи в состоянии легко найти и установить пакет только с одной командой.

Pacman – это менеджер пакетов в Arch Linux. Pacman является единственным инструментом управления пакетами, найденным на Arch, что делает его не фронтендом. Arch Linux является релизом операционной системы, где обновления добавляются каждый день. Есть только несколько команд с pacman, предназначенных для поиска, установки и удаления пакетов. Этот менеджер пакетов может подключаться к Интернету и приобретать свои пакеты оттуда, что делает его более удобным для пользователя. Тем не менее, pacman предназначен для установки программного обеспечения из репозитория Arch, что делает его невозможным для установки из сторонних репозиториев.

ABS, сокращенно от Arch Build System, представляет собой систему инструментов, предназначенных для создания устанавливаемых программных пакетов для Arch Linux из исходного кода. Он состоит из нескольких инструментов, функционирующих вместе для создания пакетов – все эти инструменты являются независимыми программами, такими как makepkg, pacman, asp и так далее. Метод создания/установки пакета с использованием ABS отличается от обычного дистрибутива Linux. Вместо установки предварительно скомпилированных пакетов необходимо создать файл PKGBUILD из ветви Svn или Git с помощью пакета asp. Оттуда вы используете команду makepkg, которая использует файл PKGBUILD для загрузки и компиляции исходного кода для вашей системы. Это делает ABS немного менее интуитивным методом установки пакетов на Arch Linux. Он имеет несколько других применений, таких как настройка существующих пакетов, или сборка и установка собственного ядра.

mob_info