Jak szukać dostępnych pakietów z wiersza polecenia?

584

Udało mi się zainstalować niektóre pakiety za pomocą wiersza polecenia „sudo apt-get install ...”, kiedy z góry wiedziałem, że te pakiety są dostępne. Ale jak mogę wyszukać lub uzyskać listę tego, co jest dostępne w repozytoriach?

Mark Thomas
źródło

Odpowiedzi:

728

Aby wyszukać konkretny pakiet według nazwy lub opisu:

W wierszu polecenia użyj:

apt-cache search keyword

gdzie słowem kluczowym wyszukiwania może być całość lub część nazwy pakietu lub dowolne słowa użyte w jej opisie.

Na przykład apt-cache search proxyobejmuje oba te pakiety:

tiny proxy - Lekki, niebuforujący proxy, opcjonalnie anonimizujący proxy HTTP
tircd - proxy ircd do interfejsu API Twittera

Uwaga: lista może być długa, więc możesz przesyłać dane wyjściowe w taki lesssposób, aby przewijać je o jedną linię lub jeden ekran na raz, tj apt-cache search something | less.

Aby uzyskać listę WSZYSTKICH pakietów

apt-cache search .

Użyj Synaptic, jeśli masz włączoną funkcję X-forwarding lub pracujesz na komputerze

Synaptic jest często wygodniejszym sposobem na zrobienie tego, ale wymaga przynajmniej serwera X na twoim końcu (chyba że używasz środowiska graficznego). Zainstaluj w sudo apt-get install synapticrazie potrzeby.

  • Synaptic na serwerze ssh'd poprzez przekazywanie X:

    wprowadź opis zdjęcia tutaj

  • Synaptic działa lokalnie na Ubuntu Desktop:

    wprowadź opis zdjęcia tutaj

ish
źródło
@MarkThomas Spróbuj apt-cache policyrównież, daje więcej informacji na temat źródeł.
yclian
jak apt-getmożna po prostu uruchomić apt-cachebez żadnych argumentów i uzyskać krótkie info help / Cheatsheet. Zawsze możesz przeczytać zawarte na nim strony, aby uzyskać dłuższą pomoc. (tj. man apt-cache)
pd12
Zakładając, że jestem na tyle głupi, żeby chcieć wcielić w życie wyniki apt install, czy jest na to sprytny sposób? Dane wyjściowe z tej funkcji są nieporządne. Można użyć pierwszego słowa z każdej linii, ale powinien istnieć łatwiejszy sposób.
Deleet,
możesz także wyszukiwać online. packages.ubuntu.com
activedecay
Jeśli potrzebujesz tylko nazwy wszystkich dostępnych pakietów, po prostu zróbapt-cache pkgnames
flaz14
42

Używając aptitude, apt-cachei aptwszystkie sformatuj dane wyjściowe inaczej. (Żadne z nich nie wymagają użycia sudopodczas wyszukiwania pakietu.) Wolę używać aptze względu na jego czytelność. Podświetla nazwę pakietu i umieszcza spację między różnymi pakietami. Zawiera również [installed]listę obok każdego pakietu, który jest już zainstalowany. Stosowanie:

apt search package-name
jbrock
źródło
2
jeśli uruchomię powiedz „$ apt search firefox”, wygeneruje mnóstwo wyników wyjściowych :(
user3804598
Możesz zawęzić wyszukiwanie za pomocą:apt search firefox | grep -A 3 firefox
jbrock 16.04.18
1
Inna opcja zawęzić wyszukiwanie: apt search ^firefoxlubapt search ^firefox$
jbrock
25

Możesz także użyć aptitude z wiersza poleceń:

aptitude search xxxxxx
lxx
źródło
2
Irytujące jest to, że Ubuntu domyślnie nie daje ci go. Aż do czasu, gdy się dowiedziałem apt-cache, zawsze robiłem to apt-get install aptitudena każdym nowym urządzeniu, które instalowałem. Ponieważ jednak nie mogę znaleźć sposobu, aby apt-cachepokazać mi, czy jest zainstalowany, myślę, że będę musiał to robić jeszcze przez chwilę :-)
2
@paxdiablo Wystarczy utworzyć skrypt powłoki dwuwierszowej (druga linia jakoś dpkg --list | grep "$1") lub dodać funkcję powłoki do tego efektu w swoim .bash_login... :-)
FooF 12.08.16
5

Narzędzie wiersza polecenia apt-cache służy do wyszukiwania pamięci podręcznej pakietu oprogramowania apt. Krótko mówiąc, to narzędzie służy do wyszukiwania pakietów oprogramowania, zbiera informacje o pakietach, a także służy do wyszukiwania dostępnych pakietów, które są gotowe do instalacji w systemach opartych na Debianie lub Ubuntu.

Aby znaleźć nazwę pakietu i jego opis przed instalacją, użyj flagi „szukaj”. Użycie „szukaj” z apt-cache wyświetli listę dopasowanych pakietów z krótkim opisem. Powiedzmy, że chciałbyś znaleźć opis pakietu „vsftpd”, a następnie poleceniem byłoby.

Składnia:

apt-cache search SearchTerm
$ apt-cache search vsftpd

Możliwe wyniki to:

vsftpd - lightweight, efficient FTP server written for security
ccze - A robust, modular log coloriser
ftpd - File Transfer Protocol (FTP) server
yasat - simple stupid audit tool

Aby znaleźć i wyświetlić wszystkie pakiety zaczynające się od „vsftpd”, możesz użyć następującego polecenia.

$ apt-cache pkgnames vsftpd

Możesz także chcieć przeprowadzić wyniki przez więcej, a nawet grep. Na przykład:

apt-cache search firefox | grep plugin
U.Swap
źródło
3

Zakładając, że chcesz to wszystko zrobić z terminala, użyj następujących poleceń:

najpierw polecam zaktualizować pliki indeksu pakietu, aby lista wszystkich plików w repozytorium, które zamierzasz utworzyć, była aktualna

sudo apt-get update

następnie użyj funkcji „ szukaj wyrażenia regularnego”, w apt-cachektórym „wyrażenie regularne” oznacza wyrażenie regularne i jest wzorcem podanym podczas wyszukiwania. Aby uzyskać więcej informacji na temat wzorców wyszukiwania, możesz wyszukać regex ręczny (7) za pomocą polecenia man 7 regexlub w języku angielskim . Regex zmienna równa . wystarczy.

apt-cache search .

Powyższe daje WSZYSTKIE wyniki, ale nie jest w żadnej kolejności, która jest szczególnie pomocna podczas przeglądania.

Wreszcie możemy posortować według kolejności słownikowej, używając sort -di jednocześnie wyświetlać tylko stronę less.

apt-cache search . |sort -d |less
brat-bilo
źródło