キックスタートとアナコンダを使用して centos システムのインストールを自動化する

キックスタートとアナコンダを使用して centos システムのインストールを自動化する

キックスタートとアナコンダを使用して centos システムのインストールを自動化する

アナコンダの紹介

キックスタートの紹介

実験手順

前提

1.已经安装好至少两台centos系统
2.需要实现自动安装的系统的光盘镜像
3.已安装的系统之间可以通讯(比如处于VMware中的NAT网络的同一个网段)

1. システム インストール ソースを提供する httpd サービスを構築します。

  • 将来、特定のホストにシステムをインストールする必要がある場合、ネットワーク経由でこのサーバーからインストール済みのシステムとインストール方法を直接取得できます (ks.cfg がインストール ガイダンスを提供します)。

  • この実験では、インストール元サーバーとして centos7 を使用します。

  • システム アドレス: 172.20.3.82、VMware ブリッジ ネットワークを使用します。

  • httpdをインストールする

rpm -q httpd
yum install httpd
systemctl enable httpd
systemctl start httpd
systemctl status httpd
curl 172.20.3.82   # 返回html文本则httpd服务已经ok
  • httpd のデフォルトのサービス フォルダー
    /var/www/html

  • デフォルトのサービスフォルダの下にインストール元を置く新規フォルダを作成し、それぞれcentos6/7/8に属するフォルダを作成します
    mkdir -p /var/www/html/centos/{6,7,8}/os/x86_64


  • インストールする必要がある CD イメージをcentos6: mount /dev/sr0 /var/www/html/centos/6/os/x86_64
    centos7: mount /misc/cd /var/www/html/centos/7/os/x86_64
    centos8:ディレクトリにマウントします。mount /misc/cd /var/www/html/centos/8/os/x86_64

  • 実験では次の画像を使用します
    [外部リンク画像の転送に失敗しました。ソース サイトにはリーチ防止メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-Ddrf0Kdp-1691195491148)(png/2019-11-12) -16-02-11.png )]

  • httpd のデフォルト サービス ディレクトリにキックスタート ファイルを保存する新しいフォルダーを作成します。
    mkdir -p /var/www/html/centos/ksdir

