Presentazione
I gruppi di pacchetti sono una funzionalità ben nota del comando yum per raggruppare più pacchetti sotto un singolo nome.
Anche se yum verrà sostituito con dnf nelle versioni future di RHEL, la sintassi e le caratteristiche rimarranno le stesse (almeno questo è il caso in Fedora 22 dove puoi sostituire yum con dnf senza alcun problema).
Esistono tre tipi di gruppi di pacchetti:
i gruppi di pacchetti di ambiente (enviroment) descrivono un tipo di configurazione globale contenente altri gruppi di pacchetti: installazione minima, nodo di calcolo, server infrastruttura, desktop GNOME, ecc.
i gruppi di pacchetti di livello superiore (top-level) portano una serie di gruppi di pacchetti appartenenti allo stesso dominio: strumenti di sicurezza, strumenti di sviluppo, strumenti di amministrazione del sistema, ecc.
i gruppi di pacchetti semplici (simple) contengono pacchetti su un argomento particolare: web-server, network-file-system-client, ecc.
Inoltre, all’interno di un gruppo di pacchetti, ci sono potenzialmente tre diverse categorie:
gruppi/pacchetti di pacchetti obbligatori (mandatory)sono sempre installati.
i pacchetti/gruppi di pacchetti predefiniti(default) vengono normalmente installati tranne se specificato diversamente.
gruppi/pacchetti di pacchetti opzionali(optional) sono installati solo su richiesta.
Nota: mentre prima alcuni sottocomandi yum come groupinfo, grouplist e groupinstall erano stati scritti con una sola parola in RHEL 6,in RHEL 7 ora sono accettate una o due parole: yum groupinfo/yum group info, yum grouplist/yum group list, yum groupinstall/yum group install, eccetera.
Gestione del gruppo di pacchetti
Per ottenere l’elenco di tutto l’ambiente e i gruppi di pacchetti di livello superiore, digitare:
# yum group list ids
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
...
Available environment groups:
Minimal Install (minimal)
Compute Node (compute-node-environment)
Infrastructure Server (infrastructure-server-environment)
File and Print Server (file-print-server-environment)
Basic Web Server (web-server-environment)
Virtualization Host (virtualization-host-environment)
Server with GUI (graphical-server-environment)
GNOME Desktop (gnome-desktop-environment)
KDE Plasma Workspaces (kde-desktop-environment)
Development and Creative Workstation (developer-workstation-environment)
Available Groups:
Compatibility Libraries (compat-libraries)
Console Internet Tools (console-internet)
Development Tools (development)
Graphical Administration Tools (graphical-admin-tools)
Legacy UNIX Compatibility (legacy-unix)
Scientific Support (scientific)
Security Tools (security-tools)
Smart Card Support (smart-card)
System Administration Tools (system-admin-tools)
System Management (system-management)
Done
Nota 1: Specificando l’opzione ids, si ottiene il nome di sistema di ciascun gruppo di pacchetti tra parentesi. Questo nome, chiamato Group ID, è più facile da usare perché generalmente più corto e senza spazi. È anche il nome usato da Kickstart durante l’installazione.
Nota 2: per ottenere l’elenco di tutti i gruppi di pacchetti, è necessario aggiungere l’argomento nascosto: ## yum group list ids hidden
Nota3: Con l’ID di gruppo(Group ID), non è più necessario utilizzare il sottocomando del group, almeno per le opzioni di installazione e rimozione:
- yum install @security-tools = yum group install security-tools
- yum remove @^web-server-environment = yum group remove web-server-environment
- il @^ prefisso è riservato al gruppo environment.
Per elencare i pacchetti in un gruppo di ambienti (qui “Minimal Install“), digitare:
# yum group info "Minimal Install"
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
...
Environment Group: Minimal Install
Environment-Id: minimal
Description: Basic functionality.
Mandatory Groups:
+core
Optional Groups:
+debugging
Nota 1: il gruppo di pacchetti principale contiene l’installazione più piccola possibile, detta anche installazione minima.
Nota 2: il gruppo di pacchetti di base(base), con l’aiuto del gruppo di pacchetti principale(core), consente di creare un’installazione di base, chiamata anche Infrastructure Server.
Per ottenere l’elenco dei pacchetti appartenenti a un gruppo di pacchetti (qui “Web Server“), digitare:
# yum group info "Web Server"
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
...
Group: Web Server
Group-Id: web-server
Description: Allows the system to act as a web server, and run Perl and Python web applications.
Mandatory Packages:
+httpd
Default Packages:
+crypto-utils
+httpd-manual
+mod_fcgid
+mod_ssl
Optional Packages:
certmonger
libmemcached
memcached
mod_auth_kerb
mod_auth_mellon
mod_nss
mod_revocator
mod_security
mod_security_crs
perl-CGI
perl-CGI-Session
python-memcached
squid
Nota: il + indica quali pacchetti verranno installati.
Per installare un gruppo di pacchetti (qui “Web Server”), digitare:
# yum group install "Web Server"
Ora, se richiediamo alcune informazioni sul gruppo di pacchetti Web Server, otteniamo:
# yum group info "Web Server"
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
...
Group: Web Server
Group-Id: web-server
Description: Allows the system to act as a web server, and run Perl and Python web applications.
Mandatory Packages:
=httpd
Default Packages:
=crypto-utils
=httpd-manual
=mod_fcgid
=mod_ssl
Optional Packages:
certmonger
libmemcached
memcached
mod_auth_kerb
mod_auth_mellon
mod_nss
mod_revocator
mod_security
mod_security_crs
perl-CGI
perl-CGI-Session
python-memcached
squid
Nota: il simbolo = indica i pacchetti installati come parte del gruppo di pacchetti.
Per installare tutti i pacchetti appartenenti a un gruppo di pacchetti (qui “Web Server”), digitare:
# yum --setopt=group_package_types=mandatory,default,optional groupinstall "Web Server"
Fonte:RHEL 7 System Administrator’s guide.