Indholdsfortegnelse
i artiklen vil jeg dele listen over RHEL/CentOS 8 Kickstart eksempel kommandoer, som du kan bruge til at automatisere installationen til Red Hat og CentOS. Jeg har ikke dækket%pre
og%post
installationstrin i denne artikel, da det måske bare forlænger denne allerede lange artikel. Selvom jeg vil forsøge at dække de mest anvendte kickstart-kommandoer i realtidsproduktionsmiljø.
Kickstart Generator
Du kan bruge Red Hat officielle Kickstart Generator værktøj til at oprette din kickstart fil til at automatisere installationen.
følg blot indstillingerne på skærmen, så får du en prøve kickstart-fil baseret på dit valg.
Kickstart Validator
før du starter installationen ved hjælp af kickstart-filen, anbefales det at validere indholdet af kickstart-konfigurationsfilen. Installerpykickstart
for at installereksvalidator
værktøj
# dnf -y install pykickstart
for at validere kickstart-filen skal du give den absolutte sti og kickstart-filen med ksvalidator
:
# ksvalidator kickstart.conf
nedenfor er listen over kickstart-kommandoer, som du manuelt kan tilføje og oprette din egen Kickstart-fil for at automatisere hele Red Hat/CentOS installationsprocessen. I slutningen af artiklen har jeg vedhæftet en prøve kickstart konfigurationsfil, som jeg har brugt til at installere virtuel maskine i Oracle Virtualboks
Tilføj kommentar (Valgfrit)
Du kan vælge at tilføje nogle kommentarer for at identificere Kickstart som jeg har tilføjet til identifikation. Dette er valgfrit, og du kan vælge at ignorere:
# version=RHEL8# RHEL/CentOS 8 Kickstart Example
Udfør mediekontrol
Du kan kontrollere medierne, før du starter installationen
kickstart command – mediacheck
denne kommando tvinger installationsprogrammet til at udføre en mediekontrol, før installationen startes.
denne kommando kræver, at installationer er til stede, så den er deaktiveret som standard.
syntaks:
mediacheck
installationstilstand
for en fuldautomatisk installation skal du enten angive en af de tilgængelige tilstande i Kickstart-fil:
kickstart command-graphical
- det udfører kickstart installationen i grafisk tilstand.
- du kan også kombinere det med
--non-interactive
som udfører installationen i en helt ikke-interaktiv tilstand. - denne tilstand afslutter installationen, når brugerinteraktion er påkrævet.
kickstart – kommando-tekst
- det udfører kickstart-installationen i teksttilstand.
- du kan også kombinere det med
--non-interactive
som udfører installationen i en helt ikke-interaktiv tilstand. - denne tilstand afslutter installationen, når brugerinteraktion er påkrævet.
kickstart command – cmdline
- det udfører installationen i en fuldstændig ikke-interaktiv kommandolinjetilstand.
- enhver prompt for interaktion stopper installationen.
- denne kommando har ingen muligheder.
i mit RHEL/CentOS 8 kickstart eksempel vælger jegtext
som den foretrukne installationsmetode
# Install in text modetext
Opret yderligere repo
Du kan konfigurere yderligere yum-arkiver, der kan bruges som kilder til pakkeinstallation.
kickstart command – repo
- som standard oprettes og monteres alle de medfølgende repos automatisk på
/run/install/repo/<repo_name>
- du kan tilføje flere
repo
linjer.
syntaks:
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.
for komplet liste over understøttede muligheder, tjek Red Hat ‘ s Guide til avanceret Installation
i mit RHEL/CentOS 8 kickstart eksempel vil jeg også opretteAppStream
repo, som er en del af ISO-billedet.
# Create additional repo during installationrepo --name="AppStream" --baseurl=file:///run/install/repo/AppStream
installationsmetode
der er forskellige installationsmetoder at vælge imellem som cdrom
harddrive
hmc
nfs
liveimg
, eller url
.
Vi bruger for det mesteurl
cdrom
ognfs
i produktionsmiljø, så jeg vil forklare disse installationsmetoder:
kickstart command – nfs
det udfører installationen fra en specificeret NFS-server.
syntaks:
nfs OPTIONS
indstillinger:
-
--server=
Server, hvorfra der skal installeres (værtsnavn eller IP). -
--dir=
mappe, der indeholder variantkataloget for installationstræet. -
--opts=
monteringsmuligheder, der skal bruges til montering af NFS-eksporten. (valgfrit)
kickstart – kommando-url
det udfører installationen fra et installationstræbillede på en fjernserver ved hjælp af FTP, HTTP eller HTTPS.
syntaks:
url --url=FROM
obligatoriske indstillinger:
-
--url=
placeringen at installere fra. Understøttede protokoller er HTTP, HTTPS, FTP og file.
valgfrie indstillinger:
-
--proxy=
Angiv en HTTP -, HTTPS-eller FTP-fuldmagt, der skal bruges, mens installationen udføres.
for at få en komplet liste over understøttede indstillinger skal du kontrollere Red Hat ‘ s Guide til avanceret installation
kickstart command – cdrom
- det udfører installationen fra det første optiske drev på systemet.
- denne kommando har ingen muligheder.
i mit RHEL/CentOS 8 kickstart eksempel vil jeg bruge NFS som min installationsmetode
# Installation medianfs --server=10.10.10.12 --dir=/images/
tastaturlayout
- det indstiller et eller flere tilgængelige tastaturlayout til systemet.
- alle tilgængelige layouts kan ses på man-siden med tastaturkonfiguration(7) under Layouts.
syntaks:
keyboard --vckeymap|--xlayouts OPTIONS
valg:
-
--vckeymap=
Angiv en vconsole keymap, som skal bruges. Gyldige navne svarer til listen over filer i/usr/lib/kbd/keymaps/xkb/
uden.map.gz
udvidelsen. -
--xlayouts=
Angiv en liste over layout, der skal bruges som en kommasepareret liste uden mellemrum. Accepterer værdier i samme format som setup(1), enten i layoutformatet (f.eks.
i min RHEL/CentOS 8 kickstart eksempel vil jeg bruge English US
som tastaturlayout
# Keyboard layoutskeyboard --vckeymap=us --xlayouts='us'
Indstil systemsprog
kickstart command – lang
- det indstiller det sprog, der skal bruges under installationen, og standardsproget, der skal bruges på det installerede system.
- du kan bruge
locale -a | grep _
ellerlocalectl list-locales
for at få listen over understøttede lokaliteter.
syntaks:
lang language
i min RHEL/CentOS 8 kickstart eksempel vil jeg bruge en_US.UTF-8
# System languagelang en_US.UTF-8
netværksinformation
kickstart kommando – netværk
- det konfigurerer netværksoplysninger til målsystemet og aktiverer netværksenheder i installationsmiljøet.
- enheden, der er angivet i den første netværkskommando, aktiveres automatisk.
- aktivering af enheden kan også udtrykkeligt kræves af –activate-indstillingen.
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
Deaktiver IPv4 på denne enhed. -
--noipv6
deaktiver IPv6 på denne enhed.
i mit RHEL/CentOS 8 kickstart eksempel vil jeg tildele netværk til 2 grænseflader ogeth1
# 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
Tildel rodadgangskode
- det indstiller systemets rodadgangskode til adgangskodeargumentet.
- du kan angive rodadgangskode enten i almindelig tekst eller krypteret
- for at oprette en krypteret adgangskode kan du bruge python:
$ python3 -c 'import crypt,getpass;pw=getpass.getpass();print(crypt.crypt(pw) if (pw==getpass.getpass("Confirm: ")) else exit())'
- dette genererer en SHA512 krypt-kompatibel hash af din adgangskode ved hjælp af en tilfældig salt.
syntaks:
rootpw password
indstillinger:
-
--iscrypted
hvis denne indstilling er til stede, antages adgangskodeargumentet allerede at være krypteret. -
--plaintext
hvis denne indstilling er til stede, antages adgangskodeargumentet at være i almindelig tekst. -
--lock
hvis denne indstilling er til stede, er rodkontoen låst som standard. Dette betyder, at rodbrugeren ikke kan logge ind fra konsollen.
i mit RHEL/CentOS 8 kickstart – eksempel har jeg allerede oprettet og tildelt rodadgangskode
# Root passwordrootpw --iscrypted $6$w7El/FYx9mbTG6x9$Te.Yg6dq0TsQwGpdSjeDGSw4J9ZBAkLXzT9ODMV7I7lHvX3n5.9PCS4jIkS2GbVLZOpVRLvrua3wwbwA.cfWX.
Kør opsætningsagenten på first boot
kickstart command-firstboot
- det bestemmer, om den oprindelige Opsætningsapplikation starter den første opstart
kickstart command-firstboot
- tid systemet er startet.
- hvis den er aktiveret, skal den oprindelige installationspakke installeres.
- hvis ikke angivet, er denne indstilling deaktiveret som standard.
syntaks:
firstboot OPTIONS
indstillinger:
-
--enable
eller--enabled
: første opsætning startes første gang systemet starter. -
--disable
eller--disabled
:første opsætning startes ikke første gang systemet starter. -
--reconfig
: aktiver den oprindelige opsætning for at starte ved opstartstid i rekonfigurationstilstand.
i mit RHEL/CentOS 8 kickstart eksempel vil jeg aktivere
firstboot
# Run the Setup Agent on first bootfirstboot --enable
Konfigurer Vinduesystem
Du kan enten vælge at installere og konfigurere Vinduesystem eller deaktivere det
kickstart kommando – hconfig
- hvis du installerer en displayhåndtering blandt dine pakkevalgsindstillinger, opretter denne pakke en konfiguration, og det installerede system er som standard
graphical.target
. - det tilsidesætter effekten af
skipx
valgmulighed. - for at konfigurere vinduet System Brug “
xconfig
“
kickstart kommando – Spring
for at undgå at konfigurere vinduet System Brug
skipx
i min RHEL/CentOS 8 kickstart eksempel Jeg vil deaktivere vinduer system
# Do not configure the X Window Systemskipx
aktiver eller deaktiver systemtjenester
kickstart command – Services
- det ændrer standardsættet af tjenester, der kører under standard systemd-målet.
- listen over deaktiverede tjenester behandles før listen over aktiverede tjenester.
- derfor, hvis en tjeneste vises på begge lister, vil den blive aktiveret.
syntaks:
services
i min RHEL/CentOS 8 kickstart eksempel vil jeg aktivere
chronyd
service# System servicesservices --enabled="chronyd"
Indstil timesone
Kickstart command – timesone
- det indstiller systemets tidssone.
- du kan bruge
timedatectl list-timezones
for at få listen over understøttede tidsværdier
syntaks:
timezone timezone
valgfrie indstillinger:
-
--utc
hvis det er til stede, antager systemet, at apparatets ur er indstillet til UTC-tid. -
--nontp
Deaktiver NTP-tjenesten automatisk start. -
--ntpservers=
Angiv en liste over NTP-servere, der skal bruges som en kommasepareret liste uden mellemrum.
i min RHEL/CentOS 8 kickstart eksempel vil jeg bruge
Asia/Kolkata
som min timesone# System timezonetimezone Asia/Kolkata --isUtc
håndtag genstart af noden
kickstart kommando – genstart
-
reboot
” instruerer installationsprogrammet om at genstarte, efter at installationen er afsluttet (ingen argumenter). - normalt viser Kickstart en meddelelse og venter på, at brugeren trykker på en tast, før han genstarter.
- Angiv genstart for at automatisere installationen
i mit RHEL/CentOS 8 kickstart eksempel vil jeg bruge genstart, da jeg planlægger at automatisere hele installationen
# Reboot the nodereboot
Opret diskpartition
Du kan bruge forskellige variabler til at konfigurere dit disklayout
kickstart command – ignoredisk
- det får installationsprogrammet til at ignorere de angivne diske.
- dette er nyttigt, hvis du bruger automatisk partitionering og vil være sikker på, at nogle diske ignoreres.
i mit RHEL/CentOS 8 kickstart eksempel vil jeg kun bruge
sda
disk til installation# Choose the disks to be usedignoredisk --only-use=sda
kickstart command – clearpart
- det fjerner partitioner fra systemet, før Oprettelse af nye partitioner.
- som standard fjernes ingen partitioner.
i mit CentOS/RHEL 8 kickstart eksempel vil jeg fjerne alle eksisterende partitioner:
# Partition clearing informationclearpart --all
kickstart kommando – del eller partition
- det opretter en partition på systemet.
- dette emne er meget stort, og jeg planlægger at give forskellige partitionslayouteksempler for at installere Linuk
i mit eksempel på kickstart-eksempel vil jeg installere CentOS 8 ved hjælp af logisk Volumenhåndtering. Her vil jeg oprette
- root logisk volumen
- skift 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
Opret ny bruger (permanent)
Du kan også oprette ny bruger ved hjælp af kickstart, som også vil være til stede efter installationen
kickstart command – user
brug
user
for at oprette en ny bruger ved hjælp af kickstartsyntaks:
user --name=username
i mit RHEL/CentOS 8 kickstart eksempel vil jeg oprette en bruger
deepak
# Create useruser --name=deepak --shell=/bin/bash --homedir=/home/deepak --iscrypted --password=$6$uSejt/TeWMJVQ/F8$/oFsIanDHS/5b9ssy7gZbQwNkORgRjsQIw4JyFjlTWDh9TVsEXWEy2APpCUNTHipOOEe..ubg3qBZOwpaPtsB.
Opret bruger (kun til installation)
Du kan kun oprette bruger for at overvåge installationsprocessen. Når installationen er afsluttet, fjernes denne bruger fra noden
kickstart command – sshp
- under installationen kan du interagere med installationsprogrammet og overvåge dets fremskridt over en SSH-forbindelse
- brug kommandoen sshp til at oprette midlertidige konti, som du kan logge på.
- hver forekomst af kommandoen opretter en separat konto, der kun findes i installationsmiljøet.
- disse konti overføres ikke til det installerede system.
syntaks:
sshpw --username=name password
i mit CentOS/RHEL 8 kickstart eksempel opretter jeg en bruger
admin
for at overvåge installationen:sshpw --username=admin --iscrypted --password=$6$PMLcSXd.w5pBvC.u$D06Ip60h/iWExxQ09gMi5aAbFaDK.NtLOgOZ56uU6kw.uUy/9/Mmw6vYBjs8Hw50y0Rx4m0yMdH0Vt5EUEsRI.
Opret ny gruppe
Du kan også oprette en ny gruppe ved hjælp af kickstart
kickstart command – group
- hvis der allerede findes en gruppe med det givne navn eller gid, mislykkes denne kommando.
- brugerkommandoen kan bruges til at oprette en ny gruppe til den nyoprettede bruger.
- det opretter en ny brugergruppe på systemet.
syntaks:
group --name=name
obligatoriske indstillinger
-
--name=
giver navnet på gruppen.
Aktiver eller deaktiver brandmur
Du kan aktivere eller deaktivere brandmur under installationsfasen
kickstart kommando – brandmur
det angiver brandmurkonfigurationen for det installerede system.
syntaks:
firewall --enabled|--disabled
Her,
-
--enabled
eller--enable
– Afvis indgående forbindelser, der ikke er som svar på udgående anmodninger, såsom DNS-svar eller DHCP-anmodninger. -
--disabled
eller--disable
– Konfigurer ikke nogen iptables regler.
Aktiver et modul
Du kan også aktivere et modul ved hjælp af kickstart
kickstart command – module
brug denne kommando til at aktivere en pakkemodulstrøm i kickstart script.
syntaks:
module --name=NAME
obligatoriske indstillinger
-
--name=
angiver navnet på modulet, der skal aktiveres. Udskift navn med det faktiske navn.
Aktiver eller deaktiver Selinuks
Du kan også aktivere eller deaktivere selinuks ved hjælp af kickstart
- det indstiller Selinuks tilstand på det installerede system.
- standardpolitikken håndhæves.
syntaks:
selinux
indstillinger:
-
--enforcing
aktiverer Selinuks med den standardmålrettede politik, der håndhæves. -
--permissive
udsender advarsler baseret på Selinuks-politikken, men håndhæver faktisk ikke politikken. -
--disabled
deaktiverer Selinuks helt på systemet.
pakkevalg
Kickstart bruger sektioner startet af kommandoen %pakker til valg af pakker, der skal installeres.
kickstart command- % packages
- du kan installere pakker, grupper, miljøer, modulstrømme og modulprofiler på denne måde.
- brug kommandoen %pakker til at starte et kickstart-afsnit, der beskriver de programpakker, der skal installeres.
- afsnittet %pakker skal slutte med kommandoen %end.
angivelse af grupper
- Angiv grupper, en indgang til en linje, der starter med et @ symbol, og derefter det fulde gruppenavn eller gruppe id
- du kan få listen over understøttede indstillinger fra listen over “
dnf grouplist
“
%packages@X Window System@Desktop@Sound and Video%end
specificering af individuelle pakker
- Angiv individuelle pakker efter navn, en indgang til en linje. Du kan bruge asterisk-tegnet (*) som et jokertegn i pakkenavne. Eksempel:
%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=
den mængde hukommelse, du vil reservere til kdump, i MiB
i mit RHEL/CentOS 8 kickstart eksempel har jeg brugt
auto
til automatisk at reservere den krævede hukommelse til kdump:%addon com_redhat_kdump --enable --reserve-mb='auto'%end
Anvend adgangskodepolitik
kickstart – kommando
- brug Denne kommando til at håndhæve en brugerdefineret adgangskodepolitik under installationen.
- politikken kræver, at du opretter adgangskoder til root, brugere eller luks-brugerkonti.
- faktorer som adgangskodelængde og styrke bestemmer gyldigheden af en adgangskode.
For liste over understøttede muligheder, tjek Red Hat ‘ s Guide til avanceret Installation
i mit RHEL / CentOS 8 kickstart eksempel, Jeg har brugt under adgangskodepolitik:
%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