Jak korzystać z apt-get: Menedżer pakietów w Ubuntu, LinuxMint, Debian

Spisie treści

Co to jest apt-get?
Polecenie apt-get to bardzo potężne narzędzie, które jest domyślnie dostępne w dystrybucjach takich jak Debian, LinuxMint, Ubuntu jest odpowiedzialne za zarządzanie biblioteką pakietów i jako takie za instalowanie, usuwanie, aktualizowanie i wyszukiwanie pakietów dla systemu operacyjnego z polecenie wiersza.
Co to jest pamięć podręczna apt?
Jest pochodną apt-get, jego główną funkcją jest wyszukiwanie pakietów, które chcemy zainstalować za pomocą pamięci podręcznej po aktualizacji naszego repozytorium. Ale możemy nie tylko wyszukiwać, aby zainstalować, ale możemy również zweryfikować, które pakiety są zainstalowane lub informacje o pakiecie, takie jak zainstalowana wersja lub czy jest dostępna aktualizacja. Jest dołączany podobnie jak apt-get do wielu dystrybucji z pakietami deb.

Jak wyświetlić listę pakietów?


Możemy wymienić wszystkie pakiety dostępne dla systemu (To bardzo długa lista).
 apt-cache pkgnames esseract-ocr-epo pipenightdreams mumudvb tbb-examples libsvm-java libmrpt-hmtslam0.9 libboost-timer1.50-dev kcm-touchpad g ++ - 4.5-multilib… 

Jak filtrować wyszukiwania według nazwy?


Aby wyszukać pakiet z krótkim opisem bez konieczności jego instalowania, używamy polecenia apt-cache w połączeniu z opcją wyszukiwania. Wyświetli listę wszystkich pakietów, które pasują do Twojego wyszukiwania, na przykład, jeśli chcemy zainstalować serwer FTP, potrzebujemy pakietu vsftpd.
 apt-cache search vsftpd
Ale na wypadek, gdybyśmy chcieli tylko nazwy bez opisu, której używamy
 apt-cache pkgnames vsftpd

Dowiedz się więcej o Pakiecie?


Jeśli chcemy uzyskać więcej informacji o pakiecie, takich jak jego wersja lub rozmiar w KB, używamy
 apt-cache pokaż netcat 
 Pakiet: netcat Priorytet: opcjonalny Sekcja: universe / net Zainstalowany rozmiar: 30 Opiekun: Ubuntu Developers Oryginalny opiekun: Ruben Molina Architektura: wszystkie Wersja: 1.10-40 Zależy: netcat-traditional (> = 1.10-39) Nazwa pliku: pool / wszechświat / n / netcat / netcat_1.10-40_all.deb Rozmiar: 3340 md5: 37c303f02b260481fa4fc9fb8b2c1004 SHA1: 0371a3950d6967480985aa014fbb6fb898bcea3a SHA256: eeecb4c93f03f455d2c3f57b0a1e83b54dbeced0918ae563784e86a37bcc16c9 opis w: TCP / IP, szwajcarski scyzoryk - pakiet przejściowy jest to pakiet "atrapa" zależy lenny to domyślny wersja netcata, aby ułatwić aktualizacje. Można go bezpiecznie usunąć. Opis-md5: 1353f8c1d079348417c2180319bdde09 Błędy: https://bugs.launchpad.net/ubuntu/+filebug Pochodzenie: Ubuntu

Sprawdź wymagane zależności dla pakietów


W takim przypadku używamy showpkg i wyświetla listę wszystkich zależności niezbędnych do poprawnego działania, niezależnie od tego, czy są zainstalowane, czy nie.
 apt-cache showpkg vsftpd
 Pakiet: vsftpd Wersje: 2.3.5-3ubuntu1 (/var/lib/apt/lists/in.archive.ubuntu.com_ubuntu_dists_quantal_main_binary-i386_Packages) Opis Język: Plik: /var/lib/apt/lists/in.archive.ubuntu. com_ubuntu_dists_quantal_main_binary-i386_Packages MD5: 81386f72ac91a5ea48f8db0b023f3f9b Opis Język: pl pliku: /var/lib/apt/lists/in.archive.ubuntu.com_ubuntu_dists_quantal_main_i18n_Translation-en MD5: 81386f72ac91a5ea48f8db0b023f3f9b Odwrócona Wymaga: ubumirror, vsftpd harden-serwerów, vsftpd zależności: 2.3.5- 3ubuntu1 - debconf (18 0.5) debconf-2.0 (0 (null)) upstart-job (0 (null)) libc6 (2 2.15) libcap2 (2 2.10) libpam0g (2 0.99.7.1) libssl1.0.0 (2 1.0.0 ) libwrap0 (2 7.6-4 ~) adduser (0 (null)) libpam-modules (0 (null)) netbase (0 (null)) logrotate (0 (null)) ftp-server (0 (null)) ftp- server (0 (null)) Zapewnia: 2.3.5-3ubuntu1 - ftp-server
