글 작성자: nouu

https://svrforum.com/svr/43553

 

서버포럼 - 리눅스 패키지설치시 E: Unable to correct problems, you have held broken packages. 에러 해결방법

안녕하세요. 달소입니다. 오늘은 ubuntu에서 패키지 설치시 나오는 E: Unable to correct problems, you have held broken packages. 가 나왔을때 해결하는 방법입니다. 해당 에러는 패키지 리스트가 꼬여서 발생하

svrforum.com

 

http://programmingskills.net/archives/315

 

SSH(Secure SHell) 설치와 사용법(Ubuntu) – SW Level Up

Telnet은 서버와 클라이언트 사이에 오가는 데이터를 암호화하지 않는다는 심각한 보안 결함이 있습니다. 그래서 실제 서비스를 하는 서버에 접속할 때는 SSH를 사용해야 합니다. 우분투 리눅스엔

programmingskills.net

 

Putty에 원격 접속을 위해 apt 패키지를 이용, 우분투 서버에 Open SSH Server 설치를 하는 과정 도중에 제목과 같은 오류가 떴다. 

 

E: Unable to correct problems, you have held broken packages.

 

 

 

여러 블로그와 IT 관련 커뮤니티 사이트를 돌아다녔으며 서버에 관련된 사항들을 주제로 글을 작성하는 '서버포럼' 이라는 커뮤니티를 통해 문제를 해결하려 시도했다. but... 트러블 슈팅 실패

 

cd /var/lib/apt/ 
mv lists lists.old
mkdir -p lists/partial #mkdir -p 옵션은 단일 디렉토리 뿐만 아니라 하위 디렉터리까지 구성할 때 사용
apt update

 

apt update를 사용하면 lists 디렉토리 내에 업데이트가 잘 되는 모습이다. 하지만 해당 오류는 계속 떴으며, 문제가 된 원인이 클라이언트 버전의 종속성 문제가 일어났다고 판단하였다.

 

 

아래의 askubuntu 사이트에서 나와 비슷한 오류가 일어난 글을 찾았으며, 결론적으로 해당 원인은...

 

openssh-client가 1:8.2p1-4 깔려야 종속성이 해결되어 openssh-server를 받을 수 있다. 하지만 현재 해당 서버의 openssh-client는 1:8.2pa1-4ubuntu0.2 이기 때문에 종속성 문제가 생긴 것이었다. (sudo vim /etc/apt/sources.list에 접근하여 apt repository 구성도 바꿔보고 별의 별 짓을 다 해봤지만 근본적인 이유는 방금 말한 것 처럼 종속성의 문제였네...)

 

 

https://askubuntu.com/questions/546983/ssh-installation-errors

 

SSH installation errors

Please let me know what to be done here. I am trying to install Hadoop in Ubuntu.The ssh connectivity is throwing error $ sudo apt-get install openssh-server Reading package lists... Done Building

askubuntu.com

 

sudo aptitude install openssh-client=1:8.2p1-4

 

또는... 

 

sudo apt purge openssh-client #apt purge 패키지명 패키지를 삭제하고 이에 대한 설정파일도 삭제

이후 

 

sudo apt -y install openssh-server
systemctl status ssh
netstat -anpt | grep LISTEN

 

 

apt를 이용하여 어떠한 프로그램을 다운로드 할 때 반드시 종속성(dependency)에 대해 주시해야된다. 또한 명령어에 대한 에러가 나왔을 때 어떠한 에러가 났고 이에 대해 구글링을 통해 원인을 파악하고 기술하는 것은 굉장히 중요하다는 것을 다시 한번 깨달았다.