서버 업그레이드 중 SSH 연결이 끊어짐-프로세스에 다시 연결하는 방법?


32

그래서 우분투 서버를 11.04에서 11.10으로 업그레이드했습니다.

백그라운드에서 잊어 버렸고 SSH 클라이언트가 시간 초과되고 연결이 끊어졌습니다 (Windows의 퍼티, 그림 참조). 터미널에서 마지막으로 오래된 설정을 유지하는 것에 대한 질문이었습니다.

서버에 다시 로그인하면 적성 파일이 다른 프로세스에 의해 잠겼으므로이 업그레이드 프로세스가 입력 대기 상태에 있다고 가정합니다.

이 프로세스와 상호 작용하고 업그레이드를 계속하려면 어떻게해야합니까? 가능하다면.

감사


답변:


36

프로세스는 실제로 루트 사용자로서 화면 또는 byobu 세션에서 실행됩니다. 포트 22 또는 페일 세이프 1022의 퍼티를 사용하여 서버에 다시 연결하십시오. sudo su 또는 su-를 루트 계정으로 바꾸고 byobu 또는 screen -r을 사용하여 화면을 다시 시작한 다음 왼쪽에서 다시 시작하십시오.

아, 그래 나는 어려운 길을 발견했다 ;-)


1
와 고마워! 나는 byobu에서 11.10에서 12.04로 릴리스 업그레이드를 실제로 실행하고 있었고 byobu가 업그레이드되었을 때 닫혔지만 루트 스크린 세션에 다시 연결하여 업그레이드 완료를 볼 수있었습니다! 나는 거의 강제로 업그레이드를 죽이려고했지만 운 좋게도이 답변을 제 시간에 읽었습니다.
Ibrahim

3
설치가 멈췄을 때 화면이 이미 연결되어 있다고 말했기 때문에 화면을 강제로 분리하면 다시 연결할 수 있습니다. 명령은 screen -D Information from kb.iu.edu/data/ahrm.html
David

1
사용 screen -r <id>도 작동하며 작동하려면 ID의 몇 문자 만 입력하면됩니다.
Daniel

1
screen설치되어 있지 않다고 말하면 작동하지 않습니다 .
starbeamrainbowlabs

1
최근 우분투 사용 sudo screen -D -rsudo su -(그렇지 않으면 루트).
bshea

34

당신은 할 수 없습니다. 수행하여 업그레이드 프로세스 찾기

lsof /var/lib/dpkg/lock

그것을 죽이고 중단 된 업그레이드를 수정하십시오.

dpkg --configure --pending

업그레이드를 다시 시작하십시오.


3
프로세스가 안전 do-release-upgrade합니까?
Stephen Melrose

1
@StephenMelrose 안전하지 않습니다. 그러나 합리적으로 안전하고 유일하게 남아있는 옵션입니다.
Teddy

2
퍼티 세션 시간 초과로 중단 된 apt-get 업그레이드 문제를 해결하는 방법에 대한 많은 답변 중 ... 성공적으로 테스트되었습니다. 감사합니다!
Kojo

and restart the upgrade내 경우에는 작동하지 않는 단계 (나는 동안 SSH 세션을 잃었다 do-release-upgrade-> 16.04 14.04). 릴리스 업그레이드를 완료하기 위해 마지막 단계로 수행 한 작업은 sudo apt autoremove다음 sudo shutdown -r now입니다.
Ruslan Stelmachenko

여기서 더 완전한 답변을 찾았습니다. 그 후에 업그레이드가 자동으로 계속되었습니다. askubuntu.com/questions/219545/…
lacostenycoder

4

cryopid ( 이 질문을 통해 발견 )는 현재 "프로세스 트리가 아닌 하나의 프로세스"가 문제가 아닌 한 도움 될 수 있습니다.

프로세스가 실수로 종료되어 자체적으로 정리할 기회를 얻지 못해 파일이 잠겨있을 수 있으므로 적성이 실제로 계속 실행되고 있는지 확인하십시오. 사용 lsof /var/lib/dpkg/lock확인 테디의 대답에 제안 -이 너무에 cryopid 시도하는 당신에게 PID를 말할 것이다.

앞으로는 가능한 한 화면을 통해 실행하는 것이 좋습니다. 나는 어디에서나 SSHing 할 때 가장 먼저 실행되는 문제 인 화면 습관 (또는 유용한 행동을 정의하는 화면 주위 래퍼 인 byobu)을 만들었 습니다. 문제가 있으면 다시 연결할 수 있습니다. 자동으로 시작하거나 다시 연결하도록 설정할 수 있지만 어디에서나 할 수는 없지만 온라인 으로 시도 하는 많은 예제가 있습니다 (예 : 예제 ).


1
덧붙여서, 나는 이것을 선점하고 byobu를 사용하여 ssh를 통해 릴리스 릴리스 업그레이드를 수행했지만 byobu가 업그레이드되면 세션이 종료되었습니다! 화면을 직접 사용하여 이것을 막을 수 있었는지 궁금합니다. 그러나이 질문에 대한 다른 대답은 내 상황에 답했습니다. 설치 프로그램이 똑똑하고 어쨌든 자체 화면 세션을 실행하는 것처럼 보입니다 : D
Ibrahim
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.