Ubuntu 15.04を使用しています。パッケージをインストールしようとすると、タイトルにエラーメッセージが表示されました。この迷惑なエラーメッセージを削除するにはどうすればよいですか?
:~$ uname -a
Linux LongerVision001 3.19.0-25-generic #26-Ubuntu SMP Fri Jul 24 21:17:31 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 15.04
Release: 15.04
Codename: vivid
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
Setting up runit (2.1.2-3ubuntu1) ...
start: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused
dpkg: error processing package runit (--configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
runit
E: Sub-process /usr/bin/dpkg returned an error code (1)
同じエラーが発生しました。エラーメッセージを読むと、runit
インストールスクリプトはある時点でupstart
を期待しているように見えますが、私のシステム(および私はあなたのシステム)はsystemd
を実行しています。特に、インストール中にnotこのエラーが発生した別のマシンがあります。唯一の実質的な違いは、エラーが発生したマシンが14.10からのアップグレードであり、「正常に動作する」マシンは新規インストールであったことです。
VividはLTSではないので、インストール後のdpkgファイルを編集して、これを軌道に乗せることができます。 (このトリックはLTSインストールでも動作するはずですが、うまくいけば問題にならないでしょう)。
Dpkgがエラーを出すとき
Setting up runit (2.1.2-3ubuntu1) ...
start: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused
dpkg: error processing package runit (--configure):
subprocess installed post-installation script returned error exit status 1
Processing triggers for ureadahead (0.100.0-19) ...
Errors were encountered while processing:
runit
E: Sub-process /usr/bin/dpkg returned an error code (1)
runitパッケージは半インストール状態のままになります。 runit.postinst
に/var/lib/dpkg/info/
ファイルがあります。このファイルは、runitパッケージのインストール後の詳細の一部として実行されます(主に、次のシステムブートまで待機するのではなく、インストール直後にrunitを起動するため)。エラーは、スクリプトがsystemd
/upstart
の排他的な性質を忘れているように見えることです。明らかにupstart
を実行していないので、関連する行(現在のインストールでは58〜60行目)をコメント化します。
前:
if [ -x /sbin/start ]; then #provided by upstart
/sbin/start runsvdir
fi
後:
#if [ -x /sbin/start ]; then #provided by upstart
# /sbin/start runsvdir
#fi
その変更を保存したら、中断したところを終了するようにaptに伝えることができます。
$ Sudo apt-get install -f
スタートアップをパージするだけで、とにかく壊れています。
UPD:runitは、ubuntuのsystemdと互換性がないようです。再起動後に驚きになる可能性があります。runitはpid 1ではないと言って失敗します。
- runit: fatal: must be run as process no 1.
したがって、他の方法はupstartに切り替えることです。
Sudo aptitude install upstart-sysv
Sudo update-initramfs -u
Sudo reboot