cuprins
în articol voi împărtăși lista exemplelor de comenzi RHEL/CentOS 8 kickstart pe care le puteți utiliza pentru a automatiza instalarea pentru Red Hat și CentOS. Nu am acoperit%pre
și%post
etapa de instalare în acest articol, deoarece poate prelungi acest articol deja lung. Deși voi încerca să acopere cele mai utilizate comenzi kickstart în mediul de producție în timp real.
Kickstart Generator
puteți utiliza instrumentul oficial Kickstart Generator Red Hat pentru a crea fișierul kickstart pentru a automatiza instalarea.
Doar urmați opțiunile de pe ecran și veți obține un fișier kickstart eșantion bazat în alegerea ta.
Kickstart Validator
înainte de a iniția instalarea folosind fișierul kickstart, este recomandat să validați conținutul fișierului de configurare Kickstart. Instalațipykickstart
pentru a instalaksvalidator
tool
# dnf -y install pykickstart
pentru a valida fișierul kickstart furnizați calea absolută și fișierul kickstart cu ksvalidator
:
# ksvalidator kickstart.conf
mai jos sunt lista comenzilor Kickstart pe care le puteți adăuga manual și crea propriul fișier Kickstart pentru a automatiza întregul proces de instalare Red Hat / CentOS. La sfârșitul articolului am atașat un exemplu de fișier de configurare kickstart pe care l-am folosit pentru a instala mașina virtuală în Oracle VirtualBox
adăugați comentariu (opțional)
puteți alege să adăugați un comentariu pentru a kickstart așa cum am adăugat pentru identificare. Această opțiune și puteți alege să ignorați:
# version=RHEL8# RHEL/CentOS 8 Kickstart Example
efectuați verificarea Media
puteți verifica media înainte de a începe instalarea
comanda Kickstart – mediacheck
această comandă obligă programul de instalare să efectueze o verificare media înainte de a începe instalarea.
această comandă necesită participarea la instalații, deci este dezactivată în mod implicit.
sintaxă:
mediacheck
mod de instalare
pentru o instalare complet automată, trebuie fie să specificați unul dintre modurile disponibile în fișierul Kickstart:
comanda Kickstart – grafică
- efectuează instalarea Kickstart în modul grafic.
- de asemenea, îl puteți combina cu
--non-interactive
care efectuează instalarea într-un mod complet non-interactiv. - acest mod va termina instalarea atunci când este necesară interacțiunea cu utilizatorul.
comanda Kickstart – text
- efectuează instalarea Kickstart în modul text.
- de asemenea, îl puteți combina cu
--non-interactive
care efectuează instalarea într-un mod complet non-interactiv. - acest mod va termina instalarea atunci când este necesară interacțiunea cu utilizatorul.
kickstart command – cmdline
- se efectuează instalarea într-un mod complet non-interactiv linie de comandă.
- orice solicitare de interacțiune oprește instalarea.
- această comandă nu are opțiuni.
în exemplul meu RHEL/CentOS 8 kickstart alegtext
ca metodă de instalare preferată
# Install in text modetext
creați repo suplimentar
puteți configura depozite Yum suplimentare care pot fi utilizate ca surse pentru instalarea pachetelor.
kickstart command-repo
- implicit toate repo-urile furnizate sunt create automat și montate pe
/run/install/repo/<repo_name>
- puteți adăuga mai multe
repo
linii.
sintaxă:
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.
pentru lista completă a opțiunilor acceptate verificați ghidul Red Hat pentru instalare avansată
în exemplul meu RHEL/CentOS 8 kickstart voi crea, de asemenea,AppStream
repo care face parte din imaginea ISO.
# Create additional repo during installationrepo --name="AppStream" --baseurl=file:///run/install/repo/AppStream
metoda de instalare
există diferite metode de instalare pentru a alege de la, cum ar fi cdrom
harddrive
hmc
liveimg
sau url
.
folosim mai alesurl
cdrom
șinfs
în mediul de producție, așa că voi explica aceste metode de instalare:
kickstart command – NFS
efectuează instalarea de pe un server NFS specificat.
sintaxă:
nfs OPTIONS
Opțiuni:
-
--server=
Server de la care să instalați (Nume gazdă sau IP). -
--dir=
director care conține directorul variantă a arborelui de instalare. -
--opts=
Opțiuni de montare pentru a utiliza pentru montarea exportului NFS. (opțional)
kickstart command – url
se efectuează instalarea dintr-o imagine arbore de instalare pe un server de la distanță folosind FTP, HTTP, sau HTTPS.
sintaxă:
url --url=FROM
Opțiuni obligatorii:
-
--url=
locația de instalat. Protocoalele acceptate sunt HTTP, HTTPS, FTP și file.
opțiuni opționale:
-
--proxy=
specificați un proxy HTTP, HTTPS sau FTP de utilizat în timpul instalării.
pentru a obține lista completă a opțiunilor acceptate, verificați ghidul Red Hat pentru instalare avansată
kickstart command – cdrom
- efectuează instalarea de la prima unitate optică din sistem.
- această comandă nu are opțiuni.
în exemplul meu RHEL/CentOS 8 kickstart voi folosi NFS ca metodă de instalare
# Installation medianfs --server=10.10.10.12 --dir=/images/
machete de tastatură
- setează unul sau mai multe machete de tastatură disponibile pentru sistem.
- toate aspectele disponibile pot fi vizualizate pe pagina de manual xkeyboard-config(7) sub aspecte.
sintaxă:
keyboard --vckeymap|--xlayouts OPTIONS
Opțiuni:
-
--vckeymap=
specificați o hartă cheie VConsole care ar trebui utilizată. Numele valide corespund listei de fișiere din directorul/usr/lib/kbd/keymaps/xkb/
, fără extensia.map.gz
. -
--xlayouts=
specificați o listă de machete X care ar trebui utilizate ca listă separată prin virgulă fără spații. Acceptă valori în același format ca setxkbmap (1), fie în formatul layout (cum ar fi cz), fie în formatul layout (variant) (cum ar fi CZ (qwerty)).
în exemplul meu RHEL/CentOS 8 kickstart voi folosiEnglish US
ca aspect de tastatură
# Keyboard layoutskeyboard --vckeymap=us --xlayouts='us'
setați limba sistemului
comanda Kickstart – lang
- Setează limba de utilizat în timpul instalării și limba implicită de utilizat în sistemul instalat.
- puteți utiliza
locale -a | grep _
saulocalectl list-locales
pentru a obține lista de locații acceptate.
sintaxă:
lang language
în exemplul meu RHEL/CentOS 8 kickstart voi folosi en_US.UTF-8
# System languagelang en_US.UTF-8
informații despre rețea
comandă Kickstart – rețea
- configurează informațiile de rețea pentru sistemul țintă și activează dispozitivele de rețea în mediul de instalare.
- dispozitivul specificat în prima comandă de rețea este activat automat.
- activarea dispozitivului poate fi, de asemenea, cerută în mod explicit de opțiunea –Activare.
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
dezactivați IPv4 pe acest dispozitiv. -
--noipv6
dezactivați IPv6 pe acest dispozitiv.
în exemplul meu RHEL/CentOS 8 kickstart voi atribui rețea la 2 interfețeeth0
șieth1
# 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
atribuie parola de root
- setează parola de root a sistemului la argumentul parolei.
- puteți furniza parola de root fie în text simplu, fie criptată
- pentru a crea o parolă criptată, puteți utiliza python:
$ python3 -c 'import crypt,getpass;pw=getpass.getpass();print(crypt.crypt(pw) if (pw==getpass.getpass("Confirm: ")) else exit())'
- aceasta generează un hash compatibil cu cripta SHA512 a parolei dvs. folosind o sare aleatorie.
sintaxă:
rootpw password
Opțiuni:
-
--iscrypted
dacă această opțiune este prezentă, se presupune că argumentul parolei este deja criptat. -
--plaintext
dacă această opțiune este prezentă, se presupune că argumentul parolei este în text simplu. -
--lock
dacă această opțiune este prezentă, contul root este blocat în mod implicit. Aceasta înseamnă că utilizatorul root nu se va putea conecta din consolă.
în exemplul meu RHEL/CentOS 8 kickstart am creat deja și am atribuit parola de root
# Root passwordrootpw --iscrypted $6$w7El/FYx9mbTG6x9$Te.Yg6dq0TsQwGpdSjeDGSw4J9ZBAkLXzT9ODMV7I7lHvX3n5.9PCS4jIkS2GbVLZOpVRLvrua3wwbwA.cfWX.
rulați agentul de configurare la prima pornire
comanda Kickstart – firstboot
- determină dacă aplicația de configurare inițială pornește prima timp sistemul este pornit.
- dacă este activat, trebuie instalat pachetul de configurare inițială.
- dacă nu este specificat, această opțiune este dezactivată în mod implicit.
sintaxă:
firstboot OPTIONS
Opțiuni:
-
--enable
sau--enabled
: configurarea inițială este pornită prima dată când sistemul pornește. -
--disable
sau--disabled
:configurarea inițială nu este pornită prima dată când sistemul pornește. -
--reconfig
:activați configurarea inițială pentru a începe la momentul încărcării în modul de reconfigurare.
în exemplul meu RHEL/CentOS 8 kickstart voi activa firstboot
# Run the Setup Agent on first bootfirstboot --enable
Configurați sistemul de ferestre X
puteți alege fie să instalați și să configurați sistemul de ferestre X, fie să îl dezactivați
comanda Kickstart – xconfig
- dacă instalați un manager de afișare printre opțiunile de selecție pachet, acest pachet creează o configurație X, iar sistemul instalat implicit la
graphical.target
. - care suprascrie efectul opțiunii
skipx
. - pentru a configura sistemul de ferestre X utilizați „
xconfig
„
comanda Kickstart – skipx
pentru a evita configurarea sistemului de ferestre X utilizați skipx
în RHEL/CentOS 8 kickstart exemplu voi dezactiva X Windows System
# Do not configure the X Window Systemskipx
activați sau dezactivați serviciile de sistem
kickstart command – services
- modifică setul implicit de servicii care va rula sub ținta implicită systemd.
- lista serviciilor dezactivate este procesată înainte de lista serviciilor activate.
- prin urmare, dacă un serviciu apare pe ambele liste, acesta va fi activat.
sintaxă:
services
în exemplul meu RHEL/CentOS 8 kickstart voi activa chronyd
serviciu
# System servicesservices --enabled="chronyd"
setați fusul orar
comanda kickstart – fus orar
- setează fusul orar al sistemului.
- puteți utiliza
timedatectl list-timezones
pentru a obține lista valorilor fusului orar acceptate
sintaxă:
timezone timezone
opțiuni opționale:
-
--utc
dacă este prezent, sistemul presupune că ceasul hardware este setat la ora UTC (Greenwich Mean). -
--nontp
dezactivați pornirea automată a serviciului NTP. -
--ntpservers=
specificați o listă de servere NTP care vor fi utilizate ca listă separată prin virgulă fără spații.
în exemplul meu RHEL/CentOS 8 kickstart voi folosi Asia/Kolkata
ca fus orar
# System timezonetimezone Asia/Kolkata --isUtc
manevrați repornirea nodului
comanda Kickstart – reboot
-
reboot
” instruiește programul de instalare să repornească după finalizarea cu succes a instalării (fără argumente). - în mod normal, Kickstart afișează un mesaj și așteaptă ca utilizatorul să apese o tastă înainte de repornire.
- specificați reboot pentru a automatiza instalarea
în exemplul meu RHEL/CentOS 8 kickstart voi folosi reboot deoarece intenționez să automatizez întreaga instalare
# Reboot the nodereboot
creați partiție de disc
puteți utiliza diferite variabile pentru a configura aspectul discului
comanda kickstart – ignoredisk
- determină programul de instalare să ignore discurile specificate.
- acest lucru este util dacă utilizați partiționarea automată și doriți să vă asigurați că unele discuri sunt ignorate.
în exemplul meu RHEL/CentOS 8 kickstart vreau doar să folosesc sda
disc pentru instalare
# Choose the disks to be usedignoredisk --only-use=sda
comanda Kickstart – clearpart
- elimină partițiile din sistem, înainte de crearea de noi partiții.
- în mod implicit, nu sunt eliminate partiții.
în exemplul meu CentOS / RHEL 8 kickstart voi elimina toate partițiile existente:
# Partition clearing informationclearpart --all
comanda Kickstart – parte sau partiție
- creează o partiție pe sistem.
- acest subiect este foarte vast și am de gând să dau diferite exemple de aspect partiție pentru a instala Linux
în exemplul meu kickstart exemplu voi instala CentOS 8 folosind logical Volume Manager. Aici voi crea
- volumul logic rădăcină
- partiție swap
- partiție de boot
# 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
Creare utilizator nou (permanent)
de asemenea, puteți crea utilizator nou folosind kickstart care va fi prezent și după instalare
comanda kickstart – utilizator
utilizați user
pentru a crea un utilizator nou folosind kickstart
sintaxă:
user --name=username
în exemplul meu RHEL/CentOS 8 kickstart voi crea un utilizatordeepak
# Create useruser --name=deepak --shell=/bin/bash --homedir=/home/deepak --iscrypted --password=$6$uSejt/TeWMJVQ/F8$/oFsIanDHS/5b9ssy7gZbQwNkORgRjsQIw4JyFjlTWDh9TVsEXWEy2APpCUNTHipOOEe..ubg3qBZOwpaPtsB.
creați utilizator (numai pentru instalare)
puteți crea utilizator numai pentru a monitoriza procesul de instalare. Odată ce instalarea este finalizată, acest utilizator va fi eliminat din nodul
kickstart command – sshpw
- în timpul instalării, puteți interacționa cu programul de instalare și monitoriza progresul acestuia printr-o conexiune SSH
- utilizați comanda sshpw pentru a crea conturi temporare prin care să vă conectați.
- fiecare instanță a comenzii creează un cont separat care există numai în mediul de instalare.
- aceste conturi nu sunt transferate în sistemul instalat.
sintaxă:
sshpw --username=name password
în exemplul meu CentOS/RHEL 8 kickstart creez un utilizator admin
pentru a monitoriza instalarea:
sshpw --username=admin --iscrypted --password=$6$PMLcSXd.w5pBvC.u$D06Ip60h/iWExxQ09gMi5aAbFaDK.NtLOgOZ56uU6kw.uUy/9/Mmw6vYBjs8Hw50y0Rx4m0yMdH0Vt5EUEsRI.
creați un grup nou
de asemenea, puteți crea un grup nou folosind kickstart
kickstart command – Group
- dacă un grup cu numele dat sau GID există deja, această comandă eșuează.
- comanda utilizatorului poate fi utilizată pentru a crea un grup nou pentru utilizatorul nou creat.
- creează un nou grup de utilizatori pe sistem.
sintaxă:
group --name=name
Opțiuni obligatorii
-
--name=
furnizează numele grupului.
activați sau dezactivați firewall
puteți activa sau dezactiva firewall – ul în timpul etapei de instalare
kickstart command-firewall
specifică configurația firewall-ului pentru sistemul instalat.
sintaxă:
firewall --enabled|--disabled
aici,
-
--enabled
sau--enable
– respingeți conexiunile primite care nu sunt ca răspuns la solicitările de ieșire, cum ar fi răspunsurile DNS sau cereri DHCP. -
--disabled
sau--disable
– nu configurați nicio regulă iptables.
activați un modul
de asemenea, puteți activa un modul folosind kickstart
kickstart command – module
utilizați această comandă pentru a activa un flux de module pachet în script kickstart.
sintaxă:
module --name=NAME
Opțiuni obligatorii
-
--name=
specifică numele modulului de activat. Înlocuiți numele cu numele real.
activați sau dezactivați SELinux
de asemenea, puteți activa sau dezactiva selinux folosind comanda kickstart
kickstart – selinux
- setează starea SELinux pe sistemul instalat.
- Politica SELinux implicită se aplică.
sintaxă:
selinux
Opțiuni:
-
--enforcing
activează SELinux cu Politica vizată implicit fiind aplicarea. -
--permissive
emite avertismente bazate pe politica SELinux, dar nu aplică de fapt politica. -
--disabled
dezactivează SELinux complet pe sistem.
selectarea pachetelor
Kickstart utilizează secțiuni pornite de comanda %packages pentru selectarea pachetelor de instalat.
kickstart command – %packages
- puteți instala pachete, grupuri, medii, fluxuri de module și profiluri de module în acest fel.
- utilizați comanda %packages pentru a începe o secțiune Kickstart care descrie pachetele software care urmează să fie instalate.
- secțiunea %packages trebuie să se încheie cu comanda %end.
specificarea grupurilor
- specificați grupuri, o intrare la o linie, începând cu un simbol @ și apoi numele complet al grupului sau ID-ul grupului
- puteți obține lista opțiunilor acceptate din lista „
dnf grouplist
„
%packages@X Window System@Desktop@Sound and Video%end
specificarea pachetelor individuale
- specificați pachetele individuale după nume, o intrare la o linie. Puteți utiliza caracterul asterisc ( * ) ca wildcard în numele pachetelor. De exemplu:
%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=
cantitatea de memorie pe care doriți să o rezervați pentru kdump, în MiB
în exemplul meu RHEL/CentOS 8 kickstart am folosit auto
pentru a rezerva automat memoria necesară pentru kdump:
%addon com_redhat_kdump --enable --reserve-mb='auto'%end
aplicați politica de parolă
kickstart command – pwpolicy
- utilizați această comandă pentru a impune o politică de parolă personalizată în timpul instalării.
- Politica vă cere să creați parole pentru root, utilizatori sau conturile de utilizator luks.
- factorii precum lungimea și puterea parolei decid validitatea unei parole.
pentru lista de opțiuni acceptate verificați ghidul Red Hat pentru instalare avansată
în exemplul meu RHEL/CentOS 8 kickstart pe care l-am folosit mai jos politica de parolă:
%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