Менеджери пакетів у Linux. Що таке пакетні менеджери та навіщо їх використовувати Дослідження менеджера пакетів та репозиторія ос linux

Ми будемо порівнювати різні менеджери пакетів у 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. Він має кілька інших застосувань, таких як налаштування існуючих пакетів, або збирання та встановлення власного ядра.

Ця стаття незакінчена. Ви можете допомогти проекту, доповнивши статтю.

Synaptic- це графічна програма, що дозволяє керувати пакетами в Ubuntu. Вона поєднує всі можливості консольної системи управління пакетами apt і зручність графічного інтерфейсу. За допомогою Synaptic ви можете встановлювати, видаляти, налаштовувати та оновлювати пакети у вашій системі, переглядати списки доступних та встановлених пакетів, керувати репозиторіями та оновлювати систему до нової версії.

Встановлення

Починаючи з Ubuntu 11.10, Synaptic не розповсюджується в комплекті стандартних програм. Встановити його можна, натиснувши на посилання зліва або ввівши в терміналі команду:

sudo apt-get install synaptic

Запуск та зовнішній вигляд

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

Щоб запустити Synaptic, відкрийте Головне меню і наберіть у пошуку synaptic. Також Synaptic можна запустити, ввівши в терміналі команду:

sudo synaptic

При запуску ви побачите головне вікно програми: Головне меню вгорі, панель з декількома кнопками, роль яких стане зрозумілою трохи пізніше.

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

Якщо ви оберете «Всі», ви побачите повний список доступних та встановлених пакетів. При натисканні «Встановлені» відображатимуться лише встановлені пакети тощо. Права частина вікна розділена на верхню та нижню частини. У верхній частині виводиться список пакетів, і при виборі пакета з цього списку в нижній частині відображаються відомості про нього та його опис.

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

Для отримання детальної інформації про пакет, клацніть по ньому правою кнопкою миші і в меню виберіть Властивості.

Управління ПЗ

Встановлення

    Натисніть на кнопку Оновити

    Правий клік на потрібному пакеті і виберіть у меню Позначити для встановлення, або натисніть Ctrl+I. Якщо пакет вимагає інсталяції іншого пакета, то з'явиться діалогове вікно зі змінами, які будуть зроблені, якщо ви дійсно хочете продовжити інсталяцію, то клацніть по клавіші Застосуватиабо натисніть Ctrl+P.

    Для встановлення, натисніть кнопку Застосувати

Видалення

    Правий клік на потрібному пакеті і виберіть у меню виберіть Позначити для видалення.

    З'явиться діалогове вікно зі змінами, які будуть зроблені, якщо ви дійсно хочете продовжити видалення, то клацніть по клавіші «Застосувати» або натисніть Ctrl+P.

    Щоб видалити, натисніть кнопку «Застосувати» на головній панелі менеджера пакетів Synaptic.

Якщо ви відмітите пакет маркером «Позначити для повного видалення», то видаляться не тільки вибраний вами пакет, але й усі залежності.

Оновлення

    Натисніть на кнопку Оновитиабо натисніть Ctrl + R для того, щоб завантажити список останніх версій ПЗ.

    Правий клік на потрібному пакеті і виберіть у меню Позначити на оновлення.

    Застосуватина головній панелі менеджера пакетів Synaptic.

Оновлення всієї системи

Synaptic надає два варіанти оновлення системи

    Розумне оновлення намагатиметься вирішити конфлікти пакетів перед оновленням системи. Дія розумного оновлення аналогічна дії команди apt-get dist-upgrade.

    Стандартне оновлення

    Стандартне оновлення оновить лише пакети, які не потребують встановлення додаткових залежностей.

За умовчанням, ynaptic використовує розумне оновлення. Щоб змінити метод оновлення системи, відкрийте Установки→Параметри→Основніі виберіть потрібний спосіб Оновлення системи.

    Натисніть на кнопку Оновитиабо натисніть Ctrl + R для того, щоб завантажити список останніх версій ПЗ.

    Натисніть на кнопку Позначити на оновленняабо натисніть Ctrl+G для того, щоб Synaptic відзначив для оновлення всі пакети.

    Для оновлення, натисніть кнопку Застосуватина головній панелі менеджера пакетів Synaptic.

Як виправити зламані пакети

