이 문제는 Debian 8.4와 관련이 있습니다.
여러 데스크톱 스테이션과 사용하지 않는 서버에 동일한 업데이트 메커니즘을 적용했습니다. 이 문제는 서버에서 발생하지만 이러한 모든 스테이션에서도 발생하는 것으로 생각됩니다.
이 스레드에서 설명한 대로 cron 작업을 기록했으며 이제 업데이트를 기다리고 있습니다. 그것이 와서 오류 메시지가 나타납니다. 그것은 나에게 완전히 횡설수설입니다.
여기에서 어떻게 설정했는지 살펴보세요. crontab이 제대로 작동하는지 어떻게 알 수 있나요?
아카이브를 다운로드하려는 경우 로그의 관련 부분이 시작됩니다.
Apr 8 00:00:42 vb-srv-debian updates: Need to get 108 MB of archives.
Apr 8 00:00:42 vb-srv-debian updates: After this operation, 20.5 kB of additional disk space will be used.
Apr 8 00:00:42 vb-srv-debian updates: Get:1 http://dl.google.com/linux/chrome/deb/ stable/main google-chrome-stable amd64 49.0.2623.112-1 [48.5 MB]
Apr 8 00:00:42 vb-srv-debian updates: Get:2 http://nightly.odoo.com/9.0/nightly/deb/ ./ odoo 9.0c.20160407 [59.6 MB]
Apr 8 00:00:54 vb-srv-debian updates: Reading changelogs...
Apr 8 00:01:01 vb-srv-debian updates: debconf: unable to initialize frontend: Dialog
Apr 8 00:01:01 vb-srv-debian updates: debconf: (TERM is not set, so the dialog frontend is not usable.)
Apr 8 00:01:01 vb-srv-debian updates: debconf: falling back to frontend: Readline
Apr 8 00:01:01 vb-srv-debian updates: debconf: unable to initialize frontend: Readline
Apr 8 00:01:01 vb-srv-debian updates: debconf: (This frontend requires a controlling tty.)
Apr 8 00:01:01 vb-srv-debian updates: debconf: falling back to frontend: Teletype
Apr 8 00:01:01 vb-srv-debian updates: dpkg-preconfigure: unable to re-open stdin:
Apr 8 00:01:01 vb-srv-debian updates: Fetched 108 MB in 11s (9,111 kB/s)
Apr 8 00:01:01 vb-srv-debian updates: dpkg: warning: 'ldconfig' not found in PATH or not executable
Apr 8 00:01:01 vb-srv-debian updates: dpkg: warning: 'start-stop-daemon' not found in PATH or not executable
Apr 8 00:01:01 vb-srv-debian updates: dpkg: error: 2 expected programs not found in PATH or not executable
Apr 8 00:01:01 vb-srv-debian updates: Note: root's PATH should usually contain /usr/local/sbin, /usr/sbin and /sbin
Apr 8 00:01:01 vb-srv-debian updates: E: Sub-process /usr/bin/dpkg returned an error code (2)
나는 주된 문제가 변수와 관련이 있다고 의심하는데 $PATH
, 현재는 그것이 어떻게 사용되는지 이해하지 못합니다.
is 인 경우 root
다음 변수 값이 반환됩니다.
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
$ echo $TERM
xterm
답변1
cron
일반적으로 상당히 작은 환경( man 5 crontab
실제로 무엇인지 확인)에서 작업을 실행하면 이를 달성하기 위한 경로에 리소스가 충분하지 않을 수 있습니다. 뭔가 보고 싶다면예이동 중에 언제든지 printenv > /tmp/cron_env
(아마도 가까운 시일 내에) 들러서 살펴볼 수 있습니다. 일반적으로 PATH
crontab 파일에서 업데이트를 정의합니다. man 5 crontab
자세한 내용은 다시 참조하세요.