Panduan Lengkap Snapper di openSUSE Tumbleweed (Bagian 3)
7. Snapshot “Important”
Apa itu Snapshot Important?
Snapshot “important” adalah snapshot yang ditandai dengan metadata khusus important=yes. Snapshot ini mendapat prioritas khusus dalam sistem pembersihan otomatis Snapper.
Perbedaan Important vs Biasa
| Aspek | Snapshot Biasa | Snapshot Important |
|---|---|---|
| Prioritas Cleanup | Dihapus lebih dulu | Dipertahankan lebih lama |
| Limit Jumlah | NUMBER_LIMIT | NUMBER_LIMIT_IMPORTANT |
| Use Case | Update rutin, snapshot harian | Milestone sistem, kondisi stabil |
| Ditandai di list | important=no atau kosong | important=yes |
Kapan Menggunakan Important?
Gunakan important untuk:
- ✅ Setelah fresh install dan sistem sudah dikonfigurasi sempurna
- ✅ Sebelum upgrade besar (misal: upgrade kernel, DE, atau perubahan major)
- ✅ Sistem dalam kondisi sangat stabil setelah troubleshooting
- ✅ Sebelum eksperimen besar yang berisiko
- ✅ “Golden snapshot” yang ingin dipertahankan sebagai fallback
Jangan gunakan important untuk:
- ❌ Snapshot rutin/harian
- ❌ Update kecil yang tidak kritis
- ❌ Snapshot temporary untuk testing cepat
Cara Membuat Snapshot Important
Metode 1: Single Snapshot Important
sudo snapper create --description "Sistem stabil - Golden Image" --userdata "important=yes"
Metode 2: Pre-Post Important Pair
# Pre snapshot
sudo snapper create --type pre --print-number --description "Sebelum upgrade kernel 6.7" --userdata "important=yes"
# Output: 50
# Lakukan upgrade kernel...
sudo zypper dup
# Post snapshot
sudo snapper create --type post --pre-number 50 --description "Setelah upgrade kernel 6.7" --userdata "important=yes"
Metode 3: Mengubah Snapshot Existing Jadi Important
# Cek snapshot yang ada
sudo snapper list
# Ubah snapshot #42 menjadi important
sudo snapper modify --userdata "important=yes" 42
Melihat Snapshot Important
# List semua dengan detail userdata
sudo snapper list
# Filter hanya important (menggunakan grep)
sudo snapper list | grep "important=yes"
Output contoh:
# | Type | Pre # | Date | User | Cleanup | Description | Userdata
---+--------+-------+--------------------------+------+---------+--------------------------+-------------
42 | single | | Mon 16 Dec 2024 09:00:00 | root | number | Golden Image v1 | important=yes
50 | pre | | Mon 16 Dec 2024 14:30:00 | root | number | Sebelum upgrade kernel | important=yes
51 | post | 50 | Mon 16 Dec 2024 14:45:00 | root | number | Setelah upgrade kernel | important=yes
Mengatur Limit Important
# Cek setting saat ini
sudo snapper -c root get-config | grep LIMIT
# Ubah limit snapshot important (misal: simpan max 5 important)
sudo snapper -c root set-config "NUMBER_LIMIT_IMPORTANT=5"
# Ubah limit snapshot biasa (misal: max 10)
sudo snapper -c root set-config "NUMBER_LIMIT=10"
Rekomendasi setting:
NUMBER_LIMIT_IMPORTANT=5(untuk 5 milestone penting)NUMBER_LIMIT=10-15(untuk snapshot rutin)
Cleanup Behavior
Ketika snapper cleanup berjalan dan jumlah snapshot melebihi limit:
- Snapshot biasa (
important=no) dihapus terlebih dahulu - Snapshot important (
important=yes) dipertahankan hingga mencapaiNUMBER_LIMIT_IMPORTANT - Jika snapshot important juga melebihi limit, yang paling lama akan dihapus
Contoh skenario:
NUMBER_LIMIT=10
NUMBER_LIMIT_IMPORTANT=3
Total snapshot: 15 (5 important, 10 biasa)
Cleanup akan hapus:
1. Snapshot biasa yang paling lama (sampai total biasa = 7)
2. Jika masih kurang, baru hapus important yang paling lama
Best Practice Important Snapshots
Strategi “Golden Snapshots”
Buat beberapa level important:
# Level 1: Base system (Fresh install)
sudo snapper create --description "🥇 Golden-1: Fresh Install Configured" --userdata "important=yes"
# Level 2: After major milestone
sudo snapper create --description "🥈 Golden-2: All apps installed" --userdata "important=yes"
# Level 3: Stable production
sudo snapper create --description "🥉 Golden-3: Stable production system" --userdata "important=yes"
Gunakan Description yang Jelas
# ❌ Buruk
sudo snapper create --description "backup" --userdata "important=yes"
# ✅ Baik
sudo snapper create --description "Stabil - Pre KDE Plasma 6 upgrade - 16 Dec 2024" --userdata "important=yes"
Review dan Update Periodik
# Setiap bulan, review important snapshots
sudo snapper list | grep "important=yes"
# Hapus important yang sudah tidak relevan
sudo snapper delete 42
# Tandai snapshot baru sebagai important
sudo snapper modify --userdata "important=yes" 65
Dokumentasi Important Snapshots
Buat catatan manual di file (opsional):
# Buat file log
sudo nano /root/important-snapshots.txt
# Isi contoh:
# Snapshot #42: Golden Image - Fresh Tumbleweed install, semua konfigurasi dasar
# Snapshot #50-51: Pre/Post kernel 6.7 upgrade - Berjalan stabil
# Snapshot #65: Sebelum eksperimen dengan NVIDIA drivers
Mengubah Status Important
Mengubah dari Biasa ke Important
sudo snapper modify --userdata "important=yes" 42
Mengubah dari Important ke Biasa
sudo snapper modify --userdata "important=no" 42
atau hapus metadata important:
sudo snapper modify --userdata "" 42
Contoh Workflow Complete
Skenario: Upgrade Kernel Major
# 1. Cek kondisi sistem saat ini
sudo snapper list
# 2. Buat pre-snapshot important
sudo snapper create --type pre --print-number \
--description "Pre-Kernel 6.8 Upgrade - Sistem sangat stabil" \
--userdata "important=yes" \
--cleanup-algorithm "number"
# Output: 100
# 3. Lakukan upgrade
sudo zypper dup --allow-vendor-change
# 4. Buat post-snapshot important
sudo snapper create --type post --pre-number 100 \
--description "Post-Kernel 6.8 Upgrade" \
--userdata "important=yes" \
--cleanup-algorithm "number"
# 5. Test sistem selama beberapa hari
# (reboot, test hardware, test aplikasi)
# 6. Jika stabil, pertahankan. Jika tidak, rollback:
sudo snapper rollback 100
sudo reboot
8. Snapshot untuk Home Directory (Opsional)
Jika Anda ingin snapshot untuk /home:
Buat Konfigurasi Baru
sudo snapper -c home create-config /home
Verifikasi
sudo snapper list-configs
Buat Snapshot Home
sudo snapper -c home create --description "Backup home directory"
List Snapshot Home
sudo snapper -c home list
9. Troubleshooting
Disk Penuh karena Snapshot
Cek space usage:
df -h
sudo btrfs filesystem usage /
Hapus snapshot lama:
sudo snapper list
sudo snapper delete <range>
Force cleanup:
sudo snapper cleanup number
sudo snapper cleanup timeline
Rollback Tidak Berhasil
Cek status rollback:
sudo snapper list
sudo snapper status 0..1
Coba rollback manual dari Grub
Snapper Lambat
Disable inotify untuk snapshot: Edit /etc/snapper/configs/root:
sudo nano /etc/snapper/configs/root
Ubah:
SYNC_ACL="no"
10. Perintah Ringkas Reference
# List
sudo snapper list
sudo snapper list -t pre-post
# Create
sudo snapper create --description "desc"
sudo snapper create --type pre --print-number --description "desc"
sudo snapper create --type post --pre-number N --description "desc"
# Compare
sudo snapper status N..M
sudo snapper diff N..M /path/to/file
# Rollback
sudo snapper rollback N
sudo snapper undochange N..M /path/to/file
# Delete
sudo snapper delete N
sudo snapper delete N-M
# Config
sudo snapper list-configs
sudo snapper -c root get-config
sudo snapper -c root set-config "KEY=VALUE"
# Cleanup
sudo snapper cleanup number
sudo snapper cleanup timeline
Kesimpulan
Snapper adalah tool yang sangat powerful untuk melindungi sistem openSUSE Anda. Dengan memahami konsep snapshot dan cara penggunaannya, Anda bisa:
- ✅ Recovery cepat dari update yang bermasalah
- ✅ Eksperimen dengan sistem tanpa khawatir
- ✅ Tracking perubahan sistem dengan detail
- ✅ Rollback ke kondisi sistem sebelumnya dengan mudah
Ingat: Snapshot bukan backup! Snapshot tetap ada di disk yang sama. Untuk backup lengkap, gunakan solusi backup eksternal.



