Làm cách nào để kiểm tra CLI để cập nhật 4 tuần một lần và tự động cài đặt chúng mà không cần đến các nguồn Phần mềm?


10

Tôi có một bộ lệnh tùy chỉnh tôi chạy trên máy tính của mình sau khi cài đặt chúng. Làm cách nào để tôi kiểm tra Ubuntu để cập nhật cứ sau 4 tuần và cài đặt chúng tự động khi kiểm tra?

Tôi sẽ cần điều này được thực hiện thông qua dòng lệnh để tôi có thể thiết lập nó cho người dùng thông thường khi tôi thiết lập máy tính của họ.

Lệnh đầu tiên sẽ khiến trình quản lý cập nhật kiểm tra các bản cập nhật cứ sau 2 tuần vì chúng không phải lúc nào cũng đến quá nhiều và để tiết kiệm băng thông của các máy chủ Ubuntu.

Tôi cũng cần cài đặt nó để người dùng không cần nhấp để cài đặt các bản cập nhật vì nó mệt mỏi mỗi khi tôi giúp một người bạn thiết lập máy tính.

Câu trả lời:


10

Đầu tiên, kích hoạt cập nhật tự động như thế này:

sudo apt-get install unattended-upgrades

Sau đó, bạn cần chỉnh sửa cấu hình của nó, gõ

sudo nano /etc/apt/apt.conf.d/50unattended-upgrades

(thay thế nanobằng trình soạn thảo văn bản ưa thích của bạn nếu bạn muốn)

Các tập tin trông như thế này:

Unattended-Upgrade::Allowed-Origins {
        "Ubuntu maverick-security";
//      "Ubuntu maverick-updates";
};

Điều //này có nghĩa là dòng này là một nhận xét và sẽ không được chương trình xem xét, loại bỏ các nét để bao gồm các bản cập nhật phát hành ổn định bên cạnh các bản sửa lỗi bảo mật. Ngoài ra, thay thế maverickbằng phiên bản Ubuntu bạn đang chạy.

Để đặt khoảng thời gian mà hệ thống kiểm tra các bản cập nhật, hãy chỉnh sửa /etc/apt/apt.conf.d/10periodictệp bằng trình chỉnh sửa văn bản:

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

Trong ví dụ này, hệ thống được cập nhật hai tuần một lần.

Để được giải thích chi tiết hơn, hãy xem Cập nhật tự động trong hướng dẫn máy chủ Ubuntu.


Lưu ý rằng câu trả lời của papukaija đang nói về khoảng thời gian mà đoạn hội thoại Trình quản lý cập nhật bật lên trên màn hình của bạn, tôi đoán đó không phải là những gì bạn sẽ không, nhưng tôi không chắc. :)


Các hộp thoại không cần thiết để bật lên và nó không đi vào 1 dòng. Nếu tôi đặt trong Nguồn phần mềm 2 tuần để kiểm tra thì có thể hộp thoại cập nhật bật lên sớm hơn hay muộn hơn không? Điều cần thiết là với 1 dòng sẽ có thể thiết lập mà người dùng thậm chí sẽ không biết rằng anh ta đã cập nhật hệ thống 4 tuần một lần và anh ta không cần phải xem bất kỳ bản cập nhật nào yêu cầu và tự động cài đặt. Vì vậy, tôi không cần phải thiết lập thủ công bằng chuột trong các nguồn Phần mềm.
Kangarooo

Tôi không chắc là tôi hiểu bạn. Bạn có thể tắt thông báo cập nhật bằng cách đi tới Hệ thống → Tùy chọn → Ứng dụng khởi động và xóa dấu kiểm tại "Thông báo cập nhật". Đó có phải ý của bạn? Ngoài ra, tất nhiên bạn có thể đặt nó thành "30" thay vì "14" ngày (hoặc bất kỳ số tiền nào bạn muốn)
Stefano Palazzo

Và điều đó cũng có thể được thực hiện với một dòng? Nếu có, đó cũng là điều tốt để làm nếu không - đó không phải là điều chính tôi muốn. Điều chính là khắc phục việc đi đến cài đặt nguồn Phần mềm để thay đổi kiểm tra cập nhật và phải làm gì. Tôi muốn kiểm tra cứ sau 28 ngày và cài đặt các bản cập nhật mà không yêu cầu bất cứ điều gì trong thiết bị đầu cuối để nó nhanh hơn.
Kangarooo

Lệnh một dòng trong câu trả lời của tôi: apt-get update && apt-get Nâng cấp -y
luri

@luri đó không phải là câu hỏi này là gì
Stefano Palazzo

2

Nếu bạn có nghĩa là cập nhật mọi thứ "có thể cập nhật", tức là cập nhật TẤT CẢ các gói của bạn, tôi đoán bạn có thể cron (trong cron gốc) sau mỗi 28 ngày apt-get update && apt-get upgrade -yđược chạy.

Một số người gặp vấn đề với công việc crond vì PATHcài đặt hạn chế . Nếu bạn có bất kỳ vấn đề nào bạn có thể xác định PATHngay từ đầu của crontab -etệp (như được đề xuất trong CronHowto )

Ngoài ra, để kiểm tra xem mọi thứ có ổn không, tôi sẽ ghi lại kết quả, như thế này:

root@PORTATIL:/var/log$ crontab -l
* * */2 * * /usr/share/myupdate.sh > /var/log/myupdate.log

myupdate.sh có thể đơn giản như thế này:

#!/bin/bash
#Testing updates
echo "$(date) Crond myupdate sarting."
apt-get update -y
apt-get upgrade -y
echo "$(date)Crond myupdate finished."

Điều này không làm việc cho tôi. Khi tôi nhận được nhật ký cron của mình, tôi aptitude -y safe-upgradeđang phàn nàn về việc cần một tty kiểm soát, và sau đó là một loạt các lỗi đường dẫn. Có lẽ tôi nên đặt câu hỏi ..
djeikyb

Bạn đã đặt nó trong cron gốc?
luri

Vâng. Nó đã thất bại vì một số vấn đề về đường dẫn khác nhau, vì vậy tôi đã tạo một tập lệnh tại / root / bin, với #! / Bin / bash và đường dẫn đầy đủ đến apt-get. Nó hoạt động tốt hơn, nhưng nó vẫn không nâng cấp.
djeikyb

Đăng các lỗi trong nhật ký .... hoặc bất cứ điều gì không thành công
luri

Tôi đã thực hiện một câu hỏi riêng biệt: askubfox.com/q/23795/8515
djeikyb

1

Bạn có thể thay đổi khoảng thời gian giữa khi trình quản lý cập nhật được chạy bằng cách mở trình soạn thảo gconf (ví dụ: với Alt + F2 và nhập trình soạn thảo gconf). Sau đó xác định vị trí /apps/update-notifier.

Khoảng được xác định trong khóa trong regular_auto_launch_intervalđó giá trị là số ngày. Tôi nghĩ rằng phương pháp này không ảnh hưởng đến trình cập nhật tự động phi đồ họa (nâng cấp không giám sát).

Xin lưu ý rằng Ubuntu có thể không tự động cài đặt các bản cập nhật bảo mật do lỗi .


4
Đây là phiên bản dòng lệnh của câu trả lời này: gconftool -s /apps/update-notifier/regular_auto_launch_interval --type int 7(trong đó 7 là khoảng thời gian tính theo ngày)
Stefano Palazzo

Tôi mới kiểm tra nó đã được 7. Nhưng trong các nguồn Phần mềm đã đặt được 2 tuần. Có lẽ nó ở một nơi khác?
Kangarooo

0

Tôi đặt gconftool -s /apps/update-notifier/regular_auto_launch_interval --type int 1và mở cửa hàng ngày cho thấy tôi chưa cài đặt bản cập nhật. Nó có mở nếu không có bản cập nhật mới? Vì vậy, sau đó thực hiện cập nhật tự động cứ sau 4 tuần sẽ không làm cho nó bật lên? Vậy thì làm thế nào để thực hiện với CLI để tự động cài đặt bản cập nhật cứ sau 4 tuần kiểm tra? Đó là điều tôi muốn. Bằng cách không đi đến các nguồn Phần mềm và làm điều đó với chuột. Và làm như vậy nó có thể couse nó không thể được đặt hơn 2 tuần ở đó.

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.