Update beim Neustart mit init.d

Update beim Neustart mit init.d

Ich habe ein Skript erstellt, um eine Reihe von Paketen hinzuzufügen und das System bei einer Neuinstallation zu aktualisieren. Hier ist der relevante Teil meines init.d-Skripts, der mir Probleme bereitet:

#!/bin/sh
### BEGIN INIT INFO
# Provides:          update
# Required-Start:    $local_fs $syslog $network
# Required-Stop:     $local_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Description:       Update my system
### END INIT INFO

. /lib/lsb/init-functions

case "$1" in
  start)
    log_daemon_msg "Starting update"

    apt-get --assume-yes update &&
    apt-get --assume-yes dist-upgrade

    log_end_msg $?
    ;;
  *)
    echo "Usage: $0 start" >&2
    exit 2
    ;;
esac

exit 0

Ich habe das Skript ausführbar gemacht und es mit registriert sudo update-rc.d update defaults. Wenn ich es nach einem Neustart mit überprüfe sudo service update status, erhalte ich die Meldung, dass alle Paket-Repositorys nicht aufgelöst werden konnten:

W: Failed to fetch http://.../Release.gpg  Temporary failure resolving '...'
W: Some index files failed to download. They have been ignored, or old ones used instead.

und das init.dSkript endet hier mit . Das Hinzufügen eines zum Skript vor dem Ausführen der Befehle behebt mein Problem code=exitedjedoch . Ich hätte gedacht, dass das Hinzufügen zu meiner Liste dieses Problem von selbst behoben hätte. Gibt es eine bessere Möglichkeit, mit diesem Problem umzugehen?sleep 10apt$network# Required-Start

Ich führe dies aus, Raspian Jessie 2016-03-18falls das einen Unterschied macht, aber ich habe das Gefühl, dass dies nicht der Fall ist.

Antwort1

Das Hinzufügen eines oder zweier weiterer Dienste, die nach dem Netzwerkdienst als Teil der Anforderung gestartet werden sollen, bevor Ihr Aktualisierungsdienst ausgeführt wird, sollte zu einer produktiveren Verzögerung führen, als wenn Sie in Ihrem Skript einen Sleep 10 hinzufügen.

verwandte Informationen