GNU/Linux >> Znalost Linux >  >> Linux

Spravujte balíčky v distribucích založených na RHEL

Tento článek popisuje, jak spravovat balíčky pomocí yum v distribucích založených na Red Hat® Enterprise Linux®.

Předpoklady

Musíte mít následující předpoklady:

  • Základní pochopení Secure Shell (SSH)
  • Sudo nebo administrativní přístup k vašemu serveru
  • Cloudový server se systémem Red Hat Enterprise Linux 6 nebo novějším nebo CentOS 6 nebo novějším

Správa balíčků v systému Linux

Termín správa balíků v Linuxu popisuje instalaci, odebrání nebo aktualizaci softwaru na vašem linuxovém serveru. Balíčky jsou vytvářeny pomocí zdrojového kódu, který instaluje část softwaru na váš server. Balíčky jsou kompilovány tak, aby umožňovaly snadnou instalaci namísto instalace jednotlivých komponent ze zdroje.

Nástroje balíčků v distribucích RHEL

Distribuce založené na RHEL® zahrnují následující dvě formy správy balíčků:

  • rpm je považován za nízkoúrovňový nástroj používaný k instalaci, odstraňování a shromažďování informací a také k sestavení balíčků pro instalaci na server založený na RHEL.

  • yum je považován za nástroj na vysoké úrovni, který má stejné funkce jako rpm ale také řeší závislosti a umožňuje hladší instalaci .rpm balíčky.

Poznámka :Rackspace nepodporuje instalaci balíčků ze zdroje.

Pomocí yum

yum tool je váš primární nástroj pro instalaci a správu softwaru na vašem serveru.

Shromáždit informace

Chcete-li zobrazit úložiště, ze kterých yum stáhne balíčky, spusťte následující příkaz:

yum repolist

Tento příkaz uvádí seznam úložišť dostupných na vašem serveru:

# 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

Chcete-li vyhledat balíček z vašich úložišť, použijte následující příkaz:

yum search <package name>

Poznámka :Tento příkaz vyhledá všechny instance <package name> které jsou k dispozici ve vašich úložištích. Tento seznam může být velmi podrobný, takže pro zúžení vyhledávání použijte celý název balíčku, pokud jej znáte.

Chcete-li získat další informace o balíčku, použijte následující příkaz:

yum info <package name> 

Tento příkaz poskytuje některé informace o balíčku. Zde je příklad hledání httpd balíček:

# 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.

Chcete-li zobrazit aktuálně nainstalované balíčky, spusťte následující příkaz:

yum list installed

Tento příkaz zobrazí seznam všech balíčků nainstalovaných v systému. Tento seznam může být rozsáhlý. Pokud znáte balíček, který hledáte, můžete použít grep pro filtrování vyhledávání, jak je uvedeno v následujícím příkladu:

yum list installed | grep httpd

Tento příkaz poskytuje přehlednější seznam:

# 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-

Instalovat balíčky

Chcete-li nainstalovat balíček, použijte následující příkaz:

yum install <package>

Tento příkaz se dotáže na vaše úložiště a stáhne balíček k instalaci. Během procesu instalace yum se pokusí vyřešit závislosti spojené s balíčkem, který instalujete. Pokud yum dokáže vyřešit závislosti, zobrazí výstup a požádá vás o potvrzení instalace. Následující příklad ukazuje rozlišení závislostí:

# 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]:

Poznámka :Při instalaci httpd , k instalaci balíčku nejsou potřeba žádné další závislosti. V jiných situacích mohou být pro instalaci vyžadovány další závislosti, které yum potřebuje nainstalovat.Pokud yum nemůže vyřešit závislosti, výstup uvádí chyby. Chcete-li pokračovat v instalaci, musíte tyto závislosti vyřešit.

Aktualizovat balíčky

Chcete-li aktualizovat nainstalovaný balíček, spusťte následující příkaz:

yum update <package>

Tento příkaz vyhledá v úložišti aktualizace zadaného balíčku, pokud jsou k dispozici.

Pokud je k dispozici aktualizace, příkaz zobrazí změnu a požádá o potvrzení. Jinak vás informuje, že není co dělat:

# 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 

Ke spuštění aktualizace pro všechny balíčky v systému můžete také použít následující příkaz:

yum update

Tento příkaz se dotáže repozitářů na případné aktualizace balíčků nainstalovaných na vašem serveru.

Důležité :Tento proces se pokusí aktualizovat všechny balíčky v systému. Než budete pokračovat, ujistěte se, že jste zkontrolovali své prostředí, protože změny mohou v důsledku aktualizací způsobit neočekávané problémy s aplikacemi.

Odebrat balíčky

Chcete-li odebrat nainstalovaný balíček, použijte následující příkaz:

yum remove <package name>

Tento příkaz zkontroluje nainstalované balíčky, poskytne výstup a požádá vás o potvrzení změny:

# 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]:

Poznámka :Když odeberete httpd , yum také odstraní mod_php73 balíček, který závisí na httpd . Ujistěte se, že odstranění balíčku nemá negativní dopad na ostatní části vašeho serveru.

Kontrola historie a vrácení změn

V některých případech je třeba zkontrolovat akce provedené pomocí yum nástroj.

Chcete-li zobrazit historii yum použití příkazu, spusťte následující příkaz:

yum history

Tento příkaz poskytuje očíslovaný výstup, který ukazuje transakce provedené 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

Tento seznam obsahuje pouze datum, akci a číslo změněného balíčku. Chcete-li získat další informace o konkrétní akci, můžete se zeptat na ID z levého sloupce. Pro zobrazení informací o akci použijte následující příkaz:

   yum history info <ID>

Spuštění tohoto příkazu poskytuje další informace o tom, co se stalo během této transakce:

# 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

Pokud potřebujete vrátit zpět změnu, musíte použít následující příkaz:

yum history undo <ID>

Tento příkaz poskytuje informace o tom, co tato akce mění, a žádá o potvrzení.

# 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]:

Pokud chcete vrátit zpět všechny změny konkrétní transakce, použijte následující příkaz:

yum history rollback <ID>

Tento příkaz vám ukáže, co tato akce změní, a požádá o potvrzení. V závislosti na tom, do jaké míry chcete vrátit zpět, může být tento seznam rozsáhlý. Výstup je podobný následujícímu příkladu:

# 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]:

Další informace

V rámci yum je k dispozici více možností . Různé příznaky a možnosti si můžete prohlédnout v Linuxman stránka pro yum na tomto odkazu:yum man page

Protože yum provede změny v systému, měli byste se vždy před instalací nebo aktualizací balíčků ujistit, že jste své prostředí otestovali. Pokud je to možné, ujistěte se, že máte použitelný obrázek, ke kterému se můžete vrátit v případě jakýchkoli problémů po aktualizaci.


Linux
  1. Jak spravovat balíčky NodeJS pomocí Npm

  2. Jak nainstalovat a spravovat software na CentOS 7

  3. Průvodce pro začátečníky ke konfiguraci yum

  1. Apt get příklady příkazů pro správu balíčků na Ubuntu/Debianu

  2. Odebrat úplně všechny balíčky, které jsem nainstaloval?

  3. Jak povolím v Debianu balíčky, které nejsou zdarma?

  1. 20 Příklady příkazů Zypper pro správu balíčků v systému SUSE Linux

  2. Příklady příkazů YUM pro instalaci, odstranění a upgrade balíčků

  3. Které linuxové distribuce podporují nejnovější TeX Live se správcem balíčků?