ネットワークPXEブートを使用したSUSE Linux Microの展開
- 概要
SUSE Linux Microは、ターゲットデバイスのPXEブートを使用してリモートで展開できるイメージを提供します。
- 目的
SUSE Linux Microをリモートで展開したいと考えています。
- 所要時間
この記事の理解には15分ほどを要します。
- 目標
SUSE Linux Microの適切に設定されたインスタンス。
- 要件
適切に設定されたDHCPサーバ
インストールされているTFTPサーバ
1 SUSE Linux MicroのPXEインストールの概要 #
SUSE Linux Microは、PXE (Preboot Execution Environment)を介してインストールすることができます。そのためには、クライアントハードウェアがPXEでのブートをサポートしている必要があります。また、クライアントに必要なデータを提供するDHCPサーバとTFTPサーバがネットワーク上に存在している必要もあります。
展開手順は、次の手順にまとめることができます。
(オプション) より複雑なfirstboot設定またはインストールをユーザの操作なしで実行するには、CombustionまたはIgnitionで使用されるfirstboot設定を準備します。たとえば、システムのユーザの定義、パッケージのインストール、ホスト名の設定、システムの登録、その他多くのタスクを行うことができます。詳細については、2.2項 「Combustionを使用したSUSE Linux Micro展開の設定」または2.3項 「Ignitionを使用したSUSE Linux Micro展開の設定」を参照してください。
DHCPサーバが正しく設定されていることを確認します。
インストールイメージを追加し、ブート設定を行い、TFTPサーバにCombustion/Ignition設定を配置して、TFTPサーバを準備します。詳細については、3項 「TFTPサーバの準備」を参照してください。
ターゲットマシンでPXEブートを選択し、マシンを起動します。詳細については、4項 「イメージのリモート展開」を参照してください。
2 firstboot設定の作成 #
次のセクションでは、最初のブートでSUSE Linux Microを設定するために使用できる2つのツールについて説明します。Combustionを使用して設定用のBASHスクリプトを作成することも、Ignitionを使用してJSONを使用することもできます。また、複雑な設定や無人設定が必要ない場合は、4.1項 「JeOS Firstbootを使用したSUSE Linux Microの設定」で説明されているように、JeOS Firstbootを使用して基本的な設定を実行できるため、この手順をスキップできます。
2.1 最初のブートの検出 #
最初のブート時にのみ展開が設定されます。最初のブートと以降のブートを区別するために、最初のブートが終了するとファイル/etc/machine-id
が作成されます。このファイルがファイルシステムに存在しない場合、システムはこれが最初のブートであると想定し、設定プロセスをトリガします。最初のブートの完了後、/etc/machine-id
ファイルが作成されます。
/etc/machine-id
ファイルは常に作成される
設定ファイルが不適切であるか欠落しているために適切な設定にならない場合でも、/etc/machine-id
ファイルが作成されます。
2.1.1 以降のブート時にシステムの再設定を強制する #
最初のブートが発生した後で、システムを再設定する必要がある場合は、それ以降のブート時に再設定を強制することができます。ここでは2つのオプションがあります。
ignition.firstboot
またはcombustion.firstboot
属性をカーネルコマンドラインに渡すことができます。ファイル
/etc/machine-id
を削除して、システムを再起動できます。
2.2 Combustionを使用したSUSE Linux Micro展開の設定 #
Combustionは、最初のブート時にシステムを設定できるdracutモジュールです。Combustionを使用すると、デフォルトパーティションの変更、ユーザのパスワードの設定、ファイルの作成、パッケージのインストールなどができます。
2.2.1 Combustionの動作 #
ignition.firstboot
引数をカーネルのコマンドラインに渡した後でCombustionが呼び出されます。Combustionによって、用意したファイルscript
が読み取られ、そこに記述されたコマンドが実行されて、ファイルシステムが変更されます。script
にネットワークフラグを記述していると、Combustionによってネットワークの設定が試みられます。/sysroot
をマウントすると、Combustionによって/etc/fstab
にあるすべてのマウントポイントの有効化が試みられます。続いてtransactional-update
が呼び出され、root
パスワードの設定やパッケージのインストールなどの変更が適用されます。
設定スクリプトはTFTPサーバ上に存在する必要があり、ブート時に、combustion.url
パラメータを使用してそのURLをカーネルに提供する必要があります。詳細については、3項 「TFTPサーバの準備」を参照してください。
Combustionは、Ignitionとともに使用することができます。その場合は、設定メディアにignition
というラベルを付け、ignition
ディレクトリとconfig.ign
を次に示すようなディレクトリ構造に含めます。
<root directory> └── combustion └── script └── other files └── ignition └── config.ign
このシナリオでは、IgnitionはCombustionの前に実行されます。
2.2.2 Combustionの設定例 #
2.2.2.1 script
設定ファイル #
script
設定ファイルは、transactional-update
シェルでCombustionによって解析され、実行されるコマンド群です。この記事では、Combustionで実行される設定タスクの例を示します。
Combustionスクリプトを作成するには、Fuel Ignition Webアプリケーションを使用できます。そこで適切なパラメータを選択すると、アプリケーションによってダウンロード可能なCombustionスクリプトが生成されます。
script
ファイルはシェルで解釈されることから、その先頭行には必ずインタープリタ宣言を記述します。たとえば、Bashの場合は次のように記述します。
#!/bin/bash
実際のシステムにログインするには、少なくともroot
パスワードを指定します。ただし、SSHキーを使用した認証を確立することをお勧めします。root
パスワードを使用する必要がある場合は、セキュアなパスワードを設定してください。ランダムに生成されたパスワードを使用する場合は、少なくとも10文字を使用してください。パスワードを手動で作成する場合は、11文字以上を使用し、大文字、小文字、および数字を組み合わせてください。
2.2.2.1.1 デフォルトパーティショニング #
イメージごとに次のサブボリュームがあります。
/home /root /opt /srv /usr/local /var
/etc
ディレクトリはoverlayFSとしてマウントされ、そこでは上位ディレクトリが/var/lib/overlay/1/etc/
にマウントされます。
デフォルトでマウントされているサブボリュームは、/etc/fstab
のx-initrd.mount
オプションで認識できます。その他のサブボリュームまたはパーティションは、IgnitionまたはCombustionのいずれかによって設定する必要があります。
デフォルトではマウントされないサブボリューム上で新しいユーザを追加する場合やファイルを変更する場合は、まずそのサブボリュームを宣言して、それもマウントされるようにする必要があります。
2.2.2.1.2 ネットワーク設定 #
最初のブート時にネットワーク接続を設定および使用するには、次のステートメントをscript
に追加します。
# combustion: network
このステートメントを使用すると、rd.neednet=1
引数がdracutに渡されます。ネットワーク設定はデフォルトでDHCPを使用します。別のネットワーク設定が必要な場合は、2.2.2.1.3項 「initramfsでの変更の実行」の説明に従って進めます。
このステートメントを使用しない場合、システムはネットワーク接続がない設定のままになります。
2.2.2.1.3 initramfsでの変更の実行 #
initramfs環境の変更が必要になる場合があります。たとえば、NetworkManager用のカスタムネットワーク設定を/etc/NetworkManager/system-connections/
に書き込む場合などです。そのためには、prepare
ステートメントを使用します。
たとえば、静的IPアドレスで接続を作成し、DNSを設定する場合は、次のようにします。
#!/bin/bash # combustion: network prepare set -euxo pipefail nm_config() { umask 077 # Required for NM config mkdir -p /etc/NetworkManager/system-connections/ cat >/etc/NetworkManager/system-connections/static.nmconnection <<-EOF [connection] id=static type=ethernet autoconnect=true [ipv4] method=manual dns=192.168.100.1 address1=192.168.100.42/24,192.168.100.1 EOF } if [ "${1-}" = "--prepare" ]; then nm_config # Configure NM in the initrd exit 0 fi # Redirect output to the console exec > >(exec tee -a /dev/tty0) 2>&1 nm_config # Configure NM in the system curl example.com # Close outputs and wait for tee to finish exec 1>&- 2>&-; wait; # Leave a marker echo "Configured with combustion" > /etc/issue.d/combustion
2.2.2.1.4 タスクの完了待機 #
一部のプロセスは、バックグラウンドで実行される場合があります(出力を端末にリダイレクトするtee
プロセスなど)。script
の実行が終了する前に、実行中のすべてのプロセスが確実に完了するようにするには、次の行を追加します。
exec 1>&- 2>&-; wait;
2.2.2.1.5 パーティショニング #
SUSE Linux Micro生イメージは、デフォルトのパーティショニングスキームで提供されます。異なるパーティショニングを使用することもできます。次の一連のスニペット例では、/home
を別のパーティションに移動します。
次のスクリプトは、スナップショットに含まれていない変更を実行します。このスクリプトが失敗してスナップショットが破棄された場合、/dev/vdb
デバイスへの変更など、特定の変更は表示されたままになり、元に戻すことはできません。
次のスニペットは、/dev/vdb
デバイス上にパーティションが1つのみのGPTパーティショニングスキーマを作成します。
sfdisk /dev/vdb <<EOF sleep 1 label: gpt type=linux EOF partition=/dev/vdb1
sfdisk
コマンドは完了までに時間がかかる場合があるため、sfdisk
の後にsleep
コマンドを使用してlabel
を延期します。
パーティションはBtrfsにフォーマットされます。
wipefs --all ${partition} mkfs.btrfs ${partition}
次のスニペットによって、/home
の移動可能なコンテンツが新しい/home
フォルダの場所に移動されます。
mount /home mount ${partition} /mnt rsync -aAXP /home/ /mnt/ umount /home /mnt
次のスニペットは、/etc/fstab
の古いエントリを削除して新しいエントリを作成します。
awk -i inplace '$2 != "/home"' /etc/fstab echo "$(blkid -o export ${partition} | grep ^UUID=) /home btrfs defaults 0 0" >>/etc/fstab
2.2.2.1.6 新しいユーザの作成 #
Cockpitなどの一部のサービスでは、root以外のユーザを使用してログインする必要があるため、ここで非特権ユーザを少なくとも1人定義します。または、5.2項 「ユーザの追加」の説明に従って、実行中のシステムからこのようなユーザを作成できます。
新しいユーザアカウントを追加するには、まず、ユーザのパスワードを表すハッシュ文字列を作成します。openssl passwd -6
コマンドを使用します。
パスワードハッシュを取得したら、次の行をscript
に追加します。
mount /home useradd -m EXAMPLE_USER echo 'EXAMPLE_USER:PASSWORD_HASH' | chpasswd -e
2.2.2.1.7 root
のパスワードの設定 #
root
パスワードを設定する前に、openssl passwd
-6
などを使用して、そのパスワードのハッシュを生成します。パスワードを設定するには、script
に次の行を追加します。
echo 'root:PASSWORD_HASH' | chpasswd -e
2.2.2.1.8 SSHキーの追加 #
次のスニペットは、root
のSSHキーを保存するディレクトリを作成してから、設定デバイス上にあるSSH公開鍵をauthorized_keys
ファイルにコピーします。
mkdir -pm700 /root/.ssh/ cat id_rsa_new.pub >> /root/.ssh/authorized_keys
2.2.2.1.9 サービスの有効化 #
SSHサービスなどのシステムサービスを有効にするには、script
に次の行を追加します。
systemctl enable sshd.service
2.2.2.1.10 パッケージのインストール #
特定のパッケージでは追加のサブスクリプションが必要になる場合があるので、システムの事前登録が必要なことがあります。また、追加のパッケージをインストールするには、利用可能なネットワーク接続が必要になる場合もあります。
最初のブート設定時に、システムに追加パッケージをインストールできます。たとえば、以下を追加して、vim
エディタをインストールできます。
zypper --non-interactive install vim-small
設定が完了して、設定されたシステムでブートした後では、zypper
を使用できないことに注意してください。後で変更を実行するには、transactional-update
コマンドを使用して、変更されたスナップショットを作成する必要があります。
2.3.1 Ignitionの動作 #
システムが最初にブートすると、Ignitionはinitramfs
の一部としてロードされ、(USBフラッシュディスク上、またはURLを指定できる)特定のディレクトリ内の設定ファイルを検索します。カーネルによってファイルシステムが一時ファイルシステムから実際のルートファイルシステムに切り替わる前(switch_root
コマンドが発行される前)に、すべての変更処理が実行されます。
Ignitionでは、JSON形式の設定ファイルconfig.ign
が使用されます。その設定は手動で記述できるほか、https://ignite.opensuse.orgにあるFuel Ignition Webアプリケーションを使用して生成することもできます。
Fuel IgnitionはIgnitionの語彙をまだ完全には網羅していません。そのため、結果として生成されるJSONファイルをさらに手動で微調整しなければならない場合があります。
2.3.1.1
config.ign
#
config.ign
には、複数のデータタイプ(オブジェクト、文字列、整数、ブール、オブジェクトのリスト)が含まれています。仕様の全詳細については、Ignition
specification v3.3.0を参照してください。
version
属性は必須であり、SUSE Linux Microの場合、その値は3.4.0
またはそれ以下のバージョンに設定する必要があります。そのように設定しないとIgnitionの実行に失敗します。
root
としてシステムにログインするには、少なくともroot
のパスワードを記述する必要があります。ただし、SSHキーを使用してアクセスを確立することをお勧めします。パスワードの設定では、必ずセキュアなパスワードを使用します。ランダムに生成されたパスワードを使用する場合は、少なくとも10文字を使用してください。パスワードを手動で作成する場合は、11文字以上を使用し、大文字、小文字、および数字を組み合わせてください。
2.3.2 Ignitionの設定例 #
このセクションでは、組み込みのJSON形式でのIgnition設定の例をいくつか示します。
version
属性は必須
各config.ign
はバージョン3.4.0以下を含む必要があります。バージョンは対応するIgnition仕様に変換されます。
2.3.2.1 デフォルトパーティショニング #
イメージごとに次のサブボリュームがあります。
/home /root /opt /srv /usr/local /var
/etc
ディレクトリはoverlayFSとしてマウントされ、そこでは上位ディレクトリが/var/lib/overlay/1/etc/
にマウントされます。
デフォルトでマウントされているサブボリュームは、/etc/fstab
のx-initrd.mount
オプションで認識できます。その他のサブボリュームまたはパーティションは、IgnitionまたはCombustionのいずれかによって設定する必要があります。
デフォルトではマウントされないサブボリューム上で新しいユーザを追加する場合やファイルを変更する場合は、まずそのサブボリュームを宣言して、それもマウントされるようにする必要があります。
2.3.2.2 ストレージの設定 #
storage
属性は、パーティションの設定、RAID、ファイルシステムの定義、ファイルの作成などに使用されます。パーティションを定義するには、disks
属性を使用します。filesystems
属性は、パーティションをフォーマットするために使用されます。files
属性は、ファイルシステムのファイルの作成に使用できます。先に述べた属性のそれぞれについて、次のセクションで説明します。
2.3.2.2.1 disks
属性 #
disks
属性は、これらのデバイス上でパーティションを定義できるデバイスのリストです。disks
属性には、少なくとも1つのdevice
属性が含まれている必要があり、その他の属性はオプションです。次の例では、単一の仮想デバイスを使用し、ディスクを4つのパーティションに分割します。
{ "ignition": { "version": "3.0.0" }, "storage": { "disks": [ { "device": "/dev/vda", "partitions": [ { "label": "root", "number": 1, "typeGuid": "4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709" }, { "label": "boot", "number": 2, "typeGuid": "BC13C2FF-59E6-4262-A352-B275FD6F7172" }, { "label": "swap", "number": 3, "typeGuid": "0657FD6D-A4AB-43C4-84E5-0933C84B4F4F" }, { "label": "home", "number": 4, "typeGuid": "933AC7E1-2EB4-4F13-B844-0E14E2AEF915" } ], "wipeTable": true } ] } }
2.3.2.2.2 raid
属性 #
raid
は、RAIDアレイのリストです。raid
の次の属性は必須です:
- level
特定のRAIDアレイのレベル(linear、raid0、raid1、raid2、raid3、raid4、raid5、raid6)
- devices
絶対パスで参照されるアレイ内のデバイスのリスト
- name
mdデバイスに使用される名前
次に例を示します。
{ "ignition": { "version": "3.0.0" }, "storage": { "raid": [ { "devices": [ "/dev/sda", "/dev/sdb" ], "level": "raid1", "name": "system" } ] } }
2.3.2.2.3 filesystems
属性 #
filesystems
属性は、マウントユニットを変更しません。新しいパーティションを追加する場合、または既存のパーティションを削除する場合は、マウントユニットを手動で調整する必要があります。
filesystems
には次の属性が含まれている必要があります:
- device
デバイスへの絶対パス。通常、物理ディスクの場合は
/dev/sda
- format
ファイルシステム形式(Btrfs、Ext4、xfs、vfat、またはswap)
注記SUSE Linux Microの場合、
root
ファイルシステムはBtrfsにフォーマットする必要があります。
次の例は、filesystems
属性の使用方法を示しています。/opt
ディレクトリは、/dev/sda1
パーティションにマウントされ、Btrfsにフォーマットされます。デバイスは消去されません。
次に例を示します。
{ "ignition": { "version": "3.0.0" }, "storage": { "filesystems": [ { "device": "/dev/sda1", "format": "btrfs", "path": "/opt", "wipeFilesystem": false } ] } }
普通、通常のユーザのホームディレクトリは/home/USER_NAME
ディレクトリにあります。デフォルトでは/home
がinitrdにマウントされないので、ユーザを正しく作成するには、このマウントを明示的に定義する必要があります。
{ "ignition": { "version": "3.1.0" }, "passwd": { "users": [ { "name": "root", "passwordHash": "PASSWORD_HASH", "sshAuthorizedKeys": [ "ssh-rsa SSH_KEY_HASH" ] } ] }, "storage": { "filesystems": [ { "device": "/dev/sda3", "format": "btrfs", "mountOptions": [ "subvol=/@/home" ], "path": "/home", "wipeFilesystem": false } ] } }
2.3.2.2.4 files
属性 #
files
属性を使用して、マシンに任意のファイルを作成できます。デフォルトのパーティション方式の外部でファイルを作成するには、filesystems
属性を使用してディレクトリを定義する必要があることに注意してください。
次の例では、ホスト名がfiles
属性を使用して作成されます。ファイル/etc/hostname
はsl-micro1のホスト名で作成されます。
JSONでは、ファイルモードを420
などの10進数で指定できることに注意してください。
JSON:
{ "ignition": { "version": "3.0.0" }, "storage": { "files": [ { "overwrite": true, "path": "/etc/hostname", "contents": { "source": "data:,sl-micro1" }, "mode": 420 } ] } }
2.3.2.2.5 directories
属性 #
directories
属性は、ファイルシステムに作成されるディレクトリのリストです。directories
属性には、少なくとも1つのpath
属性が含まれている必要があります。
次に例を示します。
{ "ignition": { "version": "3.0.0" }, "storage": { "directories": [ { "path": "/home/tux", "user": { "name": "tux" } } ] } }
2.3.2.3 ユーザ管理 #
passwd
属性は、ユーザを追加するために使用されます。Cockpitなどの一部のサービスでは、root以外のユーザを使用してログインする必要があるため、ここで非特権ユーザを少なくとも1人定義します。または、5.2項 「ユーザの追加」の説明に従って、実行中のシステムからこのようなユーザを作成できます。
システムにログインするには、root
と通常のユーザを作成し、それぞれのパスワードを設定します。たとえば、openssl
コマンドを使用して、パスワードをハッシュする必要があります。
openssl passwd -6
このコマンドは、選択したパスワードのハッシュを作成します。このハッシュをpassword_hash
属性の値として使用します。
次に例を示します。
{ "ignition": { "version": "3.0.0" }, "passwd": { "users": [ { "name": "root", "passwordHash": "PASSWORD_HASH", "sshAuthorizedKeys": [ "ssh-rsa SSH_KEY_HASH USER@HOST" ] } ] } }
users
属性には、少なくとも1つのname
属性が含まれている必要があります。ssh_authorized_keys
は、ユーザのsshキーのリストです。
2.3.2.4 systemd
サービスの有効化 #
systemd
属性で指定して、systemd
サービスを有効にできます。
次に例を示します。
{ "ignition": { "version": "3.0.0" }, "systemd": { "units": [ { "enabled": true, "name": "sshd.service" } ] } }
3 TFTPサーバの準備 #
PXEクライアントを使用してSUSE Linux Microを展開するには、次の手順を実行する必要があります。
/etc/sysconfig/tftp
のtftpd
の設定を確認し、必要に応じてオプションを追加または変更します。詳細については、man 8 tftpd
を参照してください。TFTPデーモンは設定変更なしで機能します。ファイルのデフォルトのルートディレクトリは/srv/tftpboot
です。ブート時に
tftpd
の起動を確認したら、それを再起動して新しい設定を読み込みます。>
sudo
systemctl enable tftp.socket
>
sudo
systemctl restart tftp.socket
展開プロセス全体にわたって(数分かかる場合があります)、
tftp.socket
がアクティブなままであることを確認します。ディレクトリ構造を準備します。
>
sudo
mkdir /srv/tftpboot/sl-micro作成したディレクトリに移動します。
>
cd /srv/tftpboot/sl-micro
SL-Micro.ARCHITECTURE-6.1-IMAGE_TYPE-GM.install.tar
をTFTPサーバにダウンロードします。TARファイルを解凍します。
>
sudo
tar xvf IMAGE_TAR -C .
必要なファイルがすべて
/srv/tftpboot/sl-micro
に存在することを確認します。>
ls
pxeboot.SL-Micro.ARCH-VERSION.kernel pxeboot.SL-Micro.ARCH-VERSION.initrd SL-Micro.ARCH-VERSION.append SL-Micro.ARCH-VERSION.config.bootoptions SL-Micro.ARCH-VERSION.initrd SL-Micro.ARCH-VERSION.kernel SL-Micro.ARCH-VERSION.md5 SL-Micro.ARCH-VERSION.xz次のようにシンボリックリンクを作成します。
>
sudo
ln -s pxeboot.*.kernel linux
>
sudo
ln -s pxeboot.*.initrd initrd
(オプション) 最初のブート設定用のディレクトリを作成します(Combustionおよび/またはIgnitionの設定の場合):
Combustion設定の場合:
#
mkdir combustion
Ignition設定の場合:
#
mkdir ignition
Combustionおよび/またはIgnitionの設定を対応するディレクトリに配置します。
SL-Micro.ARCH-6.1.append
ファイル内の次のパラメータを調整/追加します。rd.kiwi.install.image
– インストールイメージSL-Micro.ARCH6.1.xz
へのパスを指定します。このパスには、プロトコル、IPアドレス、およびインストールイメージへの相対パスを含める必要があります。tftp://TFTP_SERVER/sl-micro/IMAGE_NAME
TFTPルートディレクトリが定義されている場合は、必ずパスから省略してください。デフォルトディレクトリ
/srv/tftboot
は/etc/sysconfig/tftp
で設定できます。または、-s
オプションを使用して実行するバイナリを定義するサービスユニットファイル属性でこのディレクトリを指定することもできます。rd.kiwi.oem.installdevice
– 無人インストールを実行できます。rd.kiwi.install.pass.bootparam
– イメージがターゲットディスクにコピーされた後、kiwiはkexecを実行します。このパラメータは、カーネルに追加のパラメータを渡す必要があることをkiwiに指示します。たとえば、以下で説明するものです。combustion.url
– 必要に応じて、カーネルCLIに渡されるCombustionスクリプトへの完全なURLを指定します。ignition.config.url
– 必要に応じて、カーネルCLIに渡されるIgnition設定ファイルへの完全なURLを指定します。Combustionとともに使用することができます。
SUSE Linux Microが含まれるように
/srv/tftpboot/pxelinux.cfg/default
ファイルを調整します。LABEL Install SUSE Linux Micro LINUX sl-micro/linux INITRD sl-micro/initrd APPEND PATH_TO_APPEND_FILE
4 イメージのリモート展開 #
DHCPサーバとTFTPサーバを準備したら、ターゲットマシンでSUSE Linux Microの展開を開始できます。
ターゲットマシンの電源を入れます。
UEFIブートメニューに入り、PXEブートを選択します。
マシンで展開が開始されます。カーネルとinitrdがTFTPからダウンロードされます。ブートローダが起動します。
Install SUSE Linux Micro
を選択します。/srv/tftpboot/pxelinux.cfg/default
で別のLABEL
値を使用した場合、この項目は異なる可能性がありますSUSE Linux Microを展開するディスクを選択し、そのデバイス上のデータの削除を確認します。その後、イメージがディスクにコピーされます。
Kexecを使用すると、システムが再起動され、設定プロセスの準備が整います。
- を選択して、設定プロセスを開始します。IgnitionまたはCombustionの指示が提供されていない場合、JeOS Firstbootがトリガされます。詳細については、
4.1 JeOS Firstbootを使用したSUSE Linux Microの設定 #
JeOS Firstbootを使用してシステムを設定するには、次の手順を実行します。
Enterキーを押して確定します。
にウェルカム画面が表示されます。次の画面で、キーボードを選択して、ライセンス契約を確認し、タイムゾーンを選択します。
root
のパスワードを入力して確定します。図 1: rootパスワードの入力 #(オプション) アクセス用のSSHキーを登録するには、Yes (はい)を押します。YES (はい)を押した場合は、以下の説明に従って進めます。
SSHを使用して、表示されたIPアドレスに接続します。
公開鍵を正しく受け取った場合は、次の画面で確認します。
SSHキーをインポートするためのプロンプトが表示されます。好みに応じてオプションを選択します。
(オプション) 必要に応じて、
User Creation
フォームで非特権ユーザを作成できます。ユーザ名、フルネーム、パスワードを2回入力します。OKをクリックして、確定します。(オプション) CockpitにアクセスするためのMFAを設定するには、TOTPアプリケーションを開き、QRコードをスキャンします。アプリケーションから提供されたOTP値を入力します。OKをクリックして、続行します。
展開が成功したら、5.1項 「CLIからのSUSE Linux Microの登録」の説明に従ってシステムを登録します。
5 展開後の手順 #
5.1 CLIからのSUSE Linux Microの登録 #
展開が正常に完了したら、テクニカルサポートを利用したり、更新を受け取ったりするためにシステムを登録する必要があります。システムの登録は、transactional-update
register
コマンドを使用してコマンドラインから実行できます。
SUSE Customer CenterでSUSE Linux Microを登録するには、次の手順に従います。
transactional-update register
を次のように実行します。#
transactional-update register -r REGISTRATION_CODE -e EMAIL_ADDRESSローカル登録サーバで登録するには、さらに次のようにサーバへのURLも入力します。
#
transactional-update register -r REGISTRATION_CODE -e EMAIL_ADDRESS \ --url "https://suse_register.example.com/"REGISTRATION_CODEは、SUSE Linux Microのコピーで受け取った登録コードで置き換えます。EMAIL_ADDRESSは、各自または各自の組織が登録の管理に使用しているSUSEアカウントに関連付けられたEメールアドレスで置き換えます。
システムを再起動して、最新のスナップショットに切り替えます。
これで、SUSE Linux Microが登録されました。
このセクションの説明対象以外の情報については、SUSEConnect --help
でのインラインドキュメントを参照してください。
5.2 ユーザの追加 #
SUSE Linux Microでは、デフォルトでSSHを介してログインしたりCockpitにアクセスしたりするために、非特権ユーザが必要となるため、そのようなアカウントを作成することをお勧めします。
システムの展開時に非特権ユーザを定義した場合、この手順はオプションです。そうでない場合は、以下の説明に従って進めることができます。
次のように、
useradd
コマンドを実行します。#
useradd -m USER_NAME
そのアカウントのパスワードを設定します。
#
passwd USER_NAME必要に応じて、ユーザを
wheel
グループに追加します。#
usermod -aG wheel USER_NAME
6 法的事項 #
Copyright © 2006–2025 SUSE LLC and contributors. All rights reserved.
この文書は、GNUフリー文書ライセンスのバージョン1.2または(オプションとして)バージョン1.3の条項に従って、複製、頒布、および/または改変が許可されています。ただし、この著作権表示およびライセンスは変更せずに記載すること。ライセンスバージョン1.2のコピーは、「GNUフリー文書ライセンス」セクションに含まれています。
SUSEの商標については、https://www.suse.com/company/legal/を参照してください。その他の第三者のすべての商標は、各社の所有に帰属します。商標記号(®、™など)は、SUSEおよび関連会社の商標を示します。アスタリスク(*)は、第三者の商標を示します。
本書のすべての情報は、細心の注意を払って編集されています。しかし、このことは正確性を完全に保証するものではありません。SUSE LLC、その関係者、著者、翻訳者のいずれも誤りまたはその結果に対して一切責任を負いかねます。