Arch Linux'ta BTRFS ile nasıl manuel olarak snapshota geri dönerim?

Arch Linux’ta manuel olarak snapshota nasıl dönebileceğimizi öğrenmek istiyorum ve bunun için Arch Wiki’yi okudum fakat şurada sorun yaşıyorum:

Now mount @snapshots to /.snapshots. For example, for a file system located on /dev/sda1:

# mount -o subvol=@snapshots /dev/sda1 /.snapshots

/.snapshots diye bir klasörün olmadığını söylüyor

❯ sudo mount -o subvol=@snapshots /dev/sda2 /.snapshots 
[sudo] password for kamisaki: 
mount: /.snapshots: fsconfig system call failed: No such file or directory.
       dmesg(1) may have more information after failed mount system call.

fakat ls -ld /.snapshots sonucuna göre böyle bir klasör var: drwxr-x--- 1 root root 0 Kas 11 11:28 /.snapshots

Bir türlü yapamadım :confused: Ayrıca snapper’in oluşturduğu /.snapshots subvolume’unun silinmesi gerektiğini söylüyor fakat öyle olunca snapper’i neden kullanıyoruz ki? (kullanamıyoruz çünkü) Yardımcı olabilecek birisi var mı?

Not: snapper-rollback komutuyla rollback yapılabildiğini biliyorum fakat manuel olarak rollback yapmayı öğrenmek istiyorum. Özellikle de plymouth gibi toolları kurup denemek istediğim için bunu öğrenmem gerekli bence :smiley:

Edit: Arkadaşlar sorunu çözdüm. Öncelikle subvolume’ları listeleyelim:

❯ sudo btrfs su li -p /

ID 256 gen 115890 parent 5 top level 5 path @
ID 257 gen 115892 parent 5 top level 5 path @home
ID 258 gen 115841 parent 5 top level 5 path @cache
ID 259 gen 115892 parent 5 top level 5 path @log
ID 260 gen 115392 parent 5 top level 5 path @swap
ID 261 gen 25 parent 256 top level 256 path var/lib/portables
ID 262 gen 25 parent 256 top level 256 path var/lib/machines
ID 264 gen 115585 parent 257 top level 257 path @home/.snapshots
ID 2168 gen 112432 parent 264 top level 264 path @home/.snapshots/20/snapshot
ID 2218 gen 114892 parent 264 top level 264 path @home/.snapshots/62/snapshot
ID 2227 gen 115255 parent 264 top level 264 path @home/.snapshots/69/snapshot
ID 2243 gen 115559 parent 264 top level 264 path @home/.snapshots/76/snapshot
ID 2244 gen 115584 parent 264 top level 264 path @home/.snapshots/77/snapshot
ID 2245 gen 115585 parent 264 top level 264 path @home/.snapshots/78/snapshot
ID 2256 gen 115844 parent 256 top level 256 path .snapshots
ID 2257 gen 115831 parent 2256 top level 2256 path .snapshots/1/snapshot
ID 2258 gen 115840 parent 2256 top level 2256 path .snapshots/2/snapshot
ID 2259 gen 115842 parent 2256 top level 2256 path .snapshots/3/snapshot
ID 2260 gen 115876 parent 256 top level 256 path @snapshots

Burada @snapshots parent 256 yazıyor. Bu, @snapshots’un @ subvolume’una gömülü bir subvolume olduğu anlamına geliyor. Ben de / içine /btrfs adında klasör oluşturdum ve

UUID=b28d7ec9-2fb0-4e51-9e03-3d2057110b7c /btrfs      btrfs rw,noatime,compress-force=zstd:5,ssd,space_cache,subvolid=5 0 0

şeklinde mount ettim. Şimdi tekrar subvolume’lara göz atalım:

[root@itsfloss home]# btrfs su li -p /
ID 256 gen 115911 parent 5 top level 5 path @
ID 257 gen 115911 parent 5 top level 5 path @home
ID 258 gen 115841 parent 5 top level 5 path @cache
ID 259 gen 115911 parent 5 top level 5 path @log
ID 260 gen 115392 parent 5 top level 5 path @swap
ID 261 gen 25 parent 256 top level 256 path var/lib/portables
ID 262 gen 25 parent 256 top level 256 path var/lib/machines
ID 264 gen 115585 parent 257 top level 257 path @home/.snapshots
ID 2168 gen 112432 parent 264 top level 264 path @home/.snapshots/20/snapshot
ID 2218 gen 114892 parent 264 top level 264 path @home/.snapshots/62/snapshot
ID 2227 gen 115255 parent 264 top level 264 path @home/.snapshots/69/snapshot
ID 2243 gen 115559 parent 264 top level 264 path @home/.snapshots/76/snapshot
ID 2244 gen 115584 parent 264 top level 264 path @home/.snapshots/77/snapshot
ID 2245 gen 115585 parent 264 top level 264 path @home/.snapshots/78/snapshot
ID 2256 gen 115844 parent 256 top level 256 path .snapshots
ID 2257 gen 115831 parent 2256 top level 2256 path .snapshots/1/snapshot
ID 2258 gen 115840 parent 2256 top level 2256 path .snapshots/2/snapshot
ID 2259 gen 115842 parent 2256 top level 2256 path .snapshots/3/snapshot
ID 2260 gen 115876 parent 256 top level 256 path @snapshots
[root@itsfloss home]# btrfs su li -p /btrfs
ID 256 gen 115911 parent 5 top level 5 path @
ID 257 gen 115911 parent 5 top level 5 path @home
ID 258 gen 115841 parent 5 top level 5 path @cache
ID 259 gen 115911 parent 5 top level 5 path @log
ID 260 gen 115392 parent 5 top level 5 path @swap
ID 261 gen 25 parent 256 top level 256 path @/var/lib/portables
ID 262 gen 25 parent 256 top level 256 path @/var/lib/machines
ID 264 gen 115585 parent 257 top level 257 path @home/.snapshots
ID 2168 gen 112432 parent 264 top level 264 path @home/.snapshots/20/snapshot
ID 2218 gen 114892 parent 264 top level 264 path @home/.snapshots/62/snapshot
ID 2227 gen 115255 parent 264 top level 264 path @home/.snapshots/69/snapshot
ID 2243 gen 115559 parent 264 top level 264 path @home/.snapshots/76/snapshot
ID 2244 gen 115584 parent 264 top level 264 path @home/.snapshots/77/snapshot
ID 2245 gen 115585 parent 264 top level 264 path @home/.snapshots/78/snapshot
ID 2256 gen 115844 parent 256 top level 256 path @/.snapshots
ID 2257 gen 115831 parent 2256 top level 2256 path @/.snapshots/1/snapshot
ID 2258 gen 115840 parent 2256 top level 2256 path @/.snapshots/2/snapshot
ID 2259 gen 115842 parent 2256 top level 2256 path @/.snapshots/3/snapshot
ID 2260 gen 115876 parent 256 top level 256 path @/@snapshots

ve şimdi, @snapshots’un asıl yolunun @/@snapshots olduğunu görüyorsunuz. Yani şu komut ile mount edeceksiniz:

mount -o subvol=@/@snapshots  /dev/sda2  /.snapshots

Bu arada merak edenler için çözümü buradan buldum: Cannot mount /.snapshots to @snapshots - #5 by Hagen - Software & Applications - Manjaro Linux Forum

Son düzenleyen: @linuxmint 2024-11-11T08:49:50Z