ฉันพยายามใช้ cron เพื่อทำการอัปเดตระบบของฉันโดยอัตโนมัติ คุณสามารถดู crontab คำสั่งและข้อผิดพลาดที่เกิดขึ้นด้านล่าง
เมื่อฉันเรียกใช้ upgrade.sh ในฐานะรูทสคริปต์จะทำงานได้ดี เมื่อ cron รันมันapt-get -y update
จะไม่มีปัญหา แต่aptitude -y safe-upgrade
ล้มเหลว ฉันคาดเดาข้อผิดพลาดนี้เป็นเพราะมีการปรับปรุงเคอร์เนลซึ่งในทางกลับกันการปรับปรุงด้วงซึ่งจะต้องมีของฉันอย่างชัดเจนว่ามันโอเคที่จะเขียนทับdebconf: (This frontend requires a controlling tty.)
/boot/grub/menu.lst
แต่ฉันไม่เข้าใจข้อผิดพลาดของเส้นทาง และฉันต้องการอัปเดตที่ไม่ต้องการการควบคุมดูแลของฉัน
ฉันได้อ่านคำถามนี้แล้วและมันก็เป็นวิธีการแก้ปัญหาที่ไม่ได้รับการยอมรับunattended-upgrades
และฉันอาจจะใช้มัน แต่ทำไมฉันถึงใช้ cron ไม่ได้? ดูเหมือนว่ามันควรจะง่ายและ linuxy มากขึ้น
crontab
root@daedalus:~/bin# crontab -l
# m h dom mon dow command
45 06 * * * ~/bin/upgrades.sh
upgrades.sh
root@daedalus:~/bin# cat upgrades.sh
#!/bin/bash
/usr/bin/apt-get -y update
/usr/bin/aptitude -y safe-upgrade
ข้อผิดพลาด
debconf: unable to initialize frontend: Dialog
debconf: (TERM is not set, so the dialog frontend is not usable.)
debconf: falling back to frontend: Readline
debconf: unable to initialize frontend: Readline
debconf: (This frontend requires a controlling tty.)
debconf: falling back to frontend: Teletype
dpkg-preconfigure: unable to re-open stdin:
Fetched 37.6MB in 4min 23s (143kB/s)
dpkg: warning: 'ldconfig' not found on PATH.
dpkg: warning: 'start-stop-daemon' not found on PATH.
dpkg: warning: 'update-rc.d' not found on PATH.
dpkg: 3 expected program(s) not found on PATH.
NB: root's PATH should usually contain /usr/local/sbin, /usr/sbin and /sbin.
E: Sub-process /usr/bin/dpkg returned an error code (2)
A package failed to install. Trying to recover:
dpkg: warning: 'ldconfig' not found on PATH.
dpkg: warning: 'start-stop-daemon' not found on PATH.
dpkg: warning: 'update-rc.d' not found on PATH.
dpkg: 3 expected program(s) not found on PATH.
NB: root's PATH should usually contain /usr/local/sbin, /usr/sbin and /sbin.
Reading package lists...
Building dependency tree...
Reading state information...
Reading extended state information...
Initializing package states...
Writing extended state information...