Cập nhật tin nhắn có sẵn sau khi cài đặt cập nhật


23

Tôi vừa cập nhật HTPC của mình lên 13.04 (đang sử dụng do-release-upgrade) và khi đăng nhập tôi nhận được thông báo "bản phát hành mới có sẵn", trong khi đó tôi chưa nâng cấp và chạy phiên bản đó.

me@mybox: ~$ssh htpc
me@htpc's password: 
Welcome to Ubuntu 13.04 (GNU/Linux 3.8.0-19-generic i686)

 * Documentation:  https://help.ubuntu.com/

New release '13.04' available.
Run 'do-release-upgrade' to upgrade to it.

Vì vậy, tôi đang ở mức 13.04, nhưng tôi có thể nâng cấp lên 13.04. Nghe có vẻ giống như một kế hoạch. Hay không.

Tôi đã thực hiện một apt-get updateupgrade(không có gì mới) và khởi động lại máy. Tại sao tin nhắn này vẫn còn ở đây, và những gì cần sửa chữa để nó biến mất?

Để biết thêm thông tin có thể:

htpc:~$ uname -a
Linux HTPC 3.8.0-19-generic #29-Ubuntu SMP Wed Apr 17 18:19:42 UTC 2013 i686 athlon i686 GNU/Linux

Câu trả lời:


34

Có vẻ như thủ phạm là /etc/update-motd.d/91-release-upgrade

Cuộc gọi này /usr/lib/ubuntu-release-upgrader/release-upgrade-motd

Tập tin này kiểm tra tập tin /var/lib/ubuntu-release-upgrader/release-upgrade-available

Nếu điều đó tồn tại, nó đi trong motd. Nếu không, nó gọi /usr/lib/ubuntu-release-upgrader/check-new-release.

Lệnh cuối cùng đó cho kết quả đúng, nhưng tệp không bị xóa vì một số lý do. Tôi loại bỏ các tập tin và chạy lại các lệnh. Tin nhắn của ngày không được đưa trở lại.

Vì vậy, vấn đề cuối cùng là 'bộ nhớ cache' của 'cần cập nhật' không bị xóa.

Tôi đã xóa tập tin này và nó đã được sửa mà không phá vỡ bất cứ điều gì :)

sudo rm /var/lib/ubuntu-release-upgrader/release-upgrade-available

Đây là bản nâng cấp 12.10 -> 13.04. Trên hộp khác của tôi (12.04 LTS, có cùng một vấn đề) Tôi đã phải tìm ở một vị trí khác:

sudo rm /var/lib/update-notifier/release-upgrade-available

Đã sử dụng phương pháp này và nó đã làm việc. Không thể chấp nhận cho đến khi 2 ngày kết thúc :)
Nanne

Cảm ơn cho cuộc điều tra kỹ lưỡng này. Để làm rõ: làm sudo rm /var/lib/ubuntu-release-upgrader/release-upgrade-availabletheo sau bằng cách sudo /usr/lib/ubuntu-release-upgrader/release-upgrade-motdsửa thông điệp cũ.
natevw

2
Bạn không cần (hoặc thậm chí muốn) loại bỏ cái thứ hai đó! Đó là tập lệnh kiểm tra các bản nâng cấp mới có sẵn (nhưng chỉ khi nó chưa tìm thấy bản nâng cấp trước đó và đã lưu nó). Vì vậy, chỉ có một trong những /var/lib/nên được loại bỏ tôi nghĩ.
Nanne

Phải, xóa "cờ" phát hành-nâng cấp có sẵn và sau đó chạy lại tập lệnh phát hành-nâng cấp-motd.
natevw

1
Chỉ cần FYI, dường như có báo cáo lỗi cho nó - đây là một báo cáo . Có vẻ như có một bản sửa lỗi trong 13.10.
thegrinner

4

nếu bạn mở tệp /etc/update-motd.d/91-release-upgrade, bên trong bạn sẽ thấy cuộc gọi đó là bash /usr/lib/ubuntu-release-upgrader/release-upgrade-motd. Khi bạn mở tệp này bên trong, chúng tôi tìm thấy mã này:

stamp=/var/lib/ubuntu-release-upgrader/release-upgrade-available
if [ -s "$stamp" ]; then
        # Stamp exists and is populated, so display
        cat "$stamp"
        echo
elif [ -f "$stamp" ]; then
        # Stamp exists, but is empty, see if it's expired
        now=$(date +%s)
        lastrun=$(stat -c %Y "$stamp") 2>/dev/null || lastrun=0
        expiration=$(expr $lastrun + 86400)
        if [ $now -ge $expiration ]; then
                # But is older than 1 day old, so update in the background
                /usr/lib/ubuntu-release-upgrader/check-new-release -q > "$stamp$
        fi
else
        # No cache at all, so update in the background
        /usr/lib/ubuntu-release-upgrader/check-new-release -q > "$stamp" &
fi

biến tem là populade theo /var/lib/ubuntu-release-upgrader/release-upgrade-availabletệp nếu tồn tại hoặc nếu nó trống thì nó kiểm tra xem có tồn tại một bản phát hành mới không. trong /var/lib/ubuntu-release-upgrader/release-upgrade-availablenếu bạn mở bằng trình soạn thảo văn bản ( nano, vi...), bạn sẽ chỉ thấy thông báo rằng có một bản phát hành mới của Ubuntu, vì vậy nếu bạn bỏ trống hoặc xóa bạn buộc phải kiểm tra xem có bản phát hành mới không.

Tôi hy vọng tôi đã giải thích và xin lỗi về tiếng Anh xấu của tôi.


1

Hãy thử sudo apt-get dist-upgrade
bạn có thể có thông báo đó trong tệp này /etc/motd
Nếu bạn cập nhật, bạn có thể chạy sodo rm /etc/motd<- chỉnh sửa nếu bạn có văn bản chào mừng tùy chỉnh


Vâng, đó là trong motdthực tế (vì nó là motd), nhưng đó sẽ không phải là gian lận? hệ thống tin rằng nó có bản cập nhật vì một số lý do, tôi muốn tìm hiểu lý do
Nanne

nếu lệnh thứ 1 không tìm thấy các bản cập nhật ngay cả sau khi chạy sudo apt-get updatelsb_release -sccung cấp cho bạn raringbản cập nhật và thông báo không chính xác do đó nên bị xóa
GM-Script-Writer-62850

Tôi đồng ý. Tôi chỉ không đồng ý với phương pháp loại bỏ motd của bạn;)
Nanne

+1 để chỉ cho tôi đến motd, mặc dù không hoàn thành câu trả lời, bởi vì nó sẽ quay trở lại nếu tôi chỉ xóa nó.
Nanne

0

Tôi đã làm như sau:

  1. cd /var/lib/ubuntu-release-upgrader/
  2. mv release-upgrade-available release-upgrade-available.old
  3. cd /usr/lib/ubuntu-release-upgrader/
  4. ./check-new-release
  5. Đăng xuất / đăng nhập

MOTD đã trở lại bình thường.

Có lẽ giống như trên, nhưng tôi không thích xóa mọi thứ mà không biết đầy đủ hậu quả. Tôi sẽ để tập tin đó ở đó và đợi ngày 13.10 để nhắc nâng cấp vào tháng Mười. Khi tôi biết điều đó đang hoạt động, tôi sẽ xóa tệp .old (hoặc không, nó thực sự không gây hại gì).


tập tin là một lá cờ, không cần phải làm điều này cả.
Nanne

0

Hiện đã có bản sửa lỗi được phát hành, chỉ cần chạy sudo aptitude update && sudo aptitude full-upgradevà thông báo sẽ bị xóa.


Điều này không cập nhật toàn bộ hệ thống của bạn? Điều đó nghe có vẻ hơi ngớ ngẩn :) Dù sao, câu hỏi này là về việc phải làm gì nếu tin nhắn không biến mất. Thật tốt khi biết nó có thể sẽ không còn khó khăn nữa, nhưng điều này có thể tốt hơn khi bình luận?
Nanne
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.