GNU/Linux >> Znalost Linux >  >> Linux

Jak vypsat obsah balíčku v Linuxu

Již jsme věděli, jak vypsat nainstalované balíčky a také jak vypsat seznam závislostí balíčku v Linuxu. Dnes uvidíme, jak vypsat obsah balíčku v Linuxu. Nezáleží na tom, zda je balíček nainstalován nebo ne. Je možné číst obsah nainstalovaného nebo nenainstalovaného balíčku.

V Linuxu a Unixu většina programů obvykle nekončí v jednom adresáři. Když nainstalujete balíček, všechny soubory v tomto balíčku jsou rozptýleny v systému souborů a uloženy v různých cestách. Obvykle jsou spustitelné soubory (např. binární soubory/skripty) uloženy v adresářích '/bin' nebo '/usr/bin' nebo '/usr/local/bin', soubory knihoven v '/usr/lib', konfigurační soubory v '/etc', statická data v '/usr/share' a tak dále. Nyní najdeme seznam souborů v balíčku a kde jsou ve skutečnosti uloženy v Linuxu.

Seznam obsahu balíčku v Linuxu

Nejprve uvidíme, jak číst obsah balíčku v systémech založených na DEB, například Ubuntu.

Seznam obsahu nainstalovaného balíčku v Ubuntu

Již jsem nainstaloval Microsoft Teams balíček na mé ploše Ubuntu 20.04.

Chcete-li zobrazit obsah balíčku Microsoft Teams, jednoduše spusťte:

$ dpkg -L teams

Ukázkový výstup:

/.
/usr
/usr/bin
/usr/bin/teams
/usr/share
/usr/share/applications
/usr/share/applications/teams.desktop
/usr/share/pixmaps
/usr/share/pixmaps/teams.png
/usr/share/teams
.
.
.

/usr/share/teams/swiftshader/libEGL.so
/usr/share/teams/swiftshader/libGLESv2.so
/usr/share/teams/teams
/usr/share/teams/v8_context_snapshot.bin

Vidět? Výše uvedený výstup zobrazuje soubory nainstalované balíčkem Teams a jejich umístění v mém systému Ubuntu.

Zde je další způsob, jak zobrazit obsah nainstalovaného balíčku v Ubuntu:

$ dpkg-query -L teams

Vypsat obsah nenainstalovaného balíčku v Ubuntu

Jak jsem již řekl, výše uvedené příkazy zobrazí obsah nainstalovaného balíčku. Co když balíček není nainstalován a chcete si přečíst jeho obsah? I to je možné! Soubory, které balíček nainstaluje, můžete zjistit ještě před jeho instalací.

Nejprve si stáhněte soubor .deb. Již jsem si stáhl soubor .deb aplikace Teams. Přejděte do umístění, kam jste stáhli soubor .deb, a spusťte následující příkaz pro zobrazení jeho obsahu:

$ dpkg --contents teams_1.2.00.32451_amd64.deb

Nebo,

$ dpkg -c teams_1.2.00.32451_amd64.deb

Ukázkový výstup:

drwxr-xr-x root/root         0 2019-11-20 20:55 ./
drwxr-xr-x root/root         0 2019-11-20 20:54 ./usr/
drwxr-xr-x root/root         0 2019-11-20 20:54 ./usr/bin/
-rwxr-xr-x root/root       286 2019-11-20 20:54 ./usr/bin/teams
drwxr-xr-x root/root         0 2019-11-20 20:54 ./usr/share/
drwxr-xr-x root/root         0 2019-11-20 20:54 ./usr/share/applications/
-rw-r--r-- root/root       352 2019-11-20 20:54 ./usr/share/applications/teams.desktop
.
.
.
-rwxr-xr-x root/root    286264 2019-11-20 20:54 ./usr/share/teams/swiftshader/libEGL.so
-rwxr-xr-x root/root   2677296 2019-11-20 20:54 ./usr/share/teams/swiftshader/libGLESv2.so
-rwxr-xr-x root/root 114944384 2019-11-20 20:54 ./usr/share/teams/teams
-rw-r--r-- root/root   1040824 2019-11-20 20:54 ./usr/share/teams/v8_context_snapshot.bin

Případně to můžete provést pomocí apt-file nástroj také.

Nainstalujte apt-file, jak je uvedeno níže, pokud ještě není nainstalován:

$ sudo apt install apt-file

Pokud jste právě nainstalovali apt-file, může být mezipaměť celého systému prázdná. Chcete-li aktualizovat mezipaměť, musíte jako root spustit ‚apt-file update‘. Můžete také spustit „apt-file update“ jako normální uživatel a použít vyrovnávací paměť v domovském adresáři uživatele.

Aktualizujeme mezipaměť databáze pomocí příkazu:

$ sudo apt-file update

Nyní vypište obsah nainstalovaného balíčku, například vim, jako níže:

$ apt-file list vim

Ukázkový výstup:

vim: /usr/bin/vim.basic 
vim: /usr/share/bug/vim/presubj
vim: /usr/share/bug/vim/script
vim: /usr/share/doc/vim/NEWS.Debian.gz
vim: /usr/share/doc/vim/changelog.Debian.gz
vim: /usr/share/doc/vim/copyright
vim: /usr/share/lintian/overrides/vim

Nástroj apt-file se také používá k hledání balíčků, které poskytují konkrétní soubor. Najděte například balíček, který poskytuje alisp.h soubor s příkazem:

$ apt-file find alisp.h

Nebo,

$ apt-file search alisp.h

Ukázkový výstup:

libasound2-dev: /usr/include/alsa/alisp.h

Jak můžete vidět, balíček "libasound2-dev" poskytuje soubor alisp.h.

Další podrobnosti naleznete na následujícím odkazu.

  • Jak najít balíček, který poskytuje konkrétní soubor v Linuxu

Toto je několik způsobů, jak zobrazit obsah balíčku v systémech založených na DEB. Nyní se podívejme, jak vypsat obsah balíčku v systémech založených na RPM, například CentOS.

Seznam obsahu nainstalovaného/nenainstalovaného balíčku v CentOS

V systémech založených na RPM, jako je CentOS, můžeme najít obsah balíčku pomocí "repoquery" příkaz.

Balíček "yum-utils" poskytuje příkaz repoquery, takže jej nainstalujme pomocí příkazu:

$ sudo yum install yum-utils

Nyní zjistíme obsah balíčku editoru "nano" pomocí příkazu:

# repoquery --installed --list nano

Nebo,

# repoquery --list nano

Nebo,

# repoquery -l nano

Ukázkový výstup:

Last metadata expiration check: 0:03:02 ago on Tuesday 16 June 2020 06:01:46 PM IST.
/etc/nanorc
/usr/bin/nano
/usr/bin/rnano
/usr/lib/.build-id
/usr/lib/.build-id/d3
.
.
.
/usr/share/nano/tcl.nanorc
/usr/share/nano/tex.nanorc
/usr/share/nano/texinfo.nanorc
/usr/share/nano/xml.nanorc

Stejným způsobem můžete vypsat obsah nenainstalovaného souboru. Přejděte do umístění, odkud jste stáhli soubor rpm, a zobrazte jeho obsah, jak je uvedeno níže:

# repoquery --list nano-2.9.8-1.el8.x86_64.rpm

Související čtení:

  • Jak stáhnout balíček RPM se všemi závislostmi v CentOS

Doufám, že to pomůže.


Linux
  1. Jak zobrazit seznam všech souborů nainstalovaných balíčkem DEB na Ubuntu/Debian Linux

  2. Jak zobrazit seznam souborů nainstalovaných z RPM nebo DEB balíčku v Linuxu

  3. Jak vypsat seznam závislostí balíčku v Linuxu

  1. Jak vypsat nainstalované balíčky z určitého úložiště v Linuxu

  2. Jak vypsat všechny nainstalované balíčky v Linuxu

  3. Jak najít seznam ovladačů ODBC nainstalovaných v Linuxu

  1. Jak zobrazit seznam nainstalovaných balíčků na Ubuntu

  2. Jak zjistit nainstalovanou verzi Redhat Linuxu

  3. Jak vypsat všechny nainstalované balíčky ve fedoře s časem instalace