Artikel ini menjelaskan cara mengelola paket dengan yum
dalam distribusi berbasis Red Hat® Enterprise Linux®.
Prasyarat
Anda harus memiliki prasyarat berikut:
- Pemahaman dasar tentang Secure Shell (SSH)
- Sudo atau akses administratif ke server Anda
- Server Cloud yang menjalankan Red Hat Enterprise Linux 6 atau lebih baru atau CentOS 6 atau lebih baru
Manajemen paket di Linux
Istilah manajemen paket di Linux menjelaskan penginstalan, penghapusan, atau pembaruan perangkat lunak di server Linux Anda. Paket dibuat dengan menggunakan kode sumber yang menginstal perangkat lunak di server Anda. Paket dikompilasi untuk memudahkan instalasi daripada menginstal setiap komponen dari sumbernya.
Alat paket dalam distribusi RHEL
Distribusi berbasis RHEL® mencakup dua bentuk manajemen paket berikut:
-
rpm
dianggap sebagai alat tingkat rendah yang digunakan untuk menginstal, menghapus, dan mengumpulkan informasi, serta membangun paket untuk diinstal pada server berbasis RHEL. -
yum
dianggap sebagai alat tingkat tinggi yang memiliki fungsi yang sama denganrpm
tetapi juga menyelesaikan ketergantungan untuk memungkinkan pemasangan .rpm . yang lebih lancar paket.
Catatan :Rackspace tidak mendukung penginstalan paket dari sumber.
Menggunakan yum
yum
alat adalah alat utama Anda untuk menginstal dan mengelola perangkat lunak di server Anda.
Kumpulkan informasi
Untuk melihat repositori dari mana yum
menarik paket, jalankan perintah berikut:
yum repolist
Perintah ini mencantumkan repositori yang tersedia di server Anda:
# yum repolist
Loaded plugins: langpacks, product-id, rhnplugin, search-disabled-repos, subscription-manager
This system is receiving updates from RHN Classic or Red Hat Satellite.
repo id repo name status
!drivesrvr drivesrvr 20
epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 13,314
ius/x86_64 IUS for Enterprise Linux 7 - x86_64 609
rackspace Rackspace Monitoring 1
rhel-x86_64-server-7 Red Hat Enterprise Linux Server (v. 7 for 64-bit x86_64) 29,118
rhel-x86_64-server-optional-7 RHEL Server Optional (v. 7 64-bit x86_64) 21,287
repolist: 64,3
Untuk mencari paket dari repositori Anda, gunakan perintah berikut:
yum search <package name>
Catatan :Perintah ini menempatkan semua instance dari <package name>
yang tersedia di repositori Anda. Daftar ini bisa sangat bertele-tele, jadi gunakan nama lengkap paket, jika Anda mengetahuinya, untuk mempersempit pencarian Anda.
Untuk mendapatkan informasi lebih lanjut tentang sebuah paket, gunakan perintah berikut:
yum info <package name>
Perintah ini memberikan beberapa informasi tentang paket. Berikut ini contoh pencarian httpd
paket:
# yum info httpd
Available Packages
Name : httpd
Version : 2.4.43
Release : 1.fc31
Architecture : x86_64
Size : 1.4 M
Source : httpd-2.4.43-1.fc31.src.rpm
Repository : updates
Summary : Apache HTTP Server
URL : https://httpd.apache.org/
License : ASL 2.0
Description : The Apache HTTP Server is a powerful, efficient, and extensible web server.
Untuk melihat paket yang terinstal saat ini, jalankan perintah berikut:
yum list installed
Perintah ini mencantumkan semua paket yang diinstal pada sistem. Daftar ini bisa sangat luas. Jika Anda tahu paket yang Anda cari, Anda dapat menggunakan grep
untuk memfilter pencarian Anda seperti yang ditunjukkan pada contoh berikut:
yum list installed | grep httpd
Perintah ini memberikan daftar yang lebih mudah dikelola:
# yum list installed | grep httpd
httpd.x86_64 2.4.6-93.el7 @rhel-x86_64-server-7
httpd-tools.x86_64 2.4.6-93.el7 @rhel-x86_64-server-
Instal paket
Untuk menginstal sebuah paket, gunakan perintah berikut:
yum install <package>
Perintah ini menanyakan repositori Anda dan menarik paket untuk diinstal. Selama proses instalasi, yum
mencoba menyelesaikan dependensi yang terkait dengan paket yang Anda instal. Jika yum
dapat menyelesaikan dependensi, itu menunjukkan output dan meminta Anda untuk mengkonfirmasi instalasi. Contoh berikut menunjukkan resolusi ketergantungan:
# yum install httpd
Loaded plugins: langpacks, product-id, rhnplugin, search-disabled-repos, subscription-manager
This system is receiving updates from RHN Classic or Red Hat Satellite.
drivesrvr | 2.9 kB 00:00:00
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:2.4.6-93.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
=========================================================================================================================
Package Arch Version Repository Size
=========================================================================================================================
Installing:
httpd x86_64 2.4.6-93.el7 rhel-x86_64-server-7 1.2 M
Transaction Summary
=========================================================================================================================
Install 1 Package
Total download size: 1.2 M
Installed size: 3.7 M
Is this ok [y/d/N]:
Catatan :Saat Anda menginstal httpd
, tidak ada dependensi lain yang diperlukan untuk menginstal paket. Dalam situasi lain, mungkin ada dependensi tambahan yang diperlukan untuk instalasi yang yum
perlu diinstal.Jika yum
tidak dapat menyelesaikan dependensi, output mencantumkan kesalahan. Anda harus menyelesaikan dependensi ini untuk melanjutkan penginstalan.
Perbarui paket
Untuk memperbarui paket yang diinstal, jalankan perintah berikut:
yum update <package>
Perintah ini mencari pembaruan pada repositori untuk paket yang ditentukan, jika tersedia.
Jika ada pembaruan yang tersedia, perintah menunjukkan perubahan dan meminta konfirmasi. Jika tidak, ini memberi tahu Anda bahwa tidak ada yang bisa dilakukan:
# yum update httpd
Loaded plugins: langpacks, product-id, rhnplugin, search-disabled-repos, subscription-manager
This system is receiving updates from RHN Classic or Red Hat Satellite.
drivesrvr | 2.9 kB 00:00:00
No packages marked for update
Anda juga dapat menggunakan perintah berikut untuk memicu pembaruan untuk semua paket di sistem:
yum update
Perintah ini menanyakan repositori untuk pembaruan apa pun pada paket yang diinstal di server Anda.
Penting :Proses ini mencoba memperbarui semua paket pada sistem. Pastikan Anda telah meninjau lingkungan Anda sebelum melanjutkan karena perubahan dapat menyebabkan masalah yang tidak terduga pada aplikasi sebagai akibat dari pembaruan.
Hapus paket
Untuk menghapus paket yang terinstal, gunakan perintah berikut:
yum remove <package name>
Perintah ini memeriksa paket yang diinstal, memberikan output, dan meminta Anda untuk mengonfirmasi perubahan:
# yum remove httpd
Loaded plugins: langpacks, product-id, rhnplugin, search-disabled-repos, subscription-manager
This system is receiving updates from RHN Classic or Red Hat Satellite.
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:2.4.6-93.el7 will be erased
--> Processing Dependency: httpd-mmn = 20120211x8664 for package: mod_php73-7.3.18-1.el7.ius.x86_64
--> Running transaction check
---> Package mod_php73.x86_64 0:7.3.18-1.el7.ius will be erased
--> Finished Dependency Resolution
drivesrvr | 2.9 kB 00:00:00
Dependencies Resolved
======================================================================================================================
Package Arch Version Repository Size
======================================================================================================================
Removing:
httpd x86_64 2.4.6-93.el7 @rhel-x86_64-server-7 3.7 M
Removing for dependencies:
mod_php73 x86_64 7.3.18-1.el7.ius @ius 4.8 M
Transaction Summary
=======================================================================================================================
Remove 1 Package (+1 Dependent package)
Installed size: 8.6 M
Is this ok [y/N]:
Catatan :Saat Anda menghapus httpd
, yum
juga menghapus mod_php73
paket, yang bergantung pada httpd
. Pastikan bahwa menghapus paket tidak berdampak negatif pada bagian lain dari server Anda.
Tinjau riwayat dan kembalikan perubahan
Dalam beberapa kasus, Anda perlu meninjau tindakan yang diambil dengan yum
alat.
Untuk melihat riwayat yum
penggunaan perintah, jalankan perintah berikut:
yum history
Perintah ini memberikan output bernomor yang menunjukkan transaksi yang dilakukan oleh yum
.
# yum history
Loaded plugins: langpacks, product-id, rhnplugin, search-disabled-repos, subscription-manager
This system is receiving updates from RHN Classic or Red Hat Satellite.
ID | Login user | Date and time | Action(s) | Altered
-------------------------------------------------------------------------------
19 | <rack> | 2020-06-09 14:58 | Install | 2
18 | <rack> | 2020-06-09 14:57 | Erase | 2
17 | <rack> | 2020-06-09 14:56 | Install | 1
16 | <rack> | 2020-06-09 14:55 | Install | 4
15 | <rack> | 2020-06-09 14:55 | Erase | 2
14 | <rack> | 2020-06-09 14:54 | Erase | 1
13 | <rack> | 2020-06-09 14:50 | Install | 1
12 | <rack> | 2020-06-09 14:49 | Erase | 2
11 | root <root> | 2020-06-09 10:14 | I, U | 2
10 | root <root> | 2020-06-09 10:14 | Install | 2 EE
9 | <rack> | 2020-06-09 10:14 | Install | 4
8 | root <root> | 2020-06-09 10:14 | Install | 1 EE
7 | <rack> | 2020-06-09 10:14 | Install | 5
6 | root <root> | 2020-06-09 10:13 | Install | 4
5 | root <root> | 2020-06-09 10:13 | I, U | 18 <
4 | System <unset> | 2020-01-15 13:02 | Install | 1 >
3 | System <unset> | 2020-01-15 13:02 | Install | 1
2 | System <unset> | 2020-01-15 13:02 | Erase | 1
1 | System <unset> | 2020-01-15 12:55 | Install | 578
history list
Daftar ini hanya menyediakan tanggal, tindakan, dan nomor paket yang diubah. Untuk mendapatkan informasi lebih lanjut tentang tindakan tertentu, Anda dapat menanyakan ID
dari kolom kiri. Gunakan perintah berikut untuk melihat informasi tentang tindakan:
yum history info <ID>
Menjalankan perintah ini memberikan lebih banyak informasi tentang apa yang terjadi selama transaksi ini:
# yum history info 18
Loaded plugins: langpacks, product-id, rhnplugin, search-disabled-repos, subscription-manager
This system is receiving updates from RHN Classic or Red Hat Satellite.
Transaction ID : 18
Begin time : Tue Jun 9 14:57:12 2020
Begin rpmdb : 609:12b0c5cdd97ae2f0a77a06403b7b16f3d404403c
End time : 14:57:13 2020 (1 seconds)
End rpmdb : 607:784f813e94127f71465085cd9437377514697243
User : <rack>
Return-Code : Success
Command Line : remove httpd
Transaction performed with:
Installed rpm-4.11.3-40.el7.x86_64 @anaconda/7.7
Installed subscription-manager-1.24.13-3.el7_7.x86_64 @base/7.7
Installed yum-3.4.3-167.el7.noarch @rhel-x86_64-server-7
Installed yum-rhn-plugin-2.0.1-10.el7.noarch @anaconda/7.7
Packages Altered:
Erase httpd-2.4.6-93.el7.x86_64 @rhel-x86_64-server-7
Erase mod_php73-7.3.18-1.el7.ius.x86_64 @ius
history info
Jika Anda perlu membatalkan perubahan, Anda harus menggunakan perintah berikut:
yum history undo <ID>
Perintah ini memberikan informasi tentang apa yang diubah oleh tindakan ini dan meminta konfirmasi.
# yum history undo 13
Loaded plugins: langpacks, product-id, rhnplugin, search-disabled-repos, subscription-manager
This system is receiving updates from RHN Classic or Red Hat Satellite.
Undoing transaction 13, from Tue Jun 9 14:50:18 2020
Install httpd-2.4.6-93.el7.x86_64 @rhel-x86_64-server-7
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:2.4.6-93.el7 will be erased
--> Processing Dependency: httpd-mmn = 20120211x8664 for package: mod_php73-7.3.18-1.el7.ius.x86_64
--> Running transaction check
---> Package mod_php73.x86_64 0:7.3.18-1.el7.ius will be erased
--> Finished Dependency Resolution
drivesrvr | 2.9 kB 00:00:00
Dependencies Resolved
======================================================================================================================
Package Arch Version Repository Size
======================================================================================================================
Removing:
httpd x86_64 2.4.6-93.el7 @rhel-x86_64-server-7 3.7 M
Removing for dependencies:
mod_php73 x86_64 7.3.18-1.el7.ius @ius 4.8 M
Transaction Summary
======================================================================================================================
Remove 1 Package (+1 Dependent package)
Installed size: 8.6 M
Is this ok [y/N]:
Jika Anda ingin mengembalikan semua perubahan ke transaksi tertentu, gunakan perintah berikut:
yum history rollback <ID>
Perintah ini menunjukkan kepada Anda apa yang diubah oleh tindakan ini dan meminta konfirmasi. Bergantung pada seberapa jauh Anda ingin melakukan rollback, daftar ini bisa sangat luas. Outputnya mirip dengan contoh berikut:
# yum history rollback 17
Loaded plugins: langpacks, product-id, rhnplugin, search-disabled-repos, subscription-manager
This system is receiving updates from RHN Classic or Red Hat Satellite.
Rollback to transaction 17, from Tue Jun 9 14:56:03 2020
Undoing the following transactions: 18, 19
Reinstall httpd-2.4.6-93.el7.x86_64 @rhel-x86_64-server-7
Reinstall mod_php73-7.3.18-1.el7.ius.x86_64 @ius
drivesrvr | 2.9 kB 00:00:00
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:2.4.6-93.el7 will be reinstalled
---> Package mod_php73.x86_64 0:7.3.18-1.el7.ius will be reinstalled
--> Finished Dependency Resolution
Dependencies Resolved
=====================================================================================================================
Package Arch Version Repository Size
=====================================================================================================================
Reinstalling:
httpd x86_64 2.4.6-93.el7 rhel-x86_64-server-7 1.2 M
mod_php73 x86_64 7.3.18-1.el7.ius ius 1.6 M
Transaction Summary
=====================================================================================================================
Reinstall 2 Packages
Total download size: 2.8 M
Installed size: 8.6 M
Is this ok [y/d/N]:
Informasi lebih lanjut
Ada lebih banyak opsi yang tersedia dalam yum
. Anda dapat melihat berbagai flag dan opsi di Linuxman
halaman untuk yum
di tautan ini:halaman manual yum
Karena yum
perintah membuat perubahan pada sistem, Anda harus selalu memastikan bahwa Anda telah menguji lingkungan Anda sebelum menginstal atau memperbarui paket. Jika memungkinkan, pastikan Anda memiliki gambar yang dapat digunakan untuk dikembalikan jika terjadi masalah pasca-pembaruan.