システム設定にsystemd-nspawnを使用する

システム設定にsystemd-nspawnを使用する

起動前にsystemd-nspawnを使用して "chroot"インストールを設定できますか(この場合、debianはdebootstrapを使用します)?つまり、無人インストールと設定です。

キーマップ、ホスト名、タイムゾーン、およびロケールを設定する必要があります。 Hostnamectl、localectl、timedatectlなどのシステムツールを使用したいと思います。

可能でこれを行う方法はありますか?それとも構成ファイルを使用する必要がありますか? systemdでも認識されますか?たとえば、/etc/hostnameにホスト名を設定すると、正しく認識されますか?キーマップもこのように設定できますか?

ベストアンサー1

可能ですか?

はい

私はnspawnでDebianを実行しています。効果があるすごい最小限の設置で。

一方、デスクトップインストールでこれを行う場合は、解決する必要がある1つまたは2つのマイナーな問題を見つける必要があります。

構成ファイルを使用する必要がありますか? systemdでも認識されますか?たとえば、/ etc / hostnameにホスト名を設定すると正しく認識されますか?

/etc/hostname は間違いなく有効で、systemd でサポートされ、これがhostnamectl編集されます。一般的に、ここではあなたが心配しているものを確認するのは難しいです。 Debian Jessie はデフォルトで systemd を使用するため、Debian Jessie 用の設定方法について書かれたすべてのドキュメント (インストールガイドの debootstrap 付録など) は systemd に適用する必要があります。 (たとえその付録はスケッチに近く、無人実行方法を示していませんが)。


おっしゃった内容を見ると、あなたも興味があるようですsystemd-firstboot。私はまだ試していませんが、ある意味では制限的ですが、有益かもしれないことを理解しています。

systemd-nspawn --bootとにかく、systemd-firstbootが使用するのと同様のサービスファイルを追加して使用する必要があるようです。たとえば、システムを起動しないとhostnamectl動作しません。スクリプトが何とか完了したら、システムもシャットダウンする必要があります。

--net-veth1つの注意点は、ネットワークサービス(avahi、cupなどを含む)がインストールされている場合は、ホストネットワークサービスとの競合を避けるためにnspawnまたは同等のサービスを実行する必要があるかもしれません。この時点でネットワークにアクセスするには(たとえば、追加のソフトウェアパッケージのインストール)、インターフェイスにDHCPクライアントを設定しますhost0

おすすめ記事