W sekcji zależności zostaną one wymienione w przypadku ich posiadania, poda nam wersję, w przeciwnym razie powie null.

Sprawdź statystyki pamięci podręcznej


Wiemy, że polecenie apt-cache zależy od pamięci podręcznej, którą załadowaliśmy, warto wiedzieć, co mamy w naszej pamięci podręcznej, do tego używamy statystyk.
 statystyki apt-cache
 Całkowita liczba nazw pakietów: 51868 (1037 tys.) Całkowita struktura pakietów: 51868 (2490 tys.) Normalne pakiety: 39505 Czyste pakiety wirtualne: 602 Pojedyncze pakiety wirtualne: 3819 Mieszane pakiety wirtualne: 1052 Brakujące: 6890 Łącznie różne wersje: 43015 (2753 tys.) Łącznie odrębne opisy: 81048 (1945 tys.) Łącznie zależności: 252299 (7 ​​064 tys.) Łącznie relacje widoków/plików: 45567 (729 tys.) Łącznie relacje opisów/plików: 81048 (1 297 tys.) Łącznie mapowania: 8228 (165 tys.) Łącznie globbed stringi : 286 (3518) Całkowita przestrzeń dla wersji zależności: 1145 tys.
Widzimy zajętą ​​przestrzeń i liczbę dostępnych pakietów przefiltrowanych według pełnych lub mieszanych.

Aktualizacja systemu pakietów


Używając update synchronizujemy naszą listę pakietów z tymi z oficjalnego repozytorium, więc jeśli dostępna jest nowa wersja ssh, możemy ją zaktualizować.
 aktualizacja sudo apt-get
 Ign http://security.ubuntu.com quantal-security InRelease Uzyskaj: 1 http://security.ubuntu.com quantal-security Release.gpg [933 B] Uzyskaj: 2 http://security.ubuntu.com quantal- Security Release [49.6 kB] Ign http://in.archive.ubuntu.com quantal InRelease Ign http://in.archive.ubuntu.com quantal-updates InRelease Get: 3 http://repo.varnish-cache.org precyzyjne InRelease [13.7 kB] Ign http://in.archive.ubuntu.com quantal-backports InRelease Hit http://in.archive.ubuntu.com quantal Release.gpg Get: 4 http://security.ubuntu.com quantal-security / main Źródła [34,8 kB] Get: 5 http://in.archive.ubuntu.com quantal-updates Release.gpg [933 B] 

Zaktualizuj system operacyjny do najnowszej wersji pakietów.


Jeśli za pomocą apt-update zaktualizujemy listę dostępnych pakietów za pomocą apt-get upgrade, zainstalujemy wszystkie aktualizacje, które są dostępne dla systemu.
 apt-get upgrade
 Odczytywanie list pakietów… Gotowe Budowanie drzewa zależności Odczytywanie informacji o stanie… Gotowe Zachowano następujące pakiety: linux-headers-generic linux-image-generic wine1.5 wine1.5-i386 Następujące pakiety zostaną zaktualizowane: activity-log- manager-wspólny-dziennik-aktywności-menedżer-centrum-kontroli-motyw-adium-ubuntu alacarte alsa-base app-install-data-partner appmenu-gtk appmenu-gtk3 appport apport-gtk apt apt-transport-https apt-utils aptdaemon aptdaemon- dane at-spi2-core bamfdaemon pliki bazowe bind9-host … 
Zaleca się używanie 2 poleceń razem, za pomocą których aktualizujemy listę i pakiety
 aktualizacja sudo apt-get && aktualizacja sudo apt-get

Zaktualizuj system i zainstaluj nowe pakiety, jeśli to konieczne.


