나는 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 fixrtc
RTC와 ntpdate가 모두 제대로 작동하는데도 프로세스가 계속 작동하기 때문입니다.
모든 시스템 경고를 억제하고 감시가 자동으로 시작되도록 하려면 어떻게 해야 합니까? 간단한 것만으로 service watchdog start
도 충분하므로 이것은 확실히 시스템적인 문제입니다.
답변1
이는 나열된 모든 도구/패키지에 대한 시스템 서비스 파일이 누락되었음을 의미합니다. toolname.service 파일을 찾아 /lib/systemd/system에 배치해야 합니다.
즉, systemd service 명령은 부팅 중에 시스템이 경고하는 도구와 함께 작동하지 않습니다. 업그레이드로 인해 문제가 발생했으므로 데이터를 백업하고 새로 설치하는 것이 좋습니다.