openSUSEの無人インストール

openSUSE Tumbleweed の無人インストールのメモです。

[dist_remaster.sh](https://github.com/office-itou/Linux/blob/master/installer/source/dist_remaster.sh) （dist_remaster_dvd.shにリネーム）でインストール用DVDイメージが作れますのでご利用ください。
[最新ファイルはこちらのリンク](https://github.com/office-itou/Linux/tree/master/installer/source/) にあります。

・インストール時にNICをDHCP設定で起動させています。
・インストール時にsudoのパスワード入力をrootからユーザーに変更します。
・ssh、dns、sambaをインストールします。
・NIC設定はIPv4:192.168.1.1、GW:192.168.1.254、ホスト名:sv-suse.workgroupです。
・ユーザー/パスワードはroot/r00t、master/masterです。

![openSUSE_GRUB.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/113490/63c068a6-e87d-018d-036c-931739060ef8.png)

```autoinst.xml
<?xml version="1.0"?>
<!DOCTYPE profile>
<profile xmlns="http://www.suse.com/1.0/yast2ns" xmlns:config="http://www.suse.com/1.0/configns">
  <add-on t="map">
    <add_on_others t="list">
      <listentry t="map">
        <media_url>http://download.opensuse.org/tumbleweed/repo/oss/</media_url>
        <name>repo-oss</name>
        <product_dir>/</product_dir>
      </listentry>
      <listentry t="map">
        <media_url>http://download.opensuse.org/tumbleweed/repo/non-oss/</media_url>
        <name>repo-non-oss</name>
        <product_dir>/</product_dir>
      </listentry>
      <listentry t="map">
        <media_url>http://download.opensuse.org/update/tumbleweed/</media_url>
        <name>repo-update</name>
        <product_dir>/</product_dir>
      </listentry>
    </add_on_others>
  </add-on>
  <bootloader t="map">
    <global t="map">
      <append>-B console=force-text</append>
      <cpu_mitigations>auto</cpu_mitigations>
    </global>
  </bootloader>
  <general t="map">
    <ask-list t="list"/>
    <mode t="map">
      <confirm t="boolean">false</confirm>
      <second_stage t="boolean">false</second_stage>
    </mode>
  </general>
  <groups t="list">
    <group t="map">
      <groupname>wheel</groupname>
      <userlist>master</userlist>
    </group>
  </groups>
  <host t="map">
    <hosts t="list">
      <hosts_entry t="map">
        <host_address>192.168.1.1</host_address>
        <names t="list">
          <name>sv-suse.workgroup sv-suse</name>
        </names>
      </hosts_entry>
    </hosts>
  </host>
  <keyboard>
    <keymap>japanese</keymap>
  </keyboard>
  <language t="map">
    <language>ja_JP</language>
    <languages>en_US,ja_JP</languages>
  </language>
  <networking t="map">
    <dns t="map">
      <hostname>sv-suse.workgroup</hostname>
      <nameservers t="list">
        <nameserver>192.168.1.254</nameserver>
      </nameservers>
    </dns>
    <interfaces t="list">
      <interface t="map">
        <bootproto>static</bootproto>
        <ipaddr>192.168.1.1</ipaddr>
        <name>ens160</name>
        <prefixlen>24</prefixlen>
        <startmode>auto</startmode>
        <zone>home</zone>
      </interface>
    </interfaces>
    <keep_install_network t="boolean">true</keep_install_network>
    <routing t="map">
      <routes t="list">
        <route t="map">
          <destination>default</destination>
          <device>ens160</device>
          <gateway>192.168.1.254</gateway>
          <netmask>-</netmask>
        </route>
      </routes>
    </routing>
  </networking>
  <ntp-client t="map">
    <ntp_servers t="list">
      <ntp_server t="map">
        <address>ntp.nict.jp</address>
      </ntp_server>
    </ntp_servers>
  </ntp-client>
  <partitioning t="list">
    <drive t="map">
      <device>/dev/sda</device>
      <initialize t="boolean">true</initialize>
      <use>all</use>
    </drive>
  </partitioning>
  <scripts t="map">
    <init-scripts t="list">
      <script t="map">
        <debug t="boolean">true</debug>
        <filename>zzz_sudoers.sh</filename>
        <source>#!/bin/sh

chmod u+w /etc/sudoers
sed -i.orig /etc/sudoers \
    -e 's/^\(Defaults.*targetpw\)/# \1/g' \
    -e 's/^\(ALL.*ALL\)/# \1/g' \
    -e '/NOPASSWD:/! s/^#.*\(%wheel.*ALL\)/\1/g'
chmod u-w /etc/sudoers
exit 0
        </source>
      </script>
    </init-scripts>
  </scripts>
  <software t="map">
    <install_recommended t="boolean">true</install_recommended>
    <packages t="list">
      <package>chromium</package>
    </packages>
    <patterns t="list">
      <pattern>apparmor</pattern>
      <pattern>base</pattern>
      <pattern>basesystem</pattern>
      <pattern>console</pattern>
      <pattern>enhanced_base</pattern>
      <pattern>minimal_base</pattern>
      <pattern>sw_management</pattern>
      <pattern>x11</pattern>
      <pattern>x11_enhanced</pattern>
      <pattern>laptop</pattern>
      <pattern>multimedia</pattern>
      <pattern>devel_basis</pattern>
      <pattern>fonts</pattern>
      <pattern>fonts_opt</pattern>
      <pattern>lxde</pattern>
      <pattern>lxde_laptop</pattern>
      <pattern>lxde_office</pattern>
      <pattern>dhcp_dns_server</pattern>
      <pattern>file_server</pattern>
      <pattern>x11_yast</pattern>
      <pattern>yast2_basis</pattern>
    </patterns>
    <products t="list">
      <product>openSUSE</product>
    </products>
  </software>
  <timezone t="map">
    <hwclock>UTC</hwclock>
    <timezone>Asia/Tokyo</timezone>
  </timezone>
  <users t="list">
    <user t="map">
      <encrypted t="boolean">false</encrypted>
      <fullname>Master</fullname>
      <user_password>master</user_password>
      <username>master</username>
    </user>
    <user t="map">
      <encrypted t="boolean">false</encrypted>
      <fullname>root</fullname>
      <user_password>r00t</user_password>
      <username>root</username>
    </user>
  </users>
</profile>
```

※openSUSE-Tumbleweed-DVD-x86_64-Current.iso を使用しVMware Workstation 14上でefi環境にして確認しました。
(vmxファイルにfirmware = "efi"を追加でefi環境に変更)

★dist_remaster_dvd.sh の使用例を以下に載せておきます。

```dist_remaster_dvd.sh
sudo ./dist_remaster_dvd.sh ← 管理者権限で実行してください。
…
# ----------------------------------------------------------------------------#
# ID：Version                         ：リリース日：サポ終了日：備考          #
#  1：debian-8.11.1-amd64-DVD-1       ：2015-04-25：2020-04-xx：oldoldstable  #
#  2：debian-9.13.0-amd64-DVD-1       ：2017-06-17：2022-xx-xx：oldstable     #
#  3：debian-10.6.0-amd64-DVD-1       ：2019-07-06：20xx-xx-xx：stable        #
#  4：debian-testing-amd64-DVD-1      ：20xx-xx-xx：20xx-xx-xx：testing       #
#  5：ubuntu-16.04.7-server-amd64     ：2016-04-21：2021-04-xx：Xenial Xerus  #
#  6：ubuntu-18.04.5-server-amd64     ：2018-04-26：2023-04-xx：Bionic Beaver #
#  7：ubuntu-20.04.1-legacy-server-amd：2020-04-23：2025-04-xx：Focal Fossa   #
#  8：ubuntu-20.04.1-live-server-amd64：2020-04-23：2025-04-xx：Focal Fossa   #
#  9：CentOS-8.2.2004-x86_64-dvd1     ：2020-06-15：2029-05-31：RHEL 8.0      #
# 10：CentOS-Stream-8-x86_64-20201007-：2019-xx-xx：20xx-xx-xx：RHEL x.x      #
# 11：Fedora-Server-dvd-x86_64-32-1.6 ：2020-04-28：20xx-xx-xx：kernel 5.6    #
# 12：openSUSE-Leap-15.2-DVD-x86_64   ：2020-xx-xx：20xx-xx-xx：              #
# 13：openSUSE-Tumbleweed-DVD-x86_64-C：2020-xx-xx：20xx-xx-xx：              #
# ----------------------------------------------------------------------------#
ID番号+Enterを入力して下さい。
13 ← 作りたいDVDの番号を選んで入力してください。
…
```