Kiedy używamy aktualizacji, instalowane są nowe wersje pakietów i ich zależności, w niektórych przypadkach pakiet wymagający nowej zależności nie zostanie zainstalowany. ostrożnie z tą opcją w środowisku produkcyjnym.
 sudo apt-get dist-upgrade

Jak zainstalować lub zaktualizować określony pakiet?


Dzięki temu unikamy aktualizacji całego systemu i oszczędzamy trochę przepustowości, jeśli chcemy zainstalować tylko jeden pakiet.
 sudo apt-get zainstaluj netcat
 Odczytywanie list pakietów… Gotowe Budowanie drzewa zależności Odczytywanie informacji o stanie… Gotowe Zostaną zainstalowane następujące dodatkowe pakiety: netcat-traditional Zostaną zainstalowane następujące NOWE pakiety: netcat netcat-traditional 0 zaktualizowanych, 2 nowo zainstalowanych, 0 do usunięcia i 328 niezaktualizowanych . Potrzebujesz 67,1 kB archiwów. Po tej operacji wykorzystane zostanie 186 kB dodatkowej przestrzeni dyskowej. Czy chcesz kontynuować [T / n]? y Get: 1 http://in.archive.ubuntu.com/ubuntu/ quantal / universe netcat-traditional i386 1.10-40 [63.8 kB] Get: 2 http://in.archive.ubuntu.com/ubuntu/ quantal / Universe netcat all 1,10-40 [3,340 B] Pobrano 67,1 kB w ciągu 1s (37,5 kB/s) Wybieram wcześniej niezaznaczony pakiet netcat-traditional. (Czytanie bazy danych… 216118 aktualnie zainstalowanych plików i katalogów.) Rozpakowywanie netcat-traditional (z… /netcat-traditional_1.10-40_i386.deb)… Wybieranie wcześniej niewybranego pakietu netcat. Rozpakowywanie netcata (z… /netcat_1.10-40_all.deb)… Przetwarzanie wyzwalaczy dla man-db… Konfigurowanie netcat-traditional (1.10-40)… Konfigurowanie netcat (1.10-40)… 

Zainstaluj wiele pakietów jednocześnie


Musimy nadal używać apt-get install, ale używając pakietów do instalacji jako argumentu.
 sudo apt-get zainstaluj nethogs goaccess
 Odczytywanie list pakietów… Gotowe Budowanie drzewa zależności Odczytywanie informacji o stanie… Gotowe goaccess jest już najnowszą wersją. nethogs to już najnowsza wersja. 0 zaktualizowanych, 0 nowo zainstalowanych, 0 do usunięcia i 328 niezaktualizowanych.

Instaluj pakiety za pomocą Wildcard


Używając wyrażeń regularnych możemy zainstalować kilka pakietów zawierających to samo słowo np. * ssh * install client, server and add-ons.
 sudo apt-get install '* ssh *' 

Zainstaluj pakiety bez aktualizacji.


Używając opcji -no-upgrade zainstalujemy podstawową wersję pakietu, ale nie jego aktualizację.
 sudo apt-get install nazwa_pakietu --no-upgrade
 Odczytywanie list pakietów… Gotowe Budowanie drzewa zależności Odczytywanie informacji o stanie… Gotowe Pomijanie vsftpd, jest już zainstalowany, a aktualizacja nie jest ustawiona. 0 zaktualizowanych, 0 nowo zainstalowanych, 0 do usunięcia i 328 niezaktualizowanych. Zaktualizuj pakiet tylko wtedy, gdy jest zainstalowany. Używamy -only-upgrade do aktualizacji pakietu tylko wtedy, gdy jest zainstalowany, w przeciwnym razie nie instaluje go bardzo przydatne w skryptach. sudo apt-get install nazwa_pakietu --only-upgrade Odczytywanie list pakietów… Gotowe Budowanie drzewa zależności Odczytywanie informacji o stanie… Gotowe vsftpd to już najnowsza wersja. 0 zaktualizowanych, 0 nowo zainstalowanych, 0 do usunięcia i 328 niezaktualizowanych. 

Zaktualizuj pakiet tylko wtedy, gdy jest zainstalowany.


