GNU/Linux >> Belajar Linux >  >> Cent OS

Panduan Pemula untuk Manajemen Perangkat Lunak Linux dengan RPM

Memelihara Software Menggunakan RPM (Red Hat Package Manager)

RPM adalah manajer perangkat lunak yang kuat yang dapat digunakan untuk membangun, menginstal, menanyakan, memverifikasi, memperbarui, dan menghapus paket perangkat lunak individual. Paket RPM terdiri dari arsip file, dan informasi paket seperti nama, versi, deskripsi, dan informasi tentang dependensi pada paket RPM lainnya.

RPM lebih dari sekadar alat khusus Red Hat. Banyak distro modern lainnya, seperti Ubuntu dan SuSE, juga menggunakan RPM. Manfaat menggunakan RPM meliputi:

  • Distribusi, pemasangan, peningkatan, dan penghapusan perangkat lunak yang disederhanakan
  • Menjamin bahwa:
    • perangkat lunak prasyarat diinstal pada sistem.
    • versi perangkat lunak prasyarat tetap kompatibel.
    • file konfigurasi yang dimodifikasi secara lokal tidak diblokir saat RPM diperbarui.
    • File konfigurasi yang dimodifikasi secara lokal disimpan dengan akhiran “.rpmsave” jika paket tersebut kemudian dihapus.
  • Memungkinkan sertifikasi bahwa perangkat lunak yang diinstal tidak diubah, dimodifikasi, dirusak, atau diubah dengan cara apa pun.

RPM menyimpan informasi tentang paket yang diinstal di bawah direktori “/var/lib/rpm”. Komponen alat RPM adalah:

  • Basis data khusus yang berisi informasi tentang semua perangkat lunak yang diinstal pada sistem, dikumpulkan dari RPM individu.
  • A “/bin/rpm” dapat dieksekusi.
  • Repositori yang dapat diakses internet dari paket RPM yang tersedia.

Jenis Paket RPM

Paket RPM tersedia dalam dua kategori:
1. sumber
2. biner

RPM Sumber

RPM sumber selalu dapat dikenali karena nama file diakhiri dengan string “.src.rpm”. Dalam RPM sumber tidak hanya file kode sumber program asli tetapi skrip yang memungkinkan kode dikompilasi ulang secara otomatis, diinstal secara otomatis, dan dihapus secara otomatis. Tidak ada file yang dapat dieksekusi pengguna akhir dalam RPM sumber. Biasanya, hanya pengembang yang tertarik dengan RPM sumber.

RPM Biner

RPM biner berisi komponen pengguna akhir dari RPM. Nama file RPM biner mengidentifikasi arsitektur host untuk konten. Misalnya, file RPM biner:

bash-3.1-16.1.x86_64.rpm

– berisi file yang hanya dapat digunakan pada CPU arsitektur Intel X86 64-bit. Nilai arsitektur umum lainnya termasuk "i386" untuk host Intel 32-bit. Beberapa RPM biner dapat diinstal pada arsitektur CPU apa pun karena file mereka akan berfungsi di host mana pun; contoh paket “.noarch.rpm” ini adalah RPM “tzdata” yang berisi informasi tentang zona waktu dunia. Untuk memperbarui sistem Anda ke versi terbaru dari sebuah paket, Anda memerlukan RPM biner terbaru untuk itu.

Skema Penamaan RPM

Setiap paket RPM terkandung dalam satu file. Nama file memiliki beberapa bidang untuk sepenuhnya mengidentifikasi isi paket. Meskipun alat RPM itu sendiri tidak bergantung pada nama file itu sendiri, Anda harus memahami konvensi nama file untuk membantu Anda mengidentifikasi atau mengunduh paket yang tepat.

Berikut adalah contoh nama file RPM:

bash-3.1-16.1.x86_64.rpm

RPM ini untuk shell BASH (“/bin/bash”). Nama file terdiri dari beberapa bagian:

[name]-[version]-[release].[arch].rpm

dimana:

  • [nama] adalah nama program atau paket. [nama] biasanya diberikan oleh pembuat program. Dalam contoh kami, pengembang memutuskan untuk menamai produk mereka "bash" karena alasan yang tampak lucu bagi mereka.
  • [versi] mengidentifikasi edisi perangkat lunak mana yang terdapat dalam RPM ini. Nomor [versi] ditetapkan oleh pembuat program. Menggunakan nomor [versi] memungkinkan seseorang untuk menentukan versi sumber penulis mana yang digunakan untuk menghasilkan RPM.
  • [rilis] memberikan nomor edisi file RPM itu sendiri dan bukan versi file sumber penulis. RPM yang diperbarui dapat dikeluarkan untuk menyediakan versi yang ditambal dari perangkat lunak asli pembuatnya. Patch tidak harus berasal dari pengembang asli, jadi RPM [rilis] akan bertambah, bukan [versi].
  • [lengkungan] menjelaskan isi RPM dan memberitahu apakah file ini berisi sumber produk (".src.rpm"), file arsitektur-independen (".noarch.rpm"), atau file yang hanya dapat diinstal pada host tertentu ketik (".sh.rpm" hanya akan berfungsi pada prosesor tertanam STRONGHOLD).
Catatan :[versi] dikendalikan oleh penulis asli dan [rilis] dikendalikan oleh siapa pun yang membuat RPM.

Memasang dan Menghapus File

Biasanya hanya satu [versi] atau [rilis] RPM yang dapat diinstal sekaligus. Versi yang lebih baru biasanya diinstal menggunakan fungsi RPM “-U” (pembaruan) alih-alih fungsi RPM “-i”. Pengecualian umum untuk satu-satunya aturan RPM adalah RPM kernel. Sebuah sistem biasanya memiliki beberapa versi kernel yang diinstal; RPM memiliki daftar RPM yang mungkin memiliki beberapa versi yang diinstal. Untuk menghapus satu versi saat beberapa versi diinstal, Anda harus menentukan nama dan versi paket secara lengkap.

Pada arsitektur x86_64, adalah umum untuk menginstal paket RPM 32-bit “.i386” dan 64-bit “.x86_64” untuk mendukung aplikasi 32-bit dan 64-bit. Biasanya, RPM tidak menampilkan arsitektur paket pada kueri tetapi Anda dapat menampilkannya secara manual.

Pemasangan dan Penghapusan

  • rpm -i atau –install ### (instal RPM baru; error jika sudah diinstal)
  • rpm -U atau –upgrade ### (hapus RPM yang ada, jika ada; instal baru)
  • rpm -F atau –menyegarkan ### (perbarui RPM hanya jika paket sudah diinstal)
  • rpm -e atau –erase ### (hapus, hapus, hapus)

Opsi Umum

  • Keluaran :-v (verbose – nama file), -h (hash)
  • Prasyarat :–nodeps, –replacefiles, –force (HATI-HATI DI SINI !!!)
  • Relokasi :–excludepath, –prefix, –relocate, –badreloc, –root
  • Dukungan URL :ftp, http

Contoh:

rpm -ivh binutils-2.11.90.0.8-12.i386.rpm
rpm -Uvh finger-0.17-9-i386.rpm
rpm -Fvh ftp://updates.redhat.com/current/i386/*.rpm
rpm -e diffutils
rpm -e kernel-enterprise-2.4.9-e.12

Kiat dan Trik

– Jangan pernah menggunakan opsi “-U” untuk menginstal RPM kernel baru.
– Fungsi pembaruan “-U” pertama-tama menghapus RPM saat ini dari sistem dan kemudian mencoba menginstal RPM baru. Masalah apa pun yang mencegah pemasangan RPM baru akan membuat sistem tidak dapat di-boot. Ini bukan yang Anda inginkan, jadi selalu gunakan sakelar “-i” untuk menginstal RPM kernel.

Contoh perintah RPM untuk menanyakan, menginstal, menghapus, dan meningkatkan paket

Permintaan (Paket dan/atau Informasi)

Gunakan kueri untuk informasi tentang paket yang diinstal. Anda dapat melakukan kueri terhadap semua paket yang diinstal, atau satu paket yang diinstal. Anda juga dapat mengetahui RPM mana yang memasok file tertentu.

  • rpm -q [paket] [informasi]
  • rpm -qa
  • rpm -q package_name
  • rpm -qf [nama file]
  • rpm -qp [nama file paket]

Informasi

default (nama paket)
-i :informasi umum
-l :daftar file

Contoh:

rpm -qa
rpm -q kernel -i (information)
rpm -q kernel -l (files contained in package)
rpm -q kernel --requires (prereqs)
rpm -q kernel --provides (capabilities provided by package)
rpm -q kernel --scripts (scripts run during installation and removal)
rpm -q kernel --changelog (revision history)
rpm -q kernel -queryformat format (rpm --querytags for list of options)

Kiat dan Trik

– Saat mencari paket RPM tertentu ketika nama persisnya tidak diketahui, saluran perintah seperti:

$ rpm -qa | grep foo

umum digunakan. Versi alat RPM yang lebih baru memungkinkan ini dilakukan secara ringkas sebagai:

$ rpm -qa '*foo*'

Kueri – Verifikasi (File)

Database RPM berisi banyak atribut tentang setiap file yang diinstal oleh RPM. Anda dapat memverifikasi status file saat ini terhadap informasi yang dikatalogkan oleh RPM saat paket diinstal.

  • rpm -V package_name
  • rpm -Va (verifikasi semua)
  • rpm -Vf (nama file)
  • rpm -Vp (nama file paket)

Banyak distribusi Linux menyertakan “prelink ” RPM yang berupaya mengurangi waktu yang diperlukan untuk memulai aplikasi menggunakan pustaka bersama (sebagian besar aplikasi menggunakan setidaknya satu pustaka bersama dan berpotensi lusinan) dengan menambahkan informasi khusus langsung ke file program aplikasi.

Menambahkan informasi ini memang membuat aplikasi mulai lebih cepat, tetapi perubahan file membatalkan sebagian besar atribut file dalam database RPM, seperti tanggal modifikasi file terakhir, ukuran file, dan checksum MD5 file.

Permintaan – Verifikasi (Paket)

Berikut adalah beberapa kueri RPM untuk verifikasi paket.

  • rpm -import /mnt/cdrom/RPM-GPG-KEY
  • rpm -q gpg-pubkey
  • rpm –checksig m4-1.4.1-11.i386.rpm

Contoh:

rpm -qf /path/filename (what package owns filename)
rpm -qf /path/filename -i (what does it do)
rpm -qp m4-1.4.1-11.i386.rpm -l (files in m4)
rpm -qp m4-1.4.1-11.i386.rpm --requires (prereqs needed to install m4)
rpm -q --whatprovides glibc.so (what package provides requisite library)


Cent OS
  1. Manajemen paket Linux dengan apt

  2. Cara mengenkripsi file dengan gocryptfs di Linux

  3. Perintah RPM Linux dengan 10 Contoh Berguna

  1. Bekerja dengan file ZIP di Linux

  2. Panduan pemula untuk Konfigurasi Modul Kernel di Linux

  3. Panduan Pemula untuk Swap Space Management di Linux

  1. Panduan untuk memahami pustaka perangkat lunak Linux di C

  2. Panduan Pemula untuk Udev di Linux

  3. Cara Mengatasi Masalah Performa di Linux – Panduan Pemula