강제 dpkg 수정

강제 dpkg 수정

/usr/lib나는 Debian 디렉토리에서 두 개의 폴더를 삭제 하는 끔찍한 실수를 저질렀습니다 . 삭제 python2.7/하고pkgconfig/

성공하지 못한 채 해결하려고 시도한 사항:

  • sudo dpkg -i python2* ->"플랫폼 독립적 라이브러리를 찾을 수 없습니다"-->"해당 파일 /usr/lib/pyton2.7/py_compile.py가 없습니다."

  • --> (파이썬, 향후 재설치용)을 통해 제거해도 sudo dpkg -i python2.7-minimal제거할 수 없습니다.python2.7-minimal은 python2.7-minimal (>=....deb)에 의존하고 python2.7은 python2.7-minimal (>=..._rc2.deb)에 의존합니다.

따라서 명시된 대로 dpkg에 의해 "구성"되지 않는 한 이러한 패키지를 다시 설치하거나 복구할 수는 없지만 apt-get install python, dpkg와 다른 버전에 의존하기 때문에 완전히 다시 설치하기 위해 제거할 수는 없습니다. 이 문제를 해결하는 방법을 모르겠습니다.

그러면 dpkg 또는 apt를 통해 모든 종속성이 포함된 패키지를 완전히 제거하여 위에서 설명한 상황을 어떻게 해결할 수 있습니까?

답변1

apt지루 하다면 dpkg로컬에 캐시된 패키지의 전체 경로를 사용하여 수동으로 올바른 콘텐츠를 설정할 수도 있습니다. 그게 다야 :

  1. cdapt패키지가 저장된 위치, 즉/var/cache/apt/archives/
  2. dpkg그 다음에(필요에 따라) 설치, 제거, 지우기 등을 수행한 다음파일 이름현재 디렉터리에 있는 패키지의 이름입니다. 따라서 여러 버전 중 하나를 설치하십시오.'푸바'최근에 설치된 버전에서 dpkg -i foobar<TAB>"" 키를 입력하면 bash나머지 부분이 자동으로 완료되거나 사용 가능한 버전이 표시됩니다.
  3. dpkg필요한 경우'피츠반', (또는 제거해야합니다'피츠반'), 2단계를 수행합니다.'피츠반'. 그런 다음 2단계를 시도해 보세요.'푸바'다시.
  4. 시스템이 원하는 상태가 될 때까지 #2와 #3을 반복합니다.

이는 필요한 패키지 아카이브가 여전히 로컬에 캐시되어 있다고 가정합니다. 때로는 온라인에서 패키지를 찾아야 하는 경우도 있습니다. 이 경우 필요한 패키지의 버전번호가 다를 수 있습니다.불확실한- 이 경우 /var/log/dpkg.log답변이 있습니다. grep또는 sed패키지 이름으로 dpkg지금까지 사용된 버전이 표시됩니다.

관련 정보