GNU/Linux >> Belajar Linux >  >> Linux

Menggunakan AppImage untuk manajemen paket Linux

Sebagian besar pengadministrasian mesin Linux—terutama mesin jarak jauh—adalah mengelola dan menginstal perangkat lunak. Ketika ada yang tidak beres dengan aplikasi lokal atau ketika sesuatu pada sistem file rusak dan perlu diperbaiki, Anda sering ingin mendorong pembaruan tanpa harus menempuh jarak bermil-mil untuk duduk di depan layar fisik. Seperti yang saya jelaskan dalam kursus Pluralsight saya tentang pemeliharaan dan pemecahan masalah sistem Linux, tentu saja banyak masalah dapat diselesaikan melalui skrip Bash, tetapi masih ada banyak kasus di mana tidak ada alternatif selain biner kuno yang bagus.

Bayangkan bahwa beberapa sistem jarak jauh Anda memerlukan aplikasi baru yang diinstal, sehingga anggota tim yang menggunakan komputer tersebut akan dapat melakukan beberapa fungsi bisnis. Mampu memanfaatkan integrasi dan otomatisasi salah satu sistem repositori Linux utama—seperti Debian atau RPM—dapat membuat tugas administrasi Anda menjadi jauh lebih mudah.

Karena Linus Torvalds tidak pernah lelah mengingatkan kita, masalah dengan banyak sistem manajemen perangkat lunak Linux adalah terlalu banyak sistem manajemen perangkat lunak Linux. Selama bertahun-tahun, pengembangan aplikasi dan bahkan adopsi Linux telah diperumit oleh fakta bahwa semua waktu dan pekerjaan yang Anda investasikan untuk mempersiapkan perangkat lunak Anda, katakanlah, repo Debian, tidak akan membantu Anda jika Anda ingin memasukkannya ke dalam sistem RPM. Dan keduanya tidak akan membantu manajer Zypper SUSE.

Salah satu solusi yang menjanjikan untuk masalah silo perangkat lunak adalah mendistribusikan aplikasi dengan lingkungan mandiri mereka sendiri yang akan bekerja pada distribusi Linux apa pun. Salah satu pilihan standar di bidang yang muda dan berkembang ini adalah AppImage.

Bekerja dengan AppImages

Lebih banyak sumber daya Linux

  • Lembar contekan perintah Linux
  • Lembar contekan perintah Linux tingkat lanjut
  • Kursus online gratis:Ikhtisar Teknis RHEL
  • Lembar contekan jaringan Linux
  • Lembar contekan SELinux
  • Lembar contekan perintah umum Linux
  • Apa itu container Linux?
  • Artikel Linux terbaru kami

Saya setuju dengan AppImage. Seperti sistem manajemen paket lain yang telah saya sebutkan, ada banyak kerumitan yang tersedia jika Anda menginginkannya. Tapi, pada intinya, AppImages sebenarnya cukup mudah. Daripada bekerja melalui repo seperti kebanyakan manajer paket lainnya, AppImages adalah file tunggal yang berdiri sendiri yang dapat dikirim secara langsung atau dibagikan melalui situs web.

Berikut ilustrasi keindahannya. Saat saya bermain-main dengan AppImages, saya menemukan diskusi yang sangat lama di forum teknologi yang membawa saya ke proyek GitHub yang sama tua dan ditinggalkannya serta file YAML dan resep terkait. Mereka dirancang untuk secara otomatis membangun infrastruktur yang agak rumit yang diperlukan untuk menyiapkan arsip yang diperlukan untuk menghasilkan paket AppImage. Meskipun semua infrastruktur itu dibangun untuk dijalankan pada rilis Ubuntu yang berusia lima tahun, ketika saya menggabungkan semuanya dan menjalankan appimagetool perintah terhadapnya, itu membuat file AppImage yang bekerja dengan mulus di desktop saya saat ini. Saya tidak berpikir ada terlalu banyak proyek GitHub berusia lima tahun dengan kompleksitas itu yang dapat berjalan menggunakan teknologi lain tanpa pengerjaan ulang yang serius.

Tapi aku tidak akan pergi ke sana. Sebagai gantinya, saya akan menunjukkan cara kerjanya dengan aplikasi Hello World yang sangat sederhana. Pertama, pastikan paket AppStream diinstal secara lokal.

Untuk sistem berbasis Debian, jalankan:

$ sudo apt install appstream

Dan untuk sistem RPM, gunakan:

$ sudo dnf install appstream

Kloning repo Git yang dirujuk dalam artikel ini, yang saya jadikan contoh berdasarkan:

$ git clone https://github.com/boolean-world/appimage-resources
$ cd appimage-resources
$ ls hello-world-appimage

Selanjutnya, cd ke direktori baru yang dibuat Git, dan lihat sekeliling. Ada dua direktori di sini. Gunakan hello-world-appimage; yang lain adalah proyek yang lebih kompleks, dan Anda harus mempertimbangkan untuk mencobanya juga.

helloworld.desktop file adalah apa yang dibaca oleh sistem GUI Linux untuk mengetahui cara menangani cara mereka menampilkan ikon desktop. Ternyata, cara file saat ini ditulis akan memberi Anda masalah di kemudian hari, jadi lakukan satu pengeditan kecil:tambahkan Categories= baris dan berikan nilai GNOME . Dan jangan lupa titik koma di akhir:

$ nano hello-world-appimage/helloworld.desktop
        add Categories=GNOME;

Unduh salinan appimagetool yang telah dikompilasi sebelumnya biner dari proyek AppImage GitHub. Kunjungi situs GitHub—ada banyak dokumentasi dan sumber daya yang bagus di sana. Setelah biner diunduh, buat file tersebut dapat dieksekusi dan arahkan ke hello-world-appimage direktori. Tetapi pertama-tama, Anda perlu memberi tahu arsitektur apa yang Anda inginkan. Untuk beberapa alasan, alat dengan nama yang berakhiran x86_64 semuanya goyah ketika harus memilih apakah akan membangun aplikasi menggunakan x86_64 atau tidak (saya tidak yakin apa yang terjadi di sana):

$ wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage
$ chmod +x appimagetool-x86_64.AppImage
$ ARCH=x86_64 ./appimagetool-x86_64.AppImage hello-world-appimage

Jika Anda tidak melihat pesan kesalahan marah, Anda siap untuk menjalankannya:

$ ls
$ ./hello-world-appimage-x86_64.AppImage

Kesimpulan

AppImage adalah pilihan yang sangat efektif untuk manajemen paket. Saat Anda menjelajahinya, saya pikir Anda akan menemukan alternatif yang bagus untuk distribusi default Linux yang disediakan.


Linux
  1. Kiat Linux untuk menggunakan cron untuk menjadwalkan tugas

  2. Manajemen paket Linux dengan apt

  3. Cara mengemas aplikasi Python untuk Linux

  1. 8 perintah Linux untuk manajemen proses yang efektif

  2. 4 alat untuk membangun sistem Linux tertanam

  3. Menggunakan di untuk pekerjaan cron sekali pakai di Linux

  1. Panduan Lengkap untuk Menggunakan AsciiDoc di Linux

  2. Buka – Manajemen EBook Luar Biasa untuk Linux

  3. 15 Contoh Perintah aptitude untuk Manajemen Paket di Linux