Jak łamię zasady Linuksa i instaluję dowolny pakiet na dowolnej dystrybucji

Jak łamię zasady Linuksa i instaluję dowolny pakiet na dowolnej dystrybucji

Distrobox łączy dystrybucje Linuxa poprzez konteneryzację, umożliwiając łatwą instalację aplikacji, eliminując problemy związane z rozdrobnionym krajobrazem pakietów.

Jak często natrafiasz na fajną aplikację, która nie jest dostępna dla Twojej dystrybucji? Prawdopodobnie następnie spróbujesz zainstalować ją za pomocą Brew, Flatpak lub Snap, ale często kończysz z niczym.

Rozdrobniony krajobraz pakietów w systemie Linux to problem. Niektóre dystrybucje dzielą wspólny – ale często niekompatybilny – format pakietów; inne używają całkowicie innego systemu pakowania. Flatpak i Snap próbowały rozwiązać ten problem, jednak wszystko, co zrobiły, to stworzenie kolejnych standardów – odpowiedni XKCD. Zamiast tworzyć nowe standardy, powinniśmy połączyć istniejące – oto Distrobox.

Oprogramowanie, na którym oparty jest Distrobox

Przed wyjaśnieniem samego Distroboxa, musisz zrozumieć niektóre programy, na których się opiera: Docker i Podman. Docker to program, który izoluje procesy w osobnych kontenerach; takie procesy zazwyczaj nie mogą wchodzić w interakcje z systemem spoza kontenera. Kontenery są budowane na podstawie prymitywów Linuksa, takich jak przestrzenie nazw i grupy kontrolne. Ale nie martw się szczegółami; pamiętaj, że kontener izoluje procesy.

Nazywamy Dockera środowiskiem uruchomieniowym kontenerów. Podman to kolejne środowisko uruchomieniowe kontenerów, które wygląda i działa dokładnie jak Docker, z jednym kluczowym rozróżnieniem: Podman nie uruchamia (domyślnie) kontenerów jako root; to ważne, jak wkrótce się dowiesz. Docker i Podman są niemal identyczne, więc możliwe jest, aby śledzić przewodnik dla początkujących dotyczący Dockera i zastosować prawie wszystko do Podmana również.

Jak działa Distrobox?

Distrobox zaciera granice między dystrybucjami i korzysta z istniejących narzędzi do instalacji pakietów międzydystrybucyjnych. Distrobox owija wybrane przez Ciebie środowisko uruchomieniowe kontenerów (tj. Podman, Docker lub Lilypod), aby uruchomić procesy wewnątrz kontenera. Kiedy wykonasz polecenie Distrobox, deleguje ono do podstawowego środowiska uruchomieniowego kontenerów.

Ale dlaczego? W przeciwieństwie do Dockera, Podmana itp., Distrobox ściśle integruje konteneryzowane procesy z Twoim systemem; mogą one odczytywać Twój katalog domowy, widzieć inne procesy, a nawet komunikować się z nimi. Distrobox zajmuje się skomplikowaną konfiguracją kontenera za Ciebie, tak aby aplikacje – w kontenerze Docker lub Podman – działały płynnie z hostem.

Celem środowiska uruchomieniowego kontenerów jest izolacja procesów; celem Distroboxa jest ścisła integracja przy minimalnej konfiguracji.

Oficjalna dokumentacja Distrobox wyjaśnia "ściśle integrację" szczegółami technicznymi:

…płynnie integruje się z resztą systemu operacyjnego, zapewniając dostęp do katalogu domowego użytkownika, gniazd Wayland i X11, sieci, urządzeń wymiennych (takich jak pendrive'y), dziennika systemd, agenta SSH, D-Bus, ograniczeń ulimits, /dev i bazy danych udev itd…

Dlaczego polecam Podmana zamiast Dockera

Powinieneś używać Podmana jako swojego środowiska uruchomieniowego kontenerów, ponieważ domyślnie uruchamia kontenery jako użytkownik bez przywilejów, podczas gdy Docker uruchamia je jako root. Dlaczego to problem? Procesy w kontenerach dziedziczą uprawnienia swojego kontenera – jest to nieco bardziej skomplikowane, ale to jest ogólna idea. Distrobox ściśle integruje kontenery z hostem; każdy proces działający wewnątrz kontenera z uprawnieniami root może mieć pełny dostęp do Twojego systemu.

Distrobox poprosi Cię o ustawienie hasła dla kontenera, jeśli uruchomisz go jako root, co zapewnia pewną ochronę, ale to daleko od idealnego rozwiązania.

Jak zainstalować Podmana

Podman jest dostępny dla co najmniej tuzina dystrybucji. Poniższe komendy obejmują te najbardziej popularne.

Dla Debiana i jego pochodnych (np. Ubuntu, Mint itd.):

sudo apt-get install podman

Dla pochodnych Red Hat (np. Fedora itd.):

sudo dnf install podman

Dla Arch Linux i jego pochodnych:

sudo pacman -S podman

Prawdopodobnie odkryjesz, że Podman jest dostępny w domowych repozytoriach Twojej dystrybucji. Najważniejsze jest, aby skonfigurować go w trybie bezrootowym. Niestety, dla niektórych dystrybucji może to wymagać ręcznej konfiguracji. Skonsultuj się z dokumentacją swojej dystrybucji, ponieważ proces jest inny dla każdej z nich.

Jak zainstalować Distrobox

Distrobox jest dostępny dla ponad 30 dystrybucji, więc gdy zainstalujesz Podmana (lub Dockera), śmiało zainstaluj Distrobox.

menedżera pakietów w Twojej dystrybucji. Poniżej znajdują się polecenia instalacji dla najpopularniejszych dystrybucji.

Dla Debiana i jego pochodnych (np. Ubuntu, Mint itp.):

sudo apt-get install distrobox

Dla pochodnych Red Hat (np. Fedora itp.):

sudo dnf install distrobox

Dla Arch Linux i jego pochodnych:

sudo pacman -S distrobox

Jeśli Distrobox nie jest w repozytorium Twojej dystrybucji, możesz użyć następującego polecenia curl:

curl -s https://raw.githubusercontent.com/89luca89/distrobox/main/install | sudo sh

Akcje takie jak curl … | sh mogą zawierać i wstrzykiwać złośliwe polecenia; zawsze potwierdzaj dostawcę i przeglądaj skrypt.

Teraz musisz ustawić Podman jako menedżera kontenerów w pliku konfiguracyjnym Distrobox. Uruchom następujące polecenie, jednak bądź ostrożny, ponieważ nadpisze ono wszelkie istniejące pliki konfiguracyjne:

echo 'container_manager="podman"' > ~/.distroboxrc

Teraz jesteś gotowy.

Tworzenie Twojego Pierwszego Kontenera Distrobox

Kontenery przechowują Twoje zmiany, a są cienką warstwą na twardych obrazach. Obrazy stanowią podstawowy system dystrybucji. Po połączeniu dostarczają pełny system. Zainstalowane pakiety będą znajdować się wewnątrz kontenera. Distrobox integruje katalog domowy kontenera z Twoim, tak aby pliki konfiguracyjne Twojego pakietu znajdowały się tam.

Kiedy uruchomisz następujące polecenie, tworzy kontener z domyślnego obrazu:

distrobox create -n my-container

Jednak tymczasowo użyjemy Arch Linux:

distrobox create --name my-arch --image archlinux:latest

Możesz stworzyć kontener, używając dowolnego obrazu, na przykład Debiana:

distrobox create --name my-debian --image debian:latest

Lub możesz stworzyć kontener Fedory:

distrobox create --name my-fedora --image fedora:latest

Nie przerywaj procesu tworzenia kontenera; w przeciwnym razie możesz go uszkodzić, a będziesz musiał go ponownie stworzyć.

Distrobox wspiera ponad 30 dystrybucji dla kontenerów, z których każda obsługuje wiele wydań i wersji. Ponadto, jeśli znasz Toolbox, możesz również używać ich obrazów. Distrobox prowadzi dużą listę nazw obrazów dla Twojej wygody.

Jak Zainstalować Aplikację w Kontenerze Distrobox

Kontenery są środowiskiem, które aktywujesz. Wszystkie następne polecenia wykona się wewnątrz kontenera.

distrobox enter my-arch

Możesz eksperymentować z tym systemem, aby go poznać. Kiedy skończysz, wpisz exit.

Jednak zamiast wchodzić do kontenera, aby zainstalować pakiet, często lepiej jest uruchomić polecenie jednokrotne. Tutaj zainstalujemy Firefox, co wykonamy później:

distrobox enter my-arch -- sudo pacman -S firefox

Jeśli stworzyłeś kontener dla innej dystrybucji, możesz prawdopodobnie użyć jednego z następujących poleceń.

Dla Debiana i jego pochodnych (np. Ubuntu, Mint itp.):

distrobox enter my-container-name -- sudo apt-get install firefox

Dla pochodnych Red Hat (np. Fedora itp.):

distrobox enter my-container-name -- sudo dnf install firefox

Jeśli masz problemy z poleceniami instalacyjnymi, powinieneś najpierw nauczyć się, jak instalować i usuwać oprogramowanie za pomocą terminala.

Kiedy używasz Podman, sudo działa normalnie. Rootless Podman uruchamia kontenery jako użytkownik bez uprawnień domyślnie. Wszystkie procesy wewnątrz kontenera (w tym sudo) nie mogą uzyskać wyższych uprawnień niż sam kontener. To chroni Twój system gospodarza.

Jak Uruchomić Aplikację w Kontenerze Distrobox

Aby uruchomić nowo zainstalowanego Firefoksa, uruchom:

distrobox enter my-arch -- firefox

Poprzednie polecenie nie zwróci kontroli do terminala, dopóki Firefox nie zakończy działania; jest też długie. Zamiast tego, powinieneś prawdopodobnie użyć aliasu. W swoim pliku konfiguracyjnym powłoki wpisz:

alias firefox="distrobox enter my-arch -- nohup firefox >/dev/null"

Możesz nadać temu aliasowi dowolną nazwę.

Paczki graficzne działają bez dodatkowej konfiguracji. Działa zarówno z X11, jak i z Wayland. Distrobox wspiera również akcelerację GPU; jeśli cię to interesuje, zapoznaj się z podręcznikiem Distrobox.

Jak myśleć o kontenerach Distrobox

Jak wspomniano wcześniej, kontenery są warstwą na obrazie. Distrobox dzieli obrazy między wieloma kontenerami. Na przykład, gdy tworzysz kontener oparty na Debianie:

distrobox create --name deb-1 --image debian:latest

Ściągnie obraz Debiana, wykorzysta go jako system bazowy, a następnie stworzy kontener na jego podstawie. Kiedy stworzysz jeszcze dwa kontenery:

distrobox create --name deb-2 --image debian:latest
distrobox create --name deb-3 --image debian:latest

Obydwa będą korzystać z tego samego niezmiennego obrazu Debiana, ale każdy kontener jest oddzielny. Zainstalowanie pakietu w deb-1 oznacza, że nie będzie on obecny w deb-2 ani deb-3. Niemniej jednak, będą one dzielić ten sam plik konfiguracyjny, który znajduje się w katalogu domowym hosta.

Możesz się zastanawiać, czy powinieneś stworzyć jeden kontener, czy wiele. Generalnie stwórz jeden kontener dla każdej dystrybucji, z której korzystasz. Na przykład, jeśli jest pakiet w AUR (repozytorium oprogramowania zarządzanym przez społeczność dla Arch Linux), z którego chcesz skorzystać, tworzysz kontener Arch; jeżeli są trzy w repozytoriach Debiana, tworzysz jeden kontener Debiana i umieszczasz wszystkie trzy w nim. Jednak mogą być scenariusze, w których wystąpią konflikty oprogramowania – np. różne wersje tego samego pakietu; to jest idealny przypadek, aby stworzyć oddzielne kontenery.

Inne przydatne polecenia Distrobox, które warto znać

Najbardziej przydatnym źródłem poleceń jest zawsze menu --help:

distrobox --help

Możesz uzyskać pomoc dla konkretnych poleceń, dodając flagę --help. Na przykład, aby uzyskać pomoc dla polecenia create:

distrobox create --help

Tworzenie tymczasowych kontenerów

Aby szybko przetestować coś, możesz wykorzystać tymczasowe kontenery. Distrobox automatycznie je usuwa po zakończeniu:

distrobox ephemeral

Uważaj, że są one wolniejsze w uruchamianiu, ponieważ muszą zostać zainicjowane – to podobne do tworzenia nowego kontenera.

Zobacz distrobox ephemeral --help po więcej opcji.

Zarządzanie kontenerami

Powinieneś traktować kontenery Distrobox jak podsystem; obejmuje to tworzenie, uruchamianie, zatrzymywanie, usuwanie, aktualizowanie i ogólnie utrzymanie kontenerów. Poniżej znajduje się lista powszechnych poleceń, które pomagają w tym.

W pewnym momencie chcesz wiedzieć, jakie kontenery istnieją w twoim systemie:

distrobox ls

Może chcesz usunąć kontener. Zanim to zrobisz, warto najpierw go zatrzymać, a następnie usunąć:

distrobox stop my-container
distrobox rm my-container

Nie jest to konieczne, aby zatrzymywać kontener przed jego usunięciem, ponieważ Distrobox poprosi cię o wymuszone usunięcie, jeśli jest uruchomiony.

Prawie na pewno chcesz, aby twoje kontenery były aktualne. Aby zaktualizować je wszystkie, użyj:

distrobox upgrade --all

Aby zaktualizować konkretny kontener:

distrobox upgrade my-container

Polecenie update użyje menedżera pakietów kontenera do aktualizacji wszystkich jego pakietów. Dodatkowo każdy kontener wymaga regularnych aktualizacji. Gdy usuwasz kontener, usuwa on również jego aktualizacje.

Aby odinstalować pakiety, po prostu użyj menedżera pakietów specyficznego dla tej konkretnej dystrybucji. Na przykład, jeśli chcesz odinstalować Firefox z kontenera Arch Linux, który stworzyliśmy wcześniej, użyj:

distrobox enter my-arch -- sudo pacman -R firefox

Dla pochodnych Red Hat (np. Fedora), użyj:

distrobox enter my-container-name -- sudo dnf rm firefox

Dla Debiana i jego pochodnych, użyj:

distrobox enter my-container-name -- sudo apt-get remove firefox

Jak odinstalować Distrobox

Jeżeli Distrobox ci się nie podoba i chcesz go usunąć, poniżej przedstawiono polecenia do tego celu.

Jeśli użyłeś curl do instalacji, to musisz użyć tego polecenia curl do odinstalowania:

curl -s

curl -s https://raw.githubusercontent.com/89luca89/distrobox/main/uninstall | sudo sh

W przeciwnym razie, dla Debiana i jego pochodnych (np. Ubuntu, Mint itd.):

sudo apt-get remove distrobox

Dla pochodnych Red Hat (np. Fedora itd.):

sudo dnf rm distrobox

Dla Arch Linux i jego pochodnych:

sudo pacman -R distrobox

Jedną z mocnych stron Distroboxa jest ścisła integracja z systemem gospodarza. W świecie Dockera stanowi to, w pewnym sensie, słabość, ponieważ Docker chce izolować procesy; Distrobox pragnie je integrować— to kluczowa różnica między nimi. Ważne jest również zrozumienie różnic między uruchamianiem kontenera jako root a uruchamianiem procesów konteneryzowanych jako root. Wyraźnie zalecam Podmana, ponieważ działa lepiej niż Docker jako bezrootowy runtime kontenerów. Utrzymujący Distrobox również się z tym zgadzają.

Zwróć uwagę na te dwa kluczowe punkty, ponieważ są ważne dla ochrony twojego systemu. W zasadzie, zachowaj ostrożność przy uruchamianiu kontenera jako root; nie uruchamiaj następnie aplikacji wewnątrz tego kontenera jako konto z ograniczonymi uprawnieniami—zapewnia to fałszywe poczucie bezpieczeństwa i może prowadzić do eskalacji uprawnień.

Często zadawane pytania: Ważne pytania i odpowiedzi

Jakie kryteria mogą decydować o wyborze dystrybucji Linuksa?

Wybór odpowiedniej dystrybucji Linuxa zależy od wielu czynników, w tym od:

    - Poziomu doświadczenia: Nowi użytkownicy mogą preferować dystrybucje o przyjaznym interfejsie, takie jak Ubuntu czy Mint. Zaawansowani użytkownicy mogą z kolei wybierać dystrybucje bardziej konfigurowalne, jak Arch czy Gentoo.

  • Wymagań sprzętowych: Niektóre dystrybucje są zoptymalizowane dla starszego lub mniej wydajnego sprzętu (np. Xubuntu, Lubuntu), podczas gdy inne mogą wymagać mocniejszych podzespołów.
  • Cel użytkowania: Wybór może być uzależniony od zastosowania, np. dystrybucje serwerowe (Debian, CentOS) vs. desktopowe (Fedora, openSUSE).
  • Stylu aktualizacji: Wiele dystrybucji oferuje różne modele aktualizacji, od systemów rolling-release (np. Arch) po stabilne wersje (np. Debian).
  • Wsparcia społeczności i dokumentacji: Dostępność zasobów edukacyjnych oraz aktywnej społeczności może mieć duże znaczenie dla rozwiązywania problemów.
  • Preferencje personalizacji: Niektóre dystrybucje umożliwiają większą personalizację środowiska graficznego i ustawień systemowych. Ustalając priorytety w tych obszarach, można łatwiej znaleźć dystrybucję, która odpowiada indywidualnym potrzebom i wymaganiom.

Ile jest dystrybucji Linuksa?

Według październikowego zestawienia GNU/Linux Distribution Timeline, obecnie istnieje około 400 dystrybucji systemu Linux. Warto zauważyć, że:

    - Dystrybucje mogą być klasyfikowane według różnych kryteriów:

  • Typu (np. serwerowe, desktopowe, mobilne)
  • Zastosowania (np. dla programistów, dla użytkowników domowych)
  • Bazowy system (np. Debian, Fedora, Arch)
  • Niektóre z najbardziej popularnych dystrybucji to:
  • Ubuntu
  • Fedora
  • Debian
  • CentOS
  • Arch Linux Z powodu ciągłego rozwoju, liczba dystrybucji może się zmieniać, a nowe projekty mogą się pojawiać, podczas gdy inne mogą być wycofywane lub łączone.

Jak zainstalować programy w Linuxie?

INSTALACJA PROGRAMU LINUX

  • Uruchom menedżera pakietów.
  • Wybierz opcję „Zainstaluj program”.
  • Zdecyduj się na program spoza listy lub z katalogu.
  • Określ miejsce instalacji: nowy dysk wirtualny lub istniejący.
  • Wybierz wersję 64-bitową, jeśli jest to możliwe.
  • Potwierdź instalację i poczekaj na zakończenie procesu.
  • Uruchom zainstalowany program. W przypadku dystrybucji opartych na Debianie lub Ubuntu, można także użyć terminala:
      - Zaktualizuj listę pakietów: sudo apt update
  • Zainstaluj program: sudo apt install nazwa_programu Zapewni to szybką i efektywną instalację programów w Linuxie.
  • Co ma wpływ na wybór dystrybucji Linuxa?

    Na wybór konkretnej dystrybucji Linuxa wpływa wiele czynników, w tym:

      - Łatwość użytkowania: interfejs graficzny i przyjazność dla nowicjuszy.

    • Rozmiar obrazu: dostępność minidystrybucji dla ograniczonych zasobów.
    • Minimalne wymagania sprzętowe: dopasowanie do posiadanego sprzętu.
    • Osobiste preferencje: wybór środowiska graficznego i dostępność programów.
    • Przeznaczenie systemu: zastosowanie (serwer, desktop, multimedia itp.).
    • Łatwość instalacji: dostępność instalatorów oraz dokumentacji.
    • Dostępna wersja językowa: wsparcie dla użytkowników w ich ojczystym języku. Te aspekty decydują, jaki system najlepiej spełni oczekiwania i potrzeby użytkownika.

    Jeśli ciekawią Cię artykuły podobne do Jak łamię zasady Linuksa i instaluję dowolny pakiet na dowolnej dystrybucji, zajrzyj do kategorii Linux i odkryj jeszcze więcej interesujących treści.

    Indeks
    1. Oprogramowanie, na którym oparty jest Distrobox
    2. Jak działa Distrobox?
    3. Dlaczego polecam Podmana zamiast Dockera
    4. Jak zainstalować Podmana
    5. Jak zainstalować Distrobox
    6. Tworzenie Twojego Pierwszego Kontenera Distrobox
    7. Jak Zainstalować Aplikację w Kontenerze Distrobox
    8. Jak Uruchomić Aplikację w Kontenerze Distrobox
    9. Jak myśleć o kontenerach Distrobox
    10. Inne przydatne polecenia Distrobox, które warto znać
      1. Tworzenie tymczasowych kontenerów
      2. Zarządzanie kontenerami
    11. Jak odinstalować Distrobox
    12. Często zadawane pytania: Ważne pytania i odpowiedzi
      1. Jakie kryteria mogą decydować o wyborze dystrybucji Linuksa?
      2. Ile jest dystrybucji Linuksa?
      3. Jak zainstalować programy w Linuxie?
      4. Co ma wpływ na wybór dystrybucji Linuxa?

    Możesz być zainteresowany

    Dodaj komentarz

    Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *

    Go up