Ten artykuł dotyczy wszystkich obsługiwanych wersji Ubuntu
Zarządzanie pakietami za pomocą APT
Zarządzanie pakietami przez apt-get działa równolegle z plikiem /etc/apt/sources.list. Aby uzyskać informacje na temat edycji lub aktualizacji listy źródeł zobacz SourcesList.
Wprowadzenie
Na tej stronie opisano, jak zarządzać pakietami w systemie za pomocą apt-get i powiązanych poleceń. Na przykład, możesz zainstalować nowy pakiet, usunąć zainstalowany pakiet lub zaktualizować wszystkie zainstalowane pakiety do najnowszych wersji.
Komendy
Wszystkie te komendy z wyjątkiem komend wyszukiwania muszą być uruchamiane jako root lub z uprawnieniami superużytkownika, zobacz sudo, aby uzyskać więcej informacji.
-
Przykład:
sudo apt-get install ubuntu-desktop
Polecenia instalacyjne
-
apt-get install <package_name>
To polecenie instaluje nowy pakiet.
-
apt-get build-dep <package_name>
To polecenie przeszukuje repozytoria i instaluje zależności od kompilacji dla <package_name>. Jeśli pakiet nie jest w repozytoriach, zwróci błąd.
-
aptitude install <package_name>
Aptitude jest przeglądarką Ncurses zainstalowanych lub dostępnych pakietów. Aptitude może być używany z wiersza poleceń w podobny sposób jak apt-get. Wpisz man aptitude aby uzyskać więcej informacji.
- APT i aptitude zaakceptują wiele nazw pakietów jako listę z ograniczeniem spacji. Na przykład:
apt-get install <package1_name> <package2_name> <package3_name>
Użyj flagi -s, aby zasymulować działanie. Na przykład: „apt-get -s install <package_name>” zasymuluje instalację pakietu, pokazując, jakie pakiety zostaną zainstalowane i skonfigurowane.
auto-apt
-
auto-apt run <command_string>
To polecenie uruchamia <command_string> pod kontrolą auto-apt. Jeśli program próbuje uzyskać dostęp do pliku, o którym wiadomo, że należy do niezainstalowanego pakietu, auto-apt zainstaluje ten pakiet za pomocą apt-get. Ta funkcja wymaga apt i sudo do działania.
- Auto-apt prowadzi bazy danych, które muszą być aktualizowane, aby były skuteczne. Osiąga się to przez wywołanie poleceń auto-apt update, auto-apt updatedb i auto-apt update-local.
- Przykład użycia
-
Kompilujesz program i nagle pojawia się błąd, ponieważ wymaga on pliku, którego nie masz. Program auto-apt prosi o zainstalowanie pakietów, jeśli są potrzebne, zatrzymując odpowiedni proces i kontynuując go po zainstalowaniu pakietu.
# auto-apt run ./configure
Następnie poprosi o zainstalowanie potrzebnych pakietów i automatycznie wywoła apt-get. Jeśli korzystasz z systemu X, interfejs graficzny zastąpi domyślny interfejs tekstowy.
-
Komendy serwisowe
-
apt-get update
Uruchom to polecenie po zmianie /etc/apt/sources.list lub /etc/apt/preferences . Aby uzyskać informacje dotyczące /etc/apt/preferences, zobacz PinningHowto. Uruchamiaj to polecenie okresowo, aby upewnić się, że lista źródeł jest aktualna. Jest to odpowiednik „Reload” w Synaptic lub „Fetch updates” w Adept.
-
apt-get upgrade
To polecenie aktualizuje wszystkie zainstalowane pakiety. Jest to odpowiednik polecenia „Zaznacz wszystkie aktualizacje” w Synapticu.
-
apt-get dist-upgrade
To samo co powyżej, z wyjątkiem dodania pola wyboru „smart upgrade”. Mówi ono APT aby używał „inteligentnego” systemu rozwiązywania konfliktów, i będzie próbował uaktualnić najważniejsze pakiety kosztem mniej ważnych, jeśli to konieczne.
„apt-get dist-upgrade” nie aktualizuje z poprzedniej wersji Ubuntu. Aby uzyskać więcej informacji na temat aktualizacji z poprzedniej wersji Ubuntu zobacz http://www.ubuntu.com/getubuntu/upgrading .
-
apt-get check
To polecenie jest narzędziem diagnostycznym. Wykonuje aktualizację listy pakietów i sprawdza, czy nie ma uszkodzonych zależności.
-
apt-get -f install
To polecenie robi to samo, co Edit->Napraw uszkodzone pakiety w Synaptic. Zrób to, jeśli dostajesz skargi na pakiety z „niespełnionymi zależnościami”.
-
apt-get autoclean
To polecenie usuwa pliki .deb dla pakietów, które nie są już zainstalowane w systemie. W zależności od twoich nawyków instalacyjnych, usunięcie tych plików z /var/cache/apt/archives może odzyskać znaczną ilość miejsca na dysku.
-
apt-get clean
To samo co powyżej, z wyjątkiem tego, że usuwa wszystkie pakiety z pamięci podręcznej pakietów. Może to nie być pożądane, jeśli masz wolne połączenie internetowe, ponieważ spowoduje to ponowne pobranie pakietów potrzebnych do zainstalowania programu.
-
Podręczna pamięć pakietów znajduje się w /var/cache/apt/archives . Polecenie
du -sh /var/cache/apt/archives
powie Ci, ile miejsca zajmują zbuforowane pakiety.
-
-
dpkg-reconfigure <package_name>
Przekonfiguruj nazwany pakiet. W przypadku wielu pakietów zostaną wyświetlone pytania konfiguracyjne, o których istnieniu mogłeś nie wiedzieć.
-
Na przykład:
dpkg-reconfigure fontconfig-config
zaprezentuje Ci „kreator” dotyczący konfigurowania czcionek w Ubuntu.
-
-
echo "<package_name> hold" | dpkg --set-selections
Ta komenda wstrzymuje wykonanie żądanego pakietu.
-
echo "<package_name> install" | dpkg --set-selections
To polecenie usuwa stan „wstrzymania” lub „zablokowania pakietu” ustawiony przez powyższe polecenie. Uwaga powyżej o użyciu sudo ma zastosowanie do tego polecenia.
Komendy usuwania
-
apt-get remove <package_name>
Ta komenda usuwa zainstalowany pakiet, pozostawiając pliki konfiguracyjne nienaruszone.
-
apt-get purge <package_name>
To polecenie całkowicie usuwa pakiet i powiązane z nim pliki konfiguracyjne. Pliki konfiguracyjne rezydujące w ~ zazwyczaj nie są dotknięte przez to polecenie.
- + operator
-
Jeśli chcesz usunąć pakiet1 i zainstalować pakiet2 w jednym kroku:
apt-get remove <package1> <package2>+
.
-
- + operator
-
apt-get autoremove
To polecenie usuwa pakiety, które zostały zainstalowane przez inne pakiety i nie są już potrzebne.
-
apt-get autoremove <package_name>
To polecenie usuwa zainstalowany pakiet i zależności.
-
-
Mimo, że nie ma wbudowanego sposobu na usunięcie wszystkich informacji o konfiguracji z usuniętych pakietów, możesz usunąć wszystkie dane konfiguracyjne z każdego usuniętego pakietu za pomocą następującego polecenia.
dpkg -l | grep '^rc' | awk '{print $2}' | xargs dpkg --purge
Komendy wyszukiwania
-
apt-cache search <search_term>
Każdy pakiet ma nazwę i opis. To polecenie wyświetla listę pakietów, których nazwa lub opis zawiera <search_term>.
-
dpkg -l *<search_term>*
To znajdzie pakiety, których nazwy zawierają <search_term>. Podobne do apt-cache search, ale pokazuje również czy pakiet jest zainstalowany w systemie poprzez oznaczenie go jako ii (zainstalowany) lub un (niezainstalowany).
-
apt-cache show <package_name>
To polecenie pokazuje opis pakietu <package_name> i inne istotne informacje, w tym wersję, rozmiar, zależności i konflikty.
-
dpkg --print-avail <package_name>
To polecenie jest podobne do „apt-cache show”.
-
dpkg -L <package_name>
To polecenie wyświetli listę plików w pakiecie <package_name>.
-
dpkg -c foo.deb
To polecenie wyświetla listę plików w pakiecie „foo.deb”. Zauważ, że foo.deb jest nazwą ścieżki. Użyj tego polecenia do pakietów .deb, które zostały pobrane ręcznie.
-
dlocate <package_name>
To polecenie określa, który zainstalowany pakiet posiada <package_name>. Pokazuje pliki z zainstalowanych pakietów, które pasują do <package_name>, z nazwą pakietu, z którego pochodzą. Traktuj to jako narzędzie „reverse lookup”.
Aby użyć tego polecenia, pakiet dlocate musi być zainstalowany w twoim systemie.
-
dpkg -S <filename_search_pattern>
To polecenie robi to samo co dlocate, ale nie wymaga instalacji żadnych dodatkowych pakietów. Jest wolniejsze niż dlocate, ale ma tę zaletę, że jest domyślnie zainstalowane na wszystkich systemach Debian i Ubuntu.
-
apt-file search <filename_search_pattern>
To polecenie działa jak dlocate i dpkg -S, ale przeszukuje wszystkie dostępne pakiety. Odpowiada na pytanie, „jaki pakiet dostarcza ten plik?”.
-
apt-file musi być aktualizowany regularnie jak apt-get. Użyj polecenia:
apt-file update
Aby użyć tego polecenia, w systemie musi być zainstalowany pakiet apt-file.
-
-
apt-cache pkgnames
To polecenie wyświetla listę wszystkich pakietów w systemie
-
Ogólna uwaga na temat wyszukiwania: Jeśli wyszukiwanie generuje listę, która jest zbyt długa, możesz filtrować wyniki, przesyłając je przez polecenie grep. Przykłady:
-
apt-cache search <filename> | grep -w <filename>
pokaże tylko pliki, które zawierają <filename> jako całe słowo
-
dpkg -L package | grep /usr/bin
wyświetli pliki znajdujące się w katalogu /usr/bin, przydatne, jeśli szukasz konkretnego pliku wykonywalnego.
-
Aby uzyskać więcej informacji na temat apt-get, apt-cache i dpkg, zajrzyj na ich strony podręczników, używając polecenia man. Podręczniki te dostarczą szerszego zakresu informacji oprócz wszystkich opcji, których możesz użyć z każdym programem.
-
Przykład:
man apt-get
.
Typowy przykład użycia
Chcę poczuć wiatr we włosach, chcę poczuć adrenalinę prędkości. Zainstalujmy więc grę wyścigową. Ale jakie gry wyścigowe są dostępne?
apt-cache search racing game
To daje mi wiele odpowiedzi. Widzę grę o nazwie „torcs”. Uzyskajmy trochę więcej informacji na temat tej gry.
apt-cache show torcs
Hmmm… wydaje się interesująca. Ale czy ta gra nie jest już zainstalowana na moim komputerze? I jaka jest dostępna wersja? Z którego repozytorium pochodzi (Universe czy Main)?
apt-cache policy torcs
Ok, więc teraz, zainstalujmy ją!
apt-get install torcs
Jaką komendę muszę wpisać w konsoli, aby uruchomić tę grę? W tym przykładzie jest to proste („torcs”), ale nie zawsze tak jest. Jednym ze sposobów na znalezienie nazwy binarki jest sprawdzenie, jakie pliki pakiet zainstalował w „/usr/bin”. W przypadku gier, binarka będzie w „/usr/games”. Dla programów administracyjnych, będzie w „/usr/sbin”.
dpkg -L torcs | grep /usr/games/
Pierwsza część polecenia wyświetla wszystkie pliki zainstalowane przez pakiet „torcs” (wypróbuj go). W drugiej części prosimy o wyświetlenie tylko linii zawierających „/usr/games/”.
Hmmm, ta gra jest fajna. Może są tam jakieś dodatkowe ścieżki?
apt-cache search torcs
Ale kończy mi się miejsce. Usunę pamięć podręczną apt!
apt-get clean
Oh nie, moja mama poprosiła mnie o usunięcie wszystkich gier z tego komputera. Ale chcę zachować pliki konfiguracyjne, więc mogę po prostu ponownie zainstalować go później.
apt-get remove torcs
Jeśli chcę również usunąć pliki konfiguracyjne :
apt-get purge torcs
Ustawianie apt-get do używania http-proxy
Oto trzy metody używania apt-get z http-proxy.
Tymczasowa sesja proxy
Jest to tymczasowa metoda, której możesz użyć ręcznie za każdym razem, gdy chcesz użyć apt-get przez http-proxy. Ta metoda jest przydatna, jeśli chcesz tylko tymczasowo używać http-proxy.
Wprowadź tę linię do terminala przed użyciem apt-get (zastąp swoje dane adresami yourproxyaddress i proxyport).
export http_proxy=http://yourproxyaddress:proxyport
Jeśli normalnie używasz sudo do uruchamiania apt-get, będziesz musiał najpierw zalogować się jako root, aby to zadziałało, chyba że dodasz również pewne wyraźne ustawienia środowiska do /etc/sudoers, np.g.
Defaults env_keep = "http_proxy https_proxy ftp_proxy"
Metoda pliku konfiguracyjnego apt
Ta metoda używa pliku apt.conf, który znajduje się w twoim katalogu /etc/apt/. Ta metoda jest przydatna, jeśli chcesz tylko, aby apt-get (a nie inne aplikacje) używał na stałe http-proxy.
W niektórych instalacjach nie będzie ustawionego pliku apt-conf. Ta procedura pozwoli na edycję istniejącego pliku apt-conf lub utworzenie nowego pliku apt-conf.
gksudo gedit /etc/apt/apt.conf
Dodaj tę linię do pliku /etc/apt/apt.conf (zastąp swoje dane adresami yourproxyaddress i proxyport).
Acquire::http::Proxy "http://yourproxyaddress:proxyport";
Zapisz plik apt.conf.
Metoda rc BASH
Ta metoda dodaje dwie linie do twojego pliku .bashrc w katalogu $HOME. Ta metoda jest przydatna, jeśli chcesz, aby apt-get i inne aplikacje, na przykład wget, używały http-proxy.
gedit ~/.bashrc
Dodaj te linie do dolnej części swojego pliku ~/.bashrc (zastąp swoje dane adresami yourproxyaddress i proxyport)
http_proxy=http://yourproxyaddress:proxyportexport http_proxy
Zapisz plik. Zamknij okno terminala, a następnie otwórz inne okno terminala lub źródło pliku ~/.bashrc:
source ~/.bashrc
Sprawdź swoje proxy za pomocą sudo apt-get update i dowolnego narzędzia sieciowego, które chcesz. Możesz użyć firestartera lub conky, aby zobaczyć aktywne połączenia.
Jeśli popełnisz błąd i wrócisz, aby ponownie edytować plik, możesz zamknąć terminal i otworzyć go ponownie lub możesz zmienić źródło ~/.bashrc jak pokazano powyżej.
source ~/.bashrc
Jak zalogować użytkownika proxy
Jeśli potrzebujesz zalogować się do serwera proxy, można to osiągnąć w większości przypadków poprzez użycie następującego układu w określeniu adresu proxy w http-proxy. (Zastąp swoje dane nazwą użytkownika, hasłem, yourproxyaddress i proxyport)
http_proxy=http://username:password@yourproxyaddress:proxyport
Przydatne dodatkowe pakiety
-
Deborphan
-
Debfoster
Dodatkowe linki
-
Repositories/CommandLine
-
PinningHowto
-
AutoDeb
-
Synaptic Package Manager
-
Forum społeczności Ubuntu: Instalacje i Aktualizacje
-
Jak przyspieszyć aktualizacje pakietów używając apt-fast
Troubleshooting
-
https://help.ubuntu.com/community/PackageManagerTroubleshootingProcedure
KategoriaPackageManagement KategoriaCommandLine