«Зламані пакети» - це пакети, які мають незадоволені залежності. Якщо зламані пакети виявлені, Synaptic не дозволить проводити жодних змін у системі з пакетами доти, поки всі зламані пакети не будуть виправлені.

Для виправлення зламаних пакетів

    Оберіть Правка→Виправити пакети з помилкамиу головному меню.

    Оберіть Внести зазначені змінив меню Правкаабо натисніть Ctrl+P

    Підтвердьте зміни, натиснувши кнопку Застосувати.

Гарячі клавіші у Synaptic

КомандаПоєднання клавіш
Оновити список доступних пакетівCtrl+R
Відкрити діалогове вікно пошукуCtrl+F
Показати вікно з властивостями вибраного пакетаCtrl+O
Позначити вибраний пакет(и) для встановленняCtrl+I
Відзначити вибраний пакет(и) для оновленняCtrl+U
Позначити вибраний пакет(и) для видаленняDelete
Позначити вибраний пакет(и) для повного видаленняShift + Delete
Зняти будь-які зміни в пакетахCtrl+N
Відзначити всі можливі оновленняCtrl+G
Швидке встановлення специфічної версії для пакетуCtrl+E
Скасувати останню змінуCtrl+Z
Повторити останню змінуCtrl+Shift+Z
Застосувати всі вибрані діїCtrl+P
Вийти із SynapticCtrl+Q

Налаштування кешування пакетів

Параметри кешування пакетів знаходяться у двох місцях. Перше – у самому synaptic, вікно з налаштуваннями кешування викликається через меню Установки→Параметри→Файли.

Кеш зберігається у папці /var/cache/apt/archives/

    Зберігати всі завантажені файли в кеші- система зберігатиме всі файли завантажені з репозиторіїв у кеші, згідно з правилами зберігання (див. нижче).

    Видаляти завантажені файли після встановлення- система видалятиме файли завантажені з репозиторіїв відразу після їх установки.

    Видаляти лише ті пакети, які більш недоступні у репозиторії- система зберігатиме всі пакети завантажені з репозиторіїв, видаляючи лише ті, які будуть видалені в репозиторії згідно з правилами (див. нижче).

    Очистити кеш- повністю очищує кеш.

В розділі Файли історіївстановлюються налаштування часу збереження історії установок, або відключається видалення цієї історії.

Друге місце, в якому зберігаються налаштування кешування, встановлює правила зберігання пакетів у кеші. Для того, щоб отримати доступ до цих налаштувань, необхідно в терміналі виконати таку команду:

Sudo nano /etc/apt/apt.conf.d/20archive

Ці настройки мають такий вигляд:

APT::Archives::MaxAge "30"; APT::Archives::MinAge "2"; APT::Archives::MaxSize "500";

Тут відображаються максимальний, мінімальний термін зберігання пакета на днях і максимальний розмір кеша в мегабайтах. У цьому випадку всі пакети старше 30 днів будуть видалені, навіть якщо розмір кешу менше 500 мб, і жоден пакет молодше 2 днів видалений не буде, навіть якщо розмір кешу перевищить 500 мб.

Установники пакетівроблять атомарними (однокроковими) операції з окремими пакетами: замість копіювання безлічі файлів та запуску кількох сценаріїв користувач вводить одну команду "встановити/видалити пакет". Однак атомарна з погляду користувача операція - додавання в систему одного нового компонента може складатися з кількох (і навіть багатьох) операцій над пакетами. Мефодій вже зіткнувся з подібним випадком, вивчаючи на власному досвіді поняття «ланцюжок залежностей». Тут установники пакетів не можуть полегшити роботу користувача. Щоб зробити процедуру встановлення, видалення та оновлення компонента системиатомарної, були розроблені менеджери пакетів. Менеджер пакетів - це програма, яка обчислює весь комплекс операцій над окремими пакетами, який потрібно зробити для встановлення/видалення нового компонента (пакету), і сама запускає установник пакетівскільки потрібно разів із потрібними параметрами. Крім того, менеджер пакетів зберігає інформацію не тільки про пакети, вже встановлені в системі, але й про всі, які доступні для установки з будь-якого носія або по Мережі (докладніше про це в розділі Package. Доставка).

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

