Введение в управление пакетами в Linux

Примеры команды Linux «ss» Изучение

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

Linux внедрил своевременную практику управления программным обеспечением, создав форматы пакетов, программные пакеты и уникальные инструменты установки. В этой статье обсуждается, как процесс установки программного пакета обновился с установки пакета tarball до управления пакетами DEB и RPM.

Tarball

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

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

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

Поскольку установка пакета tarball распространяет файлы, будет нелегко найти документацию пакета и файлы конфигурации, даже если пользователь знает команды.

Трудно найти файлы для удаления программного обеспечения.

Отсутствие метаданных в tar-архивах оставляет пользователей в замешательстве относительно деталей версии после установки. Это затрудняет отслеживание ошибок и получение новых версий.

Чтобы преодолеть эти проблемы, упаковка программного обеспечения в дистрибутивах Linux была преобразована в два формата упаковки, известных как упаковка DEB и RPM.

DEB Packaging

В дистрибутивах Linux на основе Debian и Debian используется программная упаковка на основе DEB. Файлы.deb включают все соответствующие файлы с метаданными в формате архива.ar. Метаданные содержат все соответствующие детали программного обеспечения, включая версию, описание, зависимости, лицензии и т. Д. Дистрибутивы Debian предлагают несколько графических интерфейсов и терминальных инструментов для управления файлами.deb. Некоторые из них включают:

  • apt: расширенный инструмент упаковки Ubuntu, который предоставляет команду apt-get для поиска и управления установкой пакетов.
  • aptitude: команда представляет собой инструмент управления пакетами, который предоставляет текстовый интерфейс для запуска внутри терминала. Он выполняет установку, удаление и обновление пакетов с помощью клавиш со стрелками и выделения выбранной опции.
  • Центр программного обеспечения Ubuntu: это интуитивно понятный графический пользовательский интерфейс для начинающих пользователей Linux, ищущих и устанавливающих пакеты.

Несмотря на то, что Ubuntu Software Center интуитивно понятен, передовая система управления пакетами превосходит все другие PMS для упаковки DEB.

RPM Packaging

Формат упаковки RPM (.rpm) является предпочтительным для SUSE, Fedora и Red Hat, а также для дистрибутивов Linux на основе RHEL. Пакет RPM представляет собой совокупность файлов для предоставления пользователям дистрибутива RHEL программы просмотра фотографий, текстового редактора или другого программного обеспечения. Он также содержит файлы конфигурации, метаданные и другие необходимые документы для создания программного обеспечения.

Менеджер пакетов RPM объединяет двоичные файлы и все необходимые файлы, доступные через поставщиков программного обеспечения, в пакет RPM. Перед включением пакетов в репозиторий они подписываются, чтобы пользователи могли проверить их действительность. Теперь пользователь может получить доступ к этим пакетам для установки из репозиториев, размещенных на компакт-дисках, или каталогов через NFS или FTP-серверы.

Название пакета RPM многое говорит о программном обеспечении. Например, введите следующую команду, чтобы узнать подробную информацию о текущем установленном RPM-пакете firefox:

[fedora@fedora]$ rpm -q firefox
firefox-87.012.fc34.x86_64

  • 0: представляет собой номер версии, присвоенный Mozilla Project.
  • 12: представляет количество раз, когда Red Hat перестраивает пакет с тем же номером выпуска.
  • x86_64: означает, что пакет собран и скомпилирован для 64-разрядной архитектуры Fedora Linux и x86.

Чтобы найти дополнительные сведения о пакете, запросите локальную базу данных RPM с помощью команды rpm с параметром -qi:

[fedora@fedora]$ rpm -qi firefox
Name        : firefox
Version     : 87.0
Release     : 12.fc34
Architecture: x86_64
Install Date: Fri 23 Apr 2021 06:58:19 AM EDT
Group       : Unspecified
Size        : 261285879
License     : MPLv1.1 or GPLv2+ or LGPLv2+
Signature   : RSA/SHA256, Tue 13 Apr 2021 04:59:11 AM EDT, Key ID 1161ae6945719a39
Source RPM  : firefox-87.012.fc34.src.rpm
Build Date  : Mon 12 Apr 2021 04:56:26 AM EDT
Build Host  : buildhw-x86-10.iad2.fedoraproject.org
Packager    : Fedora Project
Vendor      : Fedora Project
URL         : https://www.mozilla.org/firefox/
Bug URL     : https://bugz.fedoraproject.org/firefox
Summary     : Mozilla Firefox Web browser
Description :
Mozilla Firefox is an open-source web browser designed for standards
compliance, performance, and portability.

Приведенный выше вывод теперь представляет дату сборки и установки пакета, размер, лицензию группы пакетов firefox и многие другие детали. Несмотря на то, что rpm была первой командой инструмента упаковки RPM для обновления установки, запроса, удаления пакетов и т. Д., У нее есть некоторые фундаментальные недостатки.

Ад зависимостей: установка пакета RPM завершается неудачей из-за отсутствия зависимостей при сообщении о необходимых компонентах. Более того, у самого зависимого пакета есть некоторые необходимые зависимости для выполнения работы.

Расположение пакетов RPM: диспетчер пакетов RPM ожидает получить расположение пакета перед установкой. Если пакет доступен в текущей папке, он требует ввода firefox-87.0-12.fc34.x86_64.rpm, если он находится на сервере, он требует http://example.com/firefox-87.0-12.fc34.x86_64.rpm.

Тогда как в то время упаковка программного обеспечения на основе DEB могла автоматически решить проблему зависимостей. Однако после роста популярности RPM-пакетов проблемы были решены с помощью средства yum.

YUM Project

Средство Yellowdog Updater Modified (YUM) было введено для управления зависимостями пакетов RPM путем рассмотрения каждого пакета RPM как части большого репозитория программного обеспечения. Таким образом, проблема работы с зависимостями возникает для дистрибутива Linux или стороннего программного обеспечения.

Это решает проблемы, связанные с концепцией, что репозитории могут опираться друг на друга. Например, если пользователь устанавливает какой-либо пакет из репозитория rpmfusion.org, для которого требуется команда / инструмент из основного репозитория Fedora, он также имеет к нему доступ. Тем временем он будет загружен и установлен.

Вывод

В статьях представлена ​​краткая история развития системы управления пакетами Linux. Мы обсудили системы упаковки программного обеспечения на основе.deb и.rpm для дистрибутивов Linux на основе Debian и RHEL, их наиболее часто используемые инструменты. Мы также обсуждаем эволюцию систем управления пакетами с учетом проблем, возникающих на ранних этапах разработки.

Читайте также:  Гибкая разработка программного обеспечения: основные сценарии использования
Оцените статью
bestprogrammer.ru
Добавить комментарий