2. 対応するツールを使用してキックスタート ファイルを生成します

  • セントス6
    • centos6 では、system-config-kickstart ツールを使用して、グラフィカル インターフェイスで構成を完了し、ks.cfg ファイルとして保存できます。

    • 基本設定: デフォルトのインストール言語、キーボードの種類、タイムゾーン、root パスワードの設定などの基本設定。
      [外部リンク画像の転送に失敗しました。ソース サイトには盗難防止リンク メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-s5rWESkD-1691195491149)(png/2019-11-12-16-25- 49.png)]


    • インストール方法: インストール方法は、今回は http 経由でインストールされる新規インストールを使用します。最初のステップではhttp サーバーはcentos7 で、アドレスは 172.20.3.82 です。httpd サービスのデフォルトのサービス フォルダー
      /var/www/htmlは、ここでは HTTP ディレクトリです。 :/centos/ 6/os/x86_64 は、
      デフォルトのサービス フォルダーにあるインストール ソースを示します。別のバージョンをインストールする必要がある場合は、パスの対応するバージョン番号を変更してください (/centos/6/os/x86_64----) >install centos6; /centos/7 /os/x86_64---->install centos7 など)
      [外部リンク画像の転送に失敗しました。ソース サイトにはリーチ防止メカニズムがある可能性があります。画像を保存してアップロードすることをお勧めします。直接 (img-acSYjTzW-1691195491149)(png/2019-11-12-16-32-34.png)]

    • ブート ローダー オプション: ブート ローダー オプション。このインストールではデフォルト設定が使用され、GRUB は暗号化されません
      [外部リンク イメージの転送に失敗しました。ソース サイトにはリーチ防止メカニズムがある可能性があります。イメージを保存して直接アップロードすることをお勧めします ( img-nSqdXsjd-1691195491149) (png/2019-11-12-16-36-31.png)]

    • パーティション情報: パーティション情報: 1. システムをインストールする必要があるホスト ハードディスクの MBR をクリアします; 2. すべてのパーティションをクリアします; 3. ディスク ラベルを初期化します [外部リンク イメージの転送に失敗しました。ソース サイトにはアンチウイルスが存在する可能性があります
      ] - リーチ機構のため、画像を保存することをお勧めします 直接アップロード (img-Mlw6m0iC-1691195491150)(png/2019-11-12-16-39-30.png)]

    • ネットワーク構成: ネットワーク設定
      [外部リンク画像の転送に失敗しました。ソース サイトにはリーチ防止メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-uG6ng2UB-1691195491150) (png/2019-11-12- 16-42-52.png)]

    • 認証: 認証関連の設定 – デフォルト
      [外部リンク画像の転送に失敗しました。ソース サイトにはリーチ防止メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-tyRnN3wv-1691195491150) (png/2019-11- 12-16-47-20.png)]

    • ファイアウォール設定: ファイアウォールと selinux の両方の設定が無効になっています
      [外部リンク画像の転送に失敗しました。ソース サイトにはリーチ対策メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-pyp75xSA-1691195491151) (png/2019) -11-12-16 -44-10.png)]

    • ディスプレイ構成: ディスプレイ設定 – デフォルト設定を使用します

    • パッケージの選択: インストールするパッケージの選択
      [外部リンク画像の保存に失敗しました。ソース サイトにはリーチ防止メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-KTIAYNSE-1691195491151) (png/) 2019-11-12-16-48 -14.png)]

    • インストール前スクリプト: システムがインストールされる前に実行されるスクリプトを定義します。このスクリプトにエラーがあると、キックスタート インストールが失敗する可能性があります。このスクリプトに単語が含まれないように注意してください。今回はこのスクリプトは定義されません [%pre外部
      ]リンク画像の転送に失敗しました、ソース Web サイトにはリーチ防止メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-ieK1O7ZK-1691195491151)(png/2019-11-12-16-49-28.png) )]

    • インストール後のスクリプト: システムのインストールが完了した後に実行するスクリプトを定義します。ここで新しいユーザーを追加し、パスワードを変更します。KCmGiyhr
      -1691195491151)(png/2019-11-12-16-51-12.png)]

    • ks.cfg として保存
      [外部リンク画像の転送に失敗しました。ソース サイトにはリーチ防止メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-9eHYg39T-1691195491151)(png/2019-11-12- 17-01-26.png)]

    • mv /root/Desktop/ks.cfg /root/Desktop/ks6.cfg

    • 生成された ks6.cfg ファイルは次のとおりです。

#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use network installation
url --url="http://172.20.3.82/centos/6/os/x86_64"
# Root password
rootpw --iscrypted $1$5xUPBe9B$xxjgPTHBELXz3gFnh1CnG1
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use graphical install
graphical
firstboot --disable
# System keyboard
keyboard us
# System language
lang en_US
# SELinux configuration
selinux --disabled
# Installation logging level
logging --level=info

# System timezone
timezone  Africa/Abidjan
# Network information
network  --bootproto=static --device=eth0 --gateway=172.20.3.1 --ip=172.20.3.112 --nameserver=144.144.144.144 --netmask=255.255.255.0 --onboot=on
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel 
# Disk partitioning information
part / --fstype="ext4" --size=10240
part /boot --fstype="ext4" --size=1024
part /data --fstype="ext4" --noformat --size=10240

%post
useradd stevenux 
echo 123456 | passwd --stdin stevenux
%end
  • セントス7
    • centos7 では、新しくインストールしたシステムのルート ホーム ディレクトリにある anaconda-ks.cfg ファイルを参照として使用して、独自の ks.cfg ファイルを作成できます。
    • アナコンダ-ks.cfg
#version=DEVEL
# X Window System configuration information
xconfig  --startxonboot
# License agreement
eula --agreed
# System authorization information
auth --enableshadow --passalgo=sha512
# Use CDROM installation media
cdrom
# Use graphical install
graphical
# Run the Setup Agent on first boot
firstboot --enable
# System services
services --enabled="chronyd"
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us'
# System language
lang en_US.UTF-8

ignoredisk --only-use=sda
# Network information
network  --bootproto=dhcp --device=ens33 --ipv6=auto --activate
network  --hostname=centos7.magedu.steve

