Comment puis-je garder mon «Wheezy» Raspbian à jour?


45

Existe-t-il une sorte d’outil de mise à jour pour mon paquet Raspbian Debian 7 (Wheezy)?

J'ai installé phpet lighttpd, et je veux garder ceux mis à jour automatiquement pour quand les bugs sont trouvés.

Réponses:


48

Vous devez entrer des commandes dans la ligne de commande. Tout d'abord:

apt-get update  

(cela mettra à jour les sources du logiciel)

apt-get upgrade  

(cela mettra tout à jour vers la dernière version)


Est-ce que tout y est? Va-t-il mettre à niveau tout ce que j'ai installé via apt-get, y compris le système d'exploitation lui-même?
Michel

1
Le "système d'exploitation lui-même" étant le noyau Linux, oui. La première fois que vous faites cela, il y aura probablement un tas de mises à jour car le référentiel contiendra généralement des packages plus récents que l'image d'installation.
Boucle d'or

Tout ce qui venait du repo apt, c’est-à-dire. Ce qui est normalement tout sauf vos données, mais peut ne pas inclure par exemple le noyau ou le chargeur de démarrage dans ce cas. Si vous avez téléchargé des éléments ailleurs ou en avez créé vous-même, vous ne pourrez évidemment pas effectuer de mise à niveau automatique :)
XTL le

Oui, c'est tout ce qu'il y a à dire. Vous devrez peut-être répondre à la question «oui / non» occasionnelle pour des logiciels plus volumineux, mais au fond, c'est aussi simple que cela.
Recantha

1
@Michel: Parfois, "le système d'exploitation Linux" est plus largement appelé "GNU / Linux", ce qui inclut le noyau ("linux" au sens strict) et les principes fondamentaux de l'espace utilisateur tels que la bibliothèque C, le shell, etc. le parapluie GNU. Avec Windows, toutes ces parties sont immuablement intégrées, alors que le monde Linux est plus hétérogène et modulaire, il peut donc y avoir une certaine confusion. J'aurais pris "l'OS" ici pour faire référence à la distribution debian Wheezy (y compris le noyau), mais vous sembliez faire référence à quelque chose de plus spécifique.
goldilocks

41

Le unattended-upgradespaquet est le moyen d'automatiser la mise à jour du système d'exploitation dans ces distributions de la famille debian. Suivez les instructions trouvées ici .

Fondamentalement, vous devez installer le package:

sudo apt-get install unattended-upgrades

et ajouter à /etc/apt/apt.conf.d/10periodicce qui suit:

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "7";
APT::Periodic::Unattended-Upgrade "1";

De plus (puisqu'il semble que le portage du package n'a pas été parfait), modifiez la ligne suivante dans la première section de /etc/apt/apt.conf.d/50unattended-upgrades:

        "origin=Debian,archive=stable,label=Debian-Security";

à

//        "origin=Debian,archive=stable,label=Debian-Security";
        "origin=Raspbian";

Maintenant, votre système se met automatiquement à jour.


3
La dernière étape (remplacement origin=Debian) n'est plus nécessaire dans la dernière distribution de Raspbian.
Dolph

Sur Raspbian Wheezy, aujourd'hui, il semble être encore nécessaire, par exemple:Checking: openssl (["<Origin component:'main' archive:'oldstable' origin:'Raspbian' label:'Raspbian' site:'mirrordirector.raspbian.org' isTrusted:True>"])
astorije

Oups, j'ai mal lu. Oui, origin=Raspbianreste nécessaire dans le fichier de configuration, mais non, vous n'avez plus besoin de le faire vous-même, désolé ...
astorije

26

Dist:

 $ sudo apt-get update
 $ sudo apt-get upgrade 

Rpi-update première fois: installez git et les certifications pour 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

mise à jour du firmware

$ sudo rpi-update
$ sudo ldconfig
$ sudo reboot

Rpi-update après:

$ sudo rpi-update
$ sudo ldconfig
$ sudo reboot

rpi-update


5

rpi-update peut maintenant être récupéré directement via apt-get, il n'y aurait donc pas besoin de traiter avec Wget . Alors voici maintenant la manière mise à jour:

Dist:

 $ sudo apt-get update
 $ sudo apt-get upgrade 

Vous devez redémarrer le Raspberry Pi maintenant, sinon le nouveau noyau ne serait pas utilisé!

Première mise à jour Rpi: Installez Git et des certifications pour atteindre GitHub .

$ sudo apt-get install ca-certificates
$ sudo apt-get install git-core
$ sudo apt-get install rpi-update

Mise à jour du firmware

$ sudo rpi-update
$ sudo reboot

rpi-update


3

Vous pouvez également écrire un petit script avec vos étapes apt-get et l'exécuter sur une base de temps une fois par jour / aussi souvent que vous le souhaitez, c'est ce que j'ai fait.

Comment configurer un travail cron sur le Pi:

http://www.wexoo.net/20130406/running-cron-jobs-on-raspberry-pi-in-raspbmc

Comment écrire un script bash:

https://www.linux.com/learn/tutorials/284789-writing-a-simple-bash-script-

Mon script n'était qu'un simple

apt-get update
apt-get upgrade -yes
apt-get dist-upgrade -yes
apt-get clean

et je l'ai eu en enregistrant la sortie dans un fichier avec >>à la fin de chaque ligne, par exemple apt-get update >> autoupdate.txt.

On peut se demander si c'est une bonne idée de le faire!


Toute chance que vous puissiez partager le script et / ou des informations sur la façon de faire ces événements chronométrés. J'imagine que si le PO savait comment faire cela, il n'aurait pas posté.
Phill Healey

1

Le site Web Art of Web contient un guide formidable pour Debian Wheezy selon lequel il me suffisait de modifier une ligne pour que cela fonctionne sur mon test de RPi. Le lien vous mènera à leur guide sur cron-apt; qui a été expliqué ci-dessous avec la modification du système RPi repos.

Installez cron-apt

sudo apt-get install cron-apt

La configuration par défaut, les actions et les configurations personnalisées peuvent être trouvés avec

ls -hal /etc/cron-apt/config

ls -hal /etc/cron-apt/action.d/

ls -hal /etc/cron-apt/config.d/

Ajoutez ce qui suit au /etc/cron-apt/configfichier avec sudo tee -apour permettre aux courriers électroniques d’être envoyés avec des informations détaillées sur les actions entreprises lors de la mise à jour automatique.

echo 'MAILON="output"' | sudo tee -a /etc/cron-apt/config

echo 'DEBUG="verbose"' | sudo tee -a /etc/cron-apt/config

La journalisation est transférée dans: /var/log/cron-apt/log

Créez un nouveau fichier d’action pour mettre à jour uniquement les paquets liés à la sécurité avec la commande tactile et ajoutez une ligne avec la commande sudo tee; d'autres seront téléchargés, mais attendez que sys-admin installe les mises à jour non liées à la sécurité. Les alertes de mises à jour et de sortie seront envoyées par courrier électronique à l'utilisateur root ou à sys-admin pour une révision ultérieure et / ou des actions à entreprendre.

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

Créez un nouveau fichier de configuration pour utiliser l'action ci-dessus; utiliser spicifficly /etc/apt/sources.list.d/security.listcomme chemin pour les mises à jour de sécurité. Le chemin du fichier peut être différent sur votre système s'il n'est pas entièrement basé sur Debian Linux; RPi utilise maintenant miroir director et /etc/apt/sources.listdevrait donc être utilisé à la place. Toutefois, cela ne peut pas être conseillé pour les serveurs de niveau de production, car il mettra également à jour des mises à jour non liées à la sécurité.

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

Attendez un jour pour cron-aptmettre à jour votre système et consultez les journaux locaux avec les éléments suivants pour savoir ce qui a été mis à jour pendant votre sommeil.

sudo cat /var/log/cron-apt/log

Cela a été testé sur un RPi pour la mise à jour de chaque paquet, ainsi que sur un PC Unbuntu qui ne met à jour que les paquets liés à la sécurité. Je pense donc que c’est l’une des options les plus portables. L’autre paquet pour les mises à jour automatisées, suggéré par la base (merci, je vais le tester ensuite), unattended-upgradessemble être une autre excellente option pour automatiser le processus de mise à jour.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.