Obecnie, aby wszystko było aktualne na moim Raspberry Pi, muszę wpisać sudo apt-get update
i sudo apt-get upgrade
. Czy istnieje sposób na skonfigurowanie automatycznego robienia tego? Prowadzę Raspbian Jessie.
Obecnie, aby wszystko było aktualne na moim Raspberry Pi, muszę wpisać sudo apt-get update
i sudo apt-get upgrade
. Czy istnieje sposób na skonfigurowanie automatycznego robienia tego? Prowadzę Raspbian Jessie.
Odpowiedzi:
zamiast ręcznego crona można zainstalować unattended-upgrades
, co jest przydatne, aby upewnić się, że zainstalowane są najnowsze jądra. Jest głównie zaprojektowany dla bezpieczeństwa.
https://wiki.debian.org/UnattendedUpgrades
apt-get install unattended-upgrades
Istnieje kilka bitów, które można regulować / konfigurować, ale domyślnie jest w porządku.
50unattended-upgrades
Lista moich zapasów kości (stan na wrzesień 2017 r.) Zawiera listę "origin=Debian,codename=${distro_codename},label=Debian-Security";
i wydaje się, że poprawnie znajduje odpowiednie pakiety. Oczywiście ignoruje wiele z nich. Nie utworzyłem żadnych białych ani czarnych list.
50unattended-upgrades
jest naprawdę głupie i musi zostać zmienione, aby działało na Raspian. Nie ma Raspian-Security
. Aktualizacje zabezpieczeń nie są oznaczone. Jest ważne, aby dodać zarówno "origin=Raspbian,codename=${distro_codename},label=Raspbian";
i "origin=Raspberry Pi Foundation,codename=${distro_codename},label=Raspberry Pi Foundation";
do/etc/apt/apt.conf.d/50unattended-upgrades
W terminalu wpisz:
sudo su
Aby uzyskać dostęp do monitu na poziomie głównym. Następnie uruchomić:
crontab -e
Aby rozpocząć edycję swojego crontab, tabelę zadań uruchamianych automatycznie w danym momencie. Otworzy się w preferowanym edytorze tekstu. Zmodyfikuj go, aby zawierał następujące wiersze:
0 7 * * 1 apt update && apt upgrade -y
Aby automatycznie aktualizować i aktualizować aplikacje o 7 rano w każdy poniedziałek. Czytaj dalej na crontab, aby zobaczyć, jak dostosować się do swoich upodobań.
&&
ponieważ są one powiązane i nie ma powodu, aby „aktualizować”, jeśli „aktualizacja” się nie powiedzie.
0
oznacza niedzielę, ale 1
dist-upgrade
jest lepsze niż upgrade
, skończysz na zerwanych zależnościach, używając tylko upgrade
. Nie będziesz również omijać aktualizacji wymagających potwierdzenia w oknie dialogowym. @ tedder42 wskazał metodę preferowaną przez Debiana (za pomocą unattended-upgrades
).
sudo
; przeszedłeś na root
konto za pomocą su
. Crontab administratora jest uruchamiany z uprawnieniami administratora.
Możesz zainstalować i skonfigurować cron-apt. Zainstaluj go, wykonując następujące czynności:
apt-get install cron-apt
głównym plikiem konfiguracyjnym jest / etc / cron-apt / config
Jedną rzeczą, którą dodaję do mojej konfiguracji jest:
MAILON="always"
spowoduje to wysłanie wiadomości e-mail za każdym razem, gdy zostanie uruchomiona, nie tylko w przypadku wystąpienia błędu.
Pamiętaj, że domyślna instalacja nie spowoduje automatycznej instalacji aktualizacji (istnieje kilka dobrych powodów, aby tego nie robić), ale możesz to skonfigurować. Zaletą tego programu w porównaniu z prostym rozwiązaniem cron jest to, że daje on kontrolę nad tym, co zostanie zainstalowane (pobieraj tylko nowe pakiety, instaluj aktualizacje zabezpieczeń lub instaluj wszystkie aktualizacje).
Aby ustawić czas działania, edytuj plik /etc/cron.d/cron-apt.
Więcej informacji i opcji konfiguracji można znaleźć tutaj
Pakiet zawiera bardzo dobrą dokumentację, jednak jest spakowany gzip. Aby wyodrębnić plik:
W domyślnej konfiguracji unattended-upgrades
jest uszkodzony w Raspbian Buster. Nie zainstaluje istotnych aktualizacji jądra i innego oprogramowania. Twoje opcje to:
Zalecana opcja:
sudo apt install unattended-upgrades
echo 'Unattended-Upgrade::Origins-Pattern {
// Fix missing Rasbian sources.
"origin=Debian,codename=${distro_codename},label=Debian";
"origin=Debian,codename=${distro_codename},label=Debian-Security";
"origin=Raspbian,codename=${distro_codename},label=Raspbian";
"origin=Raspberry Pi Foundation,codename=${distro_codename},label=Raspberry Pi Foundation";
};' | sudo tee /etc/apt/apt.conf.d/51unattended-upgrades-raspbian
Aby uzyskać szybsze aktualizacje zabezpieczeń (ale mniejszą stabilność, ponieważ pakiety nie zostały zatwierdzone dla rasbian), możesz dodać pakiety bezpieczeństwa debian do apt:
echo 'deb http://deb.debian.org/debian-security/ buster/updates main contrib non-free' | sudo tee /etc/apt/sources.list.d/debian-security.list
Prawdopodobnie będziesz musiał zainstalować nowe klucze apt do repozytorium debian .
Inne opcje:
Obejdź to za pomocą cron-apt:
sudo apt install cron-apt
Inne sposoby obejścia tego.
Zaleca się stosowanie aktualizacji nienadzorowanych i naprawianie pakietu, ponieważ najlepiej nadaje się do tego celu. Cron-apt jest twoją drugą najlepszą opcją, ponieważ jest również zaprojektowany do podobnego celu. Nie jestem pewien, czy którykolwiek z nich może automatycznie zrestartować system po aktualizacji jądra. Uaktualnienia nienadzorowane zwykle mają tę opcję, ale nie jestem pewien, czy działa ona z powyższą poprawką.
/var/log/unattended-upgrades/unattended-upgrades.log
plik zgłosił sięAllowed origins are: []
tak zasadniczo, że nie pobierał żadnych aktualizacji. Po aktualizacji w/etc/apt/apt.conf.d/50unattended-upgrades
celu uwzględnienia"origin=Raspbian,codename=${distro_codename},label=Raspbian";
aktualizacji zaczęły pojawiać się.