Câu trả lời:
Các nhật ký sau có liên quan đến nâng cấp apt:
/var/log/apt/history.log
/var/log/apt/term.log
/var/log/dpkg.log
Nếu lệnh là dist-upgrade
, có các bản ghi bổ sung trong:
/var/log/dist-upgrade
FYI, thường an toàn khi chỉ chạy lại bản nâng cấp và apt sẽ tiếp tục ở nơi nó dừng lại khi quá trình bị chết do ngắt kết nối. Tuy nhiên...
Một Primer màn hình GNU:
Khi ssh'ing vào một máy chủ từ xa và bắt đầu một quá trình chạy dài ở nền trước, cách tốt nhất là sử dụng GNU Screen. Màn hình cung cấp một thiết bị đầu cuối ảo tiếp tục chạy ngay cả khi kết nối ssh của bạn bị mất.
Cài đặt màn hình:
sudo apt-get install screen
Chạy màn hình:
screen
Sau khi chạy màn hình, bạn sẽ nhận được một dấu nhắc dòng lệnh như với một thiết bị đầu cuối bình thường. Sau đó, bạn có thể chạy nâng cấp từ màn hình bên trong:
sudo apt-get upgrade
Để hiểu cách thức hoạt động của nó, hãy "tách" màn hình bằng cách nhấn Ctrl + a, d . Điều này sẽ đưa bạn trở lại thiết bị đầu cuối không có màn hình. Bạn có thể xem danh sách các màn hình đang chạy với
screen -list
Nếu bạn chỉ có một màn hình đang chạy, bạn có thể gắn lại nó với:
screen -raAd
(Màn hình này tách ra trong trường hợp nó được gắn ở nơi khác và gắn lại nó vào thiết bị đầu cuối mà bạn hiện đang chạy.)
Thông thường, bạn không thể cuộn 'bình thường' từ trong màn hình mà không cần thiết lập thêm. Để cuộn trong màn hình, nhấn Ctrl-Esc để vào chế độ con trỏ. Sau đó bạn có thể cuộn xuống và lên với j và k . Nhấn Esc lần nữa để thoát chế độ con trỏ.
Có rất nhiều tài nguyên trên mạng có sẵn cho các chức năng màn hình bổ sung. Nó là một công cụ tiêu chuẩn vô giá cho quản trị hệ thống.
Xem thêm:
screen -x
- gắn vào màn hình đang chạy mà không tách rời người khác, làm cho phiên màn hình trở thành "nhiều người chơi".
tail -f
tùy chọn lệnh và cờ, điều này sẽ cho phép người dùng quan sát tiến trình trong thời gian thực (hoặc thấy rằng nó bị lỗi) khi "tái đăng nhập." Tôi biết nó đã cũ và được chấp nhận, nhưng tôi nghĩ nên thêm đuôi vào tập lệnh này, vì thiếu chi tiết này, câu trả lời dưới đây của @TheAnonymousBear trực tiếp hơn và chính xác hơn. @doublerebel
Ngoài câu trả lời của doublerebel, tôi nhận thấy một sự thay thế ngày hôm nay.
Tôi đã đi ngủ đêm qua sau khi bắt đầu nâng cấp qua SSH. Tôi ngu ngốc quên khởi động nó screen
và mất phiên SSH của tôi qua đêm.
Tôi vừa mới bắt đầu nghiên cứu retty
thì tôi nhận thấy root
đã bắt đầu một screen
phiên.
me@GAMMA:~$ ps aux | grep -E 'release|upgrade|apt'
root 6208 0.0 0.0 29140 1628 ? Ss 01:57 0:05 SCREEN -e \0\0 -L -c screenrc -S ubuntu-release-upgrade-screen-window /tmp/ubuntu-release-upgrader-1h6_g4/raring --mode=server --frontend=DistUpgradeViewText
root 6209 0.2 5.6 287428 93144 pts/2 Ss+ 01:57 3:13 /usr/bin/python /tmp/ubuntu-release-upgrader-1h6_g4/raring --mode=server --frontend=DistUpgradeViewText
root 6239 0.0 0.0 50052 1184 ? Ss 01:58 0:00 /usr/sbin/sshd -o PidFile=/var/run/release-upgrader-sshd.pid -p 1022
root 7306 0.0 4.6 287432 77284 pts/2 S+ 02:43 0:08 /usr/bin/python /tmp/ubuntu-release-upgrader-1h6_g4/raring --mode=server --frontend=DistUpgradeViewText
me 26829 0.0 0.0 9440 956 pts/5 S+ 22:18 0:00 grep --color=auto -E release|upgrade|apt
Vì vậy, tôi đã liệt kê root
các màn hình và đính kèm với nó:
me@GAMMA:~$ sudo screen -list
There is a screen on:
6208.ubuntu-release-upgrade-screen-window (12/11/2013 01:57:58 AM) (Detached)
1 Socket in /var/run/screen/S-root.
me@GAMMA:~$ sudo screen -x -r
Và Bam! Tôi đã trở lại trong trò chơi.
do-release-upgrade
lệnh dành riêng cho Ubuntu không? Tôi chưa bao giờ có nhu cầu kiểm tra Debian, thứ mà tôi sử dụng riêng, bởi vì tôi luôn chạy nó bằng tay, tách ra và sau đó quay lại. Và, tất nhiên, chúng tôi sử dụng sudo apt dist-upgrade
sau khi thay đổi /etc/apt/sources.list
.
Để xem đầu ra thời gian thực từ apt
công việc nền , sử dụng:
sudo tail -f /var/log/apt/term.log
tail
) sau cái mà họ gọi là "đăng nhập lại".
Có chính xác cùng một vấn đề, mất kết nối của tôi và quá trình dpkg đang chờ đầu vào.
Có thể lần sau hãy thử: sudo dpkg --configure -a
"dpkg: error: dpkg frontend is locked by another process"
/var/dpkg/lock
nếu nó vẫn đang chạy. Và bất kể, nó không trả lời câu hỏi về cách "kiểm tra trạng thái nâng cấp" và thay vào đó, sẽ chỉ hoạt động nếu nâng cấp bị hỏng (và chỉ sau đó nếu khóa không hoạt động). Tôi sẽ không đề nghị phương pháp này cho bất cứ ai. Trân trọng, oemb1905