VIM 보안 패치를 위한 컴파일 설치

2019-06-12

Vim 을 주요 편집기로 사용하고 있는데 링크와 같이 보안 문제 이슈가 생겼다. 패치는 Vim 8.1.1365 이상 버전을 적용하면 해결된다고 한다. 기존에 vim 을 apt 로 설치하였는데 해당 버전은 8.0이었다. 기존 버전을 삭제하고 재설치한 기록을 남긴다.

Vim 8.0 삭제

  • apt를 이용하여 설치했으니, apt로 지운다.
sudo apt remove --purge vim -y
  • apt list --installed | grep vim 으로 또다른 vim 관련 패키지가 있나 찾아본다.
vim-common/bionic,bionic,now 2:8.0.1453-1ubuntu1 all [installed]
vim-tiny/bionic,now 2:8.0.1453-1ubuntu1 amd64 [installed]
  • 전부 다 지워준다.
sudo apt remove --purge vim-common vim-tiny -y

Vim 소스를 이용한 Compile

  • YouCompleteMe 패키지를 이용하기 위해 vim을 기본으로 cofigure 하지 않고 플래그를 좀 더 추가하였다.
  • 먼저, vim 소스 코드를 clone 받는다.
git clone https://github.com/vim/vim.git
  • Complie 에 필요한 패키지들을 먼저 설치해준다.
sudo apt install libncurses5-dev libgnome2-dev libgnomeui-dev \
libgtk2.0-dev libatk1.0-dev libbonoboui2-dev \
libcairo2-dev libx11-dev libxpm-dev libxt-dev python-dev \
python3-dev ruby-dev lua5.1 liblua5.1-dev libperl-dev git -y
  • clone 받은 vim 디렉토리로 들어가 아래 명령 실행한다.
./configure --with-features=huge \
            --enable-multibyte \
            --enable-rubyinterp=yes \
            --enable-python3interp=yes \
            --with-python3-config-dir=/usr/lib/python3/config \
            --enable-perlinterp=yes \
    	    --enable-luainterp=yes \
            --enable-gui=gtk2 \
            --enable-cscope
  • makesudo make install 실행한다.

확인

  • vim 커맨드를 실행해 새로운 버전을 확인한다. image