奇妙なシステム:依存関係を追加できません。ファイルが存在します。

奇妙なシステム:依存関係を追加できません。ファイルが存在します。

私はwheezyを実行するDebian armelマシンを持っていて、今日Debianのベータ版にアップグレードしました。タイトルから推測できるように、systemdは2つの点で奇妙です。

1) 起動時に「Cannot add dependency X to Y.target, ignoring: file presents」という一連のエラーが表示されますが、システムは正常に起動しているようです。エラーは次のとおりです。

Oct 20 17:19:42 gw-16b1 systemd[1]: Cannot add dependency -.mount to local-fs.target, ignoring: File exists
Oct 20 17:19:42 gw-16b1 systemd[1]: Cannot add dependency systemd-journald.service to sysinit.target, ignoring: File exists
Oct 20 17:19:42 gw-16b1 systemd[1]: Cannot add dependency udev.service to basic.target, ignoring: File exists
Oct 20 17:19:42 gw-16b1 systemd[1]: Cannot add dependency systemd-journald-dev-log.socket to sockets.target, ignoring: File exists
Oct 20 17:19:42 gw-16b1 systemd[1]: Cannot add dependency udev-control.socket to sockets.target, ignoring: File exists
Oct 20 17:19:42 gw-16b1 systemd[1]: Cannot add dependency udev-kernel.socket to sockets.target, ignoring: File exists
Oct 20 17:19:42 gw-16b1 systemd[1]: Cannot add dependency systemd-journald.socket to sockets.target, ignoring: File exists
Oct 20 17:19:42 gw-16b1 systemd[1]: Cannot add dependency systemd-journald-audit.socket to sockets.target, ignoring: File exists
Oct 20 17:19:42 gw-16b1 systemd[1]: Cannot add dependency systemd-update-utmp-runlevel.service to graphical.target, ignoring: File exists
Oct 20 17:19:42 gw-16b1 systemd[1]: Cannot add dependency rsyslog.service to multi-user.target, ignoring: File exists
Oct 20 17:19:42 gw-16b1 systemd[1]: Cannot add dependency remote-fs.target to multi-user.target, ignoring: File exists
Oct 20 17:19:42 gw-16b1 systemd[1]: Cannot add dependency dbus.service to multi-user.target, ignoring: File exists
Oct 20 17:19:42 gw-16b1 systemd[1]: Cannot add dependency systemd-user-sessions.service to multi-user.target, ignoring: File exists
Oct 20 17:19:42 gw-16b1 systemd[1]: Cannot add dependency systemd-update-utmp-runlevel.service to multi-user.target, ignoring: File exists
Oct 20 17:19:42 gw-16b1 systemd[1]: Cannot add dependency org.freedesktop.login1.busname to busnames.target, ignoring: File exists
Oct 20 17:19:42 gw-16b1 systemd[1]: Cannot add dependency rsyslog.service to multi-user.target, ignoring: File exists
Oct 20 17:19:42 gw-16b1 systemd[1]: Cannot add dependency ssh.service to multi-user.target, ignoring: File exists
Oct 20 17:19:42 gw-16b1 systemd[1]: Cannot add dependency remote-fs.target to multi-user.target, ignoring: File exists
Oct 20 17:19:42 gw-16b1 systemd[1]: Cannot add dependency cron.service to multi-user.target, ignoring: File exists
Oct 20 17:19:42 gw-16b1 systemd[1]: Cannot add dependency rc-local.service to multi-user.target, ignoring: File exists
Oct 20 17:19:42 gw-16b1 systemd[1]: Cannot add dependency dbus.service to multi-user.target, ignoring: File exists
Oct 20 17:19:42 gw-16b1 systemd[1]: Cannot add dependency systemd-user-sessions.service to multi-user.target, ignoring: File exists
Oct 20 17:19:42 gw-16b1 systemd[1]: Cannot add dependency systemd-ask-password-wall.path to multi-user.target, ignoring: File exists
Oct 20 17:19:42 gw-16b1 systemd[1]: Cannot add dependency systemd-logind.service to multi-user.target, ignoring: File exists
Oct 20 17:19:42 gw-16b1 systemd[1]: Cannot add dependency getty.target to multi-user.target, ignoring: File exists
Oct 20 17:19:42 gw-16b1 systemd[1]: Cannot add dependency systemd-update-utmp-runlevel.service to multi-user.target, ignoring: File exists
Oct 20 17:19:42 gw-16b1 systemd[1]: Cannot add dependency rsyslog.service to multi-user.target, ignoring: File exists
Oct 20 17:19:42 gw-16b1 systemd[1]: Cannot add dependency ssh.service to multi-user.target, ignoring: File exists
Oct 20 17:19:42 gw-16b1 systemd[1]: Cannot add dependency remote-fs.target to multi-user.target, ignoring: File exists
Oct 20 17:19:42 gw-16b1 systemd[1]: Cannot add dependency cron.service to multi-user.target, ignoring: File exists
Oct 20 17:19:42 gw-16b1 systemd[1]: Cannot add dependency rc-local.service to multi-user.target, ignoring: File exists
Oct 20 17:19:42 gw-16b1 systemd[1]: Cannot add dependency dbus.service to multi-user.target, ignoring: File exists
Oct 20 17:19:42 gw-16b1 systemd[1]: Cannot add dependency systemd-user-sessions.service to multi-user.target, ignoring: File exists
Oct 20 17:19:42 gw-16b1 systemd[1]: Cannot add dependency systemd-ask-password-wall.path to multi-user.target, ignoring: File exists
Oct 20 17:19:42 gw-16b1 systemd[1]: Cannot add dependency systemd-logind.service to multi-user.target, ignoring: File exists
Oct 20 17:19:42 gw-16b1 systemd[1]: Cannot add dependency getty.target to multi-user.target, ignoring: File exists
Oct 20 17:19:42 gw-16b1 systemd[1]: Cannot add dependency systemd-update-utmp-runlevel.service to multi-user.target, ignoring: File exists
Oct 20 17:19:42 gw-16b1 systemd[1]: Cannot add dependency systemd-update-utmp-runlevel.service to rescue.target, ignoring: File exists

