Wyszukiwanie w witrynie

Kompletny przewodnik po poleceniach Apt i Apt-Get


Dla wielu osób, które po raz pierwszy rozpoczynają pracę z dystrybucjami Linuksa opartymi na Debianie/Ubuntu, zarządzanie pakietami może wydawać się skomplikowane. Niektóre samouczki mówią, jak używać „apt”, inne „apt-get”, a niektóre naprawdę stare lub specyficzne używają „aptitude”. Najwyższy czas przejść do najdrobniejszych szczegółów i wyjaśnić „dlaczego, gdzie, co i jak” dziwnego i nieco podzielonego świata w tym małym zakątku wszechświata Linuksa.

Jeśli dopiero zaczynasz przygodę z Linuksem, możesz zapoznać się z tymi przydatnymi poleceniami Bash, zanim udasz się do terminala.

Treść

  • Definiowanie Apt-Get, Apt, Aptitude i DPKG
  • Co to jest Aptitude?
  • Co to jest APT?
  • Jakie dystrybucje używają APT?
  • Apt-get kontra Apt
  • Słowo o flagach APT
  • Nie wszystkie implementacje APT są równe!
  • Kompletny przewodnik po poleceniach APT
  • Przerażający problem APT „nie znaleziono polecenia”.
  • Często Zadawane Pytania

Definiowanie Apt-Get, Apt, Aptitude i DPKG

Niezależnie od wszystkich drobnych szczegółów, które je wyróżniają, apt, apt-get i aptitude są po prostu różnymi wizytówkami systemu zarządzania pakietami Debiana który współdziała z repozytoriami internetowymi. Jakby było ich już mało, istnieje jeszcze jedno narzędzie do zarządzania pakietami w systemach opartych na Debianie lub Ubuntu, o którym mogłeś słyszeć, a które dotyczy instalacji na dysku: dpkg.

DPKG to narzędzie działające w tle przy każdej instalacji pakietu .deb. Apt, Apt-get i Aptitude używają dpkg do instalowania pakietów.

Co to jest Aptitude?

Aptitude to centrum zarządzania pakietami, działające jako frontend, jeśli chcesz szczegółowo przyjrzeć się wszystkim pakietom, które Twoja dystrybucja oferuje w swoich repozytoriach, oraz tym, które dodałeś. Jest to także jeden z niewielu klikalnych graficznych interfejsów użytkownika w starym stylu, które działają bezpośrednio w terminalu.

Co to jest APT?

Znane jako Advanced Packaging Tool, APT jest rozwiązaniem Debiana umożliwiającym włączenie do głównego nurtu procesu usuwania, instalowania, wyszukiwania i zarządzania różnymi aplikacjami instalowanymi w systemie operacyjnym. Każda oparta na nim dystrybucja używa APT, choć nie wszystkie implementacje APT są sobie równe. Dojdziemy do tego za chwilę.

Na razie warto zauważyć, że APT jako menedżer pakietów nie jest poleceniem apt. Zamiast tego obejmuje różne polecenia związane z APT, takie jak apt-get, apt-mark i apt-cache.

Pomyśl o Aptitude jako o interaktywnym centrum dowodzenia całym zarządzaniem pakietami, a APT jak o szwajcarskim scyzorze, który pozwala szybko wykonywać prostsze zadania związane z instalowaniem, usuwaniem i aktualizacją pakietów i repozytoriów.

Jakie dystrybucje używają APT?

Jeśli Twoja dystrybucja jest opisana jako „oparta na Debianie”, w taki czy inny sposób używa narzędzia APT. Obejmuje to między innymi:

  • Debiana
  • Ubuntu
  • Mennica Linuksa
  • MX Linux
  • grml
  • Kali Linux
  • Ogony
  • PureOS
  • System operacyjny Raspberry Pi
  • Podstawowy system operacyjny

Istnieje wiele, wiele innych dystrybucji opartych na Debianie, więc jeśli używasz czegoś, czego nie ma tutaj na liście, sprawdź, czy polecenie apt-get działa, po prostu wpisując je w terminalu. Jeśli Twój terminal zwróci niejasny komunikat o nieistnieniu polecenia, oznacza to, że na pewno nie uruchamiasz niczego, nad czym pracowali programiści Debiana lub Ubuntu.

Apt-get kontra Apt

W wielu samouczkach online dotyczących instalacji pakietu zobaczysz, że apt-get i apt są używane zamiennie jako polecenia w systemach opartych na Debianie. Jeśli chodzi o instalowanie i usuwanie rzeczy, rzeczywiście nie ma różnicy, jakiego polecenia użyjesz. Tylko nie myl tego z tym, że są to wersje drugiego.

