Jak mogę aktualizować mój Raspbian „Wheezy”?

45

Czy istnieje jakieś narzędzie do aktualizacji mojego pakietu Raspbian Debian 7 (Wheezy)?

Zainstalowałem phpi lighttpdchcę, aby były one automatycznie aktualizowane na wypadek znalezienia błędów.

Michel
źródło

Odpowiedzi:

48

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)

recantha
źródło
Czy to już wszystko? Czy zaktualizuje wszystko, co zainstalowałem przez apt-get, w tym sam system operacyjny?
Michel
1
„Sam system operacyjny” jest jądrem Linuksa, tak. Za pierwszym razem prawdopodobnie pojawi się sporo aktualizacji, ponieważ repozytorium zwykle zawiera nowsze pakiety niż obraz instalacyjny.
Złotowłosa
To znaczy wszystko, co pochodzi z apt repo. Co zwykle jest wszystkim oprócz danych, ale w tym przypadku może nie obejmować np. Jądra lub programu ładującego. Jeśli pobrałeś coś skądś lub stworzyłeś coś własnego, to oczywiście nie można go automatycznie zaktualizować :)
XTL
Tak, to wszystko. Być może będziesz musiał od czasu do czasu odpowiedzieć na pytanie tak / nie dla większych programów, ale w zasadzie to takie proste.
recantha
1
@Michel: Czasami „system operacyjny Linux” jest szerzej określany jako „GNU / Linux”, który obejmuje jądro (w ścisłym tego słowa znaczeniu „Linux”) i podstawy przestrzeni użytkownika, takie jak biblioteka C, powłoka itp. parasol GNU. W przypadku systemu Windows wszystkie te części są niezmiennie zintegrowane, podczas gdy świat linux jest bardziej heterogeniczny i modułowy, więc może pojawić się pewne zamieszanie. Wziąłbym tutaj „system operacyjny”, aby odnieść się do dystrybucji debian wheezy (w tym jądra), ale wydaje się, że odnosi się to do czegoś bardziej konkretnego.
Złotowłosa
41

unattended-upgradesOpakowanie 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/10periodicnastę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ę.

oddolny
źródło
3
Ostatni krok (zamiana origin=Debian) nie jest już potrzebny w najnowszej dystrybucji Raspbian.
Dolph
W przypadku Raspbian Wheezy wydaje się, że nadal jest to konieczne, na przykład:Checking: openssl (["<Origin component:'main' archive:'oldstable' origin:'Raspbian' label:'Raspbian' site:'mirrordirector.raspbian.org' isTrusted:True>"])
astorije,
Ups, źle odczytałem. Tak, origin=Raspbiannadal jest konieczne w pliku konfiguracyjnym, ale nie, nie musisz tego robić sam, naprawdę, przepraszam ...
astorije
26

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

István Simon
źródło
5

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

aktualizacja rpi

Bastian W.
źródło
3

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ć!

Steji
źródło
Każda szansa, że ​​możesz udostępnić skrypt i / lub informacje o tym, jak zrobić te zdarzenia czasowe. Wyobrażam sobie, że gdyby PO wiedział, jak to zrobić, nie napisałby.
Phill Healey,
1

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/configpliku następujące , sudo tee -aaby 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.listjako ś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.listnależ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-aptaktualizację 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-upgradeskolejności ), wydaje się kolejną świetną opcją zautomatyzowania procesu aktualizacji.

S0AndS0
źródło