Używamy -only-upgrade do aktualizacji pakietu tylko wtedy, gdy jest zainstalowany, w przeciwnym razie nie instaluje go bardzo przydatne w skryptach.
 sudo apt-get install nazwa_pakietu --only-upgrade
 Czytanie list pakietów… Gotowe Budowanie drzewa zależności Czytanie informacji o stanie… Gotowe vsftpd to już najnowsza wersja. 0 zaktualizowanych, 0 nowo zainstalowanych, 0 do usunięcia i 328 niezaktualizowanych.

Zainstaluj określoną wersję pakietu


Możemy nawet zainstalować konkretną wersję pakietu, jest to powszechna praktyka np. dla javy czy NGINXa.
 sudo apt-get install vsftpd = 2.3.5-3ubuntu1
 Czytanie list pakietów… Gotowe Budowanie drzewa zależności Czytanie informacji o stanie… Gotowe vsftpd to już najnowsza wersja. 0 zaktualizowanych, 0 nowo zainstalowanych, 0 do usunięcia i 328 niezaktualizowanych. 

Usuń pakiet, ale bez dotykania jego konfiguracji


Możemy go wyeliminować, ale zachowując wszystkie jego pliki konfiguracyjne na wypadek, gdybyśmy musieli go zainstalować w przyszłości.
 sudo apt-get usuń vsftpd
 Odczytywanie list pakietów… Gotowe Budowanie drzewa zależności Odczytywanie informacji o stanie… Gotowe Następujące pakiety zostaną USUNIĘTE: vsftpd 0 zaktualizowanych, 0 nowo zainstalowanych, 1 do usunięcia i 328 niezaktualizowanych. Po tej operacji zwolnione zostanie 364 kB miejsca na dysku. Czy chcesz kontynuować [T / n]? y (Odczytywanie bazy danych… 216156 aktualnie zainstalowanych plików i katalogów.) Usuwanie vsftpd… vsftpd stop / czekanie Przetwarzanie wyzwalaczy dla ureadahead… Przetwarzanie wyzwalaczy dla man-db… 

Całkowicie usuń pakiet


Aby usunąć pakiet ze wszystkimi jego plikami i zależnościami, używamy opcji purge.
 sudo apt-get purge vsftpd
 Odczytywanie list pakietów… Gotowe Budowanie drzewa zależności Odczytywanie informacji o stanie… Gotowe Następujące pakiety zostaną USUNIĘTE: vsftpd * 0 zaktualizowanych, 0 nowo zainstalowanych, 1 do usunięcia i 328 niezaktualizowanych. Po tej operacji zostanie wykorzystane 0 B dodatkowego miejsca na dysku. Czy chcesz kontynuować [T / n]? y (Odczytywanie bazy danych… 216107 aktualnie zainstalowanych plików i katalogów.) Usuwanie vsftpd… Czyszczenie plików konfiguracyjnych dla vsftpd… Przetwarzanie wyzwalaczy dla ureadahead… 
Możemy połączyć to z usuwaniem, zawsze polecam tę opcję do czyszczenia.
 sudo apt-get remove --purge vsftpd
 Odczytywanie list pakietów… Gotowe Budowanie drzewa zależności Odczytywanie informacji o stanie… Gotowe Następujące pakiety zostaną USUNIĘTE: vsftpd * 0 zaktualizowanych, 0 nowo zainstalowanych, 1 do usunięcia i 328 niezaktualizowanych. Po tej operacji zwolnione zostanie 364 kB miejsca na dysku. Czy chcesz kontynuować [T / n]? y (Odczytywanie bazy danych… 216156 aktualnie zainstalowanych plików i katalogów.) Usuwanie vsftpd… vsftpd stop / oczekiwania Przeczyszczanie plików konfiguracyjnych dla vsftpd… Przetwarzanie wyzwalaczy dla ureadahead… Przetwarzanie wyzwalaczy dla man-db… 

Wyczyść menedżera pakietów, aby zwolnić miejsce na dysku


Kiedy pobieramy pakiet, plik .deb jest przechowywany jako pamięć podręczna, możemy usunąć wszystkie te pakiety za pomocą opcji clean.
 sudo apt-get clean

Jak pobrać kod źródłowy pakietu?