Pamiętasz, jak powiedziałem, że apt-get to po prostu jedno z kilku innych poleceń w narzędziu Advanced Packaging Tool? Dla kogoś, kto nie ma doświadczenia z APT, zapamiętanie, które polecenia są prawidłowe dla apt-get, apt-mark i apt- może być nieco dezorientujące. pamięć podręczna. Na przykład, czy wiesz, że poleceniem wyszukiwania pakietu jest apt-cache search?

Co by było, gdyby wszystkie trzy najbardziej przydatne w codziennym życiu funkcje tych poleceń były bardziej jednolite?

To dokładnie robi samo polecenie apt. Te trzy litery, wpisane w terminalu, działają jak „opakowanie” ekosystemu APT, upraszczając proces dla osób, które spędzają większość czasu na bazgraniu na swoich terminalach.

Podczas wyszukiwania pakietu apt search powinien w większości zwracać te same wyniki, co apt-cache search.

Zamiast wpisywać w terminalu apt-cache search, apt-mark hold i apt-get usuń, możesz zamiast tego użyć apt search, apt hold i apt usuń.

APT to ekosystem, w którym zarówno apt-get install, jak i apt install są poprawnymi opcjami, ale zachowują się nieco inaczej. Prosty apt to aplikacja, która opiera się na poleceniach APT starej szkoły, zapewniając prostszą strukturę, bardziej intuicyjną dla użytkowników, którzy nie chcą zapamiętywać wielu różnych poleceń, aby wykonywać różne zadania za pomocą swoich menedżerowie pakietów.

W niektórych dystrybucjach, takich jak Ubuntu, polecenie apt jest osobną aplikacją, która czasami po prostu wykonuje jedno ze starszych poleceń z włączonymi określonymi opcjami (np. paskiem postępu podczas instalacji), dzięki czemu wydaje się bardziej bogate w funkcje dla nowszych użytkowników, którzy nie chcą komplikować sobie kilku niejasnych flag w menedżerze pakietów.

Inne dystrybucje, takie jak Linux Mint, osiągają to samo, tworząc proste opakowanie Pythona. Dla użytkownika końcowego oba będą wyglądać identycznie.

Słowo o flagach APT

Jeśli zwróciłeś szczególną uwagę na obrazy przedstawiające wyniki obu poleceń wyszukiwania, pokazują one nieco inne informacje, ponieważ polecenie apt pobiera informacje o statusie aplikacji w twoim systemie oprócz tego, co apt-cache search wyświetla.

To prawdopodobnie dobry moment, aby wyjaśnić, co oznaczało „i” obok nazwy pakietu w wynikach apt search. Jest to flaga umieszczona przez aptitude, interfejs narzędzia pakietu Debiana.

Poniżej znajduje się lista flag, które zobaczysz w terminalu oraz ich znaczenie:

  • A - instalowany automatycznie, być może jako część większego metapakietu lub podczas instalacji samego systemu operacyjnego.
  • B - pakiet jest oznaczony jako uszkodzony i należy go ponownie zainstalować.
  • H - w połowie zainstalowany. Instalacja pakietu musi zostać dokończona.
  • c - pakiet został usunięty, ale jego „duch” pozostał w postaci plików konfiguracyjnych. Możesz rozwiązać ten problem, używając apt-get purge lub apt purge, po którym podaje się nazwę pakietu z tą flagą.
  • p - pakiet został usunięty lub nigdy nie został zainstalowany.
  • v - pakiet jest zainstalowany i jest powszechnie używany przez innych w celu zapewnienia funkcji. Na przykład Firefox zapewnia możliwości przeglądania, z których mogą korzystać inne aplikacje, co czyni go pakietem wirtualnym.
  • i - ten pakiet jest zainstalowany w Twoim systemie.
  • h - ten pakiet jest wstrzymany, co uniemożliwia jego aktualizację do nowszych wersji.

Nie wszystkie implementacje APT są równe!

Zanim przejdziemy jakiegokolwiek dalej do tematu zarządzania pakietami, niezwykle ważne jest, aby pamiętać, że polecenie apt może mieć więcej dostępnych argumentów w jednej dystrybucji niż w innej. Na przykład w Ubuntu brakuje opcji „wstrzymania”, podczas gdy Mint ją ma.

Aby w pełni zrozumieć to, co tutaj mówię, musimy rzucić okiem na listy Ubuntu i Mint, aby dowiedzieć się, jakie argumenty możesz przekazać w apt i zobaczyć ogromną przepaść między nimi.

