Konten file RPM biasanya diinstal. Ini berarti bahwa file RPM disalin ke lokasi yang tepat di sistem file sehingga dapat digunakan. Misalnya, menginstal RPM biner bash menempatkan file “/bin/bash” ke lokasi yang diharapkan. Untuk memasang RPM, gunakan salah satu dari "-i ” atau “-U ” beralih:
$ rpm -ivh bash-3.1-16.1.x86_64.rpm
Daftar file di dalam paket RPM
Anda bisa mendapatkan daftar file di dalam RPM dengan melakukan kueri RPM dan menambahkan "-p ” beralih:
$ rpm -q -l -p bash-3.1-16.1.x86_64.rpm /bin/bash /bin/sh /etc/skel/.bash_logout /etc/skel/.bash_profile /etc/skel/.bashrc ...
Cara Mengekstrak File dari File Paket RPM
Terkadang, Anda mungkin ingin mendapatkan konten dari, atau satu file dari, paket RPM. Untuk melakukannya, Anda dapat menggunakan rpm2cpio alat konversi. Alat rpm2cpio mengekstrak konten sumber atau RPM biner dalam bentuk arsip CPIO, bukan TAR. Output rpm2cpio ditulis ke output standar dan biasanya disalurkan ke perintah cpio.
1. Mencantumkan file dalam file paket
Dalam contoh ini, kami menggunakan -t opsi untuk mengarahkan cpio untuk menghasilkan "daftar isi" dari arsip yang dibuat oleh rpm2cpio. Hal ini dapat mempermudah untuk mendapatkan nama file dan jalur yang tepat saat Anda ingin mengekstrak file.
$ rpm2cpio bash-3.1-16.1.x86_64.rpm | cpio -t
Perhatikan bahwa perintah “rpm -qpl” menunjukkan nama file sebagai path absolut “/bin/bash” tetapi output “cpio -t” menggunakan nama path relatif “./bin/bash” sebagai gantinya. Ini sangat berguna karena Anda dapat menggunakan rpm2cpio sebagai pengguna biasa untuk mengekstrak file yang biasanya diinstal ke direktori istimewa.
Contoh berikut menunjukkan bagaimana output muncul:
$ rpm2cpio bash-3.1-16.1.x86_64.rpm | cpio -t ./bin/bash ./bin/sh ./etc/skel/.bash_logout ./etc/skel/.bash_profile ./etc/skel/.bashrc ... 10510 blocks
2. Mengekstrak satu atau lebih file dari file paket
Gunakan rpm2cpio untuk menghasilkan arsip CPIO, dan gunakan tombol cpio “-i” untuk mengekstrak file yang diinginkan:
$ rpm2cpio bash-3.1-16.1.x86_64.rpm | cpio -ivd ./bin/bash ./bin/bash 10510 blocks
$ ls -l /home/user/bin/bash total 744 -rwxr-xr-x 1 user user 753720 March 1 13:10 bash
Dalam hal ini, opsi “-i “, “-v “, dan “-d ” cpio langsung ke:
-i – Ekstrak satu atau lebih file dari arsip. Nama file yang diminta harus sama persis dengan daftar isi "cpio -t", atau pola wildcard seperti shell. Jika file tujuan sudah ada, cpio akan menolak untuk menimpanya kecuali tombol “-u” ditambahkan ke perintah.
-d – Buat direktori apa pun yang mendahului nama file yang ditentukan dalam perintah cpio. Jika direktori sudah ada, sakelar “-d” dapat dihilangkan tetapi tidak ada salahnya jika selalu ditentukan.
-v – Menampilkan nama file yang diproses, bersama dengan ukuran file arsip CPIO, dalam blok 512-byte. Perhatikan bahwa ukuran ini bukan ukuran paket RPM, yang tidak pernah dilihat secara langsung oleh cpio.
Jika tidak ada nama file yang diberikan, maka semua file RPM akan diekstrak.