이상한 시스템: 종속성을 추가할 수 없습니다. 파일이 존재합니다.

이상한 시스템: 종속성을 추가할 수 없습니다. 파일이 존재합니다.

나는 wheezy를 실행하는 데비안 armel 머신을 가지고 있고 오늘 데비안 베타 버전으로 업그레이드했습니다. 제목에서 짐작할 수 있듯이 systemd는 두 가지 측면에서 이상합니다.

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 명령은 부팅 중에 시스템이 경고하는 도구와 함께 작동하지 않습니다. 업그레이드로 인해 문제가 발생했으므로 데이터를 백업하고 새로 설치하는 것이 좋습니다.

관련 정보