Pernahkah Anda bertanya-tanya bagaimana beberapa distribusi Linux membuatnya begitu mudah untuk menginstal perangkat lunak sementara yang lain cukup sulit? Perbedaannya terletak pada format paket yang mereka gunakan. Beberapa distribusi menggunakan file .deb sementara yang lain menggunakan .rpm.
Tapi bagaimana jika ada format paket yang bisa digunakan di distribusi manapun? Di situlah peran Snapcraft. Dalam tutorial ini, Anda akan belajar cara menginstal dan menggunakan Snapcraft untuk membuat dan menginstal paket snap di Linux.
Apa Itu Paket Snap?
Paket snap adalah paket aplikasi mandiri yang menyertakan semua dependensi dan pustaka yang diperlukan, membuatnya mudah untuk menginstal dan memperbarui aplikasi tanpa harus mengkhawatirkan masalah ketergantungan.
Mengapa Menggunakan Paket Snap?
Ada beberapa keuntungan menggunakan paket snap:
- Snap mudah dipasang dan diperbarui. Anda dapat menginstal paket snap dengan satu perintah, dan snap secara otomatis diperbarui di latar belakang.
- Terkunci aman dan terjamin. Karena semua dependensi disertakan dalam paket snap, tidak ada risiko konflik dependensi. Selain itu, snaps diisolasi dari sistem lainnya, sehingga tidak dapat mengakses data Anda atau aplikasi lain di sistem Anda.
- Anda dapat menginstal aplikasi favorit Anda di distribusi Linux apa pun yang mendukung snap.
Menginstal Snapd di Linux
Snapd adalah daemon yang memungkinkan penginstalan dan penggunaan snap dan perlu diinstal sebelum Anda dapat menggunakan Snapcraft. Saat Anda menginstal Snapd, itu juga menginstal alat antarmuka baris perintah (CLI) yang disebut snap . Anda dapat menggunakan alat ini untuk mengelola bidikan Anda.
Untuk menginstal Snapd di Ubuntu, buka terminal dan masukkan perintah berikut, masukkan kata sandi pengguna Anda saat diminta.
sudo pembaruan tepat -y && sudo tepat instal snapd -y
Di CentOS, Anda harus mengaktifkan repositori EPEL sebelum dapat menginstal Snapd. Untuk melakukan ini, pertama-tama masukkan perintah berikut di terminal Anda:
sudo dnf instal epel-rilis -y && sudo pembaruan dnf -y
Kemudian, instal Snapd dengan perintah di bawah ini. Masukkan kata sandi untuk pengguna sudo saat diminta.
sudo dnf instal snapd -y
Di Fedora, instal dengan perintah:
sudo dnf instal snapd
Di Arch Linux, instal snapd dari AUR. Lihat pembantu AUR ini untuk membantu Anda menginstal paket pihak ketiga dengan mudah.
Setelah instalasi selesai, jalankan perintah di bawah ini untuk mengaktifkan unit systemd snapd.socket . Ini memastikan bahwa daemon Snapd dimulai secara otomatis saat sistem Anda melakukan booting.
sudo systemctl aktifkan –sekarang snapd.socket
Buat tautan simbolis antara “/var/lib/snapd/snap” dan “/snap” untuk mengaktifkan dukungan snap klasik.
sudo di -S / var / lib / snapd / jepret / jepret
Sekarang Anda telah menginstal Snapd di sistem Linux Anda, periksa versi Snapd dengan perintah di bawah ini. Anda akan melihat output yang mirip dengan berikut ini.
jepret –versi
Anda juga dapat memeriksa status layanan Snapd dengan perintah berikut.
sudo systemctl status snapd
Memasang Snapcraft
Sebelum Anda dapat membuat paket snap, Anda perlu menginstal Snapcraft, alat yang digunakan untuk membuat paket snap.
Untuk menginstal Snapcraft di Linux, jalankan perintah berikut. Bendera klasik memberi tahu snap untuk menggunakan mode pengurungan klasik . Bendera ini diperlukan karena Snapcraft belum mendukung mode pengurungan yang lebih baru dan lebih ketat.
sudo snap instal snapcraft –klasik
Verifikasi bahwa Snapcraft diinstal dengan memeriksa nomor versi.
snapcraft –versi
Menggunakan Snapcraft untuk Membuat Paket Snap
Sekarang untuk bagian yang menarik: menggunakan Snapcraft untuk membuat paket snap untuk suatu aplikasi. Dalam tutorial ini, kami membuat snap hello-world dasar, snap sederhana yang mencetak “Halo, dunia!” ketika Anda menjalankannya. Setelah Anda menyelesaikan tutorial ini, terapkan proses yang sama untuk membuat snap untuk aplikasi Anda sendiri.
Demi kesederhanaan, langkah-langkah di bawah ini akan memandu Anda melalui proses pembuatan snap di Ubuntu. Langkah yang sama juga bisa diterapkan di distro Linux lainnya.
Memulai Proyek untuk Snap Anda
Pertama buat direktori proyek untuk snap Anda. Ini akan menjadi direktori kerja untuk proyek Anda dan membantu Anda mengatur file proyek Anda.
- Buat direktori proyek bernama “hello” dengan perintah berikut:
mkdir -p ~ / mysnaps / halo
Bendera -p memberi tahu perintah mkdir untuk membuat direktori induk yang belum ada. Dalam hal ini, direktori mysnaps akan dibuat jika tidak ada. Anda dapat memasukkan foto apa pun di masa mendatang di dalam direktori ini.
- Pindah ke direktori proyek yang baru dibuat dan inisialisasi proyek dengan perintah init untuk membuat file bernama “snapcraft.yaml” di direktori proyek Anda. Anda dapat menggunakan file “snapcraft.yaml” untuk mengonfigurasi snap Anda nanti.
cd ~ / mysnaps / halo snapcraft init
- Periksa struktur proyek Anda dengan perintah tree , yang mencetak representasi grafis dari direktori proyek Anda.
pohon -A
Anda akan melihat output yang mirip dengan berikut ini.
Menambahkan Metadata Tingkat Atas
Snapcraft menyediakan banyak metadata yang dapat Anda gunakan untuk mendeskripsikan paket snap Anda. Dalam tutorial ini, kami menambahkan beberapa info dasar yang diperlukan untuk setiap jepretan.
- Buka file “snapcraft.yaml” di editor teks favorit Anda. Kami menggunakan nano dalam tutorial ini.
sudo nano snapcraft.yaml
- Hapus baris placeholder dan ganti dengan konten berikut.
nama: halo base: core18 versi: ‘2.10’ ringkasan: GNU Halo, deskripsi snap “hello world” : | GNU hello mencetak salam ramah. grade: kurungan pengembangan: devmode
Di sini kami mengubah info snap kami. Basis core18 memberi tahu Snapcraft bahwa Anda ingin membuat snap berdasarkan Ubuntu Core 18. Metadata kurungan: devmode memberi tahu Snapcraft bahwa Anda ingin membuat snap yang tidak terbatas, yang berguna untuk tujuan pengembangan dan pengujian.
Mengekspos Aplikasi Anda
- Tambahkan baris berikut setelah kolom kurungan di file “snapcraft.yaml†Anda. Disini kita tentukan aplikasi yang ingin kita kemas.
aplikasi: halo: perintah: bin / halo
Dalam hal ini, kami hanya memiliki satu aplikasi, halo . Baris perintah memberi tahu Snapcraft biner mana yang akan dijalankan saat snap dipasang.
Menambahkan Bagian
- Di baris baru, tambahkan perintah bagian berikut :
bagian: gnu-halo: sumber: http: // ftp.gnu.org / gnu / halo / halo- 2.10 .tar.gz plugin: autotools
Ini memberi tahu Snapcraft perangkat lunak mana yang ingin Anda sertakan dalam paket snap Anda.
Untuk membangun snap hello-world ini, Anda perlu mengunduh kode sumber GNU Hello, kemudian menggunakan plugin autotool untuk membangun aplikasi dari sumber.
- Pada titik ini, file snapcraft.yaml Anda akan terlihat seperti di bawah ini. Simpan dan tutup file snapcraft.yaml sebelum melanjutkan ke langkah berikutnya.
Membangun Paket Snap
Sekarang setelah Anda menentukan snap Anda, saatnya untuk membuatnya. Untuk membuat paket snap, jalankan perintah berikut.
snapcraft
Anda akan diminta untuk menginstal “multipass” jika Anda tidak memilikinya di sistem Anda. Snapcraft menggunakan multipass untuk membuat lingkungan yang terisolasi untuk membuat snap di dalam mesin virtual. Ketik y dan tekan Enter untuk melanjutkan.
Proses pembuatan mungkin memakan waktu cukup lama, tergantung pada koneksi Internet dan spesifikasi komputer Anda. Setelah proses pembangunan selesai, Anda akan melihat sesuatu yang mirip dengan keluaran berikut.
Pada akhirnya, Anda akan menemukan “hello_2.10_amd64.snap†di direktori proyek.
Menguji Paket Snap
Untuk menguji apakah paket snap Anda berfungsi, jalankan perintah berikut:
sudo jepret instal –devmode hello_2.10_amd64.snap
Bendera –devmode memberi tahu snap bahwa Anda ingin memasang snap di devmode , yang berguna untuk tujuan pengujian.
Selanjutnya, jalankan perintah berikut untuk menjalankan aplikasi hello-world Anda.
Halo
Anda akan melihat keluaran berikut, yang menunjukkan bahwa snap hello-world Anda berfungsi seperti yang diharapkan.
Untuk melihat versi aplikasi hello-world Anda, jalankan perintah berikut.
halo –versi
Jika Anda mengalami masalah saat menguji snap, dapatkan informasi lebih lanjut dengan menggunakan flag –debug dan menjalankan perintah berikut.
snapcraft –debug
Pertanyaan yang Sering Diajukan
Apakah Snapcraft aman?
Sangat! Snapcraft adalah alat resmi untuk membuat bidikan. Ini dikembangkan dan dikelola oleh Canonical, perusahaan di belakang Ubuntu. Yakinlah bahwa Snapcraft aman dan andal.
Apakah Snap seperti Docker?
Iya dan tidak. Snap dan Docker keduanya merupakan teknologi wadah tetapi melayani tujuan yang berbeda. Pikirkan Snap sebagai format pengemasan untuk aplikasi Anda dan Docker sebagai lingkungan runtime untuk aplikasi Anda. Anda dapat mengatur WordPress dengan Nginx dan PHP dalam wadah Docker menggunakan gambar WordPress dan Nginx resmi tetapi tidak dapat membuat paket Snap untuk situs WordPress Anda.
Apakah snap lebih baik daripada apt atau apt-get?
Tergantung. Kedua sistem tersebut memiliki kelebihan dan kekurangan masing-masing. Apt dan apt-get adalah pengelola paket tradisional untuk distribusi Linux berbasis Debian. Sudah ada sejak lama dan sangat stabil, namun memiliki beberapa kekurangan. Misalnya, apt tidak mendukung pembuatan versi dan rollback. Snap, di sisi lain, mendukung pembuatan versi dan rollback. Jadi, jika Anda ingin bereksperimen dengan versi baru aplikasi Anda, Snap adalah cara yang tepat. Tetapi jika Anda menginginkan sistem yang stabil, apt dan apt-get adalah pilihan yang lebih baik.
Kredit gambar: Freepik. Semua tangkapan layar oleh Nicholas Xuan Nguyen.