Debian
CRON 問題 - 一項 apt-get dist-upgrade 工作
這個問題與 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 變數有關,我目前不明白它是如何使用的。
編輯2:
作為 root 時,將返回以下變數
echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin echo $TERM xterm
cron
通常在一個相當小的環境中執行事物(man 5 crontab
看看究竟是什麼),這可能沒有足夠的路徑。如果您想查看路徑中的內容,您可以隨時printenv > /tmp/cron_env
從(大概在不久的將來的某個時間)跑來查看。通常你可以PATH
在你的 crontab 文件中定義一個更新;再次查看man 5 crontab
詳情。