Bagaimana saya bisa memperbarui "Wheezy" Raspbian saya?

45

Apakah ada semacam alat pembaruan untuk paket Raspbian Debian 7 (Wheezy) saya?

Saya menginstal phpdan lighttpd, dan saya ingin agar mereka diperbarui secara otomatis ketika bug ditemukan.

Michel
sumber

Jawaban:

48

Anda perlu memasukkan beberapa perintah ke dalam baris perintah. Pertama-tama:

apt-get update  

(ini akan memperbarui sumber perangkat lunak)

apt-get upgrade  

(ini akan meningkatkan semuanya ke versi terbaru)

Recantha
sumber
Apakah hanya itu yang ada di situ? Apakah ini akan memutakhirkan semua yang saya instal melalui apt-get, termasuk Os itu sendiri?
Michel
1
"OS itu sendiri" adalah kernel linux, ya. Pertama kali Anda melakukan ini, mungkin akan ada banyak pembaruan karena repositori biasanya akan berisi paket yang lebih baru daripada gambar instalasi.
goldilocks
Semua yang datang dari apt repo, yaitu. Yang biasanya adalah segalanya kecuali data Anda, tetapi mungkin tidak termasuk misalnya kernel atau bootloader dalam kasus ini. Jika Anda telah mengunduh barang dari tempat lain atau membuat sendiri, itu jelas tidak dapat ditingkatkan secara otomatis :)
XTL
Yap, hanya itu yang ada untuk itu. Anda mungkin harus menjawab pertanyaan ya / tidak sesekali untuk perangkat lunak yang lebih besar, tetapi pada dasarnya, itu mudah.
recantha
1
@Michel: Kadang-kadang "OS linux" secara lebih luas disebut sebagai "GNU / Linux" yang akan mencakup kernel ("linux" dalam arti yang ketat) dan dasar-dasar userspace seperti perpustakaan C, shell, dll, yang berada di bawah payung GNU. Dengan windows, semua bagian ini terintegrasi secara kekal, sedangkan dunia linux lebih heterogen dan modular, sehingga dapat terjadi kebingungan. Saya akan mengambil "OS" di sini untuk merujuk ke distro wheezy debian (termasuk kernel), tetapi Anda tampaknya merujuk pada sesuatu yang lebih spesifik.
goldilocks
41

The unattended-upgradespaket adalah cara untuk mengotomatisasi memperbarui OS dalam distribusi debian-keluarga ini. Ikuti instruksi yang ditemukan di sini .

Pada dasarnya Anda harus menginstal paket:

sudo apt-get install unattended-upgrades

dan tambahkan /etc/apt/apt.conf.d/10periodicberikut ini:

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

Selain itu (karena sepertinya porting dari paket belum sempurna), ubah baris berikut di bagian pertama dari /etc/apt/apt.conf.d/50unattended-upgrades:

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

untuk

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

Sekarang sistem Anda selalu terbarui secara otomatis.

akar rumput
sumber
3
Langkah terakhir (bertukar origin=Debian) tidak lagi diperlukan dalam distribusi terbaru Raspbian.
Dolph
Pada Raspbian Wheezy, hari ini, tampaknya masih diperlukan sebagai, misalnya:Checking: openssl (["<Origin component:'main' archive:'oldstable' origin:'Raspbian' label:'Raspbian' site:'mirrordirector.raspbian.org' isTrusted:True>"])
astorije
Ups, saya salah membaca. Ya, origin=Raspbianmasih diperlukan dalam file konfigurasi tetapi, tidak, Anda tidak perlu melakukannya lagi, maaf ...
astorije
26

Dist:

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

Rpi-perbarui pertama kali: instal git dan sertifikasi untuk mencapai 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

perbarui firmware

$ sudo rpi-update
$ sudo ldconfig
$ sudo reboot

Rpi-perbarui setelah:

$ sudo rpi-update
$ sudo ldconfig
$ sudo reboot

rpi-perbarui

István Simon
sumber
5

rpi-update sekarang dapat diambil secara langsung melalui apt-get, jadi tidak perlu berurusan dengan Wget . Jadi di sini sekarang cara yang diperbarui:

Dist:

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

Anda perlu me-reboot Raspberry Pi sekarang, jika kernel baru tidak akan digunakan!

Rpi-perbarui pertama kali: Instal Git dan sertifikasi untuk mencapai GitHub .

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

Perbarui firmware

$ sudo rpi-update
$ sudo reboot

rpi-perbarui

BastianW
sumber
3

Anda juga dapat menulis skrip kecil dengan langkah apt-get di sana dan menjalankannya sesuai jadwal sekali sehari / seberapa sering Anda suka, itulah yang saya lakukan.

Cara mengatur pekerjaan cron di Pi:

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

Cara menulis skrip bash:

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

Script saya hanya sederhana

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

dan saya membuatnya mencatat output ke file dengan >>di akhir setiap baris, misalnya apt-get update >> autoupdate.txt.

Masih bisa diperdebatkan seberapa bagus ide melakukan ini!

Steji
sumber
Setiap kesempatan Anda dapat membagikan skrip & / atau info tentang cara melakukan acara berjangka waktu ini. Saya membayangkan jika OP tahu bagaimana melakukan ini, dia tidak akan memposting.
Phill Healey
1

Situs Seni Web memiliki panduan hebat untuk Debian Wheezy bahwa saya hanya perlu memodifikasi satu baris agar dapat bekerja pada RPi pengujian saya. Tautan akan membawa Anda ke panduannya pada cron-apt; yang telah ditulis ulang di bawah dengan modifikasi untuk sistem repositori RPi dijelaskan.

Instal cron-apt

sudo apt-get install cron-apt

Konfigurasi default, tindakan, dan konfigurasi khusus dapat ditemukan bersama

ls -hal /etc/cron-apt/config

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

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

Tambahkan yang berikut ini ke /etc/cron-apt/configfile dengan sudo tee -auntuk memungkinkan email untuk dikirim dengan informasi verbos tentang tindakan yang diambil selama pembaruan otomatis

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

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

Logging dibuang ke: /var/log/cron-apt/log

Buat file tindakan baru untuk memperbarui hanya paket terkait keamanan dengan perintah sentuh dan tambahkan satu baris dengan perintah sudo tee; yang lain akan diunduh tetapi menunggu sys-admin untuk menginstal pembaruan non-keamanan. Semua pembaruan dan keluaran akan dikirim melalui email ke pengguna root atau sys-admin untuk ditinjau lebih lanjut dan / atau tindakan yang harus diambil.

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

Buat file konfigurasi baru untuk menggunakan tindakan di atas; menggunakan spicifficly /etc/apt/sources.list.d/security.listsebagai jalur untuk pembaruan keamanan. Jalur file mungkin berbeda pada sistem Anda jika tidak sepenuhnya berbasis pada Debian Linux; RPi sekarang menggunakan mirror director sehingga /etc/apt/sources.listharus digunakan sebagai gantinya, namun, ini tidak dapat disarankan untuk server tingkat produksi karena akan memperbarui pembaruan non-keamanan juga.

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

Tunggu satu hari untuk cron-aptmemperbarui sistem Anda dan periksa log lokal dengan yang berikut untuk melihat apa yang diperbarui saat Anda tidur

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

Ini telah diuji pada satu RPI untuk bekerja untuk memperbarui setiap paket serta PC Unbuntu yang hanya memperbarui paket terkait keamanan. Jadi saya merasa itu adalah salah satu opsi yang lebih portabel. Paket lain untuk pembaruan otomatis, disarankan oleh akar rumput (terima kasih, saya akan mengujinya berikutnya), unattended-upgradessepertinya merupakan pilihan bagus untuk mengotomatiskan proses pembaruan.

S0AndS0
sumber