W niektórych przypadkach nie możemy zainstalować z deb i musimy zainstalować go bezpośrednio kompilując, możemy to zrobić za pomocą -źródła tylko do pobrania
 sudo apt-get -- źródło tylko do pobrania vsftpd
 Odczytywanie list pakietów… Gotowe Budowanie drzewa zależności Odczytywanie informacji o stanie… Gotowe Potrzeba 220 kB archiwów źródłowych. Uzyskaj: 1 http://in.archive.ubuntu.com/ubuntu/ quantal / main vsftpd 2.3.5-3ubuntu1 (dsc) [1,883 B] Uzyskaj: 2 http://in.archive.ubuntu.com/ubuntu/ quantal / main vsftpd 2.3.5-3ubuntu1 (tar) [188 kB] Pobierz: 3 http://in.archive.ubuntu.com/ubuntu/ quantal / main vsftpd 2.3.5-3ubuntu1 (diff) [30.5 kB] Pobrane 220 kB w 4 s (49,1 kB / s) Pobieranie zakończone i tylko w trybie pobierania
W przypadku, gdy chcemy pobrać i skompilować z tego samego apt-get, którego używamy
 sudo apt-get --kompilacja źródła goaccess
 Odczytywanie list pakietów… Gotowe Budowanie drzewa zależności Odczytywanie informacji o stanie… Gotowe Potrzebuję 130 kB archiwów źródłowych. Uzyskaj: 1 http://in.archive.ubuntu.com/ubuntu/ quantal/uniwersum goaccess 1: 0.5-1 (dsc) [1120 B] Uzyskaj: 2 http://in.archive.ubuntu.com/ubuntu/ quantal / universe goaccess 1: 0.5-1 (tar) [127 kB] Pobierz: 3 http://in.archive.ubuntu.com/ubuntu/ quantal / universe goaccess 1: 0.5-1 (różn.) [2,075 B] Pobrane 130 kB w 1s (68,0 kB / s) gpgv: Podpis złożony Wtorek 26 czerwca 2012 09:38:24 AM IST przy użyciu identyfikatora klucza DSA A9FD4821 gpgv: Nie można sprawdzić podpisu: nie znaleziono klucza publicznego dpkg-source: ostrzeżenie: nie udało się zweryfikuj podpis na ./goaccess_0.5-1.dsc dpkg-source: info: rozpakowywanie goaccess w goaccess-0.5 dpkg-source: info: rozpakowywanie goaccess_0.5.orig.tar.gz dpkg-source: info: rozpakowywanie goaccess_0.5 -1.debian.tar.gz dpkg-buildpackage: pakiet źródłowy goaccess dpkg-buildpackage: wersja źródłowa 1: 0.5-1 dpkg-buildpackage: źródło zmienione przez Chrisa Taylora dpkg-buildpackage: architektura hosta i386 dpkg-source --before-build goaccess-0.5 dpkg-checkbuilddeps: Niespełnione zależności kompilacji: debhelper (> = 9) autotools-dev libncurses5-dev lib glib2.0-dev libgeoip-dev autoconf dpkg-buildpackage: ostrzeżenie: zależności kompilacji / konflikty niezadowolone; przerywanie dpkg-buildpackage: ostrzeżenie: (użyj flagi -d, aby zastąpić.)… 

Jak mogę pobrać pakiet bez jego instalowania?


Wiele razy chcemy skonfigurować lokalne REPO, aby dystrybuować je do innych klientów lokalnie i oszczędzać przepustowość, ta opcja jest bardzo przydatna.
 sudo apt-get pobierz nethogs
 Uzyskaj: 1 Pobieranie nethogs 0.8.0-1 [27,1 kB] Pobrane 27,1 kB w 3 s (7506 B / s)

Jak zweryfikować zerwane zależności?


To polecenie jest bardzo przydatne, jeśli potrzebujemy skompilować, ale brakuje nam bibliotek, dzięki czemu możemy zweryfikować i zainstalować brakujące.
 sudo apt-get check
 Odczytywanie list pakietów… Gotowe Budowanie drzewa zależności Odczytywanie informacji o stanie… Gotowe 
Wnioski
Rozmawialiśmy o najbardziej przydatnych opcjach z apt-get i apt-cache, brakuje niektórych, które można zobaczyć za pomocą man apt-get, man apt-cache. Nie trzeba ich zapamiętywać, ale warto mieć tę listę pod ręką. Jeśli pozostawię polecenie lub masz sugestię, nie wahaj się zostawić go w komentarzach.Podobał Ci się i pomógł ten samouczek?Możesz nagrodzić autora, naciskając ten przycisk, aby dać mu pozytywny punkt

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave