Làm gián đoạn nâng cấp apt-get dist: điều gì có thể xảy ra?


10

Giả sử tôi ssh vào máy tính của tôi và chạy

sudo apt-get dist-upgrade

và, trong khi apt-get đang chạy và cài đặt các gói, một người khác đang ngồi ở thiết bị đầu cuối và đăng nhập vào gnome quyết định tắt máy tính thông qua GUI.

Điều tồi tệ nhất có thể xảy ra trong tình huống này là gì? Có cơ chế nào ngăn các gói bị bỏ lại trong trạng thái 'bẩn' không? Nếu không, làm thế nào để ngăn chặn điều đó?

Câu trả lời:


8

Trường hợp xấu nhất nó có thể phá vỡ hệ thống của bạn khiến nó không thể khởi động bình thường, nhưng bạn luôn có thể khởi động vào chế độ cứu hộ và khắc phục nó.

  1. Sử dụng chế độ cứu hộ bằng cách khởi động với CDROM cài đặt Ubuntu và nhập vào cứu hộ cứu hộ tại dấu nhắc khởi động

  2. Gắn kết tất cả các phân vùng của bạn và để thực hiện chroot tới / đích nơi phân vùng gốc được gắn kết.

  3. Sau khi hệ thống đã khởi động vào menu, hãy chọn mục có nội dung nhắc nhở Drop Drop vào root shell với kết nối mạng. Điều này cung cấp cho bạn khả năng cập nhật các gói phần mềm từ Internet.

  4. Khi lời nhắc xuất hiện, hãy bắt đầu bằng cách đảm bảo rằng tất cả các chương trình hiện được cài đặt được cấu hình:

    dpkg - cấu hình -a

Điều này có thể mất nhiều thời gian, tùy thuộc vào số lượng chương trình đã được cài đặt trước khi hệ thống dừng lại.

  1. Sau đó hãy tiếp tục và cập nhật danh sách các gói hiện tại:

cập nhật apt-get

  1. Sau đây, nâng cấp phần mềm trên hệ thống:

nâng cấp apt-get

Bước cuối cùng này, một lần nữa, có thể mất nhiều thời gian để hoàn thành. Bạn nên chú ý đến danh sách các gói được giữ lại (được liệt kê ở đầu đầu ra từ lệnh này); các gói này sẽ phải được yêu cầu cụ thể.

Thông thường, các gói được giữ lại vì chúng yêu cầu phần mềm mới hoặc các thay đổi mạnh mẽ khác: nhân Linux luôn bị giữ lại. Sử dụng một lệnh như thế này để cài đặt các gói này:

apt-get cài đặt một số gói một số gói khác

Bạn có thể phải lặp lại điều này nhiều lần cho đến khi tất cả các gói đã được cài đặt và không có gói nào được giữ lại.

Sau đó, bạn nên lặp lại cập nhật và nâng cấp để xác minh hoàn toàn rằng hệ thống đã được cập nhật như có thể:

cập nhật apt-get

nâng cấp apt-get

Các lệnh cuối cùng này sẽ thực thi nhanh chóng, vì mọi thứ có thể đã hoàn tất - tuy nhiên, không phải là không thể nâng cấp sẽ ảnh hưởng đến thứ gì đó yêu cầu nâng cấp khác. Không làm điều này có lẽ sẽ không thành vấn đề, nhưng tại sao không làm điều đó?

Sau khi hoàn tất, cần phải khởi động lại để đảm bảo rằng phần mềm cũ không còn được sử dụng nữa và tất cả những gì được sử dụng là phần mềm nâng cấp mới. Đừng chỉ tiếp tục khởi động: khởi động lại.

Một điều nữa có thể được thực hiện để dọn dẹp sau đó - có thể sau khi khởi động lại. Tại shell lệnh, nhập lệnh này để xóa phần mềm không cần thiết:

apt-get autoremove

Nguồn


Đây có thể là một câu hỏi hoàn toàn mới nhưng có cách nào dễ dàng để sửa nó không? Giống như một số lệnh khôi phục?
giZm0

1
Tôi đã cập nhật câu trả lời của mình để bao gồm điều đó
LnxSlck

2
Tôi sẽ đề nghị chạy apt-get dist-upgradeở khắp mọi nơi apt-get upgradeđược đề xuất ở trên. Cùng với đó, bạn không cần phải cài đặt thủ công các gói "giữ lại".
Mikko Rantalainen
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.