Kami sudah tahu cara mendaftar paket yang diinstal dan juga cara mencantumkan dependensi suatu paket di Linux. Hari ini, kita akan melihat cara membuat daftar isi paket di Linux. Tidak masalah apakah paket tersebut diinstal atau tidak. Dimungkinkan untuk membaca konten paket yang diinstal atau tidak diinstal.
Di Linux dan Unix, kebanyakan program biasanya tidak berakhir di satu direktori. Saat Anda menginstal sebuah paket, semua file dalam paket itu tersebar melalui sistem file dan disimpan di jalur yang berbeda. Biasanya, file yang dapat dieksekusi (misalnya binari/skrip) disimpan di direktori '/bin' atau '/usr/bin' atau '/usr/local/bin', file perpustakaan di '/usr/lib', file konfigurasi di '/etc', data statis di '/usr/share', dan seterusnya. Sekarang mari kita cari daftar file dalam sebuah paket dan di mana sebenarnya mereka disimpan di Linux.
Mencantumkan Isi Paket Di Linux
Pertama, kita akan melihat bagaimana membaca isi sebuah paket di sistem berbasis DEB, misalnya Ubuntu.
Mencantumkan isi paket yang terinstal di Ubuntu
Saya sudah menginstal Microsoft Teams paket di desktop Ubuntu 20.04 saya.
Untuk melihat konten paket Microsoft Teams, jalankan saja:
$ dpkg -L teams
Contoh keluaran:
/. /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
Lihat? Output di atas menunjukkan file yang diinstal oleh paket Teams dan lokasinya di sistem Ubuntu saya.
Berikut adalah cara lain untuk melihat isi paket yang terinstal di Ubuntu:
$ dpkg-query -L teams
Mencantumkan isi paket yang tidak diinstal di Ubuntu
Seperti yang sudah saya katakan, perintah di atas menampilkan konten paket yang diinstal. Bagaimana jika paket tidak diinstal dan Anda ingin membaca isinya? Itu mungkin juga! Anda dapat menemukan file mana yang akan diinstal oleh sebuah paket bahkan sebelum menginstalnya.
Pertama-tama unduh file .deb. Saya sudah mengunduh file .deb aplikasi Teams. Pergi ke lokasi tempat Anda mengunduh file .deb dan jalankan perintah berikut untuk melihat isinya:
$ dpkg --contents teams_1.2.00.32451_amd64.deb
Atau,
$ dpkg -c teams_1.2.00.32451_amd64.deb
Contoh keluaran:
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
Atau, Anda dapat melakukannya menggunakan apt-file alat juga.
Instal apt-file seperti gambar di bawah ini jika belum terinstal:
$ sudo apt install apt-file
Jika Anda baru saja menginstal apt-file, cache seluruh sistem mungkin kosong. Anda perlu menjalankan 'apt-file update' sebagai root untuk memperbarui cache. Anda juga dapat menjalankan 'apt-file update' sebagai pengguna biasa untuk menggunakan cache di direktori home pengguna.
Mari kita perbarui cache database menggunakan perintah:
$ sudo apt-file update
Sekarang daftar isi paket yang diinstal, misalnya vim, seperti di bawah ini:
$ apt-file list vim
Contoh keluaran:
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
Alat apt-file juga digunakan untuk mencari paket yang menyediakan file tertentu. Misalnya, temukan paket yang menyediakan alisp.h file dengan perintah:
$ apt-file find alisp.h
Atau,
$ apt-file search alisp.h
Contoh keluaran:
libasound2-dev: /usr/include/alsa/alisp.h
Seperti yang Anda lihat, paket "libasound2-dev" menyediakan file alisp.h.
Untuk lebih jelasnya, lihat tautan berikut.
- Cara Menemukan Paket Yang Menyediakan File Tertentu Di Linux
Ini adalah beberapa cara untuk melihat isi paket dalam sistem berbasis DEB. Sekarang mari kita lihat bagaimana membuat daftar isi paket dalam sistem berbasis RPM, misalnya CentOS.
Mencantumkan isi paket yang diinstal/tidak diinstal di CentOS
Dalam sistem berbasis RPM seperti CentOS, kita dapat menemukan isi paket menggunakan "repoquery" perintah.
Paket "yum-utils" menyediakan perintah repoquery, jadi mari kita instal menggunakan perintah:
$ sudo yum install yum-utils
Sekarang mari kita cari tahu isi paket editor "nano" menggunakan perintah:
# repoquery --installed --list nano
Atau,
# repoquery --list nano
Atau,
# repoquery -l nano
Contoh keluaran:
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
Dengan cara yang sama Anda dapat membuat daftar konten file yang tidak diinstal. Pergi ke lokasi di mana Anda mengunduh file rpm dan lihat isinya seperti di bawah ini:
# repoquery --list nano-2.9.8-1.el8.x86_64.rpm
Bacaan terkait:
- Cara Mengunduh Paket RPM Dengan Semua Ketergantungan Di CentOS
Semoga membantu.