2)ウォッチドッグはデフォルトで有効になっていないため、ハードウェアウォッチドッグ(ブートローダによって初期化され、JTAGアクセスなしではフラッシュしません)がシステムをリセットします。 "systemctl -f 有効化 watchdog" を使用して有効化しようとすると、次のエラーが発生します。

Synchronizing state of watchdog.service with SysV init with /lib/systemd/systemd-sysv-install...
Executing /lib/systemd/systemd-sysv-install enable watchdog
insserv: warning: current start runlevel(s) (2 3 4 5 S) of script `watchdog' overrides LSB defaults (2 3 4 5).
[ 3269.248986] systemd[1]: Cannot add dependency cron.service to multi-user.target, ignoring: File exists
[ 3269.279002] systemd[1]: Cannot add dependency systemd-user-sessions.service to multi-user.target, ignoring: File exists
[ 3269.309118] systemd[1]: Cannot add dependency getty.target to multi-user.target, ignoring: File exists
insserv: warning: current start runlevel(s) (2 3 4 5 S) of script `watchdog' overrides LSB defaults (2 3 4 5).
[ 3273.549003] systemd[1]: Cannot add dependency rc-local.service to multi-user.target, ignoring: File exists
[ 3273.579012] systemd[1]: Cannot add dependency systemd-ask-password-wall.path to multi-user.target, ignoring: File exists
[ 3276.708974] systemd[1]: Cannot add dependency rc-local.service to multi-user.target, ignoring: File exists
[ 3276.738972] systemd[1]: Cannot add dependency systemd-ask-password-wall.path to multi-user.target, ignoring: File exists
[ 3276.768990] systemd[1]: Cannot add dependency systemd-update-utmp-runlevel.service to multi-user.target, ignoring: File exists
The unit files have no [Install] section. They are not meant to be enabled
using systemctl.
Possible reasons for having this kind of units are:
1) A unit may be statically enabled by being symlinked from another unit's
   .wants/ or .requires/ directory.
2) A unit's purpose may be to act as a helper for some other unit which has
   a requirement dependency on it.
3) A unit may be started when needed via activation (socket, path, timer,
   D-Bus, udev, scripted systemctl call, ...).

3)RTCにも何か奇妙なことがあるようです。アップグレード後、root 1 22.3 1.2 6372 3184 ? Ss 18:16 0:15 /sbin/init fixrtcRTC と ntpdate の両方が正常に機能していますが、プロセスは引き続き機能するためです。

すべてのシステム警告を抑制し、監視が自動的に開始されるようにするにはどうすればよいですか?簡単なだけでservice watchdog start十分なので、これは確かにシステム的な問題です。

答え1

これは、リストされているすべてのツール/パッケージのシステムサービスファイルが欠落していることを意味します。 toolname.serviceファイルを見つけて/lib/systemd/systemに配置する必要があります。

つまり、systemd service コマンドは、起動中にシステムが警告するツールと連携して動作しません。アップグレードで問題が発生したため、データをバックアップして新規インストールすることをお勧めします。

関連情報