Poniższy obraz przedstawia Ubuntu na moim nowo stworzonym (zamierzonym) stanowisku testowym dla samouczków.

Poniższy obraz przedstawia Linux Mint.

Zdecydowanie Mint ma najbardziej rozbudowane opakowanie ze wszystkich dystrybucji opartych na Debianie, jakie do tej pory widziałem. Nie jest to zaskakujące, gdy zdasz sobie sprawę, że został on dostosowany przez społeczność utrzymującą Mint, aby zaspokoić potrzeby zarówno początkujących, którzy chcą po prostu zainstalować swoje aplikacje w spokoju za pomocą krótkiego polecenia, jak i turbo-maniaków, którzy chcą dostroić wszystko po prostu tak, jak chcą, z milimetrową precyzją.

Kompletny przewodnik po poleceniach APT

Nie ma lepszego sposobu na zrozumienie mocy systemu pakietów APT niż zagłębienie się w kilka ważnych poleceń. Lista będzie składać się z poleceń APT, po których następuje uproszczenie apt, jeśli ma to zastosowanie, w nawiasach. Jeśli uproszczenie nie działa w Twojej konkretnej dystrybucji, dzieje się tak dlatego, że z jakiegoś powodu nie zostało ono uwzględnione w Twojej dystrybucji, lub nie korzystasz z olbrzyma opakowania Mint. W takim przypadku możesz bezpiecznie wrócić do polecenia waniliowego, nie tracąc zbyt wiele.

Dodaj repozytorium

  • add-apt-repository - dodaje nowe repozytorium do listy źródeł oprogramowania od opiekuna pakietu.

Na przykład, jeśli chcę dodać aktualne repozytorium Lutrisa dla Mint 20, mogę wpisać sudo add-apt-repository lub sudo apt add-repository, a następnie ppa:lutris-team/lutris. Każde repozytorium jest unikalne i większość twórców aplikacji, którzy nie mają pakietów znalezionych w oficjalnych pakietach dla Twojej dystrybucji, będzie zawierać instrukcje, które wskażą Ci własne.

Wyczyść i usuń automatycznie

  • apt clean i apt autorove - często używane razem, te dwa polecenia usuwają kurz z systemu w postaci utrzymujących się skryptów instalacyjnych i nośników instalacyjnych, których już nie potrzebujesz (clean), a także automatycznie zwalnia miejsce na pakiety, z których nikt nie korzysta ani od których nikt nie jest zależny (autoremove).

Przykład: sudo apt autorove && sudo apt clean usunie wszystkie niepotrzebne aplikacje i pliki pamięci podręcznej z dysku głównego w jednej linii w terminalu.

Jeśli chcesz tylko usunąć plik, możesz zamiast tego użyć polecenia rm lub polecenia dd, jeśli chcesz zwolnić miejsce na dysku.

Dziennik zmian

  • apt Changelog - znajdź najnowsze zmiany w pakiecie.

Przykład: apt Changelog Brave-Browser powie mi, co zawiera najnowsza wersja przeglądarki Brave w porównaniu z jej ostatnią wersją.

Zawiera

  • apt zawiera - występuje tylko w Linux Mint i być może w kilku innych dystrybucjach wywodzących się z Ubuntu. Tego polecenia używasz, gdy napotkasz w programie błąd typu „nie znaleziono pliku”. Przy odrobinie szczęścia apt zawiera znajdzie dla Ciebie ten plik w jakimś odległym folderze z zainstalowanej aplikacji!

Przykład: apt zawiera gettext.sh będzie szukać aplikacji zawierającej skrypt powłoki dla gettext. Jeśli masz zainstalowany gettext-base w swojej dystrybucji Mint, powinieneś natychmiast znaleźć aplikację, która go posiada!

Zainstaluj i zainstaluj ponownie

  • apt install - jak sama nazwa wskazuje, instaluje pakiet. Przekazanie flagi --reinstall spowoduje natychmiastową ponowną instalację pakietu.

Przykład instalacji: sudo apt install firefox. Przykład ponownej instalacji Firefoksa: sudo apt reinstall Firefox. Prostszym wariantem opakowania apt jest sudo apt reinstall firefox.

Jeśli wolisz aplikację graficzną pomagającą w instalowaniu aplikacji, możesz sprawdzić Synaptic Package Manger.

Usuń (Odinstaluj)

  • apt Remove - kolejne często używane narzędzie w arsenale terminalowego nurka jaskiniowego. To polecenie odinstaluje wszystko, co zostało zainstalowane przez ekosystem APT lub menedżera pakietów DPKG.