Найбільш відомий та популярний менеджер пакетів називається APT ( A dvanced P ackage T ool). Спочатку він був розроблений в рамках дистрибутива Debian і працював тільки з інсталятором пакетів dpkg, згодом для інших дистрибутивів була розроблена версія, що працює з rpm. У дистрибутиві Мефодія також використовується APT.

Щоб встановити пакет, насамперед потрібно дізнатися про його існування. Пакети для кожного дистрибутива Linux доступні тисячі і навіть десятки тисяч, орієнтуватися в них непросто. APT надає можливість пошуку потрібного серед доступних пакетів, для цього використовується утиліта apt-cache. У кожному пакеті обов'язково міститься коротка анотація (в один рядок) і невеликий опис ресурсів, що містяться в пакеті (не довше кількох абзаців). За командою apt-cache search підрядок» APT знайде та виведе список з імен та анотацій пакетів, де в імені, анотації чи описі знайшовся зазначений підрядок.

# apt-cache search python | wc 146 1158 8994 # apt-cache search python | grep "programming" python - An interpreted, interactive object-oriented programming language

Приклад 9. Пошук пакетів в APT

Для установки та видалення пакетів призначена утиліта apt-get, а команда установки виглядає дуже просто: apt-get install ім'я_пакету», причому не потрібно вказувати жодних відомостей про версію та місцезнаходження пакета: APT сам знайде та встановить останню з доступних версій.

# apt-get install python Читання списків пакетів... Завершено Побудова дерева залежностей... Завершено Наступні додаткові пакети будуть встановлені: libpython libgdbm libgmp python-base python-modules-bsddb python-modules-email python-modules-encodings python-modules-hotshot python-modules-logging python-modules-xml python-strict Наступні НОВІ пакети будуть встановлені: libpython libgdbm python python -modules-compiler python-modules-curses python-modules-email python-modules-encodings python-modules-hotshot python-modules-logging python-modules-xml python-strict 0 буде оновлено, 1 0 не буде оновлено. Необхідно отримати 0B/4466kB архіви. Після розпакування потрібно додатково 16,9MB дискового простору. Продовжити? y Отримано: 1 cdrom://SomeLinux CD RPM/main libpython 2.3.3-some2 Отримано: 2 cdrom://SomeLinux CD RPM/main libgdbm 1.8.3-some3 Отримано: 3 cdrom://SomeLinux CD RPM/main libgmp 4.1.2-some3. . . Отримано: 14 cdrom://SomeLinux CD RPM/main python-base 2.3.3-some12 Отримано: 15 cdrom://SomeLinux CD RPM/main python 2.3.3-some12 Отримано 4466kB за 0s (19,5MB/s). Здійснюємо зміни... Preparing... ######################################### 1: libpython ######################################## [ 6%] 2: libgdbm ######################################## [ 13%] 3: libgmp # ####################################### [ 20%] 4: python-base # ####################################### # [ 26%] . . . 13: python-modules-logging ######################################## [ 86 %] Завершено.

Приклад 10. Встановлення пакету за допомогою APT

Процедуру установки APT виконує у кілька етапів: спочатку він шукає запитаний пакет у списках доступних, знайшовши, розраховує, які пакети слід встановити, щоб задовольнити його залежності, після чого отримує файли всіх потрібних пакетів (у цьому випадку APT знайшов потрібні пакети на CD-диску ROM), і запускає установник пакетів послідовно для встановлення всього необхідного. Аналогічно, щоб видалити пакет, достатньо виконати команду apt-get remove ім'я_пакету ».

Крім APT є ще кілька менеджерів пакетів. Більшість з них є специфічними для певного дистрибутива, як, наприклад, emerge для Gentoo або yast для SUSE. Їхні завдання та можливості приблизно збігаються з APT.

Контроль цілісності

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

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

За наявності менеджера пакетів механізм залежностей можна обернути на користь людині. Так, можна створити пакет, в якому є лише залежності і немає жодних ресурсів – такий пакет називається віртуальним. Це буває корисно в тому випадку, коли потрібно спростити користувачеві встановлення повного середовища для виконання будь-якої задачі. Необхідні для цього пакети можуть безпосередньо не залежати один від одного, але щоб встановити їх усі за один крок, користувачеві буде достатньо встановити один віртуальний пакет. Таким віртуальним пакетом виявився сам пакет python у прикладі, і ще один – python-strict:

