시작 시 업데이트 스크립트를 가져올 수 없습니다.

시작 시 업데이트 스크립트를 가져올 수 없습니다.

저는 데스크톱 환경 없이 Debian 9.7.0에서 작업하고 있습니다. 내 패키지를 업데이트하는 스크립트를 만들고 이를 /etc/crontab에 추가하여 시작 시 실행되도록 했습니다. 스크립트는 다음과 같습니다.

#!/bin/bash
apt-get update && apt-get upgrade

수동으로 실행하면 잘 작동하지만 시작 시 apt-get은 데비안 URL을 얻지 못합니다. 로그는 다음과 같습니다.

Err:1 http:///ftp.be.debian.org/debian stretch InRelease
  Temporary failure resolving 'ftp.be.debian.org'
Err:2 http://ftp.be.debian.org/debian stretch-updates InRelease
  Temporary failure resolving 'ftp.be.debian.org'
Err:3 http://security.debian.org/debian-security stretch/updates InRelease
  Temporary failure resolving 'security.debian.org'
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
Calculating upgrade...
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

제 기억이 맞다면 apt-get은 데비안 서버에 접근할 수 없나요?

편집: 또한 /etc/apt/sources.list에서 서버를 변경하려고 시도했지만 여전히 동일한 오류가 발생합니다.

어떻게 이런 일이 발생하고 어떻게 처리하는지 아는 사람이 있나요?

답변을 찾을 수 없으므로 재게시가 아니길 바랍니다. 좋은 하루 되세요.

답변1

이 스크립트는 네트워크가 시작되기 전에 실행되는 것 같습니다.

시작 시 실행되는 서비스를 사용하는 것이 좋습니다 systemd. 그러면 네트워크가 시작된 후에 실행되도록 요청할 수 있습니다.

예를 들어:

# /etc/systemd/system/update.service
[Unit]
Description=Apt Update & Upgrade
After=network-online.target
Wants=network-online.target

[Service]
Type=oneshot
KillMode=process
ExecStart=/usr/local/bin/update-script

[Install]
WantedBy=multi-user.target

그런 다음 다음을 실행하십시오.

systemctl daemon-reload
systemctl enable update.service

아니면 이 unattended-upgrades패키지를 사용하여 이 모든 작업을 수행할 수도 있습니다.

관련 정보