Odpowiedzi:
Musisz wpisać niektóre polecenia w wierszu polecenia. Po pierwsze:
apt-get update
(spowoduje to aktualizację źródeł oprogramowania)
apt-get upgrade
(spowoduje to uaktualnienie wszystkiego do najnowszej wersji)
unattended-upgrades
Opakowanie jest sposobem na automatyzację aktualizacji systemu operacyjnego w tych dystrybucjach Debian-rodzinnych. Postępuj zgodnie z instrukcjami tutaj .
Zasadniczo musisz zainstalować pakiet:
sudo apt-get install unattended-upgrades
i dodaj do /etc/apt/apt.conf.d/10periodic
następujących:
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "7";
APT::Periodic::Unattended-Upgrade "1";
Dodatkowo (ponieważ wydaje się, że przenoszenie pakietu nie było bezbłędne), zmień następujący wiersz w pierwszej sekcji /etc/apt/apt.conf.d/50unattended-upgrades
:
"origin=Debian,archive=stable,label=Debian-Security";
do
// "origin=Debian,archive=stable,label=Debian-Security";
"origin=Raspbian";
Teraz twój system automatycznie aktualizuje się.
origin=Debian
) nie jest już potrzebny w najnowszej dystrybucji Raspbian.
Checking: openssl (["<Origin component:'main' archive:'oldstable' origin:'Raspbian' label:'Raspbian' site:'mirrordirector.raspbian.org' isTrusted:True>"])
origin=Raspbian
nadal jest konieczne w pliku konfiguracyjnym, ale nie, nie musisz tego robić sam, naprawdę, przepraszam ...
Dist:
$ sudo apt-get update
$ sudo apt-get upgrade
Aktualizacja Rpi po raz pierwszy: zainstaluj git i certyfikaty dla reach github.
$ sudo apt-get install ca-certificates
$ sudo apt-get install git-core
$ sudo wget http://goo.gl/1BOfJ -O /usr/bin/rpi-update
$ sudo chmod +x /usr/bin/rpi-update
aktualizacja oprogramowania
$ sudo rpi-update
$ sudo ldconfig
$ sudo reboot
Aktualizacja Rpi po:
$ sudo rpi-update
$ sudo ldconfig
$ sudo reboot
Aktualizacja rpi może być teraz pobierana bezpośrednio przez apt-get, więc nie będzie potrzeby zajmowania się Wget . Oto teraz zaktualizowany sposób:
Dist:
$ sudo apt-get update
$ sudo apt-get upgrade
Musisz teraz zrestartować Raspberry Pi, w przeciwnym razie nowe jądro nie byłoby używane!
Aktualizacja Rpi po raz pierwszy: zainstaluj Git i certyfikaty, aby uzyskać dostęp do GitHub .
$ sudo apt-get install ca-certificates
$ sudo apt-get install git-core
$ sudo apt-get install rpi-update
Aktualizacja oprogramowania
$ sudo rpi-update
$ sudo reboot
Możesz także napisać mały skrypt z instrukcjami apt-get i uruchomić go zgodnie z harmonogramem raz dziennie / jakkolwiek często chcesz, to właśnie zrobiłem.
Jak skonfigurować zadanie cron na Pi:
http://www.wexoo.net/20130406/running-cron-jobs-on-raspberry-pi-in-raspbmc
Jak napisać skrypt bash:
https://www.linux.com/learn/tutorials/284789-writing-a-simple-bash-script-
Mój scenariusz był po prostu prosty
apt-get update
apt-get upgrade -yes
apt-get dist-upgrade -yes
apt-get clean
i kazałem to zapisać dane wyjściowe do pliku >>
na końcu każdej linii, np apt-get update >> autoupdate.txt
.
Dyskusyjne jest jednak, jak dobrym pomysłem jest to zrobić!
Strona Art of Web zawiera wspaniały przewodnik dla Debiana Wheezy, że musiałem zmodyfikować tylko jedną linię, aby działała na moich testowych RPi. Link przeniesie Cię do ich przewodnika po cron-apt
; który został sparafrazowany poniżej z wyjaśnieniem modyfikacji systemu repozytoriów RPi.
Zainstaluj cron-apt
sudo apt-get install cron-apt
Domyślną konfigurację, akcje i niestandardowe konfiguracje można znaleźć za pomocą
ls -hal /etc/cron-apt/config
ls -hal /etc/cron-apt/action.d/
ls -hal /etc/cron-apt/config.d/
Dodaj do /etc/cron-apt/config
pliku następujące , sudo tee -a
aby umożliwić wysyłanie wiadomości e-mail z informacjami verbos na temat działań podjętych podczas automatycznej aktualizacji
echo 'MAILON="output"' | sudo tee -a /etc/cron-apt/config
echo 'DEBUG="verbose"' | sudo tee -a /etc/cron-apt/config
Logowanie jest zrzucane do: /var/log/cron-apt/log
Utwórz nowy plik akcji do aktualizacji tylko pakietów związanych z bezpieczeństwem za pomocą polecenia dotykowego i dodaj jeden wiersz za pomocą polecenia sudo tee; inne zostaną pobrane, ale poczekaj, aż sys-admin zainstaluje aktualizacje niezwiązane z zabezpieczeniami. Alerty aktualizacji i danych wyjściowych zostaną przesłane pocztą e-mail do użytkownika root lub sys-admin w celu dalszego przeglądu i / lub działań, które należy podjąć.
sudo touch /etc/cron-apt/action.d/5-security
echo 'upgrade -y -o APT::Get::Show-Upgraded=true' | sudo tee -a /etc/cron-apt/action.d/5-security
Utwórz nowy plik konfiguracyjny do użycia powyżej akcji; szczególnie używany /etc/apt/sources.list.d/security.list
jako ścieżka do aktualizacji bezpieczeństwa. Ścieżka do pliku może być inna w twoim systemie, jeśli nie jest w pełni oparta na Debianie Linux; RPi używa teraz serwera lustrzanego, dlatego /etc/apt/sources.list
należy go używać zamiast tego, jednak nie można tego zalecać w przypadku serwerów na poziomie produkcyjnym, ponieważ spowoduje to również aktualizację niezwiązaną z zabezpieczeniami.
sudo touch /etc/cron-apt/config.d/5-security
echo 'OPTIONS="-o quiet=1 -o APT::Get::List-Cleanup=false -o Dir::Etc::SourceList=/etc/apt/sources.list.d/security.list -o Dir::Etc::SourceParts=\"/dev/null\""' | sudo tee -a /etc/cron-apt/config.d/5-security
Poczekaj dzień na cron-apt
aktualizację systemu i sprawdź lokalne dzienniki, aby zobaczyć, co zostało zaktualizowane podczas snu
sudo cat /var/log/cron-apt/log
Zostało to przetestowane na jednym RPi do pracy przy aktualizacji każdego pakietu, a także na komputerze Unbuntu, który aktualizuje tylko pakiety związane z bezpieczeństwem. Dlatego uważam, że jest to jedna z bardziej przenośnych dostępnych opcji. Drugi pakiet automatycznych aktualizacji, zasugerowany przez oddolnego (dziękuję, zamierzam go przetestować w następnej unattended-upgrades
kolejności ), wydaje się kolejną świetną opcją zautomatyzowania procesu aktualizacji.