# rpm -ql python (не містить файлів) # rpm -ql python-strict (не містить файлів)

Приклад 11. Віртуальні пакети не містять файлів

Саме тому apt «отримав» 15 пакетів (включаючи два віртуальні), а «здійснив зміни» лише для 13-ти.

Доставка

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

Щоб APT міг працювати з пакетами, вони повинні утримуватися в організованому за спеціальними правилами сховищі. репозиторії. Список доступних APT репозиторіїв зберігається у файлі /etc/apt/sources.list , для кожного репозиторію вказаний спосіб доступу (наприклад, cdrom:, ftp:, file: та ін) та адресу.

Rpm cdrom:/ RPM contrib main rpm ftp://updates.somelinux.com 2.4/i586 updates

Приклад 12. Файл sources.list

Після кожної зміни файлу /etc/apt/sources.list потрібно оновлювати кеш APT, де зберігаються відомості про доступні пакети, командою apt-get update . Для того, щоб додати в кеш інформацію про пакети, доступні на CD, слід використовувати команду "apt-cdrom add", а не редагувати sources.list вручну.

APT дозволяє і просто доставити пакет до системи, не встановлюючи його. Так, наприклад, завжди відбувається з вихідними пакетами, які просто копіюються з репозиторію до певного каталогу системи за командою « apt-get source ім'я_пакету ».

Оновлення

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

Менеджери пакетів дозволяють робити комплексні оновленнявсієї системи. В APT цю процедуру можна виконати однією командою: apt-get dist-upgrade. Ця процедура спочатку досліджує вміст всіх доступних репозиторіїв і знаходить там усі пакети пізніших версій, ніж відповідні пакети, встановлені у системі. Після цього обчислюється обсяг оновлення: повинна бути видалена пов'язана область застарілих пакетів, що залежать один від одного, і замінена відповідною областю більш нових версій. Складні ситуації можуть виникати у разі, якщо змінилося розподіл ресурсів за пакетами: пакети було розділено чи об'єднано - тут може знадобитися ручне втручання користувача. Той рід оновлень системи, який потрібно робити регулярно обов'язково- Це оновлення, пов'язані з безпекою (security updates). Коли в програмі виявляють і виправляють серйозні помилки, що загрожують безпеці всієї системи, розробники дистрибутивів зазвичай дбають про те, щоб відповідні оновлення досягли користувача. Зазвичай є окремий репозиторій з оновленнями, суттєвими для безпеки.

Ціна зручності

Зручність менеджерів пакетів оплачується тим, що вони можуть успішно працювати лише зі спеціальними цілісними областями джерел ( репозиторіями пакетів). Хоча для більшості користувачів це обмеження не таке істотне: ті дистрибутиви, в яких використовуються менеджери пакетів, зазвичай мають величезні репозиторії пакетів, де можна знайти будь-яке мислиме і немислиме програмне забезпечення. Якщо потрібної програми все-таки немає в офіційному репозиторії дистрибутива, зазвичай знаходяться «приватні» репозиторії, доступні по мережі Інтернет, що включають пакети, що не ввійшли в офіційний репозиторій.

Якщо потрібний вам пакет ніде не знайти зібраним саме для вашого дистрибутива, можна встановити і сторонній пакет, але це може бути виконано тільки за допомогою установника пакетів, менеджер пакетів у цій ситуації буде марним. Можна встановити програму та самостійно скомпілювавши її з вихідних кодів, проте тут варто мати на увазі наступне.

Автор програмизовсім не зобов'язаний враховувати в ній всі тонкощі всіх дистрибутивів, тому можливі, з одного боку, прямі конфлікти з файлами в системі (які ніхто вже не відстежить), а з іншого боку - конфлікти та протиріччя приховані (наприклад, програма встановлюється в каталог каталогу / usr/local , і очікує, що всі рештапрограми теж знаходяться у цьому каталозі). Це означає, що доведеться самостійно розібратися і про те, як і з якими параметрами компілювати програму, як встановлювати їх у систему, і як уникнути у своїй конфліктів. А якщо так, якщо ви і справді спроможні правильно зібрати і встановити в систему потрібну вам, а значить і ще комусь, програму, якої поки що немає в дистрибутиві, то найправильніше - зробити з неї пакет, принаймні вихідний пакет, а якщо вийде, то й двійковий. Це здорово полегшить життя і вам, коли ви компілюватимете і встановлюватимете цю програму ще раз (на іншому комп'ютері або оновлюючи версію самої програми), і, головне, усьому спільноті користувачіввашого дистрибутива!

