우분투 18.04 에 제공되는 Snapper 는 0.5.4 인데, 최신판은 0.8.9 이다. 0.5.4 가 공개된 게 18년 1월 29일이었으니, 딱 2년이 지났다.
무슨 차이가 있는지는 잘 알 수 없지만, 아무튼 이렇게 개발이 활발하게 이뤄지고 있다면, 최신판을 설치하는게 좋지 않겠나.
Launchpad PPA 는 없는 듯 하지만, 다행히 OBS 에서 폭넓게 각종 배포판을 지원하고 있다. 언젠가 OBS 사용법도 알고 싶은데, 그 전에 OpenSuse 공부가 더 먼저겠지.
아무튼, OBS Snapper 다운로드 페이지로 가면 설치법을 알 수 있다.
거기에 자세히 써 있지만, 우분투 20.04 용만 옮겨본다. wget 은 살짝 옵션을 바꿔서 키파일을 내려받되, 저장하지 않게끔 바꿨다. (별 의미는 없다.)
설치
sudo sh -c "echo 'deb http://download.opensuse.org/repositories/filesystems:/snapper/xUbuntu_20.04/ /' > /etc/apt/sources.list.d/filesystems:snapper.list" # 이 방식 보다는.. wget -qO - https://download.opensuse.org/repositories/filesystems:snapper/xUbuntu_20.04/Release.key | sudo apt-key add - # 이게 낫다. wget -qO - https://download.opensuse.org/repositories/filesystems:snapper/xUbuntu_20.04/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/obs_snapper.gpg > /dev/null # 또는 이렇게. wget -qO - https://download.opensuse.org/repositories/filesystems:snapper/xUbuntu_20.04/Release.key | gpg --dearmor | sudo dd of=/etc/apt/trusted.gpg.d/obs_snapper.gpg sudo apt update sudo apt install snapper
** 위에서 gpg --dearmor
를 쓴 이유에 대해서는 다른 글에 자세한 설명이 나와있다.
간단히 설명하면, 이 방식을 쓰면 키가 /etc/apt/trusted.gpg.d 에 저장이 된다. apt-key 는 /etc/apt/trusted.gpg 파일에 직접 덧붙여 저장한다.
apt 연동 문제
OBS 에서 설치하면, apt 와 연동이 되지 않는다. 우분투 꾸러미로 설치하면, apt 를 실행할 때마다 자동으로 Snapper 가 실행되는데, OBS 꾸러미에는 그 내용은 빠져있다.
이 동작은 /etc/apt/apt.conf.d/80snapper 에 의해 이뤄지는데, 이 파일을 그냥 수동으로 생성하면 apt 시에 Snapper 가 가동된다.
아래 내용은 Ubuntu 20.04.1 에서 제공되는 Snapper 0.8.6 에 들어있는 80snapper 다. OBS snapper 를 사용하더라도 아래 파일을 넣어주면 된다.
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=770938 DPkg::Pre-Invoke { "if [ -e /etc/default/snapper ]; then . /etc/default/snapper; fi; if [ -x /usr/bin/snapper ] && [ ! x$DISABLE_APT_SNAPSHOT = 'xyes' ] && [ -e /etc/snapper/configs/root ]; then rm -f /var/tmp/snapper-apt || true ; snapper create -d apt -c number -t pre -p > /var/tmp/snapper-apt || true ; snapper cleanup number || true ; fi"; }; DPkg::Post-Invoke { "if [ -e /etc/default/snapper ]; then . /etc/default/snapper; fi; if [ -x /usr/bin/snapper ] && [ ! x$DISABLE_APT_SNAPSHOT = 'xyes' ] && [ -e /var/tmp/snapper-apt ]; then snapper create -d apt -c number -t post --pre-number=`cat /var/tmp/snapper-apt` || true ; snapper cleanup number || true ; fi"; };
그냥 사용해도 별 문제는 없을 거 같다. (아무런 근거없는 그야말로 막연한 가정..)
최신판이 그리 좋더냐!