Làm thế nào tôi có thể giữ cho Raspbian Dick Wheezy của tôi cập nhật?


45

Có một loại công cụ cập nhật nào cho gói Raspbian Debian 7 (Wheezy) của tôi không?

Tôi đã cài đặt phplighttpdtôi muốn giữ những bản cập nhật tự động khi phát hiện thấy lỗi.

Câu trả lời:


48

Bạn cần nhập một số lệnh vào dòng lệnh. Đầu tiên:

apt-get update  

(điều này sẽ cập nhật các nguồn phần mềm)

apt-get upgrade  

(điều này sẽ nâng cấp mọi thứ lên phiên bản mới nhất)


Có phải đó là tất cả của nó? Nó sẽ nâng cấp mọi thứ tôi cài đặt thông qua apt-get, bao gồm cả chính Os?
Michel

1
"Bản thân hệ điều hành" là hạt nhân linux, vâng. Lần đầu tiên bạn làm điều này có thể sẽ có một loạt các bản cập nhật vì kho lưu trữ thường sẽ chứa các gói mới hơn hình ảnh cài đặt.
goldilocks

Tất cả mọi thứ đến từ repo apt, đó là. Đó thường là tất cả mọi thứ trừ dữ liệu của bạn, nhưng có thể không bao gồm, ví dụ như kernel hoặc bootloader trong trường hợp này. Nếu bạn đã tải xuống các thứ từ nơi khác hoặc tự tạo một số thứ của riêng mình, điều đó rõ ràng không thể được nâng cấp tự động :)
XTL

Đúng, đó là tất cả để có nó. Bạn có thể phải trả lời câu hỏi thỉnh thoảng có / không cho các phần mềm lớn hơn, nhưng về cơ bản, điều đó thật dễ dàng.
recantha

1
@Michel: Đôi khi "HĐH linux" được gọi rộng hơn là "GNU / Linux" bao gồm kernel ("linux" theo nghĩa chặt chẽ) và các nguyên tắc cơ bản của không gian người dùng như thư viện C, shell, v.v. chiếc ô GNU. Với các cửa sổ, tất cả các phần này được tích hợp một cách bất biến, trong khi thế giới linux không đồng nhất và mô đun hơn, do đó có thể có một số nhầm lẫn. Tôi đã lấy "HĐH" ở đây để đề cập đến bản phân phối khò khè của debian (bao gồm cả kernel), nhưng dường như bạn đang đề cập đến một cái gì đó cụ thể hơn.
goldilocks

41

Các unattended-upgradesgói là cách để tự động cập nhật hệ điều hành trong các bản phân phối debian-gia đình. Thực hiện theo các hướng dẫn được tìm thấy ở đây .

Về cơ bản bạn phải cài đặt gói:

sudo apt-get install unattended-upgrades

và thêm vào /etc/apt/apt.conf.d/10periodicnhư sau:

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

Ngoài ra (vì có vẻ như việc chuyển gói không hoàn hảo), hãy thay đổi dòng sau ở phần đầu tiên của /etc/apt/apt.conf.d/50unattended-upgrades:

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

đến

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

Bây giờ hệ thống của bạn tự động cập nhật.


3
Bước cuối cùng (hoán đổi origin=Debian) không còn cần thiết trong bản phân phối mới nhất của Raspbian.
Dolph

Trên Raspbian Wheezy, ngày nay, dường như vẫn còn cần thiết, ví dụ:Checking: openssl (["<Origin component:'main' archive:'oldstable' origin:'Raspbian' label:'Raspbian' site:'mirrordirector.raspbian.org' isTrusted:True>"])
astorije

Rất tiếc, tôi đã đọc sai. Vâng, origin=Raspbianvẫn cần thiết trong tệp cấu hình nhưng, không, bạn không cần phải tự làm điều đó nữa, xin lỗi ...
astorije

26

Quận:

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

Rpi-update lần đầu tiên: cài đặt git và các chứng chỉ để đạt 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

cập nhật firmware

$ sudo rpi-update
$ sudo ldconfig
$ sudo reboot

Rpi-update sau:

$ sudo rpi-update
$ sudo ldconfig
$ sudo reboot

cập nhật rpi


5

rpi-update bây giờ có thể được tìm nạp trực tiếp thông qua apt-get, do đó sẽ không cần phải đối phó với Wget . Vì vậy, đây là cách cập nhật:

Quận:

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

Bạn cần khởi động lại Raspberry Pi ngay bây giờ, nếu không thì kernel mới sẽ không được sử dụng!

Rpi-update lần đầu tiên: Cài đặt Git và các chứng chỉ để đạt GitHub .

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

Cập nhật firmware

$ sudo rpi-update
$ sudo reboot

cập nhật rpi


3

Bạn cũng có thể viết một đoạn script nhỏ với các bước apt-get của mình ở đó và chạy nó theo lịch trình mỗi ngày một lần / tuy nhiên bạn thường thích, đó là những gì tôi đã làm.

Cách thiết lập công việc định kỳ trên Pi:

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

Cách viết tập lệnh bash:

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

Kịch bản của tôi chỉ đơn giản

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

và tôi đã ghi nhật ký đầu ra vào một tệp >>ở cuối mỗi dòng, vd apt-get update >> autoupdate.txt.

Mặc dù vậy, vẫn còn tranh cãi về việc làm thế nào là một ý tưởng tốt để làm điều này!


Bất kỳ cơ hội nào bạn cũng có thể chia sẻ tập lệnh & / hoặc thông tin về cách thực hiện các sự kiện được tính thời gian này. Tôi tưởng tượng nếu OP biết cách làm điều này, anh ấy sẽ không đăng.
Phill Healey

1

Trang web Art of Web có một hướng dẫn tuyệt vời cho Debian Wheezy mà tôi chỉ phải sửa đổi một dòng để nó hoạt động trên RPi thử nghiệm của mình. Các liên kết sẽ đưa bạn đến hướng dẫn của họ trên cron-apt; đã được giải thích dưới đây với sửa đổi cho hệ thống của RPi repos giải thích.

Cài đặt cron-apt

sudo apt-get install cron-apt

Cấu hình mặc định, hành động và cấu hình tùy chỉnh có thể được tìm thấy với

ls -hal /etc/cron-apt/config

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

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

Nối các phần sau vào /etc/cron-apt/configtệp sudo tee -ađể cho phép các email được gửi với thông tin động từ về các hành động được thực hiện trong quá trình cập nhật tự động

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

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

Ghi nhật ký được kết xuất vào: /var/log/cron-apt/log

Tạo tệp hành động mới để chỉ cập nhật các nhịp đập liên quan đến bảo mật bằng lệnh cảm ứng và thêm một dòng bằng lệnh sudo tee; những người khác sẽ được tải xuống nhưng đợi sys-admin cài đặt các bản cập nhật không bảo mật. Tất cả các bản cập nhật và đầu ra sẽ được gửi qua email cho người dùng root hoặc sys-admin để xem xét thêm và / hoặc các hành động sẽ được thực hiện.

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

Tạo tập tin cấu hình mới để sử dụng hành động trên; spiciffic sử dụng /etc/apt/sources.list.d/security.listnhư là đường dẫn để cập nhật bảo mật. Đường dẫn tệp có thể khác nhau trên hệ thống của bạn nếu không hoàn toàn dựa trên Debian Linux; RPi hiện sử dụng giám đốc nhân bản /etc/apt/sources.listnên được sử dụng thay thế, tuy nhiên, điều này không thể được khuyên cho các máy chủ cấp sản xuất vì nó cũng sẽ cập nhật các cập nhật không bảo mật.

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

Đợi một ngày cron-aptđể cập nhật hệ thống của bạn và kiểm tra nhật ký cục bộ với những điều sau đây để xem những gì đã được cập nhật trong khi bạn ngủ

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

Điều này đã được thử nghiệm trên một RPi để hoạt động để cập nhật mọi gói cũng như PC Unbfox chỉ cập nhật các gói liên quan đến bảo mật. Vì vậy, tôi cảm thấy rằng đó là một trong những tùy chọn di động hơn có sẵn. Gói khác dành cho cập nhật tự động, được đề xuất bởi cơ sở (cảm ơn bạn, tôi sẽ thử nghiệm tiếp theo), có unattended-upgradesvẻ như là một tùy chọn tuyệt vời khác để tự động hóa quá trình cập nhật.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.