Нарешті, до багатьох сучасних дистрибутивів включаються засоби, що допомагають складати двійкові пакети. Такі засоби (наприклад, пакет hasher з ALT Linux) дозволяють не лише скомпілювати програму в «універсальному середовищі», що містить лише заданий набір пакетів, але й автоматично вибудовують залежності, перевіряють правильність установки, відстежують конфлікти. Коротше кажучи, зібравши пакет за допомогою такого засобу, ви можете серйозно претендувати на роль, що супроводжує цей пакет у дистрибутиві. Навпаки, скомпілювавши програму тишком-нишком, за допомогою шаманства і ручної роботи, ви проявите себе як ледар і егоїст, якому немає справи до зростання і поліпшення власної операційної системи.

Одна з перших речей, з якою зіткнуться нові користувачі при виборі дистрибутива Linux, це існування декількох дистрибутивів з різними способами управління пакетами.

Управління пакетами дуже важливо в Linux, якщо ви знаєте, як використовувати кілька менеджерів пакетів, це ще один аспект, що показує, що ви вже досвідчений користувач. Встановлення програмного забезпечення, оновлення, обробка залежностей, видалення програм – це дуже важливі дії для адміністрування операційної системи linux.

Щоб стати більш досвідченим користувачем в linux, потрібно зрозуміти, яким чином основні дистрибутиви обробляють пакети програмного забезпечення. Тому тема сьогоднішньої статті – огляд пакетних менеджерів linux. Ми розглянемо лише найкращі пакетні менеджери linux.

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

1. DPKG – система керування пакетами Debian

Dpkg – це базова система керування пакетами в Debian. Може використовуватися для установки, видалення, зберігання та отримання інформації про пакети.

Це інструмент низького рівня та є додаткові утиліти, які допомагають користувачам встановлювати пакети з репозиторіїв, дозволяти залежності та шукати пакети за назвою. Це такі програми, як:

APT (Advanced Packaging Tool)

Дуже популярний потужний інструмент командного рядка з відкритим вихідним кодом для управління пакетами, який набагато збільшує можливості dpkg. Ця утиліта використовується в Debian та його похідних, таких як Ubuntu, Linux Mint.

Aptitude Package Manager

Це ще одна популярна утиліта командного рядка для керування пакетами Debian. Вона працює аналогічно до Apt, але між ними є деякі відмінності. Спочатку він був розроблений для Debian, але зараз може застосовуватись і в Red Hat дистрибутивах.

Synaptic Package Manager

Synaptic - це графічний менеджер пакетів linux, написаний на GTK і використовує apt як бекенд. Він чудово підходить для користувачів, які не хочуть працювати у командному рядку. Тут є ті самі необхідні функції що і в apt.

2. RPM (Red Hat Package Manager)

Це базовий формат та система управління пакетами, створена в компанії Red Hat. Так само як і dpkg, це низькорівневий інструмент, для якого існує кілька утиліт, це пакетні менеджери linux:

YUM (Yellowdog Updater, Modified)

Це популярний менеджер пакетів linux з відкритим кодом для командного рядка. Він використовується для управління пакетами у дистрибутиві Red Hat. Якщо порівнювати з інструментом apt, то тут є ті самі функціональні можливості, щоправда, працює трохи повільніше. Написаний на Python 2. Дещо більше про відмінності формату пакетів можна прочитати в окремій статті.

DNF – Покращений Yum

Це пакетний менеджер linux, що використовується в дистрибутиві Fedora починаючи з версії 18. Він являє собою наступне покоління YUM.

Спочатку він був створений тільки для експериментів, але, починаючи з Fedora 22, він використовується як пакетний менеджер за замовчуванням. Він працює майже як і YUM, для вирішення залежностей використовується бібліотека libsolv і hawkey, але на відміну від YUM, написаний на Python 3. Тут можна спостерігати збільшення швидкості роботи, а також зменшення споживання пам'яті.