Przykład: sudo apt usuń grub-customizer.

Aktualizuj, ulepszaj i trzymaj

  • apt update - to polecenie nie aktualizuje aplikacji w twoim systemie. Po prostu odświeża pamięć podręczną APT, dzięki czemu twój system może porównać wersje dostępne w twoich repozytoriach z wersjami aktualnie zainstalowanymi w twoim systemie. Sprawdza dostępność aktualizacji, ale ich nie wykonuje.
  • apt upgrade - spowoduje to pobranie aktualizacji pakietów znalezionych przez system, jeśli są dostępne. Aby to wykonać, zazwyczaj nie trzeba zamykać niczego, co jest uruchomione.
  • apt hold/unhold/showhold - ta seria poleceń zarządza wstrzymanymi aplikacjami. Trzymanie pakietu informuje system operacyjny, aby nie aktualizował go w przyszłości. Za pomocą hold i unhold możesz zainicjować lub anulować wstrzymanie aktualizacji aplikacji. Argument showhold wyświetli listę aktualnie wstrzymanych operacji. Jeśli nie możesz użyć tego w zainstalowanym systemie, wypróbuj zamiast tego apt-mark showhold!

Przykład: sudo apt hold pulsaudio. Słowo dla mądrych: utrzymywanie aktualizacji pakietów, od których zależą inne osoby, może w dłuższej perspektywie spowodować uszkodzenie systemu, jeśli nie jesteś pewien, co robisz.

Wyszukaj i pokaż

  • apt search/show - ta urocza para poleceń dobrze się ze sobą łączy. Użyj pierwszego, aby znaleźć pakiet, a następnie użyj show i pełnej nazwy pakietu, aby dowiedzieć się więcej o nim.

Przykład: sudo apt search gimp.

Jeśli chcesz przeczytać więcej na temat zawiłości APT dla Twojej konkretnej dystrybucji, a które mogły nie zostać tutaj omówione, ich podręczniki znajdują się w terminalu. Po prostu wpisz man przed poleceniem bez dalszych argumentów i naciśnij Enter.

Wskazówka: możesz także wyszukiwać w Internecie za pomocą terminala.

Przerażający problem APT „nie znaleziono polecenia”.

Jeśli nie możesz niczego zainstalować na swoim terminalu, ponieważ APT po prostu przestał działać i zniknął, to nie koniec świata. Przy odrobinie smaru łokciowego będziesz mieć działającego ulubionego menedżera pakietów.

Po pierwsze, jeśli jest to nowy system, po prostu sprawdź dwukrotnie, czy powinien używać APT jako menedżera pakietów. Fedora używa DNF/yum, Arch używa Pacmana, Solus używa EOPKG, openSUSE używa Zyppera, a Mandriva używa urpmi. Jeśli Twojej dystrybucji nie ma nigdzie na liście, będziesz musiał zapoznać się z jej dokumentacją dotyczącą zarządzania pakietami, zwykle znajdującą się w witrynie, w której pobrałeś dystrybucję.

Kiedy już będziesz pewien, że korzystasz z systemu opartego na Debianie i rzeczywiście brakuje APT, czas przejść do następnego kroku.

Aby przeprowadzić Cię przez to z dodatkowym zaangażowaniem, paraliżuję mój system Ubuntu i nie pozwolę sobie na łatwą ucieczkę w postaci ponownej instalacji systemu operacyjnego!

Rezultatem jest teraz błąd „nie znaleziono polecenia” lub niemożność przetworzenia polecenia.

Czas znaleźć odpowiedni pakiet APT dla naszego systemu i go zainstalować. Ponieważ nie mamy APT do pracy, nie możemy też automatycznie pobrać zależności.

Na szczęście menedżer pakietów na dysku Debiana (dpkg) jest tutaj, aby uratować sytuację! Pobrałem najnowszą wersję pakietu apt odpowiadającego architekturze mojego procesora z głównego repozytorium Ubuntu i uruchomiłem na nim dpkg -I, aby wyświetlić listę zależności, które musiałem zainstalować. Jeśli patrzysz na to połączone repozytorium i nie możesz się z nim zapoznać, poszukaj „apt_x.xx”, gdzie „x” oznacza numer najnowszej wersji. Jeśli używasz systemu 64-bitowego, pobierz wersję „amd64”. W wersji 32-bitowej pobierz wersję „i386”.

W moim przypadku, gdy próbowałem zainstalować najnowszą wersję APT, wszystkie zależności były, ale nie były wystarczająco aktualne.

