Wyszukiwanie w witrynie

3 najlepsze uniwersalne menedżery pakietów dla systemu Linux w 2023 r


Zarządzanie pakietami lub instalacja oprogramowania w systemach Linux może być bardzo zagadkowa, szczególnie dla początkujących (nowych użytkowników Linuksa), ponieważ różne dystrybucje Linuksa korzystają z różnych tradycyjnych systemów zarządzania pakietami. W większości przypadków najbardziej zagmatwaną częścią tego wszystkiego jest rozwiązywanie/zarządzanie zależnościami pakietów.

Na przykład dystrybucje oparte na Debianie, takie jak Ubuntu i Linux Mint wykorzystują pakiety .deb, którymi zarządza się poprzez system zarządzania pakietami dpkg.

Z drugiej strony dystrybucje oparte na RHEL, takie jak CentOS Stream, Rocky Linux i AlmaLinux używają .rpm pakiety, którymi zarządza się za pomocą systemu zarządzania pakietami RPM.

W ciągu ostatnich kilku lat zarządzanie pakietami i ich dystrybucja w ekosystemie Linuksa nigdy nie były takie same, po pojawieniu się uniwersalnych lub obejmujących wiele dystrybucji narzędzi do zarządzania pakietami.

Narzędzia te umożliwiają programistom pakowanie oprogramowania lub aplikacji dla wielu dystrybucji Linuksa w ramach jednej kompilacji, co ułatwia użytkownikom instalację tego samego pakietu w wielu obsługiwanych dystrybucjach.

W tym artykule dokonamy przeglądu 3 najlepszych uniwersalnych lub obejmujących różne dystrybucje systemów zarządzania pakietami typu open source dla systemu Linux.

1. Snap – uniwersalny format opakowania

Snap to popularny format aplikacji/pakietów i system zarządzania pakietami typu open source opracowany przez Canonical, twórcę Ubuntu Linux. Kilka dystrybucji Linuksa obsługuje teraz snapy, w tym Ubuntu, Debian, Fedora, Arch Linux, Manjaro i CentOS/RHEL.

Łatwa instalacja i aktualizacje

Aplikacja snap to aplikacja dostępna w wielu dystrybucjach, zawierająca wszystkie jej zależności (niezależna) w celu łatwej instalacji z automatycznymi aktualizacjami (aplikacje są zawsze aktualne) w dowolnej dystrybucji Linuksa obsługującej snapy. Snap może działać na komputerze stacjonarnym, serwerze, w chmurze lub IoT (Internet rzeczy).

Aby utworzyć lub przyciągnąć aplikację, użyj Snapcraft, frameworka i potężnego narzędzia wiersza poleceń do tworzenia przyciągań. Aby zainstalować i używać snapów w Linuksie, musisz zainstalować snapd (lub demona Snappy), usługę działającą w tle, która umożliwia systemom Linux pracę z plikami .snap. Rzeczywista instalacja przyciągań odbywa się za pomocą narzędzia wiersza poleceń snap.

Bezpieczeństwo i izolacja

Ponieważ działają w zamknięciu (różne i konfigurowalne poziomy ograniczenia), zatrzaski są domyślnie bezpieczne. Co ważne, snap, który musi uzyskać dostęp do zasobu systemowego poza jego zamknięciem, wykorzystuje „interfejs” starannie wybrany przez twórcę snapu na podstawie wymagań snapu. Umożliwia to uruchamianie aplikacji bez pogarszania stabilności i elastyczności podstawowego systemu operacyjnego.

Ponadto system zarządzania pakietami Snap wykorzystuje koncepcję zwaną kanałami (która składa się ze ścieżek, poziomów ryzyka i gałęzi i jest podzielona przez nie) w celu określenia, która wersja Snap jest instalowana i śledzona pod kątem aktualizacji. Snapy aktualizują się także automatycznie – jest to proces, którym możesz zarządzać ręcznie.

Aby znaleźć i zainstalować snapa, wyszukaj go w sklepie snap (miejscu, w którym programiści mogą udostępniać swoje snapy) lub przeczytaj więcej na ten temat, korzystając z naszych poradników:

2. Flatpak – kompatybilność między dystrybucjami

Flatpak to dobrze znana platforma typu open source do dystrybucji aplikacji komputerowych w dystrybucjach Linuksa. Opracowany przez niezależną społeczność Flatpak umożliwia zainstalowanie i uruchomienie pojedynczej aplikacji na praktycznie dowolnej dystrybucji Linuksa.

Obsługuje łącznie 25 dystrybucji, w tym Fedora, Ubuntu, RHEL, CentOS, OpenSUSE i Arch Linux, a także działa na Raspberry Pi.

