Sommario
Nell’articolo, voglio condividere la lista di RHEL/CentOS 8 kickstart esempio i comandi che è possibile utilizzare per automatizzare l’installazione di Red Hat e CentOS. Non ho coperto%pre
e%post
fase di installazione in questo articolo in quanto ciò potrebbe semplicemente allungare questo articolo già lungo. Anche se cercherò di coprire i comandi kickstart più utilizzati in ambiente di produzione in tempo reale.
Kickstart Generator
È possibile utilizzare lo strumento ufficiale Kickstart Generator di Red Hat per creare il file kickstart per automatizzare l’installazione.
Basta seguire le opzioni sullo schermo e si otterrà un file kickstart campione basato nella vostra scelta.
Kickstart Validator
Prima di avviare l’installazione utilizzando il file kickstart, si consiglia di convalidare il contenuto del file di configurazione Kickstart. Installare pykickstart
per installare lo strumento ksvalidator
# dnf -y install pykickstart
Per convalidare il file kickstart fornire il percorso assoluto e il file kickstart con ksvalidator
:
# ksvalidator kickstart.conf
Di seguito è riportato l’elenco dei comandi Kickstart che è possibile aggiungere manualmente e creare il proprio file Kickstart per automatizzare l’intero processo di installazione di Red Hat / CentOS. Alla fine dell’articolo ho allegato un esempio di file di configurazione kickstart che ho usato per installare una Macchina Virtuale in Oracle VirtualBox
Aggiungi Commento (Opzionale)
Si può anche scegliere di aggiungere qualche commento per identificare il Kickstart come ho aggiunto per l’identificazione. Opzionale e si può scegliere di ignorare:
# version=RHEL8# RHEL/CentOS 8 Kickstart Example
Eseguire il Controllo dei Media
È possibile controllare i supporti prima di iniziare l’installazione
Kickstart comando mediacheck
Questo comando forza il programma di installazione per eseguire un controllo dei media prima di iniziare l’installazione.
Questo comando richiede che le installazioni siano presenti, quindi è disabilitato per impostazione predefinita.
Sintassi:
mediacheck
Modalità di installazione
Per un’installazione completamente automatica, è necessario specificare una delle modalità disponibili nel file Kickstart:
Comando Kickstart – grafico
- Esegue l’installazione Kickstart in modalità grafica.
- È anche possibile combinarlo con
--non-interactive
che esegue l’installazione in una modalità completamente non interattiva. - Questa modalità termina l’installazione quando è richiesta l’interazione dell’utente.
Kickstart command – text
- Esegue l’installazione Kickstart in modalità testo.
- È anche possibile combinarlo con
--non-interactive
che esegue l’installazione in una modalità completamente non interattiva. - Questa modalità termina l’installazione quando è richiesta l’interazione dell’utente.
Kickstart command – cmdline
- Esegue l’installazione in una modalità a riga di comando completamente non interattiva.
- Qualsiasi richiesta di interazione interrompe l’installazione.
- Questo comando non ha opzioni.
Nel mio esempio di kickstart di RHEL/CentOS 8 scelgotext
come metodo di installazione preferito
# Install in text modetext
Creare repository aggiuntivi
È possibile configurare repository yum aggiuntivi che possono essere utilizzati come sorgenti per l’installazione dei pacchetti.
Kickstart comando repo
- per impostazione predefinita, tutti forniti repos sono automaticamente creato e montato su
/run/install/repo/<repo_name>
- È possibile aggiungere più
repo
linee.
Sintassi:
repo --name=repoid
Here,
-
--baseurl=
The URL to the repository. -
--mirrorlist=
The URL pointing at a list of mirrors for the repository. -
--metalink=
The URL with metalink for the repository.
Per l’elenco completo delle opzioni supportate, controlla la Guida di Red Hat per l’installazione avanzata
Nel mio esempio di kickstart di RHEL/CentOS 8 creerò ancheAppStream
repo che fa parte dell’immagine ISO.
# Create additional repo during installationrepo --name="AppStream" --baseurl=file:///run/install/repo/AppStream
il Metodo di Installazione
Ci sono diversi metodi di installazione tra cui scegliere, come: cdrom
harddrive
hmc
nfs
liveimg
o url
.
E soprattutto url
cdrom
e nfs
in ambiente di produzione, così spiegherò questi metodo di installazione:
Kickstart comando nfs
Si esegue l’installazione da un server NFS.
Sintassi:
nfs OPTIONS
Opzioni:
-
--server=
Server da cui installare (nome host o IP). -
--dir=
Directory contenente la directory variante dell’albero di installazione. -
--opts=
Opzioni di montaggio da utilizzare per il montaggio dell’esportazione NFS. (opzionale)
Comando Kickstart – url
Esegue l’installazione da un’immagine ad albero di installazione su un server remoto utilizzando FTP, HTTP o HTTPS.
Sintassi:
url --url=FROM
Opzioni obbligatorie:
-
--url=
La posizione da cui installare. I protocolli supportati sono HTTP, HTTPS, FTP e file.
Opzioni opzionali:
-
--proxy=
Specificare un proxy HTTP, HTTPS o FTP da utilizzare durante l’installazione.
Per ottenere l’elenco completo delle opzioni supportate controllare Red Hat’s Guide for advanced installation
Kickstart command – cdrom
- Esegue l’installazione dalla prima unità ottica del sistema.
- Questo comando non ha opzioni.
Nel mio esempio di kickstart RHEL/CentOS 8 userò NFS come metodo di installazione
# Installation medianfs --server=10.10.10.12 --dir=/images/
Layout di tastiera
- Imposta uno o più layout di tastiera disponibili per il sistema.
- Tutti i layout disponibili possono essere visualizzati nella pagina man di xkeyboard-config(7) sotto Layout.
Sintassi:
keyboard --vckeymap|--xlayouts OPTIONS
Opzioni:
-
--vckeymap=
Specificare una mappatura VConsole da utilizzare. I nomi validi corrispondono all’elenco dei file nella directory/usr/lib/kbd/keymaps/xkb/
, senza l’estensione.map.gz
. -
--xlayouts=
Specificare un elenco di layout X da utilizzare come elenco separato da virgole senza spazi. Accetta valori nello stesso formato di setxkbmap (1), sia nel formato di layout (come cz), sia nel formato di layout (variante) (come cz (qwerty)).
Nel mio RHEL/CentOS 8 kickstart esempio io uso English US
come layout di Tastiera
# Keyboard layoutskeyboard --vckeymap=us --xlayouts='us'
Impostare la Lingua di Sistema
Kickstart comando lang
- Esso consente di impostare la lingua da utilizzare durante l’installazione e la lingua predefinita da utilizzare sul sistema installato.
- È possibile utilizzare
locale -a | grep _
olocalectl list-locales
per ottenere l’elenco delle impostazioni locali supportate.
Sintassi:
lang language
Nel mio RHEL/CentOS 8 kickstart esempio io uso en_US.UTF-8
# System languagelang en_US.UTF-8
Informazioni di Rete
Kickstart comando di rete
- Esso consente di configurare le informazioni di rete per il sistema di destinazione e attiva i dispositivi di rete in ambiente di installazione.
- Il dispositivo specificato nel primo comando di rete viene attivato automaticamente.
- L’attivazione del dispositivo può anche essere esplicitamente richiesta dall’opzione activate activate.
Syntax:
network OPTIONS
Options:
-
--activate
activate this device in the installation environment. -
--no-activate
do not activate this device in the installation environment. -
--nodefroute
prevent the device from using the default route. -
--bootproto=
One of dhcp, bootp, ibft, or static. The default option is dhcp; -
--noipv4
Disabilita IPv4 su questo dispositivo. -
--noipv6
Disabilita IPv6 su questo dispositivo.
Nel mio RHEL/CentOS 8 kickstart esempio voglio assegnare rete a 2 interfacce eth0
e eth1
# Network informationnetwork --bootproto=static --ip=10.10.10.15 --netmask=255.255.255.0 --gateway=10.10.10.1 --nameserver=8.8.8.8 --device=eth0 network --bootproto=dhcp --device=eth0 --activatenetwork --bootproto=dhcp --device=eth1 --onboot=off --activatenetwork --hostname=centos8-4.example.com
Assegna password di root
- Imposta la password di root del sistema all’argomento password.
- È in grado di fornire la password di root o di testo in chiaro o criptati
- Per creare una password crittografata, è possibile utilizzare python:
$ python3 -c 'import crypt,getpass;pw=getpass.getpass();print(crypt.crypt(pw) if (pw==getpass.getpass("Confirm: ")) else exit())'
- Questo genera un sha512 cripta-compatibile hash della password utilizzando un casuale sale.
Sintassi:
rootpw password
Opzioni:
-
--iscrypted
Se questa opzione è presente, si presume che l’argomento della password sia già crittografato. -
--plaintext
Se questa opzione è presente, si presume che l’argomento della password sia in testo normale. -
--lock
Se questa opzione è presente, l’account root è bloccato per impostazione predefinita. Ciò significa che l’utente root non sarà in grado di accedere dalla console.
Nel mio esempio di kickstart RHEL/CentOS 8 ho già creato e assegnato la password di root
# Root passwordrootpw --iscrypted $6$w7El/FYx9mbTG6x9$Te.Yg6dq0TsQwGpdSjeDGSw4J9ZBAkLXzT9ODMV7I7lHvX3n5.9PCS4jIkS2GbVLZOpVRLvrua3wwbwA.cfWX.
Esegui l’agente di installazione al primo avvio
Comando Kickstart – firstboot
- Determina se l’applicazione di installazione iniziale avvia tempo di avvio del sistema.
- Se abilitato, il pacchetto initial-setup deve essere installato.
- Se non specificato, questa opzione è disabilitata per impostazione predefinita.
Sintassi:
firstboot OPTIONS
Opzioni:
-
--enable
o--enabled
: la configurazione iniziale viene avviata al primo avvio del sistema. -
--disable
o--disabled
: la configurazione iniziale non viene avviata al primo avvio del sistema. -
--reconfig
: abilitare l’avvio della configurazione iniziale all’avvio in modalità riconfigurazione.
Nel mio RHEL/CentOS 8 kickstart esempio mi consentirà firstboot
# Run the Setup Agent on first bootfirstboot --enable
Configurazione di X Window System
È possibile scegliere di installare e configurare il Sistema X Window o disattivare
Kickstart comando – xconfig
- Se si installa un display manager, tra le tue opzioni di scelta dei pacchetti, questo pacchetto crea una configurazione di X, e il sistema installato di default
graphical.target
. - Che sostituisce l’effetto dell’opzione
skipx
. - Per configurare il Sistema X Window uso “
xconfig
“
Kickstart comando skipx
evitare la configurazione Di X Window System usare skipx
Nel mio RHEL/CentOS 8 kickstart esempio io disattivare X Windows System
# Do not configure the X Window Systemskipx
Attivare o Disattivare i servizi di sistema
Kickstart comando servizi
- modifica il set predefinito di servizi che verranno eseguiti con l’obiettivo systemd di default.
- L’elenco dei servizi disabilitati viene elaborato prima dell’elenco dei servizi abilitati.
- Pertanto, se un servizio appare su entrambi gli elenchi, sarà abilitato.
Sintassi:
services
Nel mio RHEL/CentOS 8 kickstart esempio mi consentirà chronyd
servizio
# System servicesservices --enabled="chronyd"
Impostare il fuso orario
Kickstart comando fuso orario
- Imposta il fuso orario del sistema.
- usare
timedatectl list-timezones
per ottenere la lista dei supportati timezone valori
Sintassi:
timezone timezone
Opzionale opzioni:
-
--utc
Se presente, il sistema presuppone che l’orologio è impostato su UTC (meridiano di Greenwich). -
--nontp
Disabilita l’avvio automatico del servizio NTP. -
--ntpservers=
Specificare un elenco di server NTP da utilizzare come elenco separato da virgole senza spazi.
Nel mio RHEL/CentOS 8 kickstart esempio io uso Asia/Kolkata
come il mio fuso orario
# System timezonetimezone Asia/Kolkata --isUtc
Maniglia di riavviare il nodo
Kickstart comando reboot
- Il
reboot
” indica al programma di installazione, riavviare il computer dopo l’installazione viene completata correttamente (senza argomenti). - Normalmente, Kickstart visualizza un messaggio e attende che l’utente premi un tasto prima di riavviare.
- Specificare il riavvio per automatizzare l’installazione
Nel mio RHEL/CentOS 8 kickstart esempio voglio usare reboot come ho intenzione di automatizzare l’intera installazione
# Reboot the nodereboot
Creare Partizione del Disco
È possibile utilizzare diverse variabili per configurare il layout del disco
Kickstart comando ignoredisk
- Si indica al programma di installazione di ignorare i dischi indicati.
- Questo è utile se si utilizza il partizionamento automatico e si vuole essere sicuri che alcuni dischi vengano ignorati.
Nel mio RHEL/CentOS 8 kickstart esempio voglio solo usare sda
disco per l’installazione
# Choose the disks to be usedignoredisk --only-use=sda
Kickstart comando clearpart
- elimina le partizioni dal sistema, prima della creazione di nuove partizioni.
- Per impostazione predefinita, nessuna partizione viene rimossa.
Nel mio esempio kickstart CentOS / RHEL 8 rimuoverò tutte le partizioni esistenti:
# Partition clearing informationclearpart --all
Kickstart command – part o partition
- Crea una partizione sul sistema.
- Questo argomento è molto vasto e ho intenzione di fornire diversi esempi di layout di partizione per installare Linux
Nel mio esempio di kickstart installerò CentOS 8 usando Logical Volume Manager. Qui mi limiterò a creare
- root volume logico
- partizione di swap
- partizione di avvio
# Disk partitioning informationpart pv.409 --fstype="lvmpv" --ondisk=sda --size=14847part /boot --fstype="ext4" --ondisk=sda --size=512volgroup rhel --pesize=4096 pv.409logvol swap --fstype="swap" --size=953 --name=swap --vgname=rhellogvol / --fstype="ext4" --size=13887 --name=root --vgname=rhel
per Creare un nuovo utente (permanente)
È anche possibile creare un nuovo utente tramite kickstart che sarà presente anche dopo l’installazione
Kickstart comando utente
Uso user
per creare un nuovo utente con l’uso di kickstart
la Sintassi:
user --name=username
Nel mio esempio di kickstart di RHEL/CentOS 8 creerò un utentedeepak
# Create useruser --name=deepak --shell=/bin/bash --homedir=/home/deepak --iscrypted --password=$6$uSejt/TeWMJVQ/F8$/oFsIanDHS/5b9ssy7gZbQwNkORgRjsQIw4JyFjlTWDh9TVsEXWEy2APpCUNTHipOOEe..ubg3qBZOwpaPtsB.
Crea utente (solo per l’installazione)
Puoi creare utente solo per monitorare il processo di installazione. Una volta che l’installazione è completa, l’utente verrà rimosso dal nodo
Kickstart comando sshpw
- Durante l’installazione, è possibile interagire con il programma di installazione e di monitorare i suoi progressi attraverso una connessione SSH
- Utilizzare il sshpw comando per creare degli account temporanei attraverso il quale accedere.
- Ogni istanza del comando crea un account separato che esiste solo nell’ambiente di installazione.
- Questi account non vengono trasferiti al sistema installato.
Sintassi:
sshpw --username=name password
Nel mio CentOS/RHEL 8 kickstart esempio sto creando un utente admin
per monitorare l’installazione:
sshpw --username=admin --iscrypted --password=$6$PMLcSXd.w5pBvC.u$D06Ip60h/iWExxQ09gMi5aAbFaDK.NtLOgOZ56uU6kw.uUy/9/Mmw6vYBjs8Hw50y0Rx4m0yMdH0Vt5EUEsRI.
Crea nuovo gruppo
È anche possibile creare un nuovo gruppo con l’uso di kickstart
Kickstart comando di gruppo
- Se un gruppo con il nome o il GID esiste già, questo comando ha esito negativo.
- Il comando utente può essere utilizzato per creare un nuovo gruppo per l’utente appena creato.
- Crea un nuovo gruppo di utenti sul sistema.
Sintassi:
group --name=name
opzioni Obbligatorie
-
--name=
Fornisce il nome del gruppo.
Abilita o disabilita firewall
È possibile abilitare o disabilitare firewall durante la fase di installazione
Comando Kickstart – firewall
Specifica la configurazione del firewall per il sistema installato.
Sintassi:
firewall --enabled|--disabled
Qui,
-
--enabled
o--enable
– Rifiuta le connessioni in entrata che non rispondono alle richieste in uscita, come Richieste DHCP. -
--disabled
o--disable
– Non configurare alcuna regola iptables.
Abilita un modulo
Puoi anche abilitare un modulo usando kickstart
Kickstart command – module
Usa questo comando per abilitare un flusso di moduli pacchetto all’interno dello script kickstart.
Sintassi:
module --name=NAME
Opzioni obbligatorie
-
--name=
Specifica il nome del modulo da abilitare. Sostituire il NOME con il nome effettivo.
Abilita o Disabilita SELinux
Puoi anche abilitare o disabilitare selinux usando kickstart
Comando Kickstart – selinux
- Imposta lo stato di SELinux sul sistema installato.
- La politica SELinux predefinita viene applicata.
Sintassi:
selinux
Opzioni:
-
--enforcing
Abilita SELinux con l’applicazione del criterio di destinazione predefinito. -
--permissive
Emette avvisi basati sulla politica di SELinux, ma in realtà non applica la politica. -
--disabled
Disabilita SELinux completamente sul sistema.
Selezione dei pacchetti
Kickstart utilizza le sezioni avviate dal comando %packages per selezionare i pacchetti da installare.
Comando Kickstart – %packages
- È possibile installare pacchetti, gruppi, ambienti, flussi di moduli e profili di moduli in questo modo.
- Utilizzare il comando %packages per iniziare una sezione Kickstart che descrive i pacchetti software da installare.
- La sezione %packages deve terminare con il comando %end.
Specificando gruppi
- Specificare i gruppi, una voce per riga, iniziando con il simbolo@, e poi il nome completo del gruppo o del gruppo id
- È possibile ottenere la lista delle opzioni supportate dall’elenco “
dnf grouplist
“
%packages@X Window System@Desktop@Sound and Video%end
Specificare i singoli pacchetti
- Specificare i singoli pacchetti nome, una voce di una linea. È possibile utilizzare il carattere asterisco ( * ) come carattere jolly nei nomi dei pacchetti. Biru:
%packagessqlitecurlaspelldocbook*%end
In my RHEL/CentOS 8 kickstart example I have used “Virtualization Host
“
%packages@^Virtualization Hostkexec-tools%end
Enable or Disable Kdump
Kickstart command – %addon com_redhat_kdump
This command configures the kdump kernel crash dumping mechanism.
Syntax:
%addon com_redhat_kdump %end
Options:
-
--enable
Enable kdump on the installed system. -
--disable
Disable kdump on the installed system. -
--reserve-mb=
La quantità di memoria che si desidera riserva per kdump, in MiB
Nel mio RHEL/CentOS 8 kickstart esempio ho usato auto
per prenotare automaticamente la memoria necessaria per kdump:
%addon com_redhat_kdump --enable --reserve-mb='auto'%end
Applicare il Criterio di Password
Kickstart comando pwpolicy
- Utilizzare questo comando per applicare una password personalizzata politica durante l’installazione.
- Il criterio richiede la creazione di password per gli account utente root, utenti o luks.
- I fattori come la lunghezza e la forza della password decidono la validità di una password.
Per l’elenco delle opzioni supportate, controlla la Guida di Red Hat per l’installazione avanzata
Nel mio esempio di kickstart RHEL/CentOS 8 che ho usato sotto la politica della password:
%anacondapwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notemptypwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyokpwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty%end
RHEL/CentOS 8 Kickstart Example File
Below is one sample kickstart file example from my server which I use to install Virtual Machine on Oracle VirtualBox
Red_Hat_CentOS_8_Kickstart_Example