Debian

CRON 問題 - 一項 apt-get dist-upgrade 工作

  • April 8, 2016

這個問題與 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詳情。

引用自:https://unix.stackexchange.com/questions/275013