나는 apt-get install
그 processing triggers for python-support
단계 에서 절망적으로 엇갈린 것처럼 보인다 .
내 성향이다 kill
그것은하지만, 과거에 단순히 kill
-ing apt-get install
과정은 나에게 많은 슬픔을 발생했습니다. (IIRC 분류 잠금 파일 등이 남아 있습니다.)
이 프로세스를 중지하는 더 안전한 방법이 있습니까?
답변
죽이는 과정
일반적으로 프로세스 종료를 말하면 정규 종료 (SIGTERM)보다 프로세스를 종료하는 더 안전한 방법은 없습니다. 대화식 프로세스 인 경우 일반적으로 SIGINT 신호를 보내 (일반적으로 Ctrl+ 를 눌러 보내면) 더 안전하게 중지 할 수 있습니다 C. 이 신호는 그 자체가 프로세스에 의해 갇혀되고 있습니다 보통 정상적으로 중지 -이 들어요. ( 감사 Eliah )
DPKG 데이터베이스
패키지 관리와 관련하여 일종의 특별한 경우가 있습니다. APT 명령이 수 중에서 사용하는 DPKG 데이터베이스는 항상 작업이 완료되지 않았는지 여부를 감지 할 수 있습니다. 모든 패키지는 현재 상태 (예 : 압축 해제, 구성 등) 로 표시된 실제 상태를 갖 습니다. APT 프런트 엔드를 종료하면 데이터베이스가 손상되었지만 알려진 상태가됩니다. 잠금 파일은 모두 깨끗한 상태로 돌아온 후에 만 해제됩니다. 새로운 작업을 수행 할 수있을 때까지이 고정 파일을 가져와야합니다.
수정하는 방법은 프로세스를 시작하여 모든 패키지를 구성된 상태로 만드는 것입니다. 실제로 apt-get
작업을 중단 한 경우 나중에 다음을 사용하여 작업을 완료 할 수 있습니다.
sudo dpkg --configure -a
고장난 상태에서 모든 구성된 상태로 복구하는 방법을 알고 있으며, 그런 의미에서 중단 된 위치부터 계속됩니다. 잠금 파일은 완료 될 때까지 그대로 남아 있으며, 그 이유는 부정한 상태에서 DPKG 데이터베이스에 대한 새 조작을 방지하기위한 것입니다.
SIGKILL 소개 (9)
SIGKILL (10 진 표현 9)을 보내는 것은 매우 안전하지 않습니다. 이 신호는 프로세스에 의해 포착되지 않지만 프로세스의 선호 여부에 관계없이 운영 체제 (커널)에 의해 전체 프로세스가 정리됩니다. 파일 시스템의 파일 상태가 손상된 상태로 남아있을 수 있습니다. 더 이상 다른 우아한 신호를 듣지 않으면이 신호를 보내지 마십시오.
답변
apt-get에 오류가 발생하면 루트로 (즉, sudo
모든 명령 전에) 다음을 수행합니다.
-
apt-get이라는 프로세스를 종료하십시오.
killall -9 apt-get
-
dpkg를 재구성하십시오.
dpkg --configure -a
-
apt-get 업데이트 :
적절한 업데이트
-
잘못 설치된 패키지를 포함한 업데이트 패키지 :
적절한 업그레이드
이것은 어딘가에서 배웠지 만 불행히도 정확히 어디에 있는지 기억할 수 없습니다.
답변
sudo dpkg -r <package name>
제 경우에는 Ubuntu 12.04의 Java 8에 문제가 있었으므로 …
sudo dpkg -r oracle-java8-installer
답변
Linux 및 기타 Unix 유형 시스템은 명령 행에서 매우 강력하지만 프로세스가 시작되면 용서할 수 없습니다. 프로세스를 보내면 kill 신호가 확실히 실행중인 프로세스를 종료하지만 데이터베이스를 불안정한 상태로 두는 것을 명심하십시오. 마지막 레코드가 올바르게 닫히지 않아 데이터베이스를 복구해야 할 위험이 있습니다. apt뿐만 아니라 모든 응용 프로그램과 함께.
항상 정상적인 방식으로 응용 프로그램을 종료하고 응용 프로그램이 실행되는 프로세스 만 종료하십시오.
답변
여기에 내가 그것을 어떻게, Ctrl+ C하지만 긴 apt-get을이 상을 다운로드하거나 캐시를 업데이트 인만큼 안전 있음을 마음. 그 외에는 더 안전한 방법을 생각할 수 없습니다. 어떻게 든 제거하거나 다운 그레이드하여 변경 사항을 완료하고 실행 취소하십시오. 다운로드 한 파일은sudo apt-get autoclean