Odkrywasz te rzeczy, gdy wpiszesz dpkg -i /path/to/your/apt/deb/file. Oczywiście musisz zastąpić tę fałszywą ścieżkę, którą wpisałem, ścieżką odpowiadającą plikowi .deb pobranemu ze strony internetowej.

Zamiast wersji 2.3.11 zdecydowałem się na wersję 2.0.6, która jest zwykle instalowana w Mint w chwili pisania tego tekstu.

Po grzebaniu tu i tam z wersjami, w końcu natkniesz się na taką, która będzie działać z twoją obecną konfiguracją. To właśnie mi się przydarzyło. Po wpisaniu sudo dpkg -i, a następnie tego starszego pakietu, instalacja przebiegła bezproblemowo.

Ogólnie rzecz biorąc, najpoważniejsze zależności APT to rzeczy, których nie mogłoby zabraknąć w twoim systemie. Ponieważ jednak brakuje Ci APT, wszystko jest możliwe. W każdym razie, jeśli po przejrzeniu dpkg -I odkryjesz, że brakuje Ci jednej z zależności wymienionych na liście, jak omówiono wcześniej, przejrzyj foldery nadrzędne w połączonym repozytorium. Powinny znajdować się w odpowiednich folderach posortowanych alfabetycznie.

Często Zadawane Pytania

Czy istnieją niebezpieczne polecenia APT?

Ogólnie rzecz biorąc, jeśli wpiszesz w terminalu cokolwiek związanego z APT, powinieneś wiedzieć, co to polecenie zaraz zrobi. Przed większymi aktualizacjami, szczególnie tymi, w których instalujesz nowe jądro, dla bezpieczeństwa wykonaj pełną kopię zapasową systemu.

Pomijając to wszystko, polecenia, z którymi musisz naprawdę uważać, to apt hold i apt full-upgrade/dist-upgrade. Przytrzymanie może zepsuć twój system, dopóki nie zniesiesz blokad, zwłaszcza jeśli robisz to z zależnościami innych aplikacji. Mogą pozostać zbyt daleko w tyle i nie wykonywać funkcji, jakich oczekują od nich aplikacje.

full-upgrade i dist-upgrade są przydatne tylko wtedy, gdy Twoja dystrybucja wydaje nową, długoterminową wersję, do której chcesz przeprowadzić migrację, ale potencjalnie usuną również zainstalowane pakiety, do których przywykłeś. Ogólnie rzecz biorąc, jesteś na znacznie bezpieczniejszym terytorium, wykonując normalną apt upgrade, a następnie wykonując apt autorove, aby oczyścić pakiety, które naprawdę gromadzą kurz.

Czy Apt jest lepszy od Apt-get?

Wiem, że to nudne stwierdzenie, ale naprawdę zależy od tego, co robisz. Palce Ci się palą od wpisywania tak wielu poleceń? Możesz użyć apt jako skrótu, jeśli nie potrzebujesz czegoś konkretnego, do czego bardziej odpowiedni byłby apt-get. Pod wieloma względami apt nie tylko usprawnia proces zarządzania pakietami, ale także zapewnia dodatkowe informacje, jak widzieliśmy wcześniej porównując apt-get search z apt search.

Jeśli jednak nie korzystasz z Minta z gigantyczną listą argumentów dla apt, która prawie całkowicie sprawia, że apt-get staje się zbędny, być może będziesz musiał użyć apt-get , aby wykonać bardziej niszowe zadania.

Jaka jest różnica między repozytorium a sklepem z aplikacjami?

Dla zwykłego użytkownika różnice są nieistotne. Ich drogi zaczynają się rozchodzić w kwestii „zamienności” oprogramowania. Linux ma bardzo płynny rynek oprogramowania, na którym użytkownicy mają czasami przytłaczającą liczbę wyborów. Sklepy z aplikacjami na smartfony są praktycznie osadzone w kamieniu i trudno sobie wyobrazić, że użytkownicy szukają alternatyw.

Jednocześnie teoretycznie osobiste archiwa pakietów (PPA), z których ludzie lubią korzystać w Ubuntu, mogą zostać naruszone i prowadzić do rozprzestrzeniania się złośliwego oprogramowania przez złych aktorów.

Jeśli można coś z tego wyciągnąć, to fakt, że decentralizacja wiąże się z pewną odpowiedzialnością po stronie użytkownika. Upewnij się, że repozytoria, które dodajesz do swojej dystrybucji, pochodzą ze źródeł, którym możesz zaufać, i z projektów, które przetrwały długi czas.

Źródło obrazu: wszystkie obrazy autorstwa autora.

Powiązane artykuły