# Root password
rootpw --iscrypted $6$eVvngMuBXKQoRxLX$d81c7rQwWgxqpAQqdhNQkATgrEZ3dcOJZHdq0BFWUJKoIQqqyEbt6TNInJcDqpzdKVjt04ugeELJ4iPB16f7a/
# System timezone
timezone Asia/Shanghai --isUtc
user --groups=wheel --name=steve --password=$6$ZlPoWuI/1P9uqNnj$iAjc6KxTms0.snDrgyQvwZTasCeRQHl3aD67Mi0A58kkeW.MXMFAZNIwOSYF/7ii5aso1F5p0EWz4WQhJyfy21 --iscrypted --uid=100
0 --gecos="steve" --gid=1000
# System bootloader configuration
bootloader --location=mbr --boot-drive=sda
# Partition clearing information
clearpart --none --initlabel
# Disk partitioning information
part swap --fstype="swap" --ondisk=sda --size=3072
part / --fstype="xfs" --ondisk=sda --size=102400
part /boot --fstype="xfs" --ondisk=sda --size=1024
part /data --fstype="xfs" --ondisk=sda --size=51200

%packages
@^gnome-desktop-environment
@base
@compat-libraries
@core
@desktop-debugging
@development
@dial-up
@directory-client
@fonts
@gnome-desktop
@guest-agents
@guest-desktop-agents
@input-methods
@internet-browser
@java-platform
@multimedia
@network-file-system-client
@networkmanager-submodules
@print-client
@security-tools
@smart-card
@system-admin-tools
@x11
chrony

%end

%addon com_redhat_kdump --disable --reserve-mb=auto
%end

%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end
  • コピーを作成して変更します。cp anaconda-ks.cfg ks7.cfg
  • 変更されたks7.cfgは次のとおりです。
#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard 'us'
# Root password
rootpw --iscrypted $1$q5kgkOfe$9uxwxHzrapS5h4J.9XJ8c1
# Use network installation
url --url="http://172.20.3.82/centos/7/os/x86_64"
# System language
lang en_US
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use text mode install
text
# SELinux configuration
selinux --disabled
# Do not configure the X Window System
skipx

# Firewall configuration
firewall --disabled
# Network information
network  --bootproto=static --device=ens33 --gateway=172.20.3.1 --ip=172.20.3.111 --nameserver=144.144.144.144 --netmask=255.255.255.0
# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot --fstype="ext3" --size=1024
part / --fstype="xfs" --size=10240
part /data --fstype="xfs" --size=10240

%post
useradd stevenux
echo 123456 | passwd --stdin stevenux
%end
  • 試してみた8
    • centos8 では、新しくインストールしたシステムのルート ホーム ディレクトリにある anaconda-ks.cfg ファイルを参照として使用して、独自の ks.cfg ファイルを作成することもできます。
    • コピーを作成して変更します。cp anaconda-ks.cfg ks8.cfg
    • 変更されたks8.cfgファイルの内容
#version=RHEL8
ignoredisk --only-use=sda
# Partition clearing information
zerombr
text
reboot

clearpart --all --initlabel

firewall --disabled
selinux --disabled

# Use graphical install

repo --name="AppStream" --baseurl=http://172.20.3.82/centos/8/os/x86_64/AppStream
# Use CDROM installation media
# cdrom # url --url http://
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us'
# System language
lang en_US.UTF-8
# Network information
# network  --bootproto=static --device=ens160 --gateway=172.20.3.1 --ip=172.20.3.113 --nameserver=144.144.144.144 --netmask=255.255.255.0 --onboot=on 
network  --bootproto=dhcp --device=ens160 --ipv6=auto --activate
network  --hostname=centos8.localdomain
# Root password
rootpw --iscrypted $6$JrooqXF37Q2lI4si$05OlIYoqLH8uV/1CqvCJUReL5POu9XL5Z2olZ7FtiQYVi1zKCZgDqbBTc.gLnT7trUBX55xGS6MX8bKx0VLKv1
# X Window System configuration information
# xconfig  --startxonboot
# Run the Setup Agent on first boot

