우분투(Ubuntu) 리눅스에서 자잘하게 생기는 문제들 중 빈번하게 접하는 현상은 sudo apt upgrade 명령어로 패키지가 업그레이드되지 않는 것입니다.

 

"다음 패키지를 과거 버전으로 유지합니다"라는 메세지가 나오는 경우예요.
영문 리눅스를 쓴다면 The following packages have been kept back 이라고 보일 것입니다.

 

 

▲ "다음 패키지를 과거 버전으로 유지합니다." 문구보다는
X개 업그레이드 안 함. 이라는 문구가 사라지지 않는 것이 진짜 문제.

 

예전에 이 증상을 겪었을 때는 sudo apt dist-upgrade 라고 입력하여 의존성을 다시 잡아주면서 업그레이드하는 식으로 문제 해결하는 것을 [우분투 16.04] 정기 업데이트 방법(수동) 글에 정리했었는데요, 이번에는 sudo apt dist-upgrade 명령어로 해결되지 않아서 난감한 상황이었습니다.

 

구글에서 검색해 봤는데, 아래 글에서는 다른 방법 두가지 정도를 제안하더군요.

https://askubuntu.com/questions/601/the-following-packages-have-been-kept-back-why-and-how-do-i-solve-it

  1. Cautious solution 1 : sudo apt-get --with-new-pkgs upgrade
  2. Cautious solution 2 : sudo apt-get install 패키지명

sudo apt-get dist-upgrade 명령어는 의존성 문제를 일으킬 수 있는 공격적인 해결책(Aggressive solution)이라고 적혀 있었습니다. 이렇게 해결했던 과거가 부끄럽더군요.ㅠ

 

아무튼, 조심스런 해결책 2가 좋아 보여서 적용해 봤습니다.

 

▲ 저는 apt / apt-transport-https / apt-utils / libapt-pkg6.0 패키지들에 문제가 있어서, 한번에 설치되게끔 sudo apt-get install apt apt-transport-https apt-utils libapt-pkg6.0 이라고 명령어를 구성하여 입력했습니다.

 

▲ 처리가 끝나고 나서 sudo apt upgrade 라고 넣어 봤더니 "업그레이드 안 함"에 표시되던 숫자가 사라졌습니다. 문제 해결 성공했네요.

 

 

우분투 리눅스 관련 문제 해결할 때에는 영어로 검색하는 것이 자료가 많은데, 사용성은 한글 로케일이 좋고. 영어로 바꿔서 쓰자니 머리가 한템포 늦게 반응할 것 같고.

 

저는 한글 로케일(언어)로 우분투 리눅스를 사용하실 것을 권합니다.

그리고 오류 메세지를 만나면 1회성으로 영어로 출력되게끔 명령어를 다시 구성하여 입력하는 식으로 대응하면 구글 검색하기 수월할 것입니다.

 

※ 참고할만한 글

 - 우분투 리눅스, 터미널창 한글 출력을 영어로 바꾸는 방법 (1회성)

반응형