起動時にユーザープログラムを実行する必要があるAlpine Linuxシステムを設定しようとしています。
root以外にはユーザーを追加していません。
自動ログインを有効にする方法のソリューションを検索した後、agettyを使用する必要があるという指示が見つかりました。のための:
apk add util-linux
年齢を追加してください。cd /etc/init.d && ln -s agetty agetty.tty1
端末に agetty サービスを追加します。cd /etc/conf.d && cp agetty agetty.tty1
構成を追加します。nano agetty.tty1
別のエディタを使用して、agettyオプションに "--autologin $USER --noclear"を追加します。rc-update add agetty.tty1
起動時に起動するようにします。
私を悩ませる1つのことは、変更された新しいサービスを追加する前に以前のAgettyサービスを終了するように指示され、Agettyサービスがアクティブにならないことです。
しかし、問題が発生します。コンピュータの起動中に複数のサービス(chronyや他のサービス)を起動する前に、自動ログインの出力が表示され、もう機能しなくなった別のログインプロンプトが表示されます。ログイン/ターミナルがすべてないと、システムが利用できなくなるようです。
私の間違いは何ですか?この問題をどのように解決できますか?
答え1
「自動ログイン」が「パスワードなしでルートシェルが必要です」を意味する場合、最も簡単な方法は次のように追加することです/etc/inittab
。
tty1::respawn:/bin/sh
これにより、ログインプロンプトの代わりにその端末にルートシェルが作成されます。
以下を使用して同じことをagetty
行うには障害を負う既存のgettyサービスは、次の場所で定義されています/etc/inittab
。
sed -i '/tty1/ s/^/#/`
これにより、次のようになります。
#tty1::respawn:/sbin/getty 38400 tty1
その後、再起動(またはkill -HUP 1
再ロード/etc/inittab
)します。