Preseedが利用できます。その設定ファイル内でコマンド・スクリプト実行を記述することができます。そのなかでもパーティショニング前のスクリプト実行を定義する記述は下記になります。動的なパーティショニング定義を設定しておくことができる物理筐体のRAIDコントローラ対応のCLIを導入/実行する手法でのRAID構成を自動化できるなどが挙げられます。RedHatのドキュメントに実行可能なコマンドのリストが記述されていました。標準的なコマンド一式が実行可能です。Preseedのearly_commandについては、ドキュメントを確認したものの、なかなか実行可能なコマンドに言及している記述を見つけることができませんでした。いう経緯から調査していたので、ここに確認した情報を書き留めておきます。Installerの内部処理については下記のドキュメントに纏められています。debian-installerではパーティショナ起動前の処理では、メモリ上にロードしているのはdebian-installerの追加コンポーネントぐらいなので、early_commandで実行可能なコマンドは、メモリ上に展開されているinitrd(bootイメージ)に梱包されているコマンドと推測できます。initrdに梱包されているコマンドを確認というわけで、梱包されているコマンドを確認するため、initrd(bootイメージ)を展開します。18.04のイメージで確認しています。次項でコマンドの一覧をまとめましたが、実際に自分でinitrdを開封して詳細な中身を確認したいという方は、下記の内容を参考に、開封してください。前項の方法で調べた内容の一覧です。fsck.ext2、fsck.ext3、ftp、gzip、hdparm、ifconfig、insmod、ipcalc、less、load_policy、login、lsattr、lvm、mke2fs、mkfs.ext2、mkfs.ext3、mt、nslookup、opend、rpm、tee、telnet、top、tune2fs、vi、wipefs、xargs【Preseed(early_command)でのみ実行可能】anna、anna-install、apt-install、ar、archdetect、ash、blkid、blkdiscard、blockdev、block-attr、brltty、brltty-setup、bterm、check-missing-firemware、choose-mirror、ckcomp、ckcomp-mini、cmp、console-type、debian-installer、debian-installer-startup、debconf、debconf-copydb、debconf-dumpdb、debconf-disconect、debconf-get、debconf-set、debconf-set-selections、debconf-loadtemplate、dhclient、dh-client-script、dnsdomainname、env2debconf、ethdetect、fallocate、freeramdisk、fstrim、fetch-url、free、getopt、get-real-console-linux、gpgv、groups、halt、hotplug-pcmcia、hw-detect、httpd、id、in-target、init、insmod、kbd_mode、kill-all-dhcp、klogd、kmod、languagemap、list-devices、loadkeys、localechooser、logger、log-output、lowmem_debconf、lspci、lsscsi、main-menu、modinfo、mountmedia、nano、nc、netcfg、od、pidof、ping6、pivot_root、poweroff、preseed_command、preseed_fetch、printf、ptom、rdisc6、rdnssd、realpath、reboot、register-module、reopen-console、resolve、report-hw、seach-path、setfront、setupcon、setvtrgb、seq、shutdown、steal-ctty、swicth_root、syslogd、start-shell、stat、sysfs-update-devnames、sha256sum、sha512sum、test、tftp、tr、translation-check、trimtemplates、tty、udevadm、udhcpc、uname、udpkg、update-dev、user-params、unxz、usb-list、wpa_supplicant、xzcatパーティショナ起動前のスクリプト実行(手動コマンド発行)early_commandで記述する前にパーティショナ起動前のinitrd環境にログインして手動コマンド発行で動作確認しておくと便利そうでした。#ここでスクリプト化する内容の動作確認が試せて、便利そうでした。この環境下においては、エディタはnano、シェルはashです。パーティショナ起動前のスクリプト実行(Preseedのearly_command)Preseed内でのearly_commandでの動作確認をしていたところとして、最終行が正常終了(ステータス0)だと正常終了とみなされてしまうという挙動を確認しました。直接スクリプトを記述せずに、スクリプトダウンロードののち最終行で実行という流れで記述すると良さそうでした。/tmp/prescript.shまたスクリプトについてはashスクリプトとしてのエラーハンドリングの仕方を意識する必要があります。実行できる内容について、紹介しました。実行可能なコマンドを移植するという内容についても現在実験中です。こちらについても、うまく動作できれば、別途紹介しようと思います。»プロフィールid:nozomi1773インフラエンジニア。興味:Linux/IaC/Web技術/Go。(1)月別アーカイブはてなブログをはじめよう!nozomi1773さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。