Mất kết nối SSH trong quá trình nâng cấp máy chủ - Làm cách nào để kết nối lại để xử lý?


32

Vì vậy, tôi đã thực hiện nâng cấp Ubuntu Server từ 11.04 đến 11.10.

Tôi đã quên nó ở chế độ nền và ứng dụng khách SSH của tôi đã hết thời gian và bị ngắt kết nối (putty trên Windows, xem hình). Điều cuối cùng trên thiết bị đầu cuối của tôi là một câu hỏi về việc giữ một cấu hình cũ, v.v.

Khi tôi đăng nhập lại vào máy chủ, các tệp aptitude đã bị khóa bởi một quy trình khác, vì vậy tôi cho rằng quá trình nâng cấp này nằm ở đó chờ đợi đầu vào của tôi.

Làm thế nào tôi có thể tương tác với quá trình này và tiếp tục nâng cấp? Nếu có thể.

Cảm ơn


Câu trả lời:


36

Quá trình thực sự chạy trong một màn hình hoặc phiên byobu với tư cách là người dùng root. kết nối lại với máy chủ bằng putty trên cổng 22 hoặc failafe 1022. sudo su - hoặc su - vào tài khoản root của bạn và tiếp tục màn hình với byobu hoặc màn hình -r và tiếp tục nơi bạn rời đi.

oh và vâng tôi đã tìm ra cách khó khăn ;-)


1
Ái chà, cảm ơn! Tôi thực sự đang chạy bản nâng cấp phát hành từ 11.10 đến 12.04 trong byobu và sau đó nó đóng khi byobu được nâng cấp nhưng tôi có thể kết nối lại với phiên màn hình gốc và xem kết thúc nâng cấp! Tôi gần như đã cố gắng để giết chết bản nâng cấp một cách mạnh mẽ nhưng may mắn là tôi đã đọc được phản hồi này kịp thời.
Ibrahim

3
Trong một cài đặt bị đình trệ, nó cho biết màn hình đã được gắn vào, vì vậy tôi buộc tách màn hình ra, tôi có thể gắn lại. Lệnh là màn hình -D Thông tin từ đây: kb.iu.edu/data/ahrm.html
David

1
Việc sử dụng screen -r <id>cũng hoạt động và bạn chỉ cần nhập một vài ký tự ID để nó hoạt động.
Daniel

1
Điều này không làm việc cho tôi, vì nó nói rằng screennó không được cài đặt.
starbeamrainbowlabs

1
Ubuntu mới hơn sử dụng sudo screen -D -rsau sudo su -(nếu không root).
bshea

34

Bạn không thể. Tìm quá trình nâng cấp bằng cách làm

lsof /var/lib/dpkg/lock

Giết nó, sửa bất kỳ nâng cấp bị gián đoạn với

dpkg --configure --pending

và khởi động lại nâng cấp.


3
Điều này có an toàn với quá trình là một do-release-upgrade?
Stephen Melrose

1
@StephenMelrose Nó không bao giờ an toàn. Nhưng nó là hợp lý an toàn, và lựa chọn duy nhất còn lại.
Teddy

2
câu trả lời tốt nhất giữa nhiều người về cách sửa lỗi nâng cấp apt-get bị hủy bỏ bởi thời gian chờ phiên putty ... đã thử nghiệm thành công, cảm ơn bạn!
Kojo

Các and restart the upgradebước không làm việc trong trường hợp của tôi (tôi đã mất ssh phiên trong do-release-upgrade14.04 -> 16,04). Những gì tôi làm thay vì như bước cuối cùng để hoàn tất việc nâng cấp phiên bản là sudo apt autoremoverồi sudo shutdown -r now.
Ruslan Stelmachenko

Tìm thấy một câu trả lời đầy đủ hơn ở đây mà tôi theo dõi nâng cấp tự động tiếp tục nơi nó rời đi. Askubfox.com/questions/219545/ hy
lacostenycoder

4

cryopid (được tìm thấy qua câu hỏi này ) có thể giúp ích trừ khi "một quy trình hiện tại, không phải là một cây quy trình" là một vấn đề trong trường hợp này.

Các tập tin có thể bị khóa vì quá trình này đã bị giết một cách kỳ lạ và không có cơ hội tự dọn dẹp, vì vậy hãy xác nhận rằng năng khiếu thực sự vẫn đang chạy. Sử dụng lsof /var/lib/dpkg/locknhư được đề xuất trong câu trả lời của Teddy để kiểm tra - điều này sẽ cho bạn biết pid để thử cryopid.

Trong tương lai tôi khuyên bạn nên thử chạy qua màn hình mọi lúc có thể. Tôi đã tạo thói quen cho màn hình (hoặc byobu, một trình bao bọc xung quanh màn hình xác định một số hành vi hữu ích) là điều đầu tiên tôi chạy khi SSH đến bất cứ nơi nào sau đó tôi có thể kết nối lại nếu có vấn đề. Bạn có thể thiết lập nó để bắt đầu hoặc gắn lại tự động, mặc dù tôi chưa bao giờ thực hiện điều đó ở bất cứ đâu - có một số ví dụ trực tuyến ( ví dụ như ví dụ này ) nếu bạn muốn thử điều đó.


1
Ngẫu nhiên, tôi đã ưu tiên điều này và thực hiện nâng cấp do phát hành trên ssh bằng cách sử dụng byobu, nhưng khi byobu được nâng cấp, nó đã giết chết phiên của tôi! Tôi tự hỏi nếu sử dụng màn hình trực tiếp sẽ ngăn chặn điều này. Nhưng câu trả lời khác cho câu hỏi này đã trả lời tình huống của tôi, có vẻ như trình cài đặt rất thông minh và dù sao cũng chạy phiên màn hình của riêng nó: D
Ibrahim
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.