Пакетне керування. Що таке менеджер пакетів? Налаштування кешування пакетів

Ми порівняємо різні менеджери пакетів 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