firstboot --enable
# Do not configure the X window system
skipx
# System services
services --disabled="chronyd"
# System timezone
timezone Asia/Shanghai --isUtc --nontp
user --name=steve --password=$6$NsKlQVGMrkJgfJtr$1CZdKd0XAokuHgutLdDI9SVVw3wit0L55OLiQDdwd9bQw2b4ElQYUDGp0tl.GUl2y9oaa4GSfmewktOu8m5my1 --iscrypted --gecos="steve"
# Disk partitioning information
part / --fstype="xfs" --ondisk=sda    --size=10240
part /data --fstype="xfs" --ondisk=sda --size=10240
part swap --fstype="swap" --ondisk=sda --size=2048
part /boot --fstype="ext4" --ondisk=sda   --size=1024

%packages
@^minimal-environment
kexec-tools

%end

%addon com_redhat_kdump --enable --reserve-mb='auto'

%end

%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end

%post
useradd stevenux
echo 123456 | passwd --stdin stevenux
%end

  • 注: 今回は 3 つのシステムともネットワーク インストールを使用していますが、centos8 では一部のソフトウェア パッケージの構成が変更されているため、インストール元を指定する際の構文が centos7 や centos6 とは異なります。
centos6:url --url="http://172.20.3.82/centos/6/os/x86_64"
centos7:url --url="http://172.20.3.82/centos/7/os/x86_64"
centos8:repo --name="AppStream" --baseurl=http://172.20.3.82/centos/8/os/x86_64/AppStream

3. キックスタート ファイルの構成とインストール ソース サーバーのセットアップが完了したら、さまざまなホストで自動インストールをテストできます。

  • たとえば、centos7 をインストールします。

1. VMware に centos7 がインストールされた新しい仮想マシンを作成し、次の図のように構成します: CD-ROM を使用、CentOS-7-x86_64-DVD-1804.isoVMnet0 はブリッジ ネットワーク (インストール元サーバーと同じネットワーク セグメント)
[外部リンク イメージ転送]失敗した場合、ソース サイトにはリーチ防止メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-vW1tYkg4-1691195491152)(png/2019-11-12-17-26-30.png)] 2
.マウントされた centos7 イメージは、CentOS-7-x86_64-DVD-1804.isoインストールのガイドに使用されます
3. 起動後に VMware に進行状況バーが表示される場合は、Esc キーを押してハードウェアの選択の起動ページに入り、CD-ROM を選択して開始します。(
png/2019-11) -12-17-30-19.png)]
4. CD ガイドのインターフェイスは次の図のようになります。
[外部リンクの画像転送に失敗しました。ソース サイトにはリーチ防止メカニズムがある可能性があります。画像を保存することをお勧めします。直接アップロード (img-JXCB7ZgX-1691195491152)(png/2019-11-12-17-32-20.png)]
5. CD ブート インターフェイスに入った後、Esc キーを押して、ブート パラメーターを受信するための別の文字インターフェイスに入ります。システムをどのようなインストール方法でインストールするか(キャラクターまたはグラフィカルインターフェースインストールなど)を決定し、インストール元サーバーからキックスタートファイル(ks.cfg)を読み込んで、定義に従って自動インストールを実行するように指定することもできますこの文字インターフェイスは、リモート インストール元サーバー上の ks ファイルのアドレスを指定し、自動的にインストールできるようにします。
6. Esc キーを押して次のインターフェイスに入ります:
[外部リンク画像の転送に失敗しました。ソース サイトにはリーチ防止メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-nr0S2Xef-1691195491153) (png/) 2019-11-12-17 -44-07.png)]
7. ks ファイル パスを指定します:
[外部リンク画像の転送に失敗しました。ソース サイトにはリーチ防止メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-jf1DMGak-1691195491153) (png/2019-11) -12-17-45- 26.png)]

  • 上の赤​​いボックス内の Linux パラメータは、CD の /isolinux/isolinux.cfg ファイルで定義されています。これは次のことを意味します。
label linux
  menu label ^Install CentOS 7    # 表示安装centos7
  kernel vmlinuz                  # 内核为vmlinuz
  append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet      # 内核参数指定

おすすめ

転載: blog.csdn.net/wang11876/article/details/132115339