PTYにログインできません: "org.freedesktop.systemd1"サービスを有効にできません。

PTYにログインできません: "org.freedesktop.systemd1"サービスを有効にできません。

メインのDebianスタビリティシステムでテストリポジトリを有効にせずに自分でDebianテストインストールを実行したいので、systemd-nspawnを理解して使用しようとしました。

Debootstrapプロセスの設定を支援するために、次のシェルスクリプトを作成しました。

#!/bin/sh

dirpath="$1"

if [ -z "$dirpath" ]; then
    dirpath="debian-testing-devel"
elif ! [ -d "$dirpath" ]; then
    mkdir -p "$dirpath"
fi

echo "NOTICE: You must run `debootstrap` as a root user! Requesting sudo privilage..."
sudo debootstrap --include="dbus,systemd-container" testing "$dirpath" "https://deb.debian.org/debian"

echo "Debootstrap has finished!"
echo "You may log in to your system by using: systemd-nspawn -D ${dirpath} -U --machine debian-testing-devel"
echo "Make sure to set a secure root password!"

基本的にそれはすべてです。私はそれを「debian-testing-devel」と命名しました。それから、「/var/lib/machines/」のコンテンツにのみアクセスできるという事実がすぐにわかりましたので、machinectl私が作成したディレクトリをそこに移動しました。それでも…

その後、を使用してログインsystemd-nspawn -D /var/lib/machines/debian-testing-devel/ -U --machine debian-testing-develし、パスワードを設定し、rootとしてログインできるように、「/etc/securetty」に「pts/0」と「pts/1」を追加する必要がありました。

ログインを使用しようとすると、machinectl login debian-testing-devel「PTYにログインできません:プロトコルエラー」というメッセージが表示されます。

そのため、コンテナに再度ログインし、systemd-nspawn何らかの理由でパッケージのインストールが中断されたことを発見してdbus実行してみると、apt -f install問題が解決したようです。別のオンラインソースでは、systemdプロトコルエラーを排除するためにDBusだけでなくコンテナ自体にもインストールする必要があると主張してみました!

最後に再実行しようとすると、machinectl login debian-testing-develまだ「PTYにログインできません:...」というメッセージが表示され、今回はFailed to get login PTY: Failed to activate service 'org.freedesktop.systemd1': timed out (service_start_timeout=25000ms)

それで、次に何をすべきかわかりません。この問題をオンラインで検索しても、多くの結果が出ず、何が起こっているのかわかりません。この内容を学び、働かせようとしながら少しイライラしています。私がやろうとしているすべての作業がうまくいかないようです...

助けてくれてありがとう!

答え1

さて、いよいよもう一度ログインできるようになった。私のディレクトリを確認した後、所有したファイルがあり、所有している他のファイルがあることにroot:root気づきました(random id):(random id)debootstrap、再構築後にエラーなしで完了したことを確認し、そのフラグを使用してsystemd-nspawnコマンドを実行してみましたが、-Uかなりよく記録されました。コンテナに初めて遭遇する人のために何が間違っているのかを明確に伝えるより良いエラーメッセージがあったらと思います。数日間、この問題に閉じ込められていて、私のコンテナのディレクトリ/ルートが破損していることを知りませんでした。だからただ…はい、ちょっと良くないと思います。権限のないユーザーを使用することを忘れてしまうと、コンテナフォルダが簡単に破損する可能性があるため、コンテナフォルダのスナップショットとバックアップを必ず撮ってください。こんな。 IMOは、コンテナの安定性と使いやすさがまだ行く方法が長いと考えています。

関連情報