Ubuntu Server의 '출시 업그레이드'프로세스에 어떻게 다시 연결합니까?


79

우분투 서버 do-release-upgrade프로세스 중에 실수로 Ctrl + C를 눌렀습니다 . / etc /의 .conf 파일을 비교하기 위해 쉘로 떨어졌습니다. Ctrl-C를 눌렀을 때 업그레이드 프로세스에 다시 연결하려고했는지 묻지 만 실패했습니다.

그래서 종료했습니다. 이제 apt lock을 유지하는 매달린 dpkg 프로세스가 있습니다. 이것은 GUI 프론트 엔드가없는 가상화 된 서버입니다 ...

업그레이드 프로세스를 복구 할 수 있습니까, 아니면 dpkg 프로세스를 종료하고 다시 시작해야합니까?


2
screen-list에 여전히 업그레이드 프로세스가 나열됩니까? 그렇다면 screen -r이 다시 연결될 수 있습니다. 다시 연결하려고 할 때 정확한 오류는 무엇입니까?
arjarj

나중에 시도 screen -RD했지만 작동하지 않았습니다. 실행중인 화면 데몬이 없으므로 다시 연결할 것이 없습니다. 정확한 오류? 나는 저주 같은 앱의 하단에 'r'또는 'q'를 선택했다 (다시 연결하거나 종료). 그보다 더 도움이 될 수 없습니다. 나는 VirtualBox를 사용하고 있었고 tmux 또는 스크린 세션이 실행되지 않으면 스크롤 백이 없었으며 저주와 같은 인터페이스가 화면을 계속 지 웠습니다. 다시 연결이 작동하지 않아서 종료했습니다.
Alex Leach

1
나는 시도 않았 음을 추가해야합니다 screen -R -Dsudo는 사용자와 내 일반 사용자 모두로 ..
알렉스 리치


2
예! dpkg configure -a정답입니다. 그것은 나에게 일어 났고 정말 나쁜 것은 bind9가 올바르게 설정되지 않았다는 것입니다 (예 : Ctrl-C는 해당 프로세스를 중지해야하고 더 이상 시작할 수 없습니다!) 일단 bind9를 수정하면 apt-get update + upgrade + dist -업그레이드가 매력처럼 달렸고 그 후 재부팅했고 모두 작동했습니다.
Alexis Wilke

답변:


113

일반적으로 VPN을 통해 업그레이드를 릴리스하므로 몇 번 시도했습니다. openvpn 패키지를 업데이트 할 때마다 연결이 끊어 지므로 나중에 다시 연결합니다.

do-release-upgrade포트 1022에서 백업 SSH 세션과 백업 화면 세션을 시작합니다. 화면이 설치되어 있지 않으면 사용할 수 없습니다.

다음을 실행하여 스크린 세션을 얻을 수 있습니다.

sudo screen -list
There is a screen on:
    2953.ubuntu-release-upgrade-screen-window   (09/13/2012 04:48:02 AM)    (Detached)
1 Socket in /var/run/screen/S-root.

그런 다음 다시 연결하십시오.

sudo screen -d -r root/2953.ubuntu-release-upgrade-screen-window

이후에 이전에 나열된 화면 사용 root/

연결이 끊어진 곳으로 돌아와야합니다.


1
화면이 설치되어 있지 않습니다 ... 그리고 apt-get (파일 잠금)이있는 화면을 설치할 수 없습니다
inemanja

이것은 매우 도움이됩니다. 당신이 단지 짧은 언급을 추가 한 경우 더 좋은 해답이 될 수 do-release-upgrade실제로 자동으로 화면 세션을 (당신이 나를 업그레이드 프로세스를 통해 시작하는 데에 대한 언급을 찾기 위해 잠시 질문을 다시 읽어했다 시작 screen)
polynomial_donut을

1
이 질문은 너무 늙었 +1을 받고 계속 놀라 울뿐입니다
알렉스 R

@AlexR 그것은 여전히 ​​relevan이며 오늘 나를 구해 냈습니다! Stack * 사이트의 마법!
Luis Lobo Borobia

29

Quantal로 업그레이드하는 동안 동일한 문제가 발생했습니다. 불행히도 원래 포스터와 마찬가지로 ctrl + c로 인해 화면이 종료되었습니다.

dpkg를 종료하고 "--configure -a"로 다시 시작하면 문제가 해결되었습니다.

감사


감사합니다 감사합니다 이것은 나를 위해 일했습니다.
firebush

2

나는 CentOS / RHEL 사람에 더 가깝지만 내 경험상 프로세스를 죽이고 시작하는 것이 훨씬 좋습니다. 다운로드, 동기화 등은 이미 완료되었으므로 다시 실행할 필요가 없습니다. 그것이 대부분의 시간이 걸리기 때문에이 길로가는 길을 잃어서는 안됩니다.


그렇습니다, 내가 생각할 수있는 다른 것은 많지 않습니다. 아마도 reptyr을 사용하여 pty / tty에 다시 첨부 할 수 있었을 것입니다 (차이를 전혀 알지 못함). 처음부터 시작하는 것이 더 쉽습니다. 그리고 당신 말이 맞아요. 두 번째 라운드는 훨씬 빠릅니다!
Alex Leach
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.