Środowiska wykonawcze Flatpak zapewniają platformy wspólnych bibliotek, z których może korzystać aplikacja. Jednak sprawia to również, że niezwykle łatwo jest mieć pełną kontrolę nad zależnościami, możesz spakować swoje biblioteki jako część aplikacji.

Flatpak zawiera łatwe w użyciu narzędzia do tworzenia i oferuje spójne środowisko (takie samo na wszystkich urządzeniach i podobne do tego, które już mają użytkownicy), umożliwiające programistom tworzenie i testowanie aplikacji.

Sandboxing dla większego bezpieczeństwa

Flatpak zapewnia bezpieczeństwo, umieszczając każdą aplikację w piaskownicy, dzięki czemu aplikacje nie mogą ingerować w główny system ani inne aplikacje. Jest to bardzo przydatne, gdy masz do czynienia z aplikacjami ze źródeł, których nie jesteś pewien.

Przyjazny dla użytkownika i programisty

Przydatnym aspektem flatpak jest kompatybilność z nowszymi wersjami, gdzie ten sam flatpak można uruchomić na różnych wersjach tej samej dystrybucji, w tym na wersjach, które jeszcze nie zostały wydane przez deweloperów. Stara się także i nadal jest kompatybilny z nowymi wersjami dystrybucji Linuksa.

Jeśli jesteś programistą, możesz udostępnić swoją aplikację użytkownikom Linuksa za pośrednictwem Flathub, scentralizowanej usługi dystrybucji aplikacji we wszystkich dystrybucjach.

3. AppImage: przenośna alternatywa

AppImage to także format pakietu typu open source, który umożliwia programistom jednorazowe spakowanie aplikacji działającej we wszystkich głównych dystrybucjach Linuksa dla komputerów stacjonarnych. W przeciwieństwie do poprzednich formatów pakietów, w przypadku AppImage nie ma potrzeby instalowania pakietu. Wystarczy pobrać aplikację, której zamierzasz używać, nadać jej charakter wykonywalny i uruchomić – to takie proste. Obsługuje większość 32-bitowych i 64-bitowych komputerów stacjonarnych z systemem Linux.

Nie wymaga instalacji

Dzięki AppImage nie musisz niczego instalować. Możesz umieścić te pakiety na dysku USB, udostępniać je i uruchamiać aplikacje bez zmiany systemu. Jest to świetne rozwiązanie w przypadku przenośnych systemów Linux i systemów live.

Szeroka kompatybilność

AppImage ma wiele zalet. Programistom umożliwia dotarcie do jak największej liczby użytkowników, bez względu na dystrybucję Linuksa i wersję, z której korzystają użytkownicy. Użytkownicy nie muszą się martwić zależnościami aplikacji, ponieważ każdy AppImage jest dostarczany ze wszystkimi zależnościami (jedna aplikacja=jeden plik). Wypróbowywanie nowych wersji aplikacji jest również łatwe dzięki AppImage.

Administratorzy systemów, którzy obsługują dużą liczbę komputerów stacjonarnych i zwykle blokują użytkownikom możliwość instalowania aplikacji, które mogłyby potencjalnie uszkodzić systemy, nie muszą się już martwić. Dzięki AppImage system pozostaje nienaruszony, ponieważ użytkownicy nie muszą instalować aplikacji, aby je uruchomić.

Porównanie trio: Snap, Flatpak i AppImage

Oto porównanie trzech uniwersalnych menedżerów pakietów:

Feature Snap Flatpak AppImage
Package format Self-contained, compressed file Self-contained, compressed file Single executable file
Sandboxing Yes (by default) No (by default) No
Automatic updates Yes Optional No
Installation Requires snapd daemon Requires Flatpak runtime Does not require installation
Root privileges Requires root privileges to install Does not require root privileges to install Does not require root privileges to run

Którego menedżera pakietów wybrać?

Jeśli szukasz bezpiecznego i łatwego w użyciu menedżera pakietów z automatycznymi aktualizacjami, Snap będzie dobrym wyborem. Jeśli szukasz bardziej elastycznego menedżera pakietów, którego można użyć do spakowania dowolnego typu aplikacji, dobrym wyborem będzie Flatpak. Jeśli szukasz menedżera pakietów, który nie wymaga instalacji ani uprawnień roota, to AppImage będzie dobrym wyborem.

Należy również zauważyć, że wszystkie trzy menedżery pakietów są wciąż w fazie rozwoju, więc mogą występować pewne błędy lub brakujące funkcje. Jednak wszystkie są aktywnie utrzymywane i regularnie aktualizowane.

Wniosek

Uniwersalne lub wielodystrybucyjne formaty pakietów to technologie nowej generacji służące do tworzenia i dystrybucji oprogramowania w ekosystemie Linux. Jednak tradycyjne systemy zarządzania pakietami nadal nie mają sobie równych.

Jaka jest Twoja myśl? Podziel się tym z nami za pośrednictwem sekcji komentarzy.