Tento článek vysvětluje, jak vypsat seznam všech dostupných balíčků (nainstalovaných a dostupných pro instalaci) v repozitáři Ubuntu, Linux Mint nebo Debianu, ať už jde o oficiální repozitář nebo zdroj třetí strany, jako je PPA a tak dále.
Níže jsou uvedeny 2 způsoby, jak vypsat balíčky z úložiště:přes GUI nebo přes příkazový řádek.
Ze stejné série:
- Jak zabránit aktualizaci balíčku v Ubuntu, Debianu nebo Linux Mintu [APT]
- Jak najít dostupné balíčky z příkazového řádku v Debianu, Ubuntu nebo Linux Mintu [APT]
Seznam všech balíčků v úložišti Debian, Ubuntu nebo Linux Mint s GUI
Pokud chcete vypsat všechny balíčky v úložišti na ploše, můžete použít Správce balíčků Synaptic.
Synaptic je grafická aplikace pro správu balíčků pro APT (APT je hlavní správce balíčků příkazového řádku pro Debian a jeho deriváty).
Pokud nemáte nainstalovaný Synaptic, můžete jej nainstalovat do Debianu, Ubuntu a jakékoli distribuce Linuxu založeného na Debianu nebo Ubuntu, včetně základních operačních systémů, Linux Mint atd., pomocí tohoto příkazu:
sudo apt install synaptic
Chcete-li zobrazit všechny balíčky v konkrétním softwarovém úložišti pomocí Synaptic, spusťte aplikaci a klikněte na Origin
v levé dolní části okna. Dále vyberte úložiště, pro které chcete vypsat všechny dostupné balíčky (nainstalované i dostupné pro instalaci) ze seznamu zobrazeného na levé straně Správce balíčků Synaptic.
Zde je například Synaptic, který zobrazuje všechny balíčky dostupné v úložišti Google a uvádí Google Chrome Stable, Beta a Unstable a také Google Earth Pro a EC:
Jak vidíte, jsou zde uvedeny všechny zdroje softwaru, včetně oficiálních repozitářů.
Podporovány jsou také repozitáře Launchpad PPA. Jejich název začíná na LP-PPA, po kterém následuje skutečný název PPA. Synaptic uvádí 2 záznamy pro každý PPA – ujistěte se, že jste vybrali záznam PPA, který končí /ubuntu-codename
, například /bionic
, /cosmic
, atd. Záznam s koncovkou /now
neuvádí všechny dostupné balíčky v PPA.
Toto je snímek obrazovky zobrazující všechny balíčky dostupné v Ubuntu Graphics Drivers PPA (pro Ubuntu 18.10 Cosmic Cuttlefish, protože to je to, co používám), včetně těch nainstalovaných v mém systému:
Nejsem si jistý proč, ale některé balíčky jsou uvedeny vícekrát pro zdroje PPA (a pouze pro úložiště PPA). Jedná se pouze o displej a nenarušuje žádnou funkci.
Vypsat všechny balíčky v úložišti v Ubuntu, Debianu nebo Linux Mintu z příkazového řádku
Výpis všech balíčků v úložišti z příkazového řádku v Ubuntu, Debianu nebo Linux Mintu je trochu složitější, ale stále poměrně snadné.
Existuje několik způsobů, jak to provést prostřednictvím příkazu, ale uvedu pouze jeden. Příkaz pro výpis všech dostupných balíčků v repository-name
je následující:
grep ^Package /var/lib/apt/lists/repository-name*_Packages | awk '{print $2}' | sort -u
Vysvětlím, jak získat název úložiště. zjistí /var/list/apt/lists
a jak ji používat. Předtím vysvětlím, co tento příkaz dělá:
-
grep ^Package ...
hledá řádky, které začínají^Package
provedením/var/lib/apt/lists/*_Packages
soubor -
awk '{print $2}'
vypíše druhý sloupec pro každý řádek (tím se odfiltruje vše kromě názvu balíčku) -
sort -u
seřadí řádky a vypíše pouze jedinečné řádky (odstraní duplikáty)
První věc, kterou musíte udělat, je najít název úložiště *_Packages
Soubor z /var/lib/apt/lists/
. Můžete vypsat všechna úložiště _Packages
Soubory dostupné v /var/lib/apt/lists/
s jednoduchým ls
:
ls /var/lib/apt/lists/*_Packages
Protože výsledky mohou být velmi dlouhé, můžete výstup příkazu spustit pomocí more
pro snadnější čtení:
ls /var/lib/apt/lists/*_Packages | more
Pokud znáte část názvu úložiště (používám KEYWORD
v níže uvedeném příkazu jako název), můžete použít ls
Výsledky s grep
, takto:
ls /var/lib/apt/lists/*_Packages | grep KEYWORD
Předpokládejme, že chcete vypsat všechny balíčky v oficiálním úložišti Tor a víte, že název úložiště musí obsahovat tor
. V takovém případě byste pomocí tohoto příkazu zjistili _Packages
Název souboru /var/lib/apt/lists/
ls /var/lib/apt/lists/*_Packages | grep tor
Díky rychlým dotazům můžete vidět některá nesouvisející úložiště, ale stále je snazší vidět, co hledáte. grep
než vypsat všechna úložiště _Packages
Soubory.
Nyní, když znáte _Packages
název_souboru, můžete vypsat všechny balíčky dostupné v tomto úložišti spuštěním tohoto příkazu:
grep ^Package /var/lib/apt/lists/some-repository-amd64_Packages | awk '{print $2}' | sort -u
Použijte soubor s architekturou, pro kterou chcete vypsat všechny dostupné balíčky v tomto úložišti. Výše uvedený příklad je pro 64bit (amd64
), ale můžete jej použít i386
pro 32bit atd.
Nepotřebujete celé úložiště _Packages
Název souboru. Zpět k mému příkladu úložiště Tor, _Packages
Název souboru pro Tor je deb.torproject.org_torproject.org_dists_cosmic_main_binary-amd64_Packages
. V takovém případě můžete použít deb.torproject
následuje *_Packages
pro zjednodušení takto:
grep ^Package /var/lib/apt/lists/deb.torproject*_Packages | awk '{print $2}' | sort -u
Výsledkem je následující:
deb.torproject.org-keyring
tor
tor-geoipdb
Další příklad. Předpokládejme, že chcete všechny dostupné balíčky v Linux Uprising Oracle Java 11 PPA (ppa:linuxuprising/java
). Můžete je vypsat pomocí:
grep ^Package /var/lib/apt/lists/ppa.launchpad.net_linuxuprising_java*_Packages | awk '{print $2}' | sort -u
Výsledkem je toto:
oracle-java11-installer
oracle-java11-set-default
Chcete-li to použít s jinými repozitáři PPA, nahraďte linuxuprising
s první částí názvu PPA a java
s druhou částí názvu PPA a příkaz vypíše všechny balíčky z tohoto PPA (nainstalované i nenainstalované).
Můžete také zobrazit seznam všech balíčků dostupných ve všech úložištích PPA, která jste přidali do svého systému, pomocí:
grep ^Package /var/lib/apt/lists/ppa.launchpad.net*_Packages | awk '{print $2}' | sort -u
Pro snadný přístup si můžete tento příkaz uložit do záložek pomocí Správce záložek pro příkazy značek (i když se primárně používá pro vyhledávání, HSTR může také používat záložky pro příkazy).