손상된 패키지를 수리하는 방법은 무엇입니까?

손상된 패키지를 수리하는 방법은 무엇입니까?

우분투 14.04.2에 libssl-dev를 설치하려고 합니다.

$ make
fatal error: openssl/sha.h: No such file or directory
compilation terminated.

$ sudo apt-get install libssl-dev
The following packages have unmet dependencies:
 libssl-dev : Depends: zlib1g-dev but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

$ sudo apt-get install zlib1g-dev
The following packages have unmet dependencies:
 zlib1g-dev : Depends: zlib1g (= 1:1.2.3.4.dfsg-3ubuntu4) but 1:1.2.8.dfsg-1ubuntu1 is to be installed
E: Unable to correct problems, you have held broken packages.

보관된 패키지를 제거하고 올바른 패키지를 설치하려면 어떻게 해야 합니까?

답변1

먼저 다음을 입력해 보세요. sudo dpkg --configure -a

이는 손상된 종속성을 복구하는 데 큰 도움이 될 것입니다. 충분하지 않다면 다음을 시도해 보세요. sudo apt-get install -f

그런 다음 정리하고 업데이트하십시오. sudo apt-get clean && sudo apt-get update

그런 다음 업그레이드하세요. ( sudo apt-get upgrade 업그레이드하려면 "예"라고 말하세요)

특정 패키지가 "보류"되었다는 메시지를 받은 경우 수행해야 할 작업은 다음과 같습니다.

sudo apt-get dist-upgrade

이제 다음 두 명령을 실행하십시오.

sudo apt-get purge zlib1g-dev
sudo apt-get autoremove

그런 다음 다음을 입력하면 어떤 일이 발생하는지 확인하세요. sudo apt-get install libssl-dev

그래도 작동하지 않으면 다음을 시도해 보세요.

sudo aptitude install libssl-dev zliblg-dev=1:1.2.8.dfsg-1ubuntu1

그래도 작동하지 않으면 열어보세요.시냅틱 패키지 관리자(런처에 있어야 합니다. 찾을 수 없으면 터미널에 입력하세요 synaptic-pkexec.)

찾다 zlib1g-dev. zlib1g-dev 옆의 상자가 녹색이 아닌 경우 해당 상자를 클릭하고 설치 표시를 선택하십시오. 여러 버전이 표시되면 하나를 선택하세요 1:1.2.8.dfsg-1ubuntu1. 그런 다음 libssl-devlibssl-dev 옆의 상자가 녹색이 아닌 경우 해당 상자를 클릭하고 "Mark for Installation"을 선택하십시오.

그런 다음 적용을 선택합니다.

답변2

패키지와 관련된 모든 파일을 찾아서 지운 후 다시 설치해야 합니다.

sudo dpkg --list
sudo apt-get purge "file-name"

각 파일에 대해 두 번째 명령을 반복하고 다시 설치하십시오.

답변3

sudo aptitude install lib_name_depending

libcurl4-openssl-devUbuntu 14.04LTS에 설치 하려고 할 때 도움이 되었습니다.

여러 종속 라이브러리가 내 컴퓨터에 설치되지 않았으며 aptitude 도구를 사용하여 libcurl4-openssl-dev.

답변4

이 문제를 해결한 방법은 손상된 패키지에 위에 나열된 패키지가 있다는 메시지가 표시되었을 때였습니다. sudo apt-get install (패키지 이름)을 실행한 다음 sudo apt-get Upgrade를 실행했는데 작동했습니다!

관련 정보