Tartalomjegyzék
a cikkben megosztom az RHEL/CentOS 8 Kickstart példa parancsok listáját, amelyek segítségével automatizálhatja a Red Hat és a CentOS telepítését. Nem foglalkoztam %pre
and %post
telepítési szakasz ebben a cikkben, mivel ez csak meghosszabbíthatja ezt a már hosszú cikket. Bár megpróbálom fedezni a leggyakrabban használt kickstart parancsokat valós idejű termelési környezetben.
Kickstart Generator
a Red Hat hivatalos Kickstart Generator eszközével létrehozhatja a Kickstart fájlt a telepítés automatizálásához.
csak kövesse a képernyőn megjelenő opciókat, és kap egy minta kickstart fájlt az Ön választása alapján.
Kickstart Validator
mielőtt elindítaná a telepítést a kickstart fájl használatával, javasoljuk, hogy ellenőrizze a Kickstart konfigurációs fájl tartalmát. Install pykickstart
a ksvalidator
eszköz telepítéséhez
# dnf -y install pykickstart
a kickstart fájl érvényesítéséhez adja meg az abszolút elérési utat és a kickstart fájlt a ksvalidator
:
# ksvalidator kickstart.conf
Az alábbiakban felsoroljuk azokat a Kickstart parancsokat, amelyeket manuálisan hozzáadhat és létrehozhat saját Kickstart fájlt a teljes Red Hat/CentOS telepítési folyamat automatizálásához. A cikk végén csatoltam egy minta kickstart konfigurációs fájlt, amelyet a virtuális gép telepítéséhez használtam az Oracle VirtualBox-ban
Megjegyzés hozzáadása (opcionális)
választhat, hogy hozzáad-e néhány megjegyzést a Kickstart, ahogy az azonosításhoz hozzáadtam.
# version=RHEL8# RHEL/CentOS 8 Kickstart Example
Médiaellenőrzés végrehajtása
a telepítés megkezdése előtt ellenőrizheti az adathordozót
Kickstart command – mediacheck
Ez a parancs arra kényszeríti a telepítőprogramot, hogy a telepítés megkezdése előtt végezzen médiaellenőrzést.
Ez a parancs megköveteli, hogy a telepítések részt vegyenek, ezért alapértelmezés szerint le van tiltva.
Syntax:
mediacheck
telepítési mód
a teljesen automatikus telepítéshez meg kell adnia a rendelkezésre álló módok egyikét a Kickstart fájlban:
Kickstart parancs – grafikus
- a Kickstart telepítést grafikus módban hajtja végre.
- kombinálhatja a következővel is:
--non-interactive
amely a telepítést teljesen nem interaktív módban hajtja végre. - ez a mód leállítja a telepítést, ha felhasználói beavatkozásra van szükség.
Kickstart command – text
- a Kickstart telepítést szöveges módban hajtja végre.
- kombinálhatja a következővel is:
--non-interactive
amely a telepítést teljesen nem interaktív módban hajtja végre. - ez a mód leállítja a telepítést, ha felhasználói beavatkozásra van szükség.
Kickstart command – cmdline
- a telepítést teljesen nem interaktív parancssori módban hajtja végre.
- bármilyen interakciós kérés leállítja a telepítést.
- ennek a parancsnak nincs opciója.
Az én RHEL / CentOS 8 kickstart példa választom text
mint a preferált telepítési módszer
# Install in text modetext
hozzon létre további repo
beállíthatja további yum tárolók, hogy lehet használni, mint a források a csomag telepítése.
Kickstart command – repo
- alapértelmezés szerint az összes megadott repó automatikusan létrejön és fel van szerelve
/run/install/repo/<repo_name>
- több
repo
vonalak.
szintaxis:
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.
a támogatott opciók teljes listájához ellenőrizze a Red Hat Speciális telepítési útmutatóját
az RHEL/CentOS 8 kickstart példámban létrehozom a AppStream
repót is, amely az ISO kép része.
# Create additional repo during installationrepo --name="AppStream" --baseurl=file:///run/install/repo/AppStream
telepítési módszer
különböző telepítési módszerek közül lehet választani, mint például cdrom
harddrive
hmc
nfs
liveimg
, vagy url
.
leginkább aurl
cdrom
andnfs
termelési környezetben használjuk, ezért elmagyarázom ezeket a telepítési módszereket:
Kickstart command – nfs
a telepítést egy megadott NFS szerverről hajtja végre.
szintaxis:
nfs OPTIONS
opciók:
-
--server=
kiszolgáló, ahonnan telepíteni kell (gazdagép neve vagy IP). -
--dir=
A telepítési fa variant könyvtárát tartalmazó könyvtár. -
--opts=
az NFS exportáláshoz használandó csatolási lehetőségek. (opcionális)
Kickstart command – url
a telepítést egy távoli kiszolgálón lévő telepítési fa képről hajtja végre FTP, HTTP vagy HTTPS használatával.
szintaxis:
url --url=FROM
kötelező beállítások:
-
--url=
a telepítés helye. A támogatott protokollok a HTTP, HTTPS, FTP és fájl.
opcionális opciók:
-
--proxy=
adja meg a telepítés során használandó HTTP, HTTPS vagy FTP proxyt.
a támogatott opciók teljes listájának megtekintéséhez ellenőrizze a Red Hat speciális telepítési útmutatóját
Kickstart command – cdrom
- a telepítést a rendszer első optikai meghajtójáról hajtja végre.
- ennek a parancsnak nincs opciója.
az RHEL/CentOS 8 kickstart példámban az NFS-t fogom használni telepítési módszerként
# Installation medianfs --server=10.10.10.12 --dir=/images/
Billentyűzetkiosztások
- egy vagy több elérhető billentyűzetkiosztást állít be a rendszerhez.
- az összes elérhető elrendezés megtekinthető az Xkeyboard-config(7) man oldalon az elrendezések alatt.
szintaxis:
keyboard --vckeymap|--xlayouts OPTIONS
opciók:
-
--vckeymap=
adja meg a használni kívánt vconsole kulcstérképet. Az érvényes nevek megfelelnek a/usr/lib/kbd/keymaps/xkb/
könyvtárban található fájlok listájának, a.map.gz
kiterjesztés nélkül. -
--xlayouts=
adja meg az X elrendezések listáját, amelyeket vesszővel elválasztott listaként kell használni szóköz nélkül. Az értékeket ugyanolyan formátumban fogadja el, mint a setxkbmap(1), akár elrendezési formátumban (például cz), akár elrendezési (variáns) formátumban (például cz (qwerty)).
Az én RHEL/CentOS 8 kickstart példa fogom használni English US
mint Billentyűzetkiosztás
# Keyboard layoutskeyboard --vckeymap=us --xlayouts='us'
Set rendszer nyelve
Kickstart command – lang
- beállítja a telepítés során használandó nyelvet és a telepített rendszeren használandó alapértelmezett nyelvet.
- használhatja a
locale -a | grep _
vagylocalectl list-locales
a támogatott területek listáját.
szintaxis:
lang language
Az én RHEL/CentOS 8 kickstart példa fogom használni en_US.UTF-8
# System languagelang en_US.UTF-8
hálózati információk
Kickstart parancs – hálózat
- konfigurálja a célrendszer hálózati adatait, és aktiválja a hálózati eszközöket a telepítési környezetben.
- az első hálózati parancsban megadott eszköz automatikusan aktiválódik.
- az eszköz aktiválását a –activate opció is kifejezetten megkövetelheti.
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
az IPv4 letiltása ezen az eszközön. -
--noipv6
az IPv6 letiltása ezen az eszközön.
az RHEL / CentOS 8 kickstart példámban a hálózatot 2 interfészhez rendelem eth0
and 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
root jelszó hozzárendelése
- beállítja a rendszer root jelszavát a jelszó argumentumhoz.
- megadhat root jelszót egyszerű szövegben vagy titkosítva
- titkosított jelszó létrehozásához használhatja a python-t:
$ python3 -c 'import crypt,getpass;pw=getpass.getpass();print(crypt.crypt(pw) if (pw==getpass.getpass("Confirm: ")) else exit())'
- ez generál egy SHA512 kripta-kompatibilis hash a jelszót egy véletlen só.
szintaxis:
rootpw password
opciók:
-
--iscrypted
ha ez az opció jelen van, akkor a jelszó argumentum már titkosítva van. -
--plaintext
ha ez az opció jelen van, akkor a jelszó argumentum egyszerű szöveges lesz. -
--lock
ha ez az opció jelen van, a root fiók alapértelmezés szerint zárolva van. Ez azt jelenti, hogy a root felhasználó nem tud bejelentkezni a konzolról.
az RHEL/CentOS 8 kickstart példámban már létrehoztam és hozzárendeltem a root jelszót
# Root passwordrootpw --iscrypted $6$w7El/FYx9mbTG6x9$Te.Yg6dq0TsQwGpdSjeDGSw4J9ZBAkLXzT9ODMV7I7lHvX3n5.9PCS4jIkS2GbVLZOpVRLvrua3wwbwA.cfWX.
futtassa a telepítő ügynököt az első indításkor
Kickstart command – firstboot
- meghatározza, hogy a kezdeti telepítő alkalmazás elindítja-e az első a rendszer indításának ideje.
- ha engedélyezve van, a kezdeti beállítási csomagot telepíteni kell.
- ha nincs megadva, ez az opció alapértelmezés szerint le van tiltva.
szintaxis:
firstboot OPTIONS
opciók:
-
--enable
vagy--enabled
: A rendszer első indításakor elindul a kezdeti beállítás. -
--disable
vagy--disabled
:A rendszer első indításakor nem indul el a kezdeti beállítás. -
--reconfig
: engedélyezze a kezdeti beállítás indítását indításkor újrakonfigurálási módban.
az RHEL/CentOS 8 kickstart példámban Engedélyezem firstboot
# Run the Setup Agent on first bootfirstboot --enable
konfigurálja az X Window rendszert
választhatja az X Window rendszer telepítését és konfigurálását, vagy letilthatja
Kickstart command – xconfig
- ha a csomagválasztási lehetőségek között kijelzőkezelőt telepít, ez a csomag létrehoz egy x konfigurációt, és a telepített rendszer alapértelmezés szerint
graphical.target
. - ez felülbírálja a
skipx
opció hatását. - az X ablakrendszer konfigurálásához használja a “
xconfig
“
Kickstart parancs – skipx
az X ablakrendszer konfigurálásának elkerülése érdekében használja a skipx
az RHEL/CentOS 8 kickstart példa letiltom az X Windows rendszert
# Do not configure the X Window Systemskipx
rendszerszolgáltatások engedélyezése vagy letiltása
kickstart command – services
- módosítja az alapértelmezett systemd cél alatt futó szolgáltatások alapértelmezett készletét.
- a letiltott szolgáltatások listája az engedélyezett szolgáltatások listája előtt kerül feldolgozásra.
- ezért, ha egy szolgáltatás mindkét listán megjelenik, akkor engedélyezve lesz.
szintaxis:
services
az RHEL/CentOS 8 kickstart példámban Engedélyezem chronyd
szolgáltatás
# System servicesservices --enabled="chronyd"
időzóna beállítása
kickstart parancs – időzóna
- beállítja a rendszer időzónáját.
- használhatja a
timedatectl list-timezones
a támogatott időzóna értékek listájának lekéréséhez
szintaxis:
timezone timezone
opcionális opciók:
-
--utc
ha jelen van, a rendszer feltételezi, hogy a hardveróra UTC (Greenwich Mean) időre van állítva. -
--nontp
tiltsa le az NTP szolgáltatás automatikus indítását. -
--ntpservers=
adja meg a vesszővel elválasztott, szóköz nélküli NTP-kiszolgálók listáját.
Az én RHEL/CentOS 8 kickstart példa fogom használni Asia/Kolkata
mint az én időzóna
# System timezonetimezone Asia/Kolkata --isUtc
fogantyú újraindítás a csomópont
Kickstart command – reboot
- A “
reboot
” utasítja a telepítőprogram újraindítását a telepítés sikeres befejezése után (argumentumok nélkül). - normál esetben a Kickstart megjelenít egy üzenetet, és megvárja, amíg a felhasználó megnyom egy gombot az újraindítás előtt.
- adja meg az újraindítást a telepítés automatizálásához
az RHEL/CentOS 8 kickstart példámban az újraindítást fogom használni, mivel a teljes telepítés automatizálását tervezem
# Reboot the nodereboot
lemezpartíció létrehozása
különböző változókat használhat a lemez elrendezésének konfigurálásához
kickstart command – ignoredisk
- a telepítőprogram figyelmen kívül hagyja a megadott lemezeket.
- ez akkor hasznos, ha automatikus particionálást használ, és biztos akar lenni abban, hogy egyes lemezeket figyelmen kívül hagy.
az RHEL/CentOS 8 kickstart példámban csak a sda
lemezt akarom használni a telepítéshez
# Choose the disks to be usedignoredisk --only-use=sda
Kickstart parancs – clearpart
- eltávolítja a partíciókat a rendszerből, új partíciók létrehozása előtt.
- alapértelmezés szerint nincs partíció eltávolítva.
a CentOS / RHEL 8 kickstart példámban eltávolítom az összes létező partíciót:
# Partition clearing informationclearpart --all
Kickstart parancs – rész vagy partíció
- létrehoz egy partíciót a rendszeren.
- ez a téma nagyon kiterjedt, és azt tervezem, hogy különböző partíciós elrendezési példákat adok a Linux telepítéséhez
a kickstart példámban a CentOS 8-at a Logical Volume Manager segítségével telepítem. Itt fogok létrehozni
- gyökér logikai kötet
- swap partíció
- boot partíció
# 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
új felhasználó létrehozása (állandó)
új felhasználót is létrehozhat a Kickstart használatával, amely a telepítés után is jelen lesz
kickstart command – user
a user
új felhasználó létrehozása a kickstart
szintaxis használatával:
user --name=username
az RHEL/CentOS 8 kickstart példámban létrehozok egy felhasználótdeepak
# Create useruser --name=deepak --shell=/bin/bash --homedir=/home/deepak --iscrypted --password=$6$uSejt/TeWMJVQ/F8$/oFsIanDHS/5b9ssy7gZbQwNkORgRjsQIw4JyFjlTWDh9TVsEXWEy2APpCUNTHipOOEe..ubg3qBZOwpaPtsB.
Felhasználó létrehozása (csak telepítéshez)
csak a telepítési folyamat figyelemmel kísérésére hozhat létre felhasználót. A telepítés befejezése után ez a felhasználó eltávolításra kerül a csomópontból
Kickstart command – sshpw
- a telepítés során kölcsönhatásba léphet a telepítőprogrammal, és figyelemmel kísérheti annak előrehaladását SSH kapcsolaton keresztül
- az sshpw paranccsal ideiglenes fiókokat hozhat létre, amelyeken keresztül bejelentkezhet.
- A parancs minden példánya külön fiókot hoz létre, amely csak a telepítési környezetben létezik.
- ezek a fiókok nem kerülnek át a telepített rendszerbe.
szintaxis:
sshpw --username=name password
a CentOS/RHEL 8 kickstart példámban létrehozok egy felhasználót admin
a telepítés figyelemmel kíséréséhez:
sshpw --username=admin --iscrypted --password=$6$PMLcSXd.w5pBvC.u$D06Ip60h/iWExxQ09gMi5aAbFaDK.NtLOgOZ56uU6kw.uUy/9/Mmw6vYBjs8Hw50y0Rx4m0yMdH0Vt5EUEsRI.
Új csoport létrehozása
új csoportot is létrehozhat a Kickstart
Kickstart Command – Group
- ha már létezik egy adott névvel vagy gid-vel rendelkező csoport, ez a parancs sikertelen.
- A felhasználói paranccsal új csoportot lehet létrehozni az újonnan létrehozott felhasználó számára.
- új felhasználói csoportot hoz létre a rendszeren.
szintaxis:
group --name=name
kötelező beállítások
-
--name=
megadja a csoport nevét.
tűzfal engedélyezése vagy letiltása
engedélyezheti vagy letilthatja a tűzfalat a telepítési szakaszban
Kickstart parancs – tűzfal
meghatározza a telepített rendszer tűzfal konfigurációját.
szintaxis:
firewall --enabled|--disabled
itt,
-
--enabled
vagy--enable
– az olyan bejövő kapcsolatok elutasítása, amelyek nem válaszolnak kimenő kérésekre, például DNS-válaszokra vagy DHCP kérések. -
--disabled
vagy--disable
– ne konfiguráljon semmilyen iptables szabályt.
modul engedélyezése
modulokat is engedélyezhet a kickstart parancs használatával
Kickstart parancsmodul
ezzel a paranccsal engedélyezheti a csomagmodul adatfolyamát a Kickstart szkriptben.
szintaxis:
module --name=NAME
kötelező beállítások
-
--name=
megadja az engedélyezni kívánt modul nevét. Cserélje ki a nevet a tényleges névre.
SELinux engedélyezése vagy letiltása
a selinux engedélyezése vagy letiltása a Kickstart
Kickstart command – selinux
- Beállítja a SELinux állapotát a telepített rendszeren.
- az alapértelmezett SELinux házirend érvényesítése.
szintaxis:
selinux
opciók:
-
--enforcing
engedélyezi a SELinux-ot az alapértelmezett célzott házirend végrehajtásával. -
--permissive
figyelmeztetéseket ad ki a SELinux irányelv alapján, de valójában nem érvényesíti a házirendet. -
--disabled
teljesen letiltja a Selinuxot a rendszeren.
Csomagválasztás
a Kickstart a %packages paranccsal indított szakaszokat használja a Telepítendő csomagok kiválasztásához.
Kickstart command – %packages
- így telepíthet csomagokat, csoportokat, környezeteket, modulfolyamokat és modulprofilokat.
- A %packages paranccsal elindíthat egy Kickstart szakaszt, amely leírja a telepítendő szoftvercsomagokat.
- a %csomagok szakasznak a %end paranccsal kell befejeződnie.
csoportok megadása
- csoportok megadása, egy sor bejegyzése @ szimbólummal kezdve, majd a teljes csoportnév vagy csoportazonosító
- a támogatott opciók listáját a “”
%packages@X Window System@Desktop@Sound and Video%end
egyedi csomagok megadása
- egyedi csomagok megadása név szerint, egy sor bejegyzése alapján. A csillag karaktert (*) helyettesítő karakterként használhatja a csomagnevekben. Például:
%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=
A kdump számára lefoglalni kívánt memória mennyisége MiB – ben
az RHEL/CentOS 8 kickstart példámban a auto
a szükséges memória automatikus lefoglalásához a kdump számára:
%addon com_redhat_kdump --enable --reserve-mb='auto'%end
jelszóházirend alkalmazása
Kickstart Command-pwpolicy
- ezzel a paranccsal érvényesítheti az egyéni jelszóházirendet a telepítés során.
- a házirend megköveteli, hogy jelszavakat hozzon létre a root, a felhasználók vagy a luks felhasználói fiókokhoz.
- A jelszó érvényességét olyan tényezők határozzák meg, mint a jelszó hossza és erőssége.
a támogatott opciók listájához ellenőrizze a Red Hat útmutatóját a speciális telepítéshez
az RHEL / CentOS 8 kickstart példámban, amelyet a jelszó házirend alatt használtam:
%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