일부 패키지를 설치하고 있는데 패키지를 설치하는 동안 시스템이 중단되고 패키지가 설치되지 않았습니다. 그런데 해당 패키지가 설치된 패키지 목록에 추가되었습니다. 그래서 시스템을 다시 시작하고 다음을 시도합니다.
패키지를 제거하려고 하면 구성 파일을 찾을 수 없기 때문에 작동하지 않습니다.
패키지를 설치하려고 하면 패키지가 이미 설치되어 있으므로 설치되지 않는다는 메시지가 나타납니다.
업데이트하려고 하면 패키지를 제거하려고 시도하고 위의 오류가 발생합니다.
그래서 제 질문은 설치된 패키지 목록에서 패키지를 수동으로 제거할 수 있는 방법이 있는지, 아니면 이 문제를 해결할 수 있는 다른 방법이 있는지 묻는 것입니다.
내가 실행할 때 :sudo apt-get upgrade
오류는 다음과 같습니다:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages will be REMOVED:
libglade2.0-cil libglib2.0-cil libgtk2.0-cil
0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded.
18 not fully installed or removed.
After this operation, 2,819 kB disk space will be freed.
Do you want to continue? [Y/n] Y
(Reading database ... 119043 files and directories currently installed.)
Removing libglade2.0-cil (2.12.26-0xamarin1) ...
E: File does not exist: /usr/share/cli-common/packages.d/policy.2.8.glade-sharp.installcligac
dpkg: error processing package libglade2.0-cil (--remove):
subprocess installed post-removal script returned error exit status 1
Removing libgtk2.0-cil (2.12.26-0xamarin1) ...
E: File does not exist: /usr/share/cli-common/packages.d/policy.2.6.gtk-dotnet.installcligac
dpkg: error processing package libgtk2.0-cil (--remove):
subprocess installed post-removal script returned error exit status 1
Removing libglib2.0-cil (2.12.26-0xamarin1) ...
E: File does not exist: /usr/share/cli-common/packages.d/policy.2.6.glib-sharp.installcligac
dpkg: error processing package libglib2.0-cil (--remove):
subprocess installed post-removal script returned error exit status 1
Errors were encountered while processing:
libglade2.0-cil
libgtk2.0-cil
libglib2.0-cil
E: Sub-process /usr/bin/dpkg returned an error code (1)
답변1
시도해 볼 수 있는 몇 가지 접근 방식이 있습니다.
첫 번째는 /usr/share/cli-common/policy-remove
정책이 없어도 실패하지 않도록 수정하는 것입니다. rm -f
대신 실행되도록 마지막 줄을 편집합니다 rm
. 저것~해야 한다패키지가 올바르게 제거되도록 하십시오.
실패하고 모든 Mono 패키지를 제거하려고 하므로 실패한 postrm
스크립트를 제거해도 안전할 것입니다.
sudo rm /var/lib/dpkg/info/lib{glade,glib,gtk}2.0-cil.postrm
스크립트가 수행하는 유일한 작업 postrm
은 정책을 등록 취소하는 것인데, 어쨌든 모든 것을 제거하므로 신경 쓰지 않아도 됩니다.
이 문제로 고통받은 사람은 당신뿐만이 아닙니다. 이 문제는 2012년에 다음과 같이 보고되었습니다.데비안 버그 692962.