3. Pacman – менеджер пакетів Arch Linux

Цей менеджер пакетів linux розроблений командою програмістів для дистрибутива ArchLinux. Зараз, крім ArchLinux, він використовується в Manjaro та ще кількох маловідомих дистрибутивах, заснованих на ArchLinux.

Тут підтримуються всі основні можливості - встановлення програмного забезпечення, автоматична роздільна здатність залежностей, оновлення, видалення пакетів, а також завантаження пакетів програм для подальшої установки.

Програма спеціально спроектована для зручної роботи з пакетами Arch Linux. А оскільки це система з режимом випуску у вигляді ролінг релізів, цей пакетний менеджер підходить найкращим чином. Pacman підтримує систему в актуальному стані, синхронізуючи списки пакетів з основного сервера. Причому існує лише одна версія системи – поточна.

Програма написана на Сі, а як пакети використовуються файли формату tar.xz, які насправді є звичайними архівами, всередині яких знаходяться файли програми та файл опису установки PKGBUILD.

4. Zypper – пакетний менеджер OpenSUSE

Це пакетний менеджер linux для командного рядка у дистрибутиві OpenSUSE та SUSE Linux. Розроблений спеціально для цього дистрибутива та використовує бібліотеку libzypp, в якій реалізовані такі спільні можливості, як доступ до репозиторію, встановлення пакетів, дозвіл залежностей, робота з репозиторіями та багато іншого.

Zypper написаний на Сі і працює набагато швидше ніж Yum. Підтримує різні формати репозиторіїв та розширення репозиторіїв. Підтримується як оновлення, так і оновлення патчами, під час якого тільки накладаються патчі на встановлені пакети для виправлення проблем з безпекою.

5. Portage – пакетний менеджер Gentoo

Цей менеджер пакетів використовується в Gentoo, менш популярному, але не менш потужному дистрибутиві. І це один із найкращих менеджерів пакетів. Основна перевага системи Gentoo, це можливість збирати пакети з вихідних джерел під час установки. Це дає багато корисних речей, таких як можливість налаштувати прапори компіляції, включити тільки потрібні функції, а також зібрати пакети саме під свій процесор. Все це підтримується Portage, базова функціональність, така як оновлення, видалення пакетів і роздільна здатність залежностей тут теж є.

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

Висновки

Як я вже казав, основна мета статті – огляд пакетних менеджерів linux, познайомити користувачів з найкращими пакетними менеджерами, а також показати відмінності між ними. Звичайно, користувачам певного дистрибутива доведеться вивчати менеджер пакетів більш детально. Якщо я прогаяв важливий момент, про одну з програм, напишіть у коментарях!

Іноді може виникнути питання: чиїх цей файл, звідки узялася ця бібліотека? Зручний менеджер пакетів вирішує дуже багато проблем ОС. Можна з упевненістю сказати, що якщо ви потоваришуйте з МП, то потоваришуйте і з дистрибутивом як таким. Причому важливо освоїти саме набір основних команд і знати, де знайти додаткову інформацію.


Далі слідує джентльменський набір необхідних для повсякденної рутини команд основних Linux дистрибутивів: встановити, оновити та видалити пакет, накотити оновлення, перевірити залежності, встановити належність файлу пакету та ін.

Debian та родинні

Популярність та образ дружнього до користувача Linux дистрибутива зіграли з Ubuntu злий жарт. Деяким новачкам здається, що можна на ньому робити все, що завгодно без допомоги командного рядка. Ця помилка і краще її швидше позбутися.


Те, що в прикладах aptitude не означає, що він правильніший, ніж apt-get . Для мене це лише справа звички.


$ aptitude install package # встановити пакет; $aptitude safe-upgrade package #оновити пакет; $ aptitude update #перевірити та встановити оновлення; $ aptitude remove package # видалити пакет; $ aptitude purge package #видалити пакети з кінцями, всі дані та налаштування; $ apt-get dist-upgrade #оновити ОС, killer-feature та воно працює! $ aptitude search package #Шукати пакет. $apt-cache depends package #залежність пакета; $ apt-cache rdepends package #зворотні залежності від пакета.

Деякі функції доступні з додатковим МП dpkg.


$ dpkg -l # список встановлених програм; $dpkg -L package #список файлів пакета