Którym poleceniem należy się posłużyć do instalacji pakietów języka Python w systemie Ubuntu z oficjalnego repozytorium?
A. apt-get install python3.6
B. yum install python3.6
C. zypper install python3.6
D. pacman -S install python3.6
Pytanie z egzaminu CKE, styczeń 2022 (arkusz EE.08-SG-22.01).
W Ubuntu do instalacji pakietów z oficjalnych repozytoriów używa się menedżera pakietów APT, więc polecenie apt-get install python3.6 jest właściwym wyborem w tym zestawie odpowiedzi. Ubuntu bazuje na Debianie i korzysta z pakietów .deb oraz narzędzi takich jak apt, apt-get i dpkg. W praktyce najczęściej uruchamia się takie polecenie z uprawnieniami administratora, czyli np. sudo apt-get install python3.6, bo instalacja oprogramowania zmienia pliki systemowe w katalogach typu /usr/bin, /usr/lib czy /etc. Dobrą praktyką jest wcześniejsze wykonanie sudo apt-get update, żeby odświeżyć lokalną listę pakietów z repozytoriów zapisanych w /etc/apt/sources.list oraz w katalogu /etc/apt/sources.list.d/. Dzięki temu system wie, jakie wersje pakietów są dostępne. Moim zdaniem warto zapamiętać nie tylko samo polecenie, ale też logikę: Ubuntu/Debian → APT, pakiety .deb, repozytoria oficjalne. W nowszych poradnikach często zobaczysz sudo apt install python3.6, bo apt jest wygodniejszym interfejsem dla użytkownika, ale apt-get nadal jest standardowym, stabilnym narzędziem, często używanym w skryptach administracyjnych i dokumentacji technicznej.
W tym pytaniu łatwo pomylić menedżery pakietów, bo wszystkie pokazane polecenia wyglądają podobnie: mają nazwę narzędzia, akcję install i nazwę pakietu. Problem polega na tym, że różne dystrybucje Linuksa używają różnych systemów zarządzania pakietami. Ubuntu należy do rodziny Debiana, dlatego korzysta z APT oraz pakietów .deb. Z tego powodu właściwym narzędziem jest apt-get, ewentualnie nowsze apt, a nie menedżery typowe dla innych dystrybucji. pacman jest kojarzony głównie z Arch Linux i Manjaro. Dodatkowo zapis pacman -S install python3.6 jest mylący, bo w pacmanie opcja -S oznacza synchronizację i instalację pakietu, a słowo install zostałoby potraktowane raczej jak nazwa pakietu, nie jak akcja. yum to narzędzie używane historycznie w dystrybucjach z rodziny Red Hat, CentOS i Fedora, opartych o pakiety .rpm. Obecnie często zastępuje je dnf, ale nadal nie jest to typowe narzędzie dla Ubuntu. zypper natomiast jest charakterystyczny dla openSUSE i SUSE Linux Enterprise, też korzystających z mechanizmów RPM. Typowy błąd myślowy polega na zapamiętaniu samego słowa install i uznaniu, że skoro składnia wygląda logicznie, to polecenie zadziała wszędzie. W administracji Linuksem trzeba jednak zawsze wiązać komendę z konkretną dystrybucją, jej repozytoriami i formatem pakietów. Z mojego doświadczenia to jedna z tych rzeczy, które potem bardzo pomagają przy pracy w terminalu, bo mniej się strzela na oślep, a więcej rozumie, co system faktycznie robi.