내 aws debian wheezy 서버에 연결되어 있지만 apt-get upgrade
실행 중에 SSH 파이프가 끊어집니다. 아무것도 사용하지 않아서 screen
세션을 복원할 수 있는 방법이 없는 것 같습니다.
새 SSH 세션에 다시 연결하고 실행하면 다음 을 ps aux | grep apt
볼 수 있습니다.apt
dpkg
아직도 달리고 있다
그들은 말 그대로 몇 시간 동안 달리고 있었습니다. 시스템 라이브러리/바이너리를 수정할 수 있으므로 이러한 프로세스를 종료하는 것이 안전하다고 상상할 수 없습니다. 하지만 어떻게 해야 합니까? 키보드 입력 등을 기다리고 있다면 어떻게 될까요? 처음에 업데이트를 설치하라는 요청을 받았을 때 이렇게 말 했는데 y
추가 사용자 입력이 필요한지 모르겠습니다. 그들이 하고 있는 일을 끝내기 위해 apt
몇 시간을 더 기다릴 계획입니다 . 하지만 아무 일도 일어나지 않으면 어떻게 해야 합니까?dpkg
답변1
세션을 다시 얻을 수 없습니다. 따라서 이 프로세스와 상호 작용하기 위해 아무것도 할 수 없습니다.
프로세스가 실행되고 있지 않은 것 같습니다. 내 생각엔 이게 apt-get
아마 됐을 것 같아좀비지금까지. 어쨌든 ps
또는 를 사용하여 프로세스를 확인할 수 있습니다 top
. 실행 중이면 손을 떼고 완료되었는지 모니터링하세요. 유휴 상태로 남아 있으면 죽이십시오.
그런 다음 간단히 실행할 수 있습니다apt-get upgrade
다시프로세스를 종료한 후 세션이 중단되었을 때 업그레이드 중이던 패키지를 완료하거나 수정하세요.
답변2
SIGINT
나는 그들에게 (키보드 인터럽트, 즉 Ctrl+C) 신호를 보내는 것이 트릭을 수행할 것이라고 생각합니다.
killall -SIGINT apt-get
또는
killall -2 apt-get
두 번 이상 시도해 볼 수도 있습니다.
답변3
답변4
이는 앞으로 더 나은 일을 하는 데 도움이 됩니다. "화면"을 사용하는 것입니다.
이 데비안 게시물은 제가 심각한 문제를 해결하는 데 도움이 되었습니다:
https://wiki.debian.org/Teams/Dpkg/FAQ
sudo fuser -vki -TERM /var/lib/dpkg/lock /var/lib/dpkg/lock-frontend
sudo dpkg --configure --pending