Zarządzanie partiami. Co to jest menedżer pakietów? Konfigurowanie buforowania pakietów

Porównamy różne menedżery pakietów Linuksa. Między wszystkimi dystrybucjami Linuksa jedną z rzeczy, które dzielą, jest potrzeba instalowania nowych pakietów oprogramowania w systemie. W zależności od dystrybucji dostępne są różne menedżery pakietów umożliwiające łatwe i szybkie instalowanie, zarządzanie i usuwanie pakietów. Menedżerowie pakietów są bardzo dobrzy w upraszczaniu instalacji dzięki wspólnym lokalizacjom instalacji i konfiguracjom. W tym artykule omówimy różne dostępne menedżery pakietów, których dystrybucji mogą używać i co czyni je wyjątkowymi. Przyjrzymy się menedżerom pakietów opartym na Debianie, menedżerom pakietów RedHat Enterprise Linux (RHEL) i innym menedżerom pakietów zaprojektowanym specjalnie dla Ciebie.

Menedżery pakietów oparte na Debianie

Ubuntu i Debian są uważane za jedne z najczęściej używanych systemów operacyjnych Linux na rynku. Ich menedżerowie pakietów są oddzieleni, przy czym system zarządzania pakietami najniższego poziomu to „dpkg”, skrót od „Pakiet Debiana”. Jest to oprogramowanie do zarządzania pakietami typu barebone, z narzędziami do instalowania, usuwania i tworzenia pakietów.

To, czego brakuje dpkg, to bardziej zaawansowane funkcje - funkcje takie jak pobieranie pakietów z Internetu lub automatyczne instalowanie zależności nie są możliwe dzięki dpkg. Możliwość robienia tego z sieci jest bardzo przydatna, ponieważ pozwala użytkownikom dodawać repozytoria pakietów, co znacznie zwiększa wybór. oprogramowanie, który można łatwo zainstalować w systemie. Może również znacznie uprościć proces instalacji oprogramowania, ponieważ może łatwo znaleźć i zainstalować pakiet za pomocą tylko jednego polecenia.

Menedżer pakietów APT

W tym miejscu do gry wchodzą interfejsy takie jak apt i aptitude. APT, skrót od Advanced Package Tool, jest znacznie bardziej zaawansowany pod względem funkcjonalności niż dpkg. Może także instalować, usuwać i tworzyć pakiety, ale jego funkcjonalność sięga znacznie dalej. APT może automatycznie aktualizować twoje pakiety, instalować zależności i automatycznie pobierać twoje pakiety z Internetu. Jest to jeden z najpopularniejszych menedżerów pakietów instalowanych w nowoczesnych dystrybucjach, z preinstalowanymi Ubuntu, Debian i większością innych systemów operacyjnych opartych na Debianie.

Menedżer pakietów Aptitude

Aptitude jest bardzo podobny do APT, oferując wiele takich samych funkcji. Może jednak oferować kilka dodatkowych funkcji, takich jak bezpieczne aktualizacje, umożliwiające użytkownikom aktualizację pakietów bez usuwania istniejących pakietów z systemu. Dostępny jest również pakiet, który zapobiega automatyczna aktualizacja określone pakiety.

Oba te menedżery pakietów faktycznie używają dpkg do podstawowych operacji i używają tylko własnego oprogramowania do pobierania pakietów i zarządzania nimi.

Menedżery pakietów RedHat Enterprise Linux (RHEL).

Menedżer pakietów RPM

RedHat i CentOS to jedne z najczęściej używanych systemów operacyjnych dla serwerów, które można obecnie znaleźć na serwerach. Głównym oprogramowaniem do zarządzania pakietami instalowanym na tych systemach jest RPM, który zmniejsza pracę Menedżera pakietów Red Hat. Ten menedżer pakietów wykonuje również podstawowe operacje, takie jak instalowanie i usuwanie pakietów, i podobnie jak dpkg również nie może zarządzać pakietami ani instalować ich bezpośrednio z sieci.

Menedżer pakietów YUM

Podobnie jak systemy operacyjne oparte na Debianie, systemy operacyjne RHEL mają również własne oprogramowanie do zarządzania pakietami. YUM, skrót od Yellow Dog Updater, jest najpopularniejszym wyborem jako interfejs RPM. Otwiera o wiele więcej opcji dla plików RPM za pośrednictwem repozytoriów, śledzi to, co jest zainstalowane w systemie, ułatwia aktualizację i nie tylko. Jest to oparty na RHEL odpowiednik menedżera pakietów APT.

DNF, skrót od Dandified Packaging Tool, to bardziej zmodernizowana i rozszerzona wersja menedżera YUM, zawierająca funkcje YUM przy jednoczesnej poprawie wydajności i wykorzystania zasobów. W tej chwili tylko Fedora używa tej nowej generacji wersji YUM, ale miejmy nadzieję, że w przyszłości zobaczymy ją w większej liczbie systemów operacyjnych.

Istnieje kilka innych narzędzi do zarządzania pakietami dostępnych dla systemów opartych na RPM, takich jak up2date, urpmi i ZYpp. Nie są one jednak tak szeroko stosowane jak YUM czy DNF.

Inni menedżerowie pakietów

Czasami programiści tworzą niestandardowe menedżery pakietów zaprojektowane dla ich dystrybucji Linuksa - są one zwykle opracowywane wokół systemu operacyjnego i nie można ich znaleźć w głównych dystrybucjach Linuksa.

Pacman to menedżer pakietów znajdujący się w Arch Linux. Pacman to jedyne narzędzie do zarządzania pakietami, które można znaleźć w Arch, co czyni go innym niż frontend. Arch Linux to krocząca wersja systemu operacyjnego, do której codziennie dodawane są aktualizacje. Istnieje tylko kilka poleceń pacmana do znajdowania, instalowania i usuwania pakietów. Ten menedżer pakietów może łączyć się z Internetem i stamtąd kupować pakiety, dzięki czemu jest bardziej przyjazny dla użytkownika. Jednak pacman jest przeznaczony do instalowania oprogramowania z repozytorium Arch, co uniemożliwia instalację z repozytoriów stron trzecich.

Konstruktor pakietów ABS

ABS, skrót od Arch Build System, to system narzędzi zaprojektowanych do tworzenia instalowalnych pakietów oprogramowania dla Arch Linux kod źródłowy. Składa się z kilku narzędzi, które współpracują ze sobą w celu tworzenia pakietów. Wszystkie te narzędzia są niezależnymi programami, takimi jak makepkg, pacman, asp itp. Sposób tworzenia/instalowania pakietu za pomocą ABS różni się od normalnego Dystrybucja Linuksa. Zamiast instalować prekompilowane pakiety, musisz utworzyć plik PKGBUILD z gałęzi Svn lub Git za pomocą pakietu asp. Stamtąd używasz polecenia makepkg, które używa pliku PKGBUILD do pobierania i kompilowania kodu źródłowego systemu. To sprawia, że ​​​​ABS jest nieco mniej intuicyjną metodą instalowania pakietów w Arch Linux. Ma również kilka innych zastosowań, takich jak ustawienie istniejące pakiety lub zbudowanie i zainstalowanie niestandardowego jądra.

Menedżer pakietów portów

Portage to menedżer pakietów dla Gentoo, systemu operacyjnego niehackującego, który musi zostać skompilowany od podstaw, gdy jest zainstalowany w dowolnym systemie. Jest to jeden z najbardziej zaawansowanych obecnie dostępnych menedżerów pakietów z dodanymi nowymi funkcjami i ulepszeniami.

Chociaż istnieje wiele zastosowań oprogramowania do zarządzania pakietami, wiele z nich zaprojektowano do wykonywania tych samych zadań. Najlepiej więc po prostu sprawdzić i zobaczyć, który program do zarządzania pakietami będzie najlepiej odpowiadał Twoim potrzebom.

PS. Jeśli podobał Ci się ten post dotyczący porównywania różnych menedżerów pakietów systemu Linux, udostępnij go znajomym w sieciach społecznościowych za pomocą przycisków po lewej stronie lub po prostu zostaw odpowiedź poniżej. Dziękuję.

Aktualizacja (9 kwietnia 2018 r.): Naprawiono kilka nieścisłości dotyczących zestawu narzędzi do tworzenia pakietów ABS.

Co to jest menedżer pakietów?

Menedżer pakietówśledzi, jakie programy są zainstalowane na twoim komputerze i pozwala łatwo instalować nowe programy, aktualizować programy do nowszych wersji lub usuwać programy, które wcześniej zainstalowałeś. Jak sama nazwa wskazuje, zajmują się menedżerami pakietów paczki- zestawy plików, które są spakowane razem i mogą być instalowane lub usuwane jako grupa.

Często pakiet jest po prostu samodzielnym programem. Na przykład klient wiadomości błyskawicznych gra znajduje się w pakiecie Debiana o tej samej nazwie. Z drugiej strony całkiem normalne jest, że programy składają się z kilku połączonych ze sobą pakietów. Na przykład edytor graficzny kordonek składa się nie tylko z pakietu gimp, ale także z pakietu gimp-data; dostępne są również opcjonalne pakiety z dodatkami (zawierające dane ezoteryczne, dokumentację itp.). Kilka małych powiązanych programów może być zawartych w jednym pakiecie, na przykład pakiet fileutils zawiera kilka typowych poleceń systemu Unix, takich jak ls , cp itp.

Niektóre pakiety wymagają innych pakietów do działania. W Debianie pakiety mogą zależeć z innych pakietów polecić, sugerować, przerwa oni lub Skonfrontować z nimi.

    Jeśli pakiet A zależy od innego pakietu B, do poprawnego działania A wymagany jest pakiet B. Na przykład pakiet gimp zależy od pakietu gimp-data, ponieważ należy zapewnić dostępność niezbędnych plików danych dla edytora graficznego GIMP.

    Jeśli pakiet A zaleca inny pakiet B, to pakiet B zapewnia ważną dodatkową funkcjonalność pakietu A, która jest pożądana w większości przypadków. Na przykład pakiet mozilla-browser zaleca pakiet mozilla-psm, który dodaje obsługę bezpiecznego przesyłania danych do przeglądarki internetowej Mozilla. Chociaż pakiet mozilla-psm nie jest bezwzględnie wymagany do działania Mozilli, większość użytkowników chce, aby Mozilla obsługiwała bezpieczny transfer poufnych danych (takich jak numery kart kredytowych).

    Jeśli pakiet A oferuje inny pakiet B, to pakiet B zapewnia funkcjonalność, która może ulepszyć pakiet A, ale w większości przypadków nie jest konieczna. Na przykład pakiet kmail oferuje pakiet gnupg, który zawiera program szyfrujący, którego może używać KMail.

    Jeśli pakiet A powoduje konflikt z innym pakietem B, nie można zainstalować tych dwóch pakietów jednocześnie. Na przykład pakiet fb-music-hi powoduje konflikt z pakietem fb-music-low, ponieważ udostępnia alternatywne zestawy muzyczne dla Frozen Bubble .

Zadaniem menedżera pakietów jest zapewnienie interfejsu, który pomaga użytkownikowi w zarządzaniu zestawem pakietów zainstalowanych w jego systemie. uzdolnienie udostępnia taki interfejs oparty na systemie sterowania trafne pakiety.

Menedżerowie pakietów ułatwiają korzystanie z cudzego kodu, udostępniając ten kod w postaci niezależnych modułów - pakietów. Te pakiety są połączone ze swoim kodem na zasadzie czarnych skrzynek – wtedy nie wiemy i nie ma dla nas znaczenia jak wszystko działa w tym pudełku, ale wiemy, co robi. Dzięki tej luźno powiązanej architekturze możliwe staje się łatwe aktualizowanie czyjegoś kodu lub zamiana jednego pakietu na inny o podobnej funkcjonalności.

Jak działają menedżerowie pakietów

Każdy menedżer pakietów ma plik ustawień, w którym musimy określić, od których pakietów zależy nasz kod, aby menedżer pakietów pobrał je i zainstalował w naszym systemie. Jednak każdy pakiet może zależeć od innych pakietów. Menedżer pakietów rozwiązuje ten system zależności i instaluje wszystko, czego potrzebuje, dlatego są one również nazywane menedżerami zależności. Oto przykład: używam frameworku Twitter Bootstrap do pracy i potrzebuje jQuery do działania. Więc jeśli powiem mojemu menedżerowi pakietów, aby zainstalował Twitter Bootstrap, automatycznie zainstaluje również jQuery.

Których menedżerów pakietów użyć

W swojej pracy wykorzystuję trzy różne menedżery pakietów:

  • to menedżer pakietów dla świata PHP. Używam do ładowania czyjegoś kodu PHP;

Będziemy porównywać różne menedżery pakietów w systemie Linux. Jedną z rzeczy, które dzielą wszystkie dystrybucje Linuksa, jest możliwość instalowania nowych pakietów oprogramowania w systemie. W zależności od dystrybucji dostępne są różne menedżery pakietów, umożliwiające użytkownikowi szybkie i łatwe instalowanie, zarządzanie i usuwanie pakietów. Menedżerowie pakietów są bardzo dobrzy w optymalizacji instalacji, z typowymi lokalizacjami instalacji i konfiguracjami. W tym artykule omówimy różne dostępne menedżery pakietów, w których dystrybucjach można ich używać i co sprawia, że ​​każdy z nich jest wyjątkowy. Omówimy menedżery pakietów oparte na , główne menedżery pakietów RedHat Enterprise Linux (RHEL) i inne niestandardowe menedżery pakietów.

Menedżerowie pakietów oparty na Debianie

Menedżer pakietów dpkg

Ubuntu i Debian są obecnie uważane za jedne z najczęściej używanych konsumenckich systemów operacyjnych opartych na Linuksie. Ich menedżery pakietów są ogólne, z systemem zarządzania pakietami najniższego poziomu „Dpkg”, skrót od „Pakiet Debiana”. Jest to szkielet oprogramowania do zarządzania pakietami, z narzędziami do instalowania, usuwania i budowania pakietów.

Dpkg nie ma bardziej zaawansowanych funkcji − funkcjonalność, takie jak pobieranie pakietów z Internetu lub automatyczne instalowanie zależności nie jest możliwe za pośrednictwem DPKG. Możliwość robienia tego z sieci jest bardzo przydatna, ponieważ pozwala użytkownikom dodawać repozytoria pakietów, co znacznie zwiększa wybór oprogramowania, które można łatwo zainstalować w systemie. Może również znacznie uprościć proces instalacji oprogramowania, ponieważ jest w stanie łatwo znaleźć i zainstalować pakiet za pomocą tylko jednego polecenia.

Pacman to menedżer pakietów dla Arch Linux. Pacman to jedyne narzędzie do zarządzania pakietami, które można znaleźć w Arch, co sprawia, że ​​nie jest to interfejs użytkownika. Arch Linux to wersja systemu operacyjnego, w której codziennie dodawane są aktualizacje. Istnieje tylko kilka poleceń pacmana do znajdowania, instalowania i usuwania pakietów. Ten menedżer pakietów może łączyć się z Internetem i stamtąd kupować pakiety, dzięki czemu jest bardziej przyjazny dla użytkownika. Jednak pacman jest przeznaczony do instalowania oprogramowania z repozytorium Arch, co uniemożliwia instalację z repozytoriów stron trzecich.

ABS, skrót od Arch Build System, to system narzędzi zaprojektowanych do tworzenia instalowalnych pakietów oprogramowania dla Arch Linux ze źródła. Składa się z kilku narzędzi, które współpracują ze sobą w celu tworzenia pakietów — wszystkie te narzędzia są niezależnymi programami, takimi jak makepkg, pacman, asp i tak dalej. Metoda tworzenia/instalowania pakietu za pomocą ABS różni się od zwykłej dystrybucji Linuksa. Zamiast instalować prekompilowane pakiety, musisz utworzyć plik PKGBUILD z gałęzi Svn lub Git za pomocą pakietu asp. Stamtąd używasz polecenia makepkg, które używa pliku PKGBUILD do pobrania i skompilowania kodu źródłowego dla twojego systemu. To sprawia, że ​​​​ABS jest nieco mniej intuicyjną metodą instalowania pakietów w Arch Linux. Ma kilka innych zastosowań, takich jak dostosowywanie istniejących pakietów lub budowanie i instalowanie własnego jądra.

mob_info