top of page

Śledź nasze wpisy w social media

  • Instagram
  • Facebook
  • Twitter
  • LinkedIn
  • YouTube
  • Zdjęcie autoraPiotr Kośka

Zarządzania pakietami apt, apt-get, apt-cache, aptitude, dpkg, rpm, yum, dnf, zypper

Zaktualizowano: 3 kwi 2023



Hej w poprzednim wpisie rozmawialiśmy sobie o komendach w systemie Linux które warto znać. Dzisiaj w tym wpisie porozmawiamy o komendach, które w Twojej ulubionej dystrybucji pomagają instalować oprogramowanie. Zapraszam


W świecie systemów Linux istnieje wiele narzędzi do zarządzania pakietami, które pozwalają na instalowanie, aktualizowanie, usuwanie i zarządzanie oprogramowaniem. W tym artykule przyjrzymy się kilku z nich: apt, apt-get, apt-cache, aptitude, dpkg, rpm, yum, dnf i zypper. Każde z tych narzędzi ma swoje unikalne cechy, a także wspólne przełączniki i funkcje.


Historia i ewolucja narzędzi do zarządzania pakietami


Historia narzędzi do zarządzania pakietami sięga lat 90. XX wieku, kiedy to powstały pierwsze dystrybucje systemów Linux. Wówczas różne projekty zaczęły opracowywać własne narzędzia, które miały na celu ułatwić zarządzanie oprogramowaniem na tych systemach.


Jednym z pierwszych narzędzi do zarządzania pakietami był dpkg, wprowadzony w systemie Debian w 1994 roku. W 1998 roku powstał Red Hat Package Manager (RPM), który stał się podstawą dla wielu dystrybucji opartych na Red Hat. W międzyczasie, w 1999 roku, w systemie Debian wprowadzono narzędzie apt-get, które było wygodniejsze w użyciu niż dpkg, gdyż pozwalało na automatyczne rozwiązywanie zależności między pakietami.


Z biegiem lat powstało wiele innych narzędzi do zarządzania pakietami, które miały za zadanie ułatwić i usprawnić proces instalacji oprogramowania na różnych dystrybucjach systemów Linux. Wprowadzono narzędzia takie jak aptitude (2000), yum (2003), dnf (2012) czy zypper (2006), które stanowią kolejne generacje i ewolucje narzędzi do zarządzania pakietami.


apt (Advanced Package Tool)



Apt to zaawansowane narzędzie do zarządzania pakietami, które jest używane w dystrybucjach opartych na Debianie, takich jak Ubuntu. Apt pozwala na instalowanie, usuwanie, aktualizowanie pakietów oraz wykonywanie innych zadań związanych z zarządzaniem oprogramowaniem.

Najważniejsze przełączniki:

  • update: Aktualizuje listę pakietów dostępnych w repozytoriach

  • upgrade: Aktualizuje zainstalowane pakiety do najnowszych wersji

  • install: Instaluje podany pakiet

  • remove: Usuwa podany pakiet

  • autoremove: Usuwa nieużywane pakiety



apt-get


Apt-get to starsze narzędzie do zarządzania pakietami w dystrybucjach opartych na Debianie. Wiele z jego funkcji zostało zastąpionych przez apt, ale nadal jest używane w niektórych przypadkach. Zalecany wręcz przy budowaniu i używaniu składni dockerfile.

Najważniejsze przełączniki:

  • update: Aktualizuje listę pakietów dostępnych w repozytoriach

  • upgrade: Aktualizuje zainstalowane pakiety do najnowszych wersji

  • install: Instaluje podany pakiet

  • remove: Usuwa podany pakiet

  • autoremove: Usuwa nieużywane pakiety




apt-cache


Apt-cache to narzędzie do wyszukiwania informacji o pakietach w dystrybucjach opartych na Debianie. Możemy nim wyszukiwać pakiety, sprawdzać ich wersje, zależności, opisy i inne informacje.

Najważniejsze przełączniki:

  • search: Wyszukuje pakiety zawierające podane słowo kluczowe

  • show: Wyświetla szczegółowe informacje o podanym pakiecie

  • policy: Pokazuje priorytet i źródło podanego pakietu



aptitude


Aptitude to alternatywne narzędzie do zarządzania pakietami w dystrybucjach opartych na Debianie. Ma wiele funkcji podobnych do apt, ale oferuje również zaawansowane wyszukiwanie pakietów i interfejs tekstowy.

Najważniejsze przełączniki:


  • update: Aktualizuje listę pakietów dostępnych w repozytoriach

  • upgrade: Aktualizuje zainstalowane pakiety do najnowszych wersji

  • install: Instaluje podany pakiet

  • remove: Usuwa podany pakiet

  • search: Wyszukuje pakiety zawierające podane słowo kluczowe



dpkg (Debian Package)


Dpkg to niskopoziomowe narzędzie do zarządzania pakietami w dystrybucjach opartych na Debianie. Umożliwia instalację, usuwanie, aktualizację i konfigurację pakietów bezpośrednio z plików .deb, ale nie obsługuje automatycznego rozwiązywania zależności.

Najważniejsze przełączniki:


  • -i: Instaluje podany pakiet z pliku .deb

  • -r: Usuwa podany pakiet

  • -l: Wyświetla listę zainstalowanych pakietów

  • -L: Wyświetla pliki zainstalowane przez podany pakiet

  • -s: Pokazuje status podanego pakietu



rpm (Red Hat Package Manager)


Rpm to narzędzie do zarządzania pakietami w dystrybucjach opartych na Red Hat, takich jak Fedora, CentOS czy RHEL. Umożliwia instalację, usuwanie, aktualizację i konfigurację pakietów bezpośrednio z plików .rpm, obsługuje automatycznego rozwiązywania zależności.


Najważniejsze przełączniki:


  • -i: Instaluje podany pakiet z pliku .rpm

  • -e: Usuwa podany pakiet

  • -qa: Wyświetla listę zainstalowanych pakietów

  • -ql: Wyświetla pliki zainstalowane przez podany pakiet

  • -qf: Pokazuje, do którego pakietu należy dany plik



yum (Yellowdog Updater, Modified)


Yum to narzędzie do zarządzania pakietami w starszych wersjach dystrybucji opartych na Red Hat, takich jak CentOS 6 i RHEL 6. Umożliwia instalację, usuwanie i aktualizację pakietów, a także automatyczne rozwiązywanie zależności.

Najważniejsze przełączniki:


  • update: Aktualizuje zainstalowane pakiety do najnowszych wersji

  • install: Instaluje podany pakiet

  • remove: Usuwa podany pakiet

  • search: Wyszukuje pakiety zawierające podane słowo kluczowe

  • info: Wyświetla informacje o podanym pakiecie


dnf (Dandified Yum)


Dnf to następca yum, używany w nowszych wersjach dystrybucji opartych na Red Hat, takich jak Fedora, CentOS 8 i RHEL 8. Oferuje większość funkcji yum, ale z usprawnieniami, takimi jak lepsze rozwiązywanie zależności i szybsze pobieranie pakietów.

Najważniejsze przełączniki:


  • update: Aktualizuje zainstalowane pakiety do najnowszych wersji

  • install: Instaluje podany pakiet

  • remove: Usuwa podany pakiet

  • search: Wyszukuje pakiety zawierające podane słowo kluczowe

  • info: Wyświetla informacje o podanym pakiecie


zypper



Zypper to narzędzie do zarządzania pakietami w dystrybucjach opartych na openSUSE i SUSE Linux Enterprise. Umożliwia instalację, usuwanie, aktualizację pakietów oraz automatyczne rozwiązywanie zależności.

Najważniejsze przełączniki:


  • refresh: Odświeża listę pakietów dostępnych w repozytoriach

  • update: Aktualizuje zainstalowane pakiety do najnowszych wersji

  • install: Instaluje podany pakiet

  • remove: Usuwa podany pakiet

  • search: Wyszukuje pakiety zawierające podane słowo kluczowe



pacman


Pacman to narzędzie do zarządzania pakietami w dystrybucji Arch Linux. Umożliwia instalację, usuwanie i aktualizację pakietów z repozytoriów systemu Arch. Podobnie jak inne narzędzia, pacman pozwala na automatyczne rozwiązywanie zależności między pakietami.


Portage


Portage to narzędzie do zarządzania pakietami w dystrybucji Gentoo Linux. Jest to zaawansowane narzędzie, które pozwala na kompilację oprogramowania ze źródeł i dostosowywanie parametrów instalacji. Portage obsługuje także automatyczne rozwiązywanie zależności.


pkg (Package Management Tool)


pkg to narzędzie do zarządzania pakietami w dystrybucji FreeBSD oraz innych systemach z rodziny BSD. Umożliwia instalację, usuwanie i aktualizację pakietów binarnych oraz automatyczne rozwiązywanie zależności.


Podsumowanie


Choć omówione narzędzia mają wiele wspólnych funkcji, różnią się również pod względem wydajności, sposobu obsługi zależności czy interfejsu użytkownika. Ważne jest zrozumienie ich różnic, aby móc wybrać odpowiednie narzędzie do zarządzania pakietami na danej dystrybucji.



  • apt, apt-get, apt-cache i aptitude są używane głównie w dystrybucjach opartych na Debianie, takich jak Ubuntu. Aptitude oferuje interfejs tekstowy, który ułatwia wyszukiwanie i zarządzanie pakietami.

  • dpkg i rpm to niskopoziomowe narzędzia, które pozwalają na instalację pakietów bezpośrednio z plików .deb i .rpm, ale nie obsługują automatycznego rozwiązywania zależności.

  • yum, dnf i zypper są używane w dystrybucjach opartych na Red Hat (Fedora, CentOS, RHEL) oraz openSUSE. Dnf, jako następca yum, wprowadza usprawnienia w rozwiązywaniu zależności i szybkości pobierania pakietów.


Wybór odpowiedniego narzędzia do zarządzania pakietami zależy od dystrybucji systemu Linux, którego używasz, oraz od Twoich potrzeb i preferencji. Oto kilka wskazówek, które mogą pomóc w podjęciu decyzji:


  • Sprawdź, jakie narzędzia są dostępne w Twojej dystrybucji: W niektórych dystrybucjach, takich jak Ubuntu, dostępne są różne narzędzia do zarządzania pakietami. Możesz wybrać apt, apt-get, apt-cache lub aptitude, w zależności od swoich preferencji. W innych dystrybucjach, takich jak Arch Linux, dostępne jest jedno główne narzędzie – pacman.


  • Zdecyduj, czy potrzebujesz zaawansowanych funkcji: Niektóre narzędzia, takie jak Portage w Gentoo Linux, oferują zaawansowane funkcje, takie jak kompilacja oprogramowania ze źródeł czy dostosowywanie parametrów instalacji. Jeśli potrzebujesz takich funkcji, warto wybrać dystrybucję i narzędzie, które je oferują.


  • Uwzględnij wydajność i łatwość obsługi: Niektóre narzędzia, takie jak dnf, są szybsze i lepiej radzą sobie z rozwiązywaniem zależności niż ich poprzednicy (np. yum). Jeśli zależy Ci na wydajności, warto wybrać nowsze narzędzie do zarządzania pakietami.


  • Weź pod uwagę wsparcie społeczności: Popularne narzędzia do zarządzania pakietami mają większą społeczność użytkowników i deweloperów, co może ułatwić rozwiązywanie problemów i znalezienie pomocy w razie potrzeby. Przy wyborze narzędzia warto sprawdzić, jak aktywna jest jego społeczność.


W artykule omówiliśmy kilka różnych narzędzi do zarządzania pakietami w systemach Linux, ich historię i ewolucję, a także mniej popularne narzędzia. Przedstawiliśmy podstawowe przełączniki i funkcje każdego narzędzia oraz podaliśmy przykłady użycia.


Kiedy wykorzystujesz system Linux, kluczowe jest zrozumienie, jakie narzędzie do zarządzania pakietami jest używane w Twojej dystrybucji. W ten sposób będziesz mógł efektywnie zarządzać oprogramowaniem i utrzymywać swój system w aktualnym i bezpiecznym stanie.

Ostatnie posty

Zobacz wszystkie

Śledź nasze wpisy w social media

  • Instagram
  • Facebook
  • Twitter
  • LinkedIn
  • YouTube

Poznaj terraform jedno z najepszych narzedzi do zarządzania infrastrukturą w kodzie (IaC) - w kursie tym przeprowadzam Cię przez proces instalacji i konfiguracji tego narzędzia.

bottom of page