web-dev-qa-db-ja.com

systemd-servicesをインストールし、起動時にinitパラメータを変更した後に起動できない

2つの異なる方法を試しましたが、systemdをインストールできませんでした

here からの1番目のメソッド here からの2番目のメソッド

systemdがインストールされていないことの確認:

edward@computer:~$ file /lib/systemd/systemd
/lib/systemd/systemd: ERROR: cannot open `/lib/systemd/systemd' (No such file or directory)

別の確認:

https://askubuntu.com/a/420979/294611 (この質問は複製されたため閉じられた)で提案されている方法に従っていますが、何らかの理由でシステムが起動しません。

3
Edward Torvalds

まあ、Canonicalが何をしたかはわかりません。 Raringインストールにsystemdをインストールしたとき( コメント に見られるように)、バイナリがそこにありました。現在はどこにもありません。Utopicバージョン208-8ubuntu1の前の changelog は役に立ちません(utopicには binary there があります)。Debianからパッケージをインポートしたばかりなので、答えに記載されている方法がユーザーに有効であるため、これはUtopicユーザーにとって祝福です。

信頼できる変更ログは、何が起こったのかも説明しません。 BZRリポジトリ をチェックして、パッケージで何が起こったのかを直接手がかりを探しました。 debian \ディレクトリに systemd.install ファイルがありますが、パッケージ自体はリポジトリに存在しません。 /sbin/initをsystemdバイナリへのリンクに置き換えるsystemv-initパッケージ 実際は/lib/systemd/systemdを指す 。これは混乱を招くだけです。 制御ファイル にはsystemdパッケージのエントリもあります。 systemd.linkファイル リンクも/lib/systemd/systemdディレクトリから/binへ。

Systemdパッケージはsystemdバイナリを取得する必要があるというすべての証拠がありますが、パッケージ自体はtrustyには提供されません。これにより、Canonicalはリポジトリに信頼する前にリリースにsystemdバイナリを提供しないことにしたと思います。これは、Ubuntuが提供するsystemd debianソースパッケージをビルドすると systemdパッケージと必要なすべてのバイナリを取得して、initとしてsystemdを使用して起動します。

したがって、直面している問題を解決するには、バイナリが存在しないため、カーネルパラメータのinitを削除し、/etc/default/grubファイルに加えた変更を元に戻す必要があります。 Sudo update-grubを実行します。要約すると、upstartをsystemdに置き換えるために行ったすべてのことを実行します。その後、あなたの呼び出しです:utopicにアップグレードするか、そのままにするか、debianソースからsystemdパッケージをビルドします。

今のところ、systemdをインストールしてinitをCanonical/Ubuntuリポジトリが提供するパッケージで置き換える確実な方法はないため、Utopic以降のユーザーのみにsystemdをインストールすることをお勧めします。

6
Braiam