Як я можу оновлювати свій Raspbian "Wheezy" в актуальному стані?


45

Чи є якийсь інструмент оновлення для мого пакету Raspbian Debian 7 (Wheezy)?

Я встановив phpі lighttpd, і я хочу , щоб ті , автоматично оновлюється , коли помилки виявляються.

Відповіді:


48

Вам потрібно ввести в командний рядок кілька команд. Поперше:

apt-get update  

(це оновить джерела програмного забезпечення)

apt-get upgrade  

(це оновить усе до останньої версії)


Це все в цьому? Чи оновить оновлення, встановлене через apt-get, включаючи сам ОС?
Мішель

1
"Сама ОС" є ядром Linux, так. Перший раз, коли ви це зробите, ймовірно, буде купу оновлень, оскільки сховище зазвичай містить новіші пакети, ніж зображення встановлення.
золотинки

Все, що вийшло з влучного репо, тобто. Що зазвичай все, крім ваших даних, але може не включати, наприклад, ядро ​​або завантажувач у цьому випадку. Якщо ви завантажили речі з іншого місця або зробили щось своє, це, очевидно, не може бути автоматично оновлено :)
XTL

Так, це все є. Можливо, вам доведеться відповісти на запитання "так / ні" для більшої частини програмного забезпечення, але в основному це так просто.
recantha

1
@Michel: Іноді "ОС Linux" в більш широкому розумінні називають "GNU / Linux", яка б включала в себе ядро ​​("linux" у строгому розумінні) та основи простору користувачів, такі як бібліотека C, оболонка тощо, які знаходяться в парасольку GNU. З вікнами всі ці частини незмінно інтегровані, тоді як світ Linux є більш неоднорідним та модульним, тому може виникнути певна плутанина. Я б взяв тут "ОС", щоб посилатися на дебіанський хриплий дистрибутив (включаючи ядро), але ви, здавалося, маєте на увазі щось більш конкретне.
goldilocks

41

unattended-upgradesПакет є способом автоматизувати оновлення ОС в цих Debian сімейство розподілів. Дотримуйтесь інструкцій, знайдених тут .

В основному ви повинні встановити пакет:

sudo apt-get install unattended-upgrades

і додати до /etc/apt/apt.conf.d/10periodicнаступного:

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

Додатково (оскільки, здається, перенесення пакету не було бездоганним), змініть наступний рядок у першому розділі /etc/apt/apt.conf.d/50unattended-upgrades:

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

до

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

Тепер ваша система автоматично оновлюється.


3
Останній крок (заміна origin=Debian) більше не потрібен в останньому розповсюдженні програми Raspbian.
Дельф

Про Raspbian Wheezy сьогодні, здається, все ще потрібно, як, наприклад:Checking: openssl (["<Origin component:'main' archive:'oldstable' origin:'Raspbian' label:'Raspbian' site:'mirrordirector.raspbian.org' isTrusted:True>"])
astorije

На жаль, я неправильно прочитав. Так, origin=Raspbianвсе ще потрібно у файлі конфігурації, але, ні, вам більше не потрібно робити це справді, вибачте ...
astorije

26

Dist:

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

Перше оновлення Rpi: встановіть git та сертифікати для досягнення 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

оновити прошивку

$ sudo rpi-update
$ sudo ldconfig
$ sudo reboot

Rpi-оновлення після:

$ sudo rpi-update
$ sudo ldconfig
$ sudo reboot

rpi-оновлення


5

rpi-update тепер можна отримати безпосередньо через apt-get, тому не потрібно мати справу з Wget . Отже ось оновлений спосіб:

Dist:

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

Вам потрібно перезавантажити Raspberry Pi зараз, інакше нове ядро ​​не використовується!

Перше оновлення Rpi: встановіть Git та сертифікати, щоб дістатися до GitHub .

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

Оновіть прошивку

$ sudo rpi-update
$ sudo reboot

rpi-оновлення


3

Ви також можете написати невеликий сценарій із кроком для влучення та запустити його за розкладом один раз на день / однак часто це вам подобається, це я і зробив.

Як налаштувати cron завдання на Pi:

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

Як написати сценарій bash:

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

Мій сценарій був просто простим

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

і я мав це записувати висновок у файл із >>в кінці кожного рядка, наприклад apt-get update >> autoupdate.txt.

Дискусійно щодо того, наскільки гарна ідея це зробити, хоча!


Будь-який шанс ви могли поділитися сценарієм та / або інформацією про те, як робити ці приурочені події. Я думаю, якби ОП знала, як це зробити, він би не розміщував.
Філл Хелі

1

Веб- сайт Art of Web має чудовий посібник для Debian Wheezy, що мені довелося змінити лише один рядок, щоб він працював на моїй тестовій RPi. Посилання переведе вас до їх керівництва cron-apt; що було перефразовано внизу з модифікацією для системи репозиції RPi.

Встановіть cron-apt

sudo apt-get install cron-apt

Конфігурація, дії та власні конфігурації за замовчуванням можна знайти за допомогою

ls -hal /etc/cron-apt/config

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

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

Додайте до /etc/cron-apt/configфайлу наступне, щоб sudo tee -aдозволити надсилати електронні листи з деталями інформації про дії, здійснені під час автоматичного оновлення

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

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

Ведення журналу скидається на: /var/log/cron-apt/log

Створіть новий файл дій для оновлення лише пакетів, пов’язаних із безпекою, із сенсорною командою та додайте один рядок із командою sudo tee; інші завантажуватимуться, але зачекайте, коли sys-admin встановить оновлення, що не стосуються безпеки. Повідомлення про оновлення та вихідні дані будуть надіслані електронною поштою користувачеві root або sys-admin для подальшого огляду та / або вжитих дій.

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

Створіть новий файл конфігурації для використання вище дії; гостро використовуючи /etc/apt/sources.list.d/security.listяк шлях для оновлень безпеки. Шлях до файлів може відрізнятися у вашій системі, якщо він не повністю базується на Debian Linux; RPi тепер використовує дзеркальний директор, тому його /etc/apt/sources.listслід використовувати, однак цього не можна радити серверам виробничого рівня, оскільки вони також оновлюватимуть оновлення, що не стосуються безпеки.

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

Зачекайте день для cron-aptоновлення вашої системи та перевірте локальні журнали, щоб побачити, що було оновлено під час сну

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

Це було протестовано на одній RPi для роботи з оновленням кожного пакету, а також на ПК Unbuntu, який оновлює лише пакети, пов’язані з безпекою. Тож я відчуваю, що це один із більш портативних варіантів. Інший пакет автоматизованих оновлень, запропонований «низовим» (дякую, я збираюся перевірити його далі), unattended-upgradesздається, ще один чудовий варіант автоматизації процесу оновлення.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.