Snapper 설치.

우분투 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"; };

그냥 사용해도 별 문제는 없을 거 같다. (아무런 근거없는 그야말로 막연한 가정..)


최신판이 그리 좋더냐!

Author: 아무도안

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