Innehållsförteckning
i artikeln kommer jag att dela listan över RHEL/CentOS 8 Kickstart exempel kommandon som du kan använda för att automatisera installationen för red hat och CentOS. Jag har inte täckt %pre
och %post
installationssteg i den här artikeln eftersom det bara kan förlänga denna redan långa artikel. Även om jag kommer att försöka täcka de mest använda kickstart kommandon i realtid produktionsmiljö.
Kickstart Generator
Du kan använda Red Hat officiella Kickstart Generator verktyg för att skapa din kickstart fil för att automatisera installationen.
följ bara alternativen på skärmen så får du ett exempel på kickstart-fil baserat på ditt val.
Kickstart Validator
innan du startar installationen med kickstart-filen rekommenderas att du validerar innehållet i Kickstart-konfigurationsfilen. Installerapykickstart
för att installeraksvalidator
verktyg
# dnf -y install pykickstart
för att validera kickstart-filen, ange den absoluta sökvägen och kickstart-filen med ksvalidator
:
# ksvalidator kickstart.conf
nedan är listan över Kickstart-kommandon som du manuellt kan lägga till och skapa din egen Kickstart-fil för att automatisera hela Red Hat/CentOS-installationsprocessen. I slutet av artikeln har jag bifogat ett exempel kickstart konfigurationsfil som jag har använt för att installera virtuell maskin i Oracle VirtualBox
Lägg till kommentar (tillval)
Du kan välja att lägga till några kommentarer för att identifiera Kickstart som jag har lagt till för identifiering. Detta tillval och du kan välja att ignorera:
# version=RHEL8# RHEL/CentOS 8 Kickstart Example
utför mediekontroll
Du kan kontrollera media innan installationen påbörjas
Kickstart – kommando-mediacheck
detta kommando tvingar installationsprogrammet att utföra en mediekontroll innan installationen påbörjas.
Detta kommando kräver att installationer deltar, så det är inaktiverat som standard.
Syntax:
mediacheck
installationsläge
för en helautomatisk installation måste du antingen ange ett av de tillgängliga lägena i Kickstart-filen:
Kickstart-kommando-grafisk
- den utför Kickstart-installationen i grafiskt läge.
- du kan också kombinera den med
--non-interactive
som utför installationen i ett helt icke-interaktivt läge. - detta läge avslutar installationen när användarinteraktion krävs.
Kickstart-kommando-text
- den utför Kickstart-installationen i textläge.
- du kan också kombinera den med
--non-interactive
som utför installationen i ett helt icke-interaktivt läge. - detta läge avslutar installationen när användarinteraktion krävs.
Kickstart command – cmdline
- det utför installationen i ett helt icke-interaktivt kommandoradsläge.
- varje prompt för interaktion stoppar installationen.
- det här kommandot har inga alternativ.
i mitt RHEL/CentOS 8 kickstart-exempel väljer jag text
som den föredragna installationsmetoden
# Install in text modetext
skapa ytterligare repo
Du kan konfigurera ytterligare yum-arkiv som kan användas som källor för paketinstallation.
Kickstart command-repo
- som standard skapas alla medföljande repor automatiskt och monteras på
/run/install/repo/<repo_name>
- du kan lägga till flera
repo
linjer.
Syntax:
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.
För fullständig lista över alternativ som stöds kolla Red Hat Guide för avancerad Installation
i min RHEL / CentOS 8 kickstart exempel Jag kommer också att skapa AppStream
repo som är en del av ISO-bilden.
# Create additional repo during installationrepo --name="AppStream" --baseurl=file:///run/install/repo/AppStream
Installationsmetod
det finns olika installationsmetoder att välja mellan, till exempel cdrom
harddrive
hmc
nfs
liveimg
, eller url
.
vi använder mestadels url
cdrom
och nfs
I produktionsmiljö så jag kommer att förklara dessa installationsmetod:
Kickstart kommando – NFS
den utför installationen från en angiven NFS-server.
Syntax:
nfs OPTIONS
alternativ:
-
--server=
Server som ska installeras (värdnamn eller IP). -
--dir=
katalog som innehåller variantkatalogen för installationsträdet. -
--opts=
monteringsalternativ som ska användas för montering av NFS-exporten. (valfritt)
Kickstart – kommando-url
den utför installationen från en installationsträdbild på en fjärrserver med FTP, HTTP eller HTTPS.
Syntax:
url --url=FROM
obligatoriska alternativ:
-
--url=
platsen att installera från. Protokoll som stöds är HTTP, HTTPS, FTP och file.
valfria alternativ:
-
--proxy=
ange en HTTP -, HTTPS-eller FTP-proxy som ska användas när du utför installationen.
för att få fullständig lista över alternativ som stöds, kolla Red Hat ’ s Guide för avancerad installation
Kickstart command – cdrom
- den utför installationen från den första optiska enheten på systemet.
- det här kommandot har inga alternativ.
i mitt RHEL / CentOS 8 kickstart-exempel kommer jag att använda NFS som min installationsmetod
# Installation medianfs --server=10.10.10.12 --dir=/images/
Tangentbordslayouter
- det ställer in en eller flera tillgängliga tangentbordslayouter för systemet.
- alla tillgängliga layouter kan visas på mansidan xkeyboard-config(7) under layouter.
Syntax:
keyboard --vckeymap|--xlayouts OPTIONS
alternativ:
-
--vckeymap=
ange en vconsole-nyckelkarta som ska användas. Giltiga namn motsvarar listan över filer i katalogen/usr/lib/kbd/keymaps/xkb/
, utan tillägget.map.gz
. -
--xlayouts=
ange en lista med X-layouter som ska användas som en kommaseparerad lista utan mellanslag. Accepterar värden i samma format som setxkbmap(1), antingen i layoutformatet (t.ex. cz) eller i layoutformatet (variant) (t. ex. CZ (qwerty)).
i mitt RHEL/CentOS 8 kickstart – exempel kommer jag att använda English US
som tangentbordslayout
# Keyboard layoutskeyboard --vckeymap=us --xlayouts='us'
Ställ in systemspråk
Kickstart-kommando-lang
- det ställer in språket som ska användas under installationen och standardspråket som ska användas på det installerade systemet.
- du kan använda
locale -a | grep _
ellerlocalectl list-locales
för att få listan över språk som stöds.
Syntax:
lang language
i mitt RHEL/CentOS 8 kickstart – exempel kommer jag att använda en_US.UTF-8
# System languagelang en_US.UTF-8
nätverksinformation
Kickstart-kommando-nätverk
- den konfigurerar nätverksinformation för målsystemet och aktiverar nätverksenheter i installationsmiljön.
- enheten som anges i det första nätverkskommandot aktiveras automatiskt.
- aktivering av enheten kan också uttryckligen krävas av –activate-alternativet.
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
inaktivera IPv4 på den här enheten. -
--noipv6
inaktivera IPv6 på den här enheten.
i mitt RHEL / CentOS 8 kickstart-exempel kommer jag att tilldela nätverk till 2 gränssnitt eth0
och 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
tilldela root-lösenord
- det ställer in systemets root-lösenord till lösenordsargumentet.
- du kan ange root-lösenord antingen i vanlig text eller krypterad
- för att skapa ett krypterat lösenord kan du använda python:
$ python3 -c 'import crypt,getpass;pw=getpass.getpass();print(crypt.crypt(pw) if (pw==getpass.getpass("Confirm: ")) else exit())'
- detta genererar en sha512 Crypt-kompatibel hash av ditt lösenord med ett slumpmässigt salt.
Syntax:
rootpw password
alternativ:
-
--iscrypted
om det här alternativet finns antas lösenordsargumentet redan vara krypterat. -
--plaintext
om det här alternativet finns antas lösenordsargumentet vara i klartext. -
--lock
om det här alternativet finns är root-Kontot låst som standard. Det betyder att rotanvändaren inte kommer att kunna logga in från konsolen.
i mitt RHEL/CentOS 8 kickstart – exempel har jag redan skapat och tilldelat rotlösenord
# Root passwordrootpw --iscrypted $6$w7El/FYx9mbTG6x9$Te.Yg6dq0TsQwGpdSjeDGSw4J9ZBAkLXzT9ODMV7I7lHvX3n5.9PCS4jIkS2GbVLZOpVRLvrua3wwbwA.cfWX.
kör installationsagenten vid första start
Kickstart-kommando-firstboot
- det bestämmer om den ursprungliga installationsprogrammet startar Första gången startprogrammet startar systemet startas.
- om det är aktiverat måste paketet initial-setup installeras.
- om det inte anges är det här alternativet inaktiverat som standard.
Syntax:
firstboot OPTIONS
alternativ:
-
--enable
eller--enabled
:första installationen startas första gången systemet startar. -
--disable
eller--disabled
:första inställningen startas inte första gången systemet startar. -
--reconfig
:aktivera den ursprungliga inställningen för att starta vid starttid i omkonfigurationsläge.
i mitt RHEL/CentOS 8 kickstart – exempel aktiverar jag firstboot
# Run the Setup Agent on first bootfirstboot --enable
konfigurera X Window System
Du kan antingen välja att installera och konfigurera X Window System eller inaktivera det
Kickstart command-xconfig
- om du installerar en displayhanterare bland dina paketvalsalternativ skapar detta paket en X-konfiguration och det installerade systemet är som standard
graphical.target
. - som åsidosätter effekten av alternativet
skipx
. - för att konfigurera X Window System använd ”
xconfig
”
Kickstart command – skipx
för att undvika att konfigurera X Window System använd skipx
i min RHEL/CentOS 8 kickstart exempel Jag kommer att inaktivera X Windows system
# Do not configure the X Window Systemskipx
aktivera eller inaktivera systemtjänster
kickstart Command – services
- det ändrar standarduppsättningen av tjänster som kommer att köras under standard systemd-målet.
- listan över funktionshindrade tjänster behandlas före listan över aktiverade tjänster.
- därför, om en tjänst visas på båda listorna, kommer den att aktiveras.
Syntax:
services
i mitt RHEL/CentOS 8 kickstart – exempel aktiverar jag chronyd
service
# System servicesservices --enabled="chronyd"
Ställ in tidszon
Kickstart kommando-tidszon
- det ställer in systemets tidszon.
- du kan använda
timedatectl list-timezones
för att få listan över tidszonvärden som stöds
Syntax:
timezone timezone
valfria alternativ:
-
--utc
om det finns, antar systemet att hårdvaruklockan är inställd på UTC (Greenwich Mean) tid. -
--nontp
inaktivera NTP-tjänsten automatisk start. -
--ntpservers=
ange en lista över NTP-servrar som ska användas som en kommaseparerad lista utan mellanslag.
i mitt RHEL/CentOS 8 kickstart – exempel kommer jag att använda Asia/Kolkata
som min tidszon
# System timezonetimezone Asia/Kolkata --isUtc
hantera omstart av noden
Kickstart-kommando-omstart
-
reboot
” instruerar installationsprogrammet att starta om efter installationen har slutförts (inga argument). - normalt visar Kickstart ett meddelande och väntar på att användaren trycker på en knapp innan omstart.
- ange omstart för att automatisera installationen
i mitt RHEL/CentOS 8 kickstart – exempel kommer jag att använda omstart eftersom jag planerar att automatisera hela installationen
# Reboot the nodereboot
skapa diskpartition
Du kan använda olika variabler för att konfigurera din disklayout
kickstart Command-ignoredisk
- det gör att installationsprogrammet ignorerar de angivna skivorna.
- detta är användbart om du använder automatisk partitionering och vill vara säker på att vissa diskar ignoreras.
i mitt RHEL/CentOS 8 kickstart – exempel vill jag bara använda sda
disk för installation
# Choose the disks to be usedignoredisk --only-use=sda
Kickstart-kommando-clearpart
- det tar bort partitioner från systemet, före skapandet av nya partitioner.
- som standard tas inga partitioner bort.
i mitt CentOS / RHEL 8 kickstart-exempel tar jag bort alla befintliga partitioner:
# Partition clearing informationclearpart --all
Kickstart kommando – del eller partition
- det skapar en partition på systemet.
- detta ämne är väldigt stort och jag planerar att ge olika partitionslayout exempel för att installera Linux
i mitt exempel på kickstart kommer jag att installera CentOS 8 med logisk Volymhanterare. Här kommer jag att skapa
- rot logisk volym
- byt partition
- boot partition
# 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
skapa ny användare (permanent)
Du kan också skapa ny användare med Kickstart som också kommer att finnas efter installationen
kickstart – kommando-användare
använd user
för att skapa en ny användare med Kickstart
syntax:
user --name=username
i mitt RHEL/CentOS 8 kickstart-exempel skapar jag en användare deepak
# Create useruser --name=deepak --shell=/bin/bash --homedir=/home/deepak --iscrypted --password=$6$uSejt/TeWMJVQ/F8$/oFsIanDHS/5b9ssy7gZbQwNkORgRjsQIw4JyFjlTWDh9TVsEXWEy2APpCUNTHipOOEe..ubg3qBZOwpaPtsB.
skapa användare (endast för installation)
Du kan bara skapa användare för att övervaka installationsprocessen. När installationen är klar kommer den här användaren att tas bort från noden
Kickstart – kommandot-sshpw
- under installationen kan du interagera med installationsprogrammet och övervaka dess framsteg över en SSH-anslutning
- använd kommandot sshpw för att skapa tillfälliga konton för att logga in.
- varje instans av kommandot skapar ett separat konto som bara finns i installationsmiljön.
- dessa konton överförs inte till det installerade systemet.
Syntax:
sshpw --username=name password
i mitt CentOS/RHEL 8 kickstart – exempel skapar jag en användareadmin
för att övervaka installationen:
sshpw --username=admin --iscrypted --password=$6$PMLcSXd.w5pBvC.u$D06Ip60h/iWExxQ09gMi5aAbFaDK.NtLOgOZ56uU6kw.uUy/9/Mmw6vYBjs8Hw50y0Rx4m0yMdH0Vt5EUEsRI.
Skapa ny grupp
Du kan också skapa en ny grupp med Kickstart
kickstart Command-group
- om en grupp med det angivna namnet eller gid redan finns, misslyckas det här kommandot.
- användarkommandot kan användas för att skapa en ny grupp för den nyskapade användaren.
- det skapar en ny användargrupp på systemet.
Syntax:
group --name=name
obligatoriska alternativ
-
--name=
anger gruppens namn.
aktivera eller inaktivera brandvägg
Du kan aktivera eller inaktivera brandvägg under installationsfasen
Kickstart – kommando-brandvägg
det anger brandväggskonfigurationen för det installerade systemet.
Syntax:
firewall --enabled|--disabled
Här,
-
--enabled
eller--enable
– avvisa inkommande anslutningar som inte svarar på utgående förfrågningar, till exempel DNS-svar eller DHCP-förfrågningar. -
--disabled
eller--disable
– konfigurera inte några iptables-regler.
aktivera en modul
Du kan också aktivera en modul med kickstart
Kickstart command – modul
Använd detta kommando för att aktivera en paketmodul ström inom kickstart script.
Syntax:
module --name=NAME
obligatoriska alternativ
-
--name=
anger namnet på modulen som ska aktiveras. Byt namn med det faktiska namnet.
aktivera eller inaktivera SELinux
Du kan också aktivera eller inaktivera selinux med kickstart
Kickstart – kommando-selinux
- det ställer in SELinux-tillståndet på det installerade systemet.
- SELinux standardpolicy tillämpas.
Syntax:
selinux
alternativ:
-
--enforcing
aktiverar SELinux med standardinriktad policy som verkställs. -
--permissive
matar ut varningar baserat på SELinux-policyn, men tillämpar faktiskt inte policyn. -
--disabled
inaktiverar SELinux helt på systemet.
paketval
Kickstart använder sektioner som startats av kommandot %packages för att välja paket som ska installeras.
Kickstart command- % packages
- du kan installera paket, grupper, miljöer, modulströmmar och modulprofiler på detta sätt.
- använd kommandot %packages för att starta en Kickstart-sektion som beskriver de programvarupaket som ska installeras.
- avsnittet %paket måste avslutas med kommandot %end.
ange grupper
- ange grupper, en post till en rad, som börjar med en @ – symbol och sedan hela gruppnamnet eller grupp-id
- du kan få listan över alternativ som stöds från listan över ”
dnf grouplist
”
%packages@X Window System@Desktop@Sound and Video%end
specificera enskilda paket
- ange enskilda paket med namn, en post till en rad. Du kan använda asteriskteckenet ( * ) som ett jokertecken i Paketnamn. Exempelvis:
%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=
mängden minne du vill reservera för kdump, i MiB
i mitt RHEL/CentOS 8 kickstart – exempel har jag använt auto
för att automatiskt reservera det önskade minnet för kdump:
%addon com_redhat_kdump --enable --reserve-mb='auto'%end
använd lösenordspolicy
kickstart Command-pwpolicy
- använd detta kommando för att tillämpa en anpassad lösenordspolicy under installationen.
- policyn kräver att du skapar lösenord för root, användare eller luks användarkonton.
- faktorerna som lösenordslängd och styrka bestämmer giltigheten för ett lösenord.
För lista över alternativ som stöds, kolla Red Hat ’ s Guide för avancerad Installation
i mitt RHEL / CentOS 8 kickstart-exempel som jag har använt nedan lösenordspolicy:
%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