Amministratore Linux: gestione dei pacchetti

La gestione dei pacchetti in CentOS può essere eseguita in due modi: dal terminale e dall'interfaccia utente grafica.

Il più delle volte la maggior parte del tempo di un amministratore di CentOS utilizzerà il terminale. L'aggiornamento e l'installazione dei pacchetti per CentOS non è diverso. Con questo in mente, esploreremo prima la gestione dei pacchetti nel terminale, quindi toccheremo l'utilizzo dello strumento grafico di gestione dei pacchetti fornito da CentOS.

Gestore pacchetti YUM

YUM è lo strumento fornito per la gestione dei pacchetti in CentOS. Abbiamo toccato brevemente questo argomento nei capitoli precedenti. In questo capitolo, lavoreremo da un'installazione CentOS pulita. Prima aggiorneremo completamente la nostra installazione e poi installeremo un'applicazione.

YUM ha portato l'installazione e la gestione del software in Linux molto lontano. YUM verifica "automaticamente" la presenza di dipendenze obsolete, oltre a pacchetti obsoleti, cosa che ha davvero tolto un carico all'amministratore di CentOS rispetto ai vecchi tempi di compilazione di ogni applicazione dal codice sorgente.

yum check-update

Verifica la presenza di pacchetti in grado di aggiornare i candidati. Per questo tutorial, supporremo che si tratti di un sistema di produzione che dovrà affrontare Internet senza applicazioni di produzione che devono essere testate da DevOps prima di aggiornare i pacchetti. Ora installiamo i candidati aggiornati nel sistema.

[root@localhost rdc]# yum check-update
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.scalabledns.com
 * extras: mirror.scalabledns.com
 * updates: mirror.clarkson.edu
NetworkManager.x86_64                     1:1.4.0-19.el7_3              updates
NetworkManager-adsl.x86_64                1:1.4.0-19.el7_3              updates 
NetworkManager-glib.x86_64                1:1.4.0-19.el7_3              updates 
NetworkManager-libnm.x86_64               1:1.4.0-19.el7_3              updates 
NetworkManager-team.x86_64                1:1.4.0-19.el7_3              updates 
NetworkManager-tui.x86_64                 1:1.4.0-19.el7_3              updates 
NetworkManager-wifi.x86_64                1:1.4.0-19.el7_3              updates 
audit.x86_64                              2.6.5-3.el7_3.1               updates    
vim-common.x86_64                         2:7.4.160-1.el7_3.1           updates 
vim-enhanced.x86_64                       2:7.4.160-1.el7_3.1           updates 
vim-filesystem.x86_64                     2:7.4.160-1.el7_3.1           updates 
vim-minimal.x86_64                        2:7.4.160-1.el7_3.1           updates 
wpa_supplicant.x86_64                     1:2.0-21.el7_3                updates 
xfsprogs.x86_64                           4.5.0-9.el7_3                 updates

[root@localhost rdc]#

aggiornamento yum

Questo installerà tutti i candidati aggiornati rendendo la tua installazione di CentOS corrente. Con una nuova installazione, questo può richiedere un po 'di tempo a seconda dell'installazione e della velocità della connessione Internet.

[root@localhost rdc]# yum update

vim-minimal                        x86_64    2:7.4.160-1.el7_3.1     updates    436 k 
wpa_supplicant                     x86_64    1:2.0-21.el7_3          updates    788 k 
xfsprogs                           x86_64    4.5.0-9.el7_3           updates    895 k  

Transaction Summary 
======================================================================================
Install    2 Packages 
Upgrade  156 Packages  
Total download size: 371 M

Is this ok [y/d/N]:

Installa il software tramite YUM

Oltre ad aggiornare il sistema CentOS, il gestore di pacchetti YUM è il nostro strumento di riferimento per l'installazione del software. Tutto, dagli strumenti di monitoraggio della rete, ai lettori video, agli editor di testo può essere installato da un archivio centrale con YUM .

Prima di installare alcune utilità software, diamo un'occhiata ad alcuni comandi YUM . Per il lavoro quotidiano, il 90% dell'utilizzo di YUM da parte di un amministratore di CentOS sarà con circa 7 comandi. Esamineremo ciascuno nella speranza di acquisire familiarità con il funzionamento di YUM a un livello competente per l'uso quotidiano. Tuttavia, come la maggior parte delle utilità Linux, YUM offre una vasta gamma di funzionalità avanzate che sono sempre fantastiche da esplorare tramite la pagina man. Usare man yum sarà sempre il primo passo per eseguire operazioni non familiari con qualsiasi utilità Linux.

Comandi YUM più comuni

Di seguito sono riportati i comandi YUM comunemente usati.

Comando Azione
elenco installato Elenca i pacchetti installati tramite YUM
elenca tutto Elenca tutti i pacchetti attualmente disponibili
elenco dei gruppi Elenca i pacchetti raggruppati
Informazioni Fornisce informazioni dettagliate su un pacchetto
ricerca Cerca descrizioni e nomi dei pacchetti
installare Installa un pacchetto
localinstall Installa un pacchetto rpm locale
rimuovere Rimuove e installa il pacchetto
pulisci tutto Pulisce / var / cache / yum per liberare spazio su disco
uomo yum Come tutti i comandi di Linux, il file della guida

Installa il software con YUM

Ora installeremo un browser web basato su testo chiamato Lynx. Prima dell'installazione, dobbiamo prima ottenere il nome del pacchetto contenente il browser web Lynx. Non siamo nemmeno sicuri al 100% che il nostro repository CentOS predefinito fornisca un pacchetto per il browser Web Lynx, quindi cerchiamo e vediamo -

[root@localhost rdc]# yum search web browser
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.scalabledns.com
 * extras: mirror.scalabledns.com 
 * updates: mirror.clarkson.edu 
=================================================================
N/S matched: web, browser
================================================================== 
icedtea-web.x86_64 : Additional Java components for OpenJDK - Java browser
plug-in and Web Start implementation
elinks.x86_64 : A text-mode Web browser
firefox.i686 : Mozilla Firefox Web browser
firefox.x86_64 : Mozilla Firefox Web browser
lynx.x86_64 : A text-based Web browser

Full name and summary matches only, use "search all" for everything.
 
[root@localhost rdc]#

Vediamo, CentOS offre il browser Web Lynx nel repository. Vediamo qualche informazione in più sul pacchetto.

[root@localhost rdc]# lynx.x86_64
bash: lynx.x86_64: command not found...
[root@localhost rdc]# yum info lynx.x86_64
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.scalabledns.com
 * extras: mirror.scalabledns.com
 * updates: mirror.clarkson.edu
Available Packages
Name        : lynx
Arch        : x86_64
Version     : 2.8.8
Release     : 0.3.dev15.el7
Size        : 1.4 M
Repo        : base/7/x86_64
Summary     : A text-based Web browser
URL         : http://lynx.isc.org/
License     : GPLv2
Description : Lynx is a text-based Web browser. Lynx does not display any images, 
            : but it does support frames, tables, and most other HTML tags. One 
            : advantage Lynx has over graphical browsers is speed; Lynx starts and
            : exits quickly and swiftly displays web pages.
            
[root@localhost rdc]#

Bello! La versione 2.8 è abbastanza attuale quindi installiamo Lynx.

[root@localhost rdc]# yum install lynx
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.scalabledns.com
 * extras: mirror.scalabledns.com
 * updates: mirror.clarkson.edu 
Resolving Dependencies
--> Running transaction check 
---> Package lynx.x86_64 0:2.8.8-0.3.dev15.el7 will be installed 
--> Finished Dependency Resolution  
Dependencies Resolved  
===============================================================================
===============================================================================
Package                          Arch
Version                       Repository                    Size 
===============================================================================
===============================================================================
Installing: 
 lynx                           x86_64
2.8.80.3.dev15.el7              base                        1.4 M

Transaction Summary
===============================================================================
===============================================================================
Install  1 Package

Total download size: 1.4 M 
Installed size: 5.4 M 
Is this ok [y/d/N]: y 
Downloading packages: 
No Presto metadata available for base
lynx-2.8.8-0.3.dev15.el7.x86_64.rpm
| 1.4 MB  00:00:10      
Running transaction check 
Running transaction test 
Transaction test succeeded 
Running transaction 
   Installing : lynx-2.8.8-0.3.dev15.el7.x86_64
1/1
   Verifying  : lynx-2.8.8-0.3.dev15.el7.x86_64
1/1

Installed: 
   lynx.x86_64 0:2.8.8-0.3.dev15.el7
Complete!

[root@localhost rdc]#

Quindi, assicuriamoci che Lynx sia stato effettivamente installato correttamente.

[root@localhost rdc]# yum list installed | grep -i lynx

lynx.x86_64                   2.8.8-0.3.dev15.el7              @base     
[root@localhost rdc]#

Grande! Usiamo Lynx per vedere come appare il Web senza "Mi piace" e belle immagini.

[root@localhost rdc]# lynx www.tutorialpoint.in

Ottimo, ora abbiamo un browser web per il nostro server di produzione che può essere utilizzato senza troppe preoccupazioni negli exploit remoti lanciati sul web. Questa è una buona cosa per i server di produzione.

Abbiamo quasi completato, tuttavia prima dobbiamo impostare questo server per consentire agli sviluppatori di testare le applicazioni. Quindi, assicuriamoci che abbiano tutti gli strumenti necessari per il loro lavoro. Potremmo installare tutto individualmente, ma CentOS e YUM lo hanno reso molto più veloce. Installiamo il pacchetto del gruppo di sviluppo .

[root@localhost rdc]# yum groups list 
Loaded plugins: fastestmirror, langpacks 
Loading mirror speeds from cached hostfile 
 * base: mirror.scalabledns.com 
 * extras: mirror.scalabledns.com 
 * updates: mirror.clarkson.edu
 
Available Groups: 
   Compatibility Libraries 
   Console Internet Tools 
   Development Tools 
   Graphical Administration Tools
   Legacy UNIX Compatibility 
   Scientific Support 
   Security Tools 
   Smart Card Support 
   System Administration Tools 
   System Management 
Done

[root@localhost rdc]#

Questo è un elenco più piccolo di gruppi di pacchetti forniti da CentOS. Vediamo cosa include il "Gruppo di sviluppo".

[root@localhost rdc]# yum group info "Development Tools" 
Loaded plugins: fastestmirror, langpacks 
There is no installed groups file. 
Maybe run: yum groups mark convert (see man yum) 
Loading mirror speeds from cached hostfile 
 * base: mirror.scalabledns.com 
 * extras: mirror.scalabledns.com 
 * updates: mirror.clarkson.edu
 
Group: Development Tools 
Group-Id: development 
Description: A basic development environment. 
Mandatory Packages: 
autoconf 
automake 
binutils 
bison

La prima schermata di output è quella vista sopra. L'intero elenco è piuttosto completo. Tuttavia, questo gruppo sarà solitamente necessario per essere installato nella sua interezza col passare del tempo. Installiamo l'intero gruppo di sviluppo.

[root@localhost rdc]# yum groupinstall "Development Tools"

Questa sarà un'installazione più grande. Una volta completato, il tuo server avrà la maggior parte delle librerie di sviluppo e dei compilatori per Perl, Python, C e C ++.

Gestione grafica dei pacchetti in CentOS

Gnome Desktop fornisce uno strumento grafico di gestione dei pacchetti chiamato Software. È abbastanza semplice da usare e diretto. Software, lo strumento di gestione dei pacchetti Gnome per CentOS può essere trovato accedendo a: Applicazioni → Strumenti di sistema → Software.

Lo strumento di gestione dei pacchetti software è diviso in gruppi che consentono all'amministratore di selezionare i pacchetti per l'installazione. Sebbene questo strumento sia ottimo per la facilità d'uso e la semplicità per gli utenti finali, YUM è molto più potente e probabilmente verrà utilizzato di più dagli amministratori.

Di seguito è riportato uno screenshot dello strumento di gestione dei pacchetti software, non progettato per gli amministratori di sistema.