Dikembangkan oleh Canonical, perusahaan di belakang Ubuntu, dan awalnya dimaksudkan untuk digunakan pada Ubuntu, manajer paket Snappy adalah perangkat lunak sumber terbuka dan gratis yang digunakan untuk menginstal dan mengelola paket snap. Tujuan paket Snap, sama seperti flatpaks, adalah untuk mendistribusikan aplikasi kotak pasir dan mandiri (aplikasi dikemas bersama dengan dependensinya).
Manajer paket Snappy dan infrastrukturnya mendarat di distribusi selain Ubuntu. Dalam tutorial ini kita melihat cara menginstal dan menggunakannya di Fedora versi terbaru.
Dalam tutorial ini Anda akan mempelajari:
- Cara menginstal pengelola paket snap
- Cara mencari paket di snap store
- Cara menginstal dan memperbarui paket snap
- Cara membuat daftar paket snap yang diinstal
- Cara membuat dan mengelola snapshot paket
- Cara menghapus paket snap
Persyaratan dan konvensi perangkat lunak yang digunakan
Kategori | Persyaratan, Konvensi, atau Versi Perangkat Lunak yang Digunakan |
---|---|
Sistem | Distribusi-independen |
Perangkat Lunak | snapd |
Lainnya | Hak istimewa root untuk mengelola perangkat lunak |
Konvensi | # – mengharuskan perintah-linux yang diberikan untuk dieksekusi dengan hak akses root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo command$ – mengharuskan perintah-linux yang diberikan untuk dieksekusi sebagai pengguna biasa yang tidak memiliki hak istimewa |
Pemasangan
Untuk menggunakan manajer paket Snappy di Fedora, hal pertama yang perlu kita lakukan adalah menginstal paket yang berisi perangkat lunak tersebut. Beruntung bagi kami, ini adalah hal yang sangat mudah dilakukan, karena tersedia di repositori resmi Fedora. Kita dapat melakukan instalasi secara grafis atau dengan menggunakan dnf
manajer paket dari emulator terminal tercinta kami. Berikut adalah perintah yang ingin kita jalankan:
$ sudo dnf install snapd
snap-confine
dan snapd-selinux
paket diinstal sebagai dependensi snapd:yang pertama berisi perangkat lunak yang digunakan untuk menerapkan kurungan ke aplikasi snap, sedangkan yang kedua menyediakan kebijakan yang memungkinkan snapd berjalan dengan benar di bawah SELinux. Sebagai bagian dari instalasi, snapd.socket
diaktifkan dengan menggunakan systemd.
Mencari paket
Cara kita berinteraksi dengan paket snap adalah dengan menggunakan snap
aplikasi. Salah satu tindakan paling dasar yang perlu kita lakukan adalah menemukan apakah perangkat lunak tertentu tersedia di snap store. Untuk mencapai tindakan ini kita dapat menggunakan perintah snap "find" atau "search" (yang terakhir adalah alias untuk yang pertama). Misalkan kita ingin menginstal paket snap "gimp". Untuk melihat apakah aplikasi tersedia, kita dapat menjalankan:
$ snap find gimp
Seperti yang Anda lihat, perintah tidak memerlukan hak administratif. Ini mengembalikan output berikut:
Name Version Publisher Notes Summary gimp 2.10.28 snapcrafters - GNU Image Manipulation Program gutenprint-printer-app 1.0 openprinting✓ - Gutenprint Printer Application photogimp 2.10.20 pedro.ermarinho - Patch para o GIMP djpdf 0.1.6 unrud - Create small, searchable PDFs from scanned documents lazpaint 7.1.6 chronoscz - Image editor with raster and vector layers.
Informasi tentang paket yang tersedia yang sesuai dengan kriteria pencarian kami dikembalikan:
- Nama paket
- Versi paket snap
- Penerbit snap
- Catatan akhir tentang paket
- Deskripsi paket singkat
Menginstal paket snap
Untuk menginstal paket snap, yang harus kita lakukan adalah menggunakan perintah snap "install". Sebagai contoh, misalkan kita ingin memasang gimp
aplikasi yang kita cari di langkah sebelumnya. Berikut adalah perintah yang akan kita jalankan:
$ sudo snap install gimp
Secara default, jika tidak ditentukan sebaliknya, paket diinstal dari saluran "stabil". Setelah kita menjalankan perintah di atas, kita dapat melacak kemajuan instalasi dengan membaca keluaran terminal:
2022-03-29T14:25:15+02:00 INFO Waiting for automatic snapd restart... gimp 2.10.28 from Snapcrafters installed
Versi terbaru dari snap mendukung mode "pengurungan klasik". Saat paket snap diinstal dalam mode ini, sebenarnya paket tersebut tidak terbatas, sehingga dapat mengakses sumber daya pada sistem host. Jika kita ingin menginstal sebuah paket dalam mode ini, kita harus menjalankan perintah “install” dengan perintah --classic
pilihan.
File relatif terhadap paket snap dan dependensinya disebarkan pada sistem menggunakan SquashFS hanya-baca, dalam bentuk perangkat loop, yang dipasang di direktori yang sesuai di bawah /var/lib/snapd
. Kita dapat melihat ini dengan jelas dengan melihat output dari lsblk
perintah:
$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS loop0 7:0 0 43.6M 1 loop /var/lib/snapd/snap/snapd/15177 loop1 7:1 0 55.5M 1 loop /var/lib/snapd/snap/core18/2344 loop2 7:2 0 4K 1 loop /var/lib/snapd/snap/bare/5 loop3 7:3 0 65.2M 1 loop /var/lib/snapd/snap/gtk-common-themes/1519 loop4 7:4 0 164.8M 1 loop /var/lib/snapd/snap/gnome-3-28-1804/161 loop5 7:5 0 391.3M 1 loop /var/lib/snapd/snap/gimp/383
Perangkat blok loop ada untuk setiap paket snap yang diinstal. Dalam kasus snap "gimp", Jika kita memeriksa konten /var/lib/snapd/snap/gimp/383
mountpoint (383 adalah revisi dari paket snap – beberapa revisi dapat diinstal pada saat yang sama), kita dapat melihat keseluruhan pohon sistem file yang menampung file aplikasi:
$ ls /var/lib/snapd/snap/gimp/383 bin data-dir etc lib meta sbin snap usr var
Untuk dapat meluncurkan aplikasi seperti yang akan kita lakukan setelah instalasi paket asli sistem, /var/lib/snapd/snap/bin
direktori harus ditambahkan ke PATH
kami . Ini harus dilakukan secara otomatis sebagai bagian dari instalasi snapd. Kami dapat memverifikasinya, dengan memeriksa nilai variabel:
$ echo $PATH /home/egdoc/.local/bin:/home/egdoc/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/var/lib/snapd/snap/bin
Memperbarui paket
Beberapa revisi dari paket snap dapat dilakukan bersamaan. Kami melihat secara singkat bagaimana revisi paket gimp snap yang saat ini diinstal adalah 383. Versi aktif saat ini disinkronkan ke /var/lib/snapd/snap/<package>/current
. Dalam kasus gimp:
$ ls -l /var/lib/snapd/snap/gimp drwxr-xr-x. 11 root root 146 Nov 8 17:14 383 lrwxrwxrwx. 1 root root 3 Mar 29 14:27 current -> 383
Untuk memeriksa apakah revisi baru dari paket snap tersedia, dan memperbaruinya, kita dapat menggunakan refresh
memerintah. Dalam hal ini jika kami mencoba memperbarui paket gimp, kami diberitahu bahwa tidak ada pembaruan yang tersedia:
$ sudo snap refresh gimp snap "gimp" has no updates available
Jika kita menggunakan refresh
perintah tanpa menentukan nama paket sebagai argumen, aplikasi akan memeriksa pembaruan untuk semua paket snap yang diinstal pada sistem.
Mencantumkan paket snap yang diinstal
Untuk mendapatkan laporan tentang paket snap yang terinstal saat ini, yang harus kita lakukan adalah menggunakan perintah "list" dari utilitas snap. Mari kita lihat contoh perintah dalam tindakan:
$ snap list Name Version Rev Tracking Publisher Notes bare 1.0 5 latest/stable canonical✓ base core18 20220309 2344 latest/stable canonical✓ base gimp 2.10.28 383 latest/stable snapcrafters - gnome-3-28-1804 3.28.0-19-g98f9e67.98f9e67 161 latest/stable canonical✓ - gtk-common-themes 0.1-59-g7bca6ae 1519 latest/stable canonical✓ - snapd 2.54.4 15177 latest/stable canonical✓ snapd
Kami secara eksplisit menginstal "gimp", jadi semua paket lainnya diinstal sebagai dependensi atau sebagai "inti" dari infrastruktur snap. Centang di belakang nama penerbit paket berarti paket tersebut telah diverifikasi.
Membuat dan mengelola snapshot paket
Salah satu fitur bagus dari ekosistem paket snap adalah kemampuan untuk membuat snapshot sistem, pengguna, dan data konfigurasi yang terkait dengan sebuah paket. Snapshots secara otomatis dibuat ketika paket snap dihapus, tetapi dapat juga dibuat secara manual dengan save
memerintah. Untuk membuat snapshot dari paket "gimp", misalnya, kita akan menjalankan:
$ sudo snap save gimp
Jika kami tidak memberikan nama paket sebagai argumen untuk perintah simpan, snapshot untuk semua paket yang ada akan dibuat. Untuk mendapatkan daftar snapshot yang ada pada sistem, kita dapat menggunakan saved
perintah:
$ sudo snap saved Set Snap Age Version Rev Size Notes 1 gimp 20.0m 2.10.28 383 134kB auto 3 gnome-3-28-1804 10.4m 3.28.0-19-g98f9e67.98f9e67 161 124B -
Dalam output perintah, kita dapat melihat informasi yang sangat berguna seperti cuplikan id , dan usia . Untuk memulihkan snapshot, kami menggunakan restore
perintah, dan kami mereferensikan snapshot yang ingin kami pulihkan dengan id-nya. Untuk mengembalikan snapshot gimp yang kita lihat pada output dari contoh sebelumnya, kita akan menjalankan:
$ sudo snap restore 1 Restored snapshot #1.
Terakhir, untuk menghapus snapshot yang ada secara manual, kami menggunakan forget
memerintah. Inilah yang akan kami jalankan untuk menghapus snapshot gimp:
$ sudo snap forget 1 Snapshot #1 forgotten.
Menghapus paket snap
Secara intuitif, untuk menghapus paket snap yang diinstal sebelumnya, kita harus menggunakan tombol remove
memerintah. Secara default sebuah paket dihapus dengan semua revisi yang diinstal. Jika kita ingin menghapus revisi tertentu dari sebuah paket, kita harus meneruskannya sebagai argumen ke --revision
pilihan. Saat menentukan revisi, untuk dihapus, itu tidak boleh menjadi yang "aktif", jadi jika Anda mencoba menggunakan opsi ketika hanya satu versi dari paket snap, perintah akan gagal. Misalkan kita ingin menghapus paket "gimp" yang kita instal dalam tutorial ini, misalnya, kita akan menjalankan:
$ sudo snap remove gimp
Atau, jika ada lebih dari satu revisi:
$ sudo snap remove gimp --revision 383
Snapshot dari paket snap tidak dihapus saat kami menghapus paket (snapshot sebenarnya dibuat saat paket dihapus). Untuk memaksa penghapusannya, kita dapat melewati --purge
pilihan untuk remove
memerintah. Untuk menghapus "gimp" dengan semua snapshot terkait, misalnya, kita akan menjalankan:
$ sudo snap remove --purge gimp
Kesimpulan
Dalam tutorial ini kita belajar bagaimana menggunakan paket snap di Fedora. Ekosistem paket snap awalnya dikembangkan oleh Canonical untuk Ubuntu, tetapi kemudian tersedia juga di distribusi lain. Kami belajar cara mencari, menginstal, memperbarui, dan menghapus paket snap di Fedora, dan cara mengelola snapshot paket snap. Meskipun paket snap bekerja di Fedora, teknologi default untuk aplikasi mandiri yang digunakan pada distribusi adalah flatpak:jika Anda ingin tahu lebih banyak tentangnya, dan mempelajari cara menggunakannya, Anda dapat melihat tutorial kami tentang subjek ini.