꽃삽질 : apt 로 특정판 설치, 그리고 버전 충돌 해결..?

아.. 결국 우분투 꾸러미 관리자(Packager) 들이 싼 똥(?)을 나혼자 열심히 치운 격이 됐으려나.
간단하게만 정리한다.

아래 상황은 armhf 기반, Armbian(Ubuntu focal based) 에서 발생했다.


먼저, apt 로 특정판(이전판)을 설치하려면 이런 식으로 한다.

sudo apt install inst vim=2:8.1.2269-1ubuntu5 vim-common=2:8.1.2269-1ubuntu5 vim-runtime=2:8.1.2269-1ubuntu5

판번호를 확인하려면 몇가지 방법이 있다.

$ apt list -a vim
Listing... Done
vim/focal-security,focal-updates 2:8.1.2269-1ubuntu5.7 armhf
vim/focal 2:8.1.2269-1ubuntu5 armhf

$ apt policy vim
vim:
  Installed: 2:8.1.2269-1ubuntu5
  Candidate: 2:8.1.2269-1ubuntu5.7
  Version table:
     2:8.1.2269-1ubuntu5.7 500
        500 http://ports.ubuntu.com focal-security/main armhf Packages
        500 http://ports.ubuntu.com focal-updates/main armhf Packages
 *** 2:8.1.2269-1ubuntu5 500
        500 http://ports.ubuntu.com focal/main armhf Packages
        100 /var/lib/dpkg/status

위에 내가 헛짓거리를 한 이유가 간단히 나와있는데.. 22.09.16 현재, ports.ubuntu.com 에는 vim 이 2:8.1.2269-1ubuntu5 과 2:8.1.2269-1ubuntu5.7 이 모두 올라있다. 번호는 같기 때문에, 기능 차이는 없다고 보여지고, 어떤 이유로든 꾸러미를 새로 만든게 아닐까하고 짐작을 해볼 수 있겠다.

다만, 어쨌든 판본이 올라갔기에 apt upgrade 시에 이 내용이 반영될 수 밖에 없는데.. 의존성에 문제가 생겼다며 이런 오류를 내뱉는다.

The following packages have unmet dependencies:
 vim : Depends: vim-common (= 2:8.1.2269-1ubuntu5.7) but 2:8.1.2269-1ubuntu5.8 is to be installed
       Depends: vim-runtime (= 2:8.1.2269-1ubuntu5.7) but 2:8.1.2269-1ubuntu5.8 is to be installed
E: Unable to correct problems, you have held broken packages.

즉, vim 은 5.7 에 머물고 있는데, 의존성에 걸려있는 다른 것들은 5.8 이라 판올림(또는 단독 설치)시에 문제가 발생해버린다.

아무튼.. 이 때문에 또 아까운 시간을 죽이고야 말았으니!
vim 을 삭제하고 다시 설치하려했더니, 역시나 같은 이유로 계속 냉소(冷笑)만 받아들일 수 밖에 없었다. 하여, Vim Daily PPA 로 최신판 VIM 을 써볼까 했더니, VIM 9 에선 deoplete이 안되고 ddc만 가능한데, 필수 프로그램인 deno 가 arm 계열을 지원하지 않아 불가능했다.

그리하여.. 그냥 그런거없이 순수하게 VIM 으로 회귀하고자 하다가 또 다시 꽃삽질 영역으로 회귀하고 말았다.


저 PPA 때문에 또 좀 헤맸었는데.. 이상하게 ppa-purge 가 먹질 않았다.

sudo ppa-purge ppa:jonathonf/vim-daily

이렇게 하면 알아서 다 잘 지워줘야 하건만, 뭔가 자꾸 오류를 냈다.
할 수 없이 수동으로 꾸러미를 지우고나서, PPA 도 삭제한 뒤, apt update 를 시행한 뒤, 구판을 설치하려 했더니, 자꾸 이런 오류가 나를 공격하더라..는 슬픈 얘기.

The following packages have unmet dependencies:
 vim : Depends: vim-common (= 2:8.1.2269-1ubuntu5.7) but 2:9.0.0105+really.v9.0.0135-0york0~ubuntu20.04.1 is to be installed
       Depends: vim-runtime (= 2:8.1.2269-1ubuntu5.7) but 2:8.1.2269-1ubuntu5.8 is to be installed
E: Unable to correct problems, you have held broken packages.

아니, PPA 도 지우고, apt clean, autoclean 등등 할 수 있는 모든 방법을 다해서 깨끗한(?) 환경을 조성해줬건만, 도대체 저 찌꺼기는 어디에 남아있는거야..???

했더니..
사실 vim-common 최신판(v.9.0)이 안지워져있었다. 내가 지운 것들은 vim, vim-runtime 뿐!
다시 vim 관련된 꾸러미를 검색하고, 설치된 모든 것들을 지워주니 그제서야 v9.0 망령들이 사라져버렸다. 문제는 apt cache 에 있지 않았고, 버젓이 설치돼 있던 꾸러미에 있었다.

아아아아아!!!

아무튼, 당분간은 그냥 구판 vim 으로 만족해야겠다. 어차피 그리 많은 기능이 필요하지도 않으므로.

Author: 아무도안

안녕하세요. 글 남겨주셔서 고맙습니다.