Come amministratore di Linux per più di 6 anni, passo la maggior parte del mio tempo a lavorare sui terminali, ma ci sono alcune situazioni in cui ho bisogno di una GUI invece del terminale. Per impostazione predefinita, RHEL/CentOS 7 server installato come minimo senza alcun supporto grafico desktop. Quindi, per installare la GUI sopra l’installazione minimale, abbiamo due opzioni:
- Il primo metodo è, installare la GUI (cioè Gnome 3) usando il repository di base predefinito, scaricherà e installerà i pacchetti da Internet.
- Il secondo metodo è, installare la GUI usando l’immagine ISO di RHEL/CentOS 7 tramite un dispositivo CD/DVD locale, questo eviterà il download dei pacchetti da Internet.
Il primo metodo è un processo che richiede tempo, in quanto scarica i pacchetti da internet e li installa sul sistema, se hai una connessione internet veloce puoi semplicemente digitare il seguente comando sul terminale per installare la GUI in poco tempo.
# yum groupinstall "GNOME Desktop" # yum groupinstall "Server with GUI"
Ma, coloro che hanno una connessione più lenta, possono seguire il metodo CD/DVD, qui i pacchetti sono installati dal vostro dispositivo CD/DVD locale, e l’installazione è molto più veloce del primo metodo.
Nota: le istruzioni di installazione per la GUI sono le stesse per entrambi i metodi, ma qui il nostro obiettivo principale è quello di evitare di scaricare i pacchetti da internet e ridurre al minimo il tempo.
Quelli che stanno seguendo il metodo CD/DVD, devono avere l’ISO completa del DVD di RHEL/CentOS 7 (scaricare e masterizzare l’immagine su CD/DVD) con loro, perché noi usiamo questa immagine per creare un repository yum locale. In modo che, durante l’installazione della GUI, i pacchetti siano presi dal vostro CD/DVD.
Nota: A scopo dimostrativo, ho usato l’immagine ISO del DVD di RHEL/CentOS 7 per installare Gnome 3, ma le stesse istruzioni funzionano anche su RHEL 7 con piccoli cambiamenti nei comandi.
Passo 1: Creare il repository locale di Yum
1. Prima di creare un repository yum locale, inserisci la tua immagine ISO di CentOS 7 DVD nell’unità CD/DVD e montala usando i seguenti comandi.
Prima di tutto, crea una directory ‘cdrom’ vuota sotto la posizione ‘/mnt/’ e monta il ‘cdrom’ (/dev/cdrom è il nome predefinito del tuo dispositivo) sotto il percorso ‘/mnt/cdrom’.
# mkdir /mnt/cdrom# mount /dev/cdrom /mnt/cdrom
2. Una volta montato il ‘cdrom’, è possibile verificare i file sotto /mnt/cdrom usando il comando ls.
# cd /mnt/cdrom/# $ ls -ltotal 607-rw-r--r-- 1 tecmint tecmint 14 Jul 4 21:31 CentOS_BuildTagdrwxr-xr-x 3 tecmint tecmint 2048 Jul 4 21:29 EFI-rw-r--r-- 1 tecmint tecmint 611 Jul 4 21:31 EULA-rw-r--r-- 1 tecmint tecmint 18009 Jul 4 21:31 GPLdrwxr-xr-x 3 tecmint tecmint 2048 Jul 4 21:29 imagesdrwxr-xr-x 2 tecmint tecmint 2048 Jul 4 21:29 isolinuxdrwxr-xr-x 2 tecmint tecmint 2048 Jul 4 21:29 LiveOSdrwxr-xr-x 2 tecmint tecmint 581632 Jul 5 15:56 Packagesdrwxr-xr-x 2 tecmint tecmint 4096 Jul 5 16:13 repodata-rw-r--r-- 1 tecmint tecmint 1690 Jul 4 21:31 RPM-GPG-KEY-CentOS-7-rw-r--r-- 1 tecmint tecmint 1690 Jul 4 21:31 RPM-GPG-KEY-CentOS-Testing-7-r--r--r-- 1 tecmint tecmint 2883 Jul 6 23:02 TRANS.TBL
3. Successivamente, creare un nuovo file di repository yum locale sotto ‘/etc/yum.repository.d/’ usando il vostro editor preferito, qui sto usando Vi editor.
Su CentOS 7
# vi /etc/yum.repos.d/centos7.repo
Aggiungi le seguenti linee, salva e chiudi il file.
name=centos7baseurl=file:///mnt/cdrom/enabled=1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Su RHEL 7
# vi /etc/yum.repos.d/rhel7.repo
Aggiungi le seguenti linee, salva e chiudi il file.
name=rhel7baseurl=file:///mnt/cdrom/enabled=1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
Qualche spiegazione sulle linee precedenti.
- : Nome della nuova sezione repo.
- name: Nome del nuovo repository.
- baseurl: La posizione attuale dei pacchetti.
- Enabled: Repository abilitato, il valore ‘1’ significa abilitare e ‘0’ significa disabilitare.
- gpgcheck: Controlla la firma dei pacchetti, prima di installarli.
- gpgkey: Posizione della chiave.
4. Ora, controlla che il repository locale appena creato sia disponibile da yum repost list, ma prima è necessario cancellare la cache di yum e verificare il repo locale.
# yum clean all# yum repolist all
Sample Output
# yum repolist allLoaded plugins: fastestmirror, langpacksLoading mirror speeds from cached hostfile * base: centosmirror.go4hosting.in * extras: centosmirror.go4hosting.in * updates: centosmirror.go4hosting.inrepo id repo name statusbase/7/x86_64 CentOS-7 - Base enabled: 8,465base-source/7 CentOS-7 - Base Sources disabledcentos7 centos7 enabled: 3,538centosplus/7/x86_64 CentOS-7 - Plus disabledcentosplus-source/7 CentOS-7 - Plus Sources disableddebug/x86_64 CentOS-7 - Debuginfo disabledextras/7/x86_64 CentOS-7 - Extras enabled: 80extras-source/7 CentOS-7 - Extras Sources disabledupdates/7/x86_64 CentOS-7 - Updates enabled: 1,459updates-source/7 CentOS-7 - Updates Sources disabledrepolist: 13,542
Nota: Hai visto nell’output sopra evidenziato in rosso, questo significa che il nostro repo locale è abilitato e disponibile per installare i pacchetti.
Ma, troverete anche repository multipli abilitati nell’output di cui sopra, se provate a installare qualsiasi pacchetto prenderà CentOS Base come repository predefinito.
Per esempio, proviamo a installare il pacchetto ‘httpd’ usando il comando yum.
# yum install httpd
Sample Output
============================================================================================================================================ Package Arch Version Repository Size============================================================================================================================================Installing: httpd x86_64 2.4.6-18.el7.centos updates 2.7 MInstalling for dependencies: apr x86_64 1.4.8-3.el7 base 103 k apr-util x86_64 1.5.2-6.el7 base 92 k httpd-tools x86_64 2.4.6-18.el7.centos updates 77 k mailcap noarch 2.1.41-2.el7 base 31 kTransaction Summary============================================================================================================================================Install 1 Package (+4 Dependent packages)Total download size: 3.0 MInstalled size: 10 MIs this ok :
Nota: Vedete nell’output qui sopra, il pacchetto ‘httpd’ viene installato dal repository CentOS base, anche se forzate yum ad installare i pacchetti dal repository locale aggiungendo l’opzione ‘-enablerepo’, usa ancora CentOS Base come repo di default. Fate una prova e vedete i risultati, otterrete lo stesso risultato di cui sopra.
# yum --enablerepo=centos7 install httpd
Quindi, per installare i pacchetti dal nostro repository locale, abbiamo bisogno di usare le opzioni ‘-disablerepo’ per disabilitare tutti i repository e ‘-enablerepo’ per abilitare i repo di centos7 o rhel7.
Step 2: installare Gnome 3 in RHEL/CentOS 7
5. Per installare la GUI (Gnome 3) su RHEL/CentOS 7 server di installazione minima, esegui il seguente comando yum.
Su CentOS 7
# yum --disablerepo=* --enablerepo=centos7 groupinstall "GNOME Desktop"
Su RHEL 7
# yum --disablerepo=* --enablerepo=rhel7 groupinstall "Server with GUI"
Il comando precedente installerà e risolverà tutti i pacchetti dipendenti usando il repository locale, durante l’installazione chiederà la conferma premendo “Y” per continuare.
6. Quando l’installazione finisce, fate in modo che il sistema si avvii automaticamente all’interfaccia grafica, qui non usiamo più il file ‘/etc/inittab’ per cambiare il runlevel, perché RHEL/CentOS 7 è passato a systemd e qui usiamo ‘targets’ per cambiare o impostare i runlevel di default.
Esegui il seguente comando per dire al sistema di avviare Gnome Desktop automaticamente all’avvio del sistema.
# ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target
7. Una volta impostati i ‘target’ predefiniti per la GUI, ora riavvia il server per entrare in Gnome Desktop.
8. Una volta installato Gnome 3, smontare il dispositivo CD/DVD.
# umount /mnt/cdrom