apt-get 업그레이드 후 Debian dpkg가 손상됨

apt-get 업그레이드 후 Debian dpkg가 손상됨

나는 오랫동안 Debian Wheezy를 사용해 왔습니다. 오늘 하나 실행했는데 dpkg upgrade어쩐지 심각하게 문제가 발생했습니다. 업그레이드가 중단 apt-get되어 현재 실행되고 있지 않습니다 dpkg.

# dpkg
dpkg: error while loading shared libraries: libselinux.so.1: cannot open shared object file: No such file or directory

누락된 파일이 포함된 .deb 파일을 다운로드할 수 있지만 작업 도구 없이는 설치할 수 없습니다. 이 Catch-22에서 어떻게 빠져나올 수 있나요?

답변1

성능 향상을 위해서는 표준 디렉터리의 라이브러리 파일을 캐시에 등록해야 합니다. 업그레이드가 잘못된 시간에 중단되면 라이브러리 파일이 파일 시스템에 있지만 캐시에는 없을 수 있습니다. 달리기ldconfig캐시를 루트로 업데이트합니다.

동적 라이브러리 문제를 해결하는 데 도움이 되도록 정적으로 링크된 유틸리티 모음을 사용하는 것이 도움이 될 수 있습니다.busybox-static,허리띠,zsh-정적.

답변2

.deb다음 명령을 조합하여 파일 내용을 추출 할 수 있습니다 .artar

mkdir /tmp/selinux
cd /tmp/selinux
ar p /path/to/libselinux.deb data.tar.gz | tar xz

패키지의 콘텐츠는 현재 디렉터리에 루트가 있는 계층 구조에서 압축이 풀리며 필요한 파일을 적절한 위치로 이동할 수 있습니다. libselinux의 경우 이는 단지 그럴 수 있습니다 /lib/x86_64-linux-gnu/libselinux.so.1(디렉토리 이름은 아키텍처에 따라 다름).

이 기능을 다시 사용하고 나면 dpkg -i전체 패키지를 다시 설치해야 할 수도 있습니다.

관련 정보