управління пакетами

управління пакетами

Система управління пакетами - це набір інструментів, що забезпечує уніфікований метод установки, оновлення і видалення програмного забезпечення у вашій системі. Дистрибутиви Linux, включаючи openSUSE, зазвичай складаються з тисяч окремих пакетів програм.

Програмне забезпечення поширюється через пакети з прикріпленими метаданими. в яких міститься додаткова інформація: опис призначення пакета, список залежностей. необхідних для нормальної роботи програми, і т.д. Пакети зберігаються в репозиторіях. локальних (CD, DVD або жорсткий диск) або мережевих сховищах. Після установки пакета його метадані зберігаються в локальній базі даних і використовуються для пошуку файлів пакета.

Libzypp - це реалізація подібної системи управління пакетами для openSUSE, до неї надається графічний інтерфейс користувача YaST Software Management і інтерфейс командного рядка Zypper.

Пакети - це архіви файлів. містять всі компоненти додатків (самі додатки, колективні бібліотеки, пакети для розробки додатків і т.д.) та інструкції щодо їх запуску та налаштування.

Пакет інтегрований в дистрибутив, для якого він був зібраний, з урахуванням шляхів установки, залежностей, інтеграції з середовищем, скриптів запуску для серверів і т.п. Тому завжди слід встановлювати пакети, зібрані саме для вашого дистрибутива і його версії (наприклад openSUSE 11.1). Не варто застосовувати пакети Fedora в openSUSE і навіть пакети openSUSE 11.1 в openSUSE 11.2 (хоча працездатність останніх іноді можлива).

метадані пакетів

Пакет також містить додаткові відомості, зазвичай звані метадані. У них входять:

  • анотація
  • опис
  • список вмісту пакета
  • номера версії програми і релізу пакету
  • коли, де і ким зібраний пакет
  • для якої архітектури призначена збірка
  • контрольні суми файлів
  • ліцензії на програми
  • відомості про залежності
  • інше

залежно пакетів

Важлива функція пакетів - опис взаємозв'язків додатків. Оскільки додатки вимагають для свого виконання певного робочого оточення (інших програм, бібліотек і т.п.), пакети можуть надавати файли, призначені для використання в інших пакетах. Залежно пакетів використовуються для вираження таких зв'язків.

Наприклад, пакет А може вимагати наявності встановлених пакетів Б, В, Г для коректної роботи.

  • Пакетні залежності транзитивність. тобто в разі залежності А від Б і Б від В для установки А потрібні і Б, і В. Так що не дивуйтеся, якщо для установки всього лише однієї програми може знадобитися установка безлічі пакетів.
  • Типові бібліотечні залежності. Практично кожне окреме додаток вимагає декількох бібліотек. Зазвичай назви пакетів, що містять бібліотеки, починаються з "lib".

Використання системи пакетів - важлива властивість дистрибутивів Linux (а також BSD- і Unix-систем), що забезпечує модульний підхід до управління операційною системою і додатками. Наприклад, пакет openssl містить криптографічні бібліотеки, які використовуються безліччю інших додатків і бібліотек (для SSL-шифрування й ін.). Після виходу свіжої версії openssl з поліпшеннями і виправленнями, всі програми, його використовують, отримають нові можливості в результаті лише єдиного поновлення даного пакета.

Такий підхід дуже ефективний для підтримки стабільності і захищеності системи: якщо виправлена ​​уразливість в бібліотеці, використовуваної іншими додатками, її оновлення закриє цю вразливість для всіх пакетів.

формати пакетів

Програмне забезпечення для Linux найчастіше поширюється в одному з наступних форматів.

  • tgz (файли tar gzip). Це просто архіви. Вони можуть містити все, що розробник вважає за потрібне. Крім самого формату архіву, ніяких стандартів на структуру вмісту не існує.
  • deb (Debian). Формат пакетів, прийнятий в Debian і його похідних дистрибутивах.
  • rpm (Менеджер пакетів RPM). Створений Red Hat і прийнятий LSB в якості стандарту, rpm використовується openSUSE і багатьма іншими збірками.

Сам по собі формат пакетів не надає управління залежностями, а лише повідомляє про їх наявність, надаючи користувачу самому розбиратися з установкою необхідних компонентів, якщо вони відсутні.

Припустимо, що ви хочете встановити пакет А, який залежить від пакета Б. RPM не встановив пакет Б автоматично, але повідомить, що він потрібен для установки А, і припинить роботу. Користувач повинен сам спершу встановити Б, а потім зможе встановитися А. Нескладно? Тепер уявіть, що пакет Б залежить від пакетів В і Г, а Г залежить від Д, а Д від. і так далі. В результаті вам буде потрібно вручну відстежити всі гілки, можливо, немаленького дерева залежностей.

Вирішення цієї проблеми є і називається воно менеджер пакетів.

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

У сучасних дистрибутивах, таких як openSUSE, установку програм найкраще робити за допомогою менеджера пакетів. Функціонуючи поверх RPM, він отримує пакети з репозиторіїв (інтернет-сервера, CD, DVD.), Знаходить залежності і встановлює їх в вашу систему. Менеджер пакетів також спрощує видалення і оновлення пакетів. Обсяг доступного програмного забезпечення залежить від репозиторіїв, які ви підключили.

Рідним менеджером пакетів openSUSE є модуль YaST Software Management і програма командного рядка Zypper. але в дистрибутиві містяться і інші інструменти управління пакетами. Деякі з них працюють тільки з RPM, інші покривають ширший спектр можливостей.

репозиторії пакетів

Перед установкою пакетів репозиторії повинні бути доступні у вашій системі - чи з дисків, або через інтернет.

Репозиторії openSUSE бувають:

  • Офіційні - в них входять добре протестовані і підтримувані пакети.
  • Сторонні. такі як Packman і репозиторії Build Service. У них містяться різні додаткові пакети, деякі мають більш нові версії, ніж в дистрибутиві, деякі не можуть бути включені в openSUSE за ліцензійними причин. Пакети в таких репозиторіях, швидше за все, менше тестувалися, ніж офіційні.

Дивіться також

зовнішні посилання

Схожі статті