Làm cách nào để nâng cấp tự động để hoạt động trên Ubuntu Server?


8

Tôi đã làm theo tài liệu để cho phép nâng cấp tự động trong các máy chủ Ubuntu, nhưng nó không thực sự cập nhật bất cứ điều gì cả.

/Etc/apt/apt.conf.d/50unattends-upgrades của tôi trông gần giống như mặc định.

// Automatically upgrade packages from these (origin, archive) pairs
Unattended-Upgrade::Allowed-Origins {
        "Ubuntu karmic-security";
        "Ubuntu karmic-updates";
};

// List of packages to not update
Unattended-Upgrade::Package-Blacklist {
//      "vim";
//      "libc6";
//      "libc6-dev";
//      "libc6-i686";
};

// Send email to this address for problems or packages upgrades
// If empty or unset then no email is sent, make sure that you
// have a working mail setup on your system. The package 'mailx'
// must be installed or anything that provides /usr/bin/mail.
Unattended-Upgrade::Mail "pupeno@example.com";


// Automatically reboot *WITHOUT CONFIRMATION* if a 
// the file /var/run/reboot-required is found after the upgrade 
//Unattended-Upgrade::Automatic-Reboot "false";

Thư mục / var / log / unattends-nâng cấp / trống. Chạy /etc/init.d/unattends-upgrades bắt đầu không hay lắm:

root@mozart:~# /etc/init.d/unattended-upgrades start
Checking for running unattended-upgrades: root@mozart:~#

Một cái gì đó dường như bị phá vỡ, nhưng tôi không chắc tại sao.

Tôi có các cập nhật đang chờ xử lý và chúng không được áp dụng:

root@mozart:~# aptitude safe-upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Reading extended state information      
Initializing package states... Done
The following packages will be upgraded:
  linux-libc-dev 
1 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0B/743kB of archives. After unpacking 4096B will be used.
Do you want to continue? [Y/n/?]

Trong tất cả các máy chủ tôi có, các nâng cấp không giám sát dường như đã bị vô hiệu hóa:

root@mozart:~# apt-config shell UnattendedUpgradeInterval APT::Periodic::Unattended-Upgrade
root@mozart:~#

Bất cứ ý tưởng tôi đang thiếu gì?


libc là một gói chính. Tôi sẽ không để bất kỳ máy chủ nào tự cập nhật nó!
Antoine Benkemoun

Antoine, tôi không có vấn đề gì với nó; Bên cạnh đó, libc-dev là gói devel, có thể là một loạt .h và những thứ tương tự. Và đây chỉ là những gì đang chờ xử lý, bây giờ những gì sẽ chờ xử lý sau này, vì vậy thảo luận về gói cụ thể này không làm tăng thêm vấn đề.
Pupeno

Câu trả lời:


4

Bạn đã kiểm tra /etc/apt/apt.conf.d/10 periodic chưa?

nó nên có dòng cuối cùng

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

5
Các cài đặt này không tồn tại trong 10 kỳ nhưng được phân phối trên 10 chu kỳ, 20auto-nâng cấp và 50unattends-nâng cấp. Nếu bạn đặt chúng ở sai vị trí, bản nâng cấp APT trong tương lai có thể ghi đè lên chúng. 20auto-nâng cấp là nơi để đặt APT :: periodic :: Unattends-Nâng cấp "1"; và 50unattends - nâng cấp để điều chỉnh hành vi, như được mô tả trong Hướng dẫn máy chủ Ubuntu.
daff

Bạn có thể đặt thông tin chi tiết ở đây hoặc liên kết (s)? Tôi không thể tìm thấy họ.
Tanarri


Hướng dẫn máy chủ Ubuntu 10.04 (chính thức) dường như đã lỗi thời. Tham khảo câu trả lời của tôi để biết thêm.
Hendy I Girls

2
URL mới nhất cho các tài liệu là: help.ubfox.com/lts/serverguide/automatic-updates.html và nó nói rằng cả bốn nên có trong 10 kỳ như Tanarri qrote. Trang để nâng cấp không cần giám sát, không mâu thuẫn này, mặc dù nó thêm một số hữu ích khác thông tin: help.ubuntu.com/community/AutomaticSecurityUpdates
SamGoody

8

Kiểm tra tài liệu thực tế cho phiên bản Ubuntu của bạn tại đây:

/usr/share/doc/unattended-upgrades/README.gz

Đối với Ubuntu 11.10, để kích hoạt nó, bạn làm:

sudo dpkg-reconfigure -plow unattended-upgrades

(đó là một hộp thoại tương tác) sẽ tạo ra /etc/apt/apt.conf.d/20auto-upgradesvới các nội dung sau:

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

Vì vậy, thực sự thông tin trong hướng dẫn máy chủ Ubuntu 10.04 đã lỗi thời.

Nếu bạn đang sử dụng Puppet như chúng tôi làm tại BippoSoluvas , bạn có thể sử dụng một cái gì đó như thế này để tự động hóa cấu hình nâng cấp không giám sát thích hợp :

# Unattended upgrades
package { unattended-upgrades: ensure => present }
file { '/etc/apt/apt.conf.d/50unattended-upgrades':
  content => template('bipposerver/50unattended-upgrades'),
  mode    => 0644,
  require => Package['unattended-upgrades'],
}
file { '/etc/apt/apt.conf.d/20auto-upgrades':
  source  => 'puppet:///bipposerver/20auto-upgrades',
  mode    => 0644,
  require => Package['unattended-upgrades'],
}
service { unattended-upgrades:
  enable    => true,
  subscribe => [ Package['unattended-upgrades'],
                 File['/etc/apt/apt.conf.d/50unattended-upgrades',
                      '/etc/apt/apt.conf.d/20auto-upgrades'] ],
}

Đảm bảo cung cấp các mẫu / tệp 50unattended-upgrades20auto-upgradeskhi bạn thấy phù hợp.

Tôi cũng đang cập nhật trang Ubuntu Wiki để phản ánh điều này.


1
+1 FWIW, hướng dẫn máy chủ 13.04 vẫn chưa lỗi thời.
deizel

6

Tôi không thấy có gì sai với bạn /etc/apt/apt.conf.d/50unattended-upgrades. Của tôi trông giống như của bạn nhưng tôi chỉ để các nâng cấp bảo mật được áp dụng tự động, không có gì khác. Tôi cũng có nó được thiết lập để gửi thư đơn giản đến "root" (Postfix xử lý phần còn lại).

Nhưng: tập lệnh init /etc/init.d/unattended-upgradeskhông phải để chạy các nâng cấp không giám sát. Nó chỉ kiểm tra xem quá trình nâng cấp không giám sát có đang chạy hay không và đợi cho đến khi thoát ra. Tôi thực sự không biết tại sao nó lại cần thiết hoặc tại sao nó làm những gì nó làm (nó thậm chí không có mặt trên các phiên bản Ubuntu trước đó) nhưng đó không phải là cách để nâng cấp không giám sát.

Thay vào đó, trên Ubuntu, một chương trình Python được gọi là unnattended-upgradeshoạt động. Hãy thử chạy bằng tay và xem những gì sẽ xảy ra. Đồng thời kiểm tra đầu ra của lệnh

apt-config shell UnattendedUpgradeInterval APT::Periodic::Unattended-Upgrade 

Nó sẽ nói UnattendedUpgradeInterval='1', chỉ ra rằng bạn đã cấu hình APT chính xác để cho phép nâng cấp không giám sát.

Ubuntu chạy /etc/cron.daily/apthàng ngày từ cron. Nếu bạn nhìn vào kịch bản đó, bạn sẽ thấy rằng nó thực hiện nhiều thứ liên quan đến APT, trong số đó có các nâng cấp không giám sát. Tôi đoán là bạn bằng cách nào đó đã vô hiệu hóa tập lệnh cron đó và vì vậy không có gì xảy ra không giám sát.

Đó là, ít nhiều, ra khỏi đỉnh đầu của tôi. Vui lòng gửi theo dõi nếu bạn đã thử ý tưởng của tôi mà không thành công.

HTH


2
Cảm ơn bạn đã trả lời daff. Tôi đã thêm đầu ra của "apt-config shell UnattendsUpgradInterval APT :: periodic :: Unattends-Nâng cấp" vào câu hỏi. Tất cả các máy chủ của tôi in không có gì cho nó.
Pupeno
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.