SSH 연결이 끊긴 후 "apt-get upgrade"상태를 확인하는 방법은 무엇입니까?


16

일반적으로 ssh 연결을 통해 Ubuntu 설치를 업그레이드합니다. 때로는이 ssh 연결이 끊어 지거나 실수로 터미널 창을 닫을 수 있습니다.

ssh가 컴퓨터에 다시 로그인 한 후 업그레이드 상태를 확인할 수 있습니까?

답변:


33

다음 로그는 적절한 업그레이드와 관련이 있습니다.

/var/log/apt/history.log
/var/log/apt/term.log
/var/log/dpkg.log

명령이 dist-upgrade인 경우 추가 로그가 있습니다.

/var/log/dist-upgrade

참고로, 일반적으로 업그레이드를 다시 실행하는 것이 안전하며 연결이 끊어져 프로세스가 종료되었을 때 중단 된 부분에서 계속 진행됩니다. 하나...

GNU 스크린 프라이머 :

원격 서버에 ssh 's하고 포 그라운드에서 장기 실행 프로세스를 시작할 때 GNU Screen을 사용하는 것이 가장 좋습니다. Screen은 SSH 연결이 끊긴 경우에도 계속 실행되는 가상 터미널을 제공합니다.

설치 화면 :

sudo apt-get install screen

화면 실행 :

screen

화면을 실행하면 일반 터미널과 같은 명령 줄 프롬프트가 나타납니다. 그런 다음 내부 화면에서 업그레이드를 실행할 수 있습니다.

sudo apt-get upgrade

작동 방식을 이해하려면 Ctrl + a, d를 눌러 "분리"화면을 표시하십시오 . 화면이 아닌 터미널로 돌아갑니다. 당신은 실행중인 화면의 목록을 볼 수 있습니다

screen -list

하나의 화면 만 실행중인 경우 다음을 사용하여 다시 연결할 수 있습니다.

screen -raAd

(이는 다른 곳에 부착 된 경우 화면을 분리하고 현재 실행중인 터미널에 다시 연결합니다.)

일반적으로 추가 설정없이 화면 내에서 '정상적으로'스크롤 할 수 없습니다. 화면 내에서 스크롤하려면 Ctrl-Esc 를 눌러 커서 모드로 들어갑니다. 그런 다음 j 와 k 로 아래 위로 스크롤 할 수 있습니다 . 를 눌러 Esc 키를 다시 커서 모드를 종료합니다.

추가 화면 기능에 사용할 수있는 더 많은 리소스가 인터넷에 있습니다. 시스템 관리를위한 귀중한 표준 도구입니다.

또한보십시오:


2
+1 voor 실제로 질문에 대답하고 화면을 언급 :)
— Nanne

2
또한 screen -x-다른 사람을 분리하지 않고 실행중인 화면에 연결하여 화면 세션을 "멀티 플레이어"로 만듭니다.
— SF.

이것은 도움이되지만 답변 외에도 예방이 포함됩니다. 또한, 볼 수있는 올바른 로그가 인용되었지만 초보자는 tail -f명령 및 플래그 옵션에 익숙하지 않을 수 있습니다 .이를 통해 사용자는 "재전송시 로그인." 나는 오래되고 받아 들였지만 꼬리를이 명령 세트에 추가해야한다고 생각합니다.이 세부 정보가 부족하면 @TheAnonymousBear의 아래 답변이 더 직접적이고 중요하기 때문입니다. @doublerebel
— oemb1905

sudo dpkg --configure -a여전히 비용이 많이 들었을 때 종종 적절한 업그레이드를 계속합니다.
— danger89

10

doublerebel의 답변 외에도 오늘 대안이 나타났습니다.

SSH를 통해 업그레이드를 시작한 후 어제 밤에 잠자리에 들었습니다. 바보 같이 시작하는 걸 잊었 어screen 버렸고 밤새 SSH 세션을 잃었습니다.

나는 그것이 시작 retty되었다는 것을 알았을 때 연구를 시작하려고 root했습니다.screen세션 했습니다.

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

그래서 나는 나열했다 root 의 화면을와 연결된 :

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

그리고 밤! 나는 게임에 돌아왔다.


화면을 시작하는 것을 잊었다 고 생각했습니다. "화면에서 시작하는 것을 잊었을 때 화면이 어떻게 실행 되었습니까?"
— oemb1905

1
@ oemb1905 우분투가 당신을 위해 하나를 시작하기 때문에, 당신은 잊을 것이라는 가정하에 :)
— Huckle

흥미로운 점은 do-release-upgrade우분투 전용 명령입니까? 나는 항상 수동으로 실행하고 분리했다가 다시 돌아 오기 때문에 독점적으로 사용하는 데비안을 확인할 필요가 없었습니다. 물론 sudo apt dist-upgrade변경 후 사용 /etc/apt/sources.list합니다.
— oemb1905

예, 우분투 전용이므로 AskUbuntu의 밀렵 수정 프로그램이 시스템에서 발생할 것이라고 가정해서는 안되는 순수한 데비안 사람들이 있습니다. 이 주제의 원래 스레드 : serverfault.com/questions/387547/…
— oemb1905

화면이 설치 될 것임을 어떻게 알 수 있습니까?
— Nacht-복원 모니카

4

백그라운드 apt작업의 실시간 출력을 보려면 다음을 사용하십시오.

sudo tail -f /var/log/apt/term.log

이것은 정답입니다. 위의 답변은 유용한 로그의 위치를 ​​나타내며 예방으로 전환됩니다. 이 답변은 사용자가 볼 위치와 tail"재 로그인"이라고 표시된 후 확인 방법 ( )을 보여줍니다 .
— oemb1905

0

정확히 같은 문제가 발생하여 연결이 끊어졌고 dpkg 프로세스가 입력을 기다리고있었습니다.

아마도 다음에 시도해보십시오. sudo dpkg --configure -a


1
내가 이것을 시도 할 때, 내가 얻는 전부는"dpkg: error: dpkg frontend is locked by another process"
— CivMeierFan

고맙게도 입력 대기중인 메시지 대화 상자를 생성하는 하위 프로세스라는 것을 알기 위해 컨텍스트 grep을 수행 했으므로 전체 apt 업그레이드 프로세스를 종료하지 않고 해당 프로세스를 종료 할 수있었습니다.
— CivMeierFan

이 방법은 재 로그인시 dpkg 프로세스가 시스템에서 여전히 실행 중인지에 대한 조사를 무시합니다. 또한 dpkg /var/dpkg/lock가 여전히 실행 중이면 잠그기 때문에 최악의 경우 또는 최악의 경우 나쁜 습관이 될 수 있습니다 . 그리고 "업그레이드 상태를 확인하는 방법"에 대한 질문에 대답하지 않고 업그레이드가 중단 된 경우 (잠금이 활성화되지 않은 경우에만) 작동합니다. 나는이 방법을 누구에게도 추천하지 않을 것이다. 각각 oemb1905
— oemb1905
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.