어제 우분투 15.10 이 나왔습니다. 나왔으니 업그레이드를 해야 겠죠. ^^;
그런데.....넷북에 업그레이드를 실행해 놓고 잠시뒤에 와보니 하드 용량 문제로 업그레이드를 못하겠다는 겁니다. 아무 생각없이 라이브씨디를 구동후 파티션을 조정해서 리눅스 파티션을 늘이는 작업중에 생각해 보니 용량이 부족할 이유가 없습니다. 리눅스에 10기가를 할당한데다가 루분투 배포판이라 용량을 많이 차지할 이유가 없었거든요.
라이브 씨디에서 확인해 보니 예전 배포판의 스냅샷 서브볼륨이 있더군요. 바로 이 스냅샷이 문제였습니다.
제 경우 btrfs 파일시스템을 사용하고 있었고, 한차례 배포판 업그레이드를 한적이 있습니다. 아무래도 배포판 업그레이드중 이전 버전의 스냅샷을 만들고 업그레이드가 된것 같습니다.
이 스냅샷은 일종의 백업기능입니다. 윈도우의 복원 기능과 비슷하다고 생각하시면 됩니다.
어쨌던 이 스냅샷을 지워 디스크용량을 확보해 보도록 하겠습니다.
우선 한가지 패키지를 설치해야 합니다.
apt-btrfs-snapshot 이라는 패키지 입니다. sudo apt-get install 명령이던 synaptic 이건 이용해서 설치합니다.
터미널에서
sudo apt-btrfs-snapshot list
해서 스냅샷이 뭐가 있는지 확인해 봅시다.
그런 다음 스냅샷 이름을 마우스로 긁어서 복사한 후에....(이름이 꽤 기니...복사해서...)
sudo apt-btrfs-snapshot delete 스냅샷이름
스냅샷이름을 붙여넣고 삭제하세요.
그러면 디스크 용량이 늘어나 있을 겁니다.
참고로 디스크 용량은 df -h 를 터미널에서 실행해보면 메가단위로 디스크 용량을 볼수 있습니다.
여기서 모든게 해결되었으면 좋았겠습니다만....안타깝게도 그렇지 못했습니다. 뭐. 저만 그런거라면 다행일지도 모르겠습니다만...
일단 15.10 으로 업그레이드를 끝내고 나서...아마도 다시 스냅샷이 생겼을 것 같아 확인해 보고 지우기로 했습니다.
lubuntu:~$ sudo apt-btrfs-snapshot list
Sorry, your system lacks support for the snapshot feature
에러가 납니다. 아니 이게 무슨......ㅡㅡ; 아까까지 잘 되던게 왜 안된단 말입니까? 그래서 다른 방법을 찾아 봤습니다. 좀 귀찮긴 합니다만....
우선 자신의 리눅스 파티션을 특정 디렉토리에 마운트 합니다. 적당한 디렉토리에 하면 되는데 저는 인터넷에서 본것처럼 /tmp/mnt 라는 디렉토리에 마운트 하기 위해 /tmp 디렉토리로 이동해서 mnt 디렉토리를 만들었습니다.
자신의 리눅스 설치 위치를 모르시는 분은....음....알아내시길 바랍니다. 그 이야기 까지 하자면 많이 길어지니.....
sudo mount /dev/sda2 /tmp/mnt
위가 제 리눅스 파티션을 마운트 하는 명령입니다. 저의 경우 sda1 은 윈도우, sda2 가 리눅스가 설치된 파티션 입니다.
별다른 메시지가 없이 마운트가 잘 되었으면 'cd /tmp/mnt' 명령으로 디렉토리로 이동합니다.
lubuntu:/tmp/mnt$ ls
@
@apt-snapshot-1-xxxxx
@apt-snapshot-2-xxxxx
@apt-snapshot-release-upgrade-wily-xxxxx
@home
ls 를 해보면 위와 같이 나옵니다. apt-snapshot- 으로 시작되는 파일들이 보이는데 이것이 지워야 되는 파일들입니다. 사실 파일이 아니라 서브볼륨입니다만....어쨌던......
위에서 보면....서브볼륨에서 xxxxx 로 표시된 부분은 서브볼륨이 생성된 날짜와 시간들인데...너무 길기도 하고 해서 xxxxx 로 대체 했습니다. 그 외에도 설명하기 위해 이름은 조금씩 변경했습니다.
이 상태에서 서브볼륨의 상태를 알아보기 위해 다음 명령을 입력합니다.
lubuntu:/tmp/mnt$ sudo btrfs subvolume list /
ID 257 gen 10424 top level 5 path @
ID 258 gen 10419 top level 5 path @home
ID 272 gen 2234 top level 257 path var/lib/machines
ID 274 gen 10311 top level 5 path @apt-snapshot-release-upgrade-wily-xxxxx
ID 275 gen 10312 top level 5 path @apt-snapshot-1-xxxxx
ID 276 gen 10314 top level 5 path @apt-snapshot-2-xxxxx
ID 277 gen 10314 top level 276 path @apt-snapshot-2-xxxxx/@
btrfs 명령으로 어떤 서브볼륨들이 있는지 확인합니다.
위 리스트중에 'apt-snapshot-' 으로 된거 외에 다른거 지우면....망합니다. 조심하세요.
lubuntu:/tmp/mnt$ sudo btrfs subvolume delete @apt-snapshot-release-upgrade-wily-xxxxx
Delete subvolume (no-commit): '/tmp/mnt/@apt-snapshot-release-upgrade-wily-xxxxx'
스냅샷 이름이 매우 기니까 직접입력하는건 사실 미련한 짓이고, 복사해서 붙여서 위에서 처럼 스냅샷을 지웁니다. 파일명으로 보아 이번에 업그레이드 하면서 만들어진 스냅샷인가 봅니다.
lubuntu:/tmp/mnt$ sudo btrfs subvolume delete @apt-snapshot-1-xxxxx
Delete subvolume (no-commit): '/tmp/mnt/@apt-snapshot-1-xxxxx'
다른 스냅샷들도 지웁시다. ssd가 60 기가라 용량이 많지 않습니다.
lubuntu:/tmp/mnt$ sudo btrfs subvolume delete @apt-snapshot-2-xxxxx
Delete subvolume (no-commit): '/tmp/mnt/@apt-snapshot-2-xxxxx'
ERROR: cannot delete '/tmp/mnt/@apt-snapshot-2-xxxxx' - Directory not empty
지우던 도중 에러가 났습니다. 디렉토리가 비어 있지 않다니 이게 뭔소리요???
lubuntu:/tmp/mnt$ sudo btrfs subvolume delete @apt-snapshot-2-xxxxx/@
Delete subvolume (no-commit): '/tmp/mnt/@apt-snapshot-2-xxxxx/@'
뭔 소린진 모르겠으나 분위기를 보아 이걸 먼저 지우라는 소리 같아서 먼저 지워보니 잘 지워집니다.
lubuntu:/tmp/mnt$ sudo btrfs subvolume delete @apt-snapshot-2-xxxxx
Delete subvolume (no-commit): '/tmp/mnt/@apt-snapshot-2-xxxxx'
그런 다음 재시도......성공입니다......!!! 잘 삭제 되었습니다.
마지막으로 마운트한 파티션을 언마운트시킵니다.
df -h 로 용량을 확인해 보세요....지운 스냅샷 용량만큼 하드디스크 용량이 늘어나있는것을 확인 하실 수 있습니다.
우분투 15.10 에서 apt-btrfs-snapshot 이 에러가 나는 건 제 컴의 문제인지, 아니면 15.10 의 버그인지는 잘 모르겠습니다.
제 검색능력의 문제인지 몰라도......생각보다 우리나라에선....btrfs 파일시스템에 대한 글이 많지 않은 것 같습니다. 아직 많이들 안쓰시는 걸까요? 그냥 제가 못찾은 걸까요?
루분투에서 15.10 을 업그레이드 하는데 뜬금없이 fcitx 입력기를 설치하더군요. ibus 에서 기본 입력기가 fcitx 로 바뀐것인지....일단 ibus 에서 글을 써보니......스페이스를 누르면 마지막 입력한 글자가 커서를 따라오는 버그가 있어서 글을 쓸 수가 없더군요. ('탕수육 먹자'...를 입력하면 '탕수 육먹자' 가 되는.....ㅡㅡ;) 일단 이 버그도 저만 발생하는 건지....잘 모르겠지만...어쨌던 fcitx 가 설치된 김에 바꿔보니 아무 문제없이 한글입력이 잘 되고 있습니다
그외에 루분투에만 있던 버그 하나가 고쳐진게 보이는 군요. 나중에 좀 더 써보고 간단히 적어볼까 싶습니다.