GNU/Linux >> Belajar Linux >  >> Linux

Kelola paket dalam distribusi berbasis RHEL

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 dengan rpm 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.


Linux
  1. Cara Mengelola Paket NodeJS Menggunakan Npm

  2. Apt get command contoh untuk mengelola paket di Ubuntu/Debian

  3. Cara menginstal dan mengelola perangkat lunak di CentOS 7

  1. 20 Contoh Perintah Zypper untuk Mengelola Paket di SUSE Linux

  2. Contoh perintah YUM untuk menginstal, menghapus, dan meningkatkan paket

  3. Distribusi Linux mana yang mendukung TeX Live terbaru dengan pengelola paket?

  1. Panduan Pemula untuk Konfigurasi yum

  2. Hapus sepenuhnya semua paket yang saya instal?

  3. Bagaimana cara mengaktifkan paket tidak bebas di Debian?