Perkenalan Singkat ONERPM

Bismillahirrahmanirrahim.

Alhamdulillah, salah satu proyek liburan saya telah rampung sekitar 57%. Proyek tersebut bernama ONERPM. Apa itu ONERPM? ONERPM adalah sebuah bash script sederhana berbasis DNF yang berguna untuk memudahkan pemasangan sebuah paket aplikasi di Fedora secara offline. Proyek ONERPM ini terinspirasi dari proyek alldeb buatan Nifa Dwi Kurniawan dan Fedora Offline Package Manager.

[Chapter 1] Konsep Pemaketan ONERPM

ONERPM mempunyai paket tersendiri untuk melakukan pemasangan paket aplikasi ke sistem Fedora yang kita miliki, yaitu paket berekstensi *.onerpm. Paket .onerpm adalah sebuah paket yang berisi kumpulan paket *.rpm, sebuah berkas keterangan, dan sebuah direktori repodata. Berikut penjelasan isi paket .onerpm:

  1. Kumpulan paket *.rpm. Untuk apa? Paket-paket *.rpm inilah memuat aplikasi yang telah terkompilasi dan siap pakai. Jika tidak ada paket *.rpm ini, maka apa yang akan dipasang ke sistem? Paket *.onerpm berisi sebuah paket utama dan kumpulan paket pendukung atau biasa disebut dengan dependensi;
  2. Sebuah berkas keterangan. Berkas ini memuat informasi tentang paket utama dari *.onerpm. Misal, libreoffice.onerpm adalah sebuah paket *.onerpm untuk aplikasi LibreOffice. Di dalam libreoffice.onerpm, ada paket *.rpm utama yang bernama libreoffice.rpm. Nah, isi berkas keterangan adalah informasi dari paket utama tersebut yang memuat nama, versi, arsitektur, url, dan deskripsi tentang si aplikasi. Isi dari berkas keterangan merupakan hasil dari keluaran perintah “dnf info namapaket“;
  3. Direktori repodata. Direktori ini berisi database yang memuat informasi tentang seluruh paket *.rpm yang ada di dalam paket *.onerpm.

Seperti RPM, ONERPM membutuhkan seorang atau lebih pemaket untuk membuat *.onerpm. Pemaket inilah yang nantinya akan memelihara dan bertanggung jawab atas *.onerpm yang telah ia buat. Untuk menjadi seorang pemaket dibutuhkan kemampuan dasar tentang sistem manajemen paket di Fedora. Penjelasan singkat tentang pemaketan sebuah *.onerpm:

  1. Pemaket butuh koneksi internet;
  2. Untuk lingkungan kerja, pemaket membutuhkan sistem Fedora yang minimalis. Fedora minimalis ini hanya berisi paket-paket core dan standar yang diperlukan Fedora untuk dapat beroperasi, seperti kernel dan aplikasi-aplikasi GNU;
  3. Setelah lingkungan kerjanya siap, maka pemaket akan memakai DNF untuk mengunduh paket-paket *.rpm dan menaruhnya ke dalam sebuah direktori;
  4. Pemaket membuat sebuah berkas keterangan dengan menggunakan DNF;
  5. Pemaket membuat sebuah direktori repodata dengan menggunakan Createrepo;
  6. Pemaket membungkus semuanya menjadi sebuah berkas tarball yang berekstensi .onerpm;
  7. Terakhir, pemaket memrilis paket *.onerpm ke publik.

Muncul pertanyaan, kenapa harus lingkungan yang minimalis? Karena paket-paket yang terpasang pada Fedora minimalis pada umumnya telah ada di berbagai Fedora versi desktop. Dalam proses pengunduhan paket-paket *.rpm, pemaket akan menggunakan perintah “dnf download –resolve namapaket“. Perintah tersebut akan memerintahkan DNF untuk mengunduh paket namapaket.rpm beserta dependensinya, tetapi DNF hanya akan mengunduh paket yang belum terpasang di Fedora yang kita miliki. Karena tujuan penggunaan ONERPM adalah untuk para pengguna Fedora versi desktop, maka Fedora minimalis dibutuhkan untuk menyelesaikan masalah ini.

Sebenarnya pemaket dapat menggunakan perintah “dnf –installroot=/lokasifolder –releasever=versiFedora download –destdir=/lokasifolder –resolve namapaket” untuk mengunduh namapaket.rpm beserta dependensinya, akan tetapi hasil unduhannya akan sangat banyak. Hal ini terjadi karena DNF akan menciptakan sebuah lingkungan root(/) yang di mana lingkungan tersebut masih kosong sehingga DNF akan mengunduh semua paket-paket yang bersifat core dan standar. Akibatnya, ukuran paket *.onerpm yang akan dibuat menjadi sangat besar, padahal paket-paket core dan standar tersebut pada umumnya telah terpasang di sistem Fedora versi desktop. Lingkungan Fedora minimalis diperlukan untuk menyelesaikan malasah ini.

Muncul lagi pertanyaan, kenapa tidak langsung menggunakan Fedora versi desktop yang ada, misal Fedora Workstation untuk melakukan pemaketan? Karena paket-paket (selain paket-paket core dan standar) yang terpasang pada Fedora Worsktation berbeda dengan Fedora Spin KDE, Fedora Spin Xfce, dan Fedora versi desktop lainnya. ONERPM dibuat untuk menyelesaikan masalah ini, yaitu menciptakan sebuah paket yang dapat dipasang di semua Fedora versi desktop layaknya konsep installer yang ada di MS Windows.

[Chapter 2] Konsep Instalasi ONERPM

  1. Pengguna telah memasang ONERPM di Fedora yang ia miliki;
  2. Pengguna mempunyai sebuah paket *.onerpm sesuai arsitektur dan versi Fedora yang dimiliki;
  3. Pengguna menjalankan ONERPM dan memilih menu-menu yang tersedia;
  4. Jika pengguna memilih menu Instal, maka pengguna akan diminta untuk memasukkan lokasi *.onerpm berada;
  5. Jika paket *.onerpm yang pengguna miliki tidak rusak, maka ONERPM akan melakukan pengekstrakan isi paket *.onerpm ke direktori temporary /tmp/onerpm, membuat berkas .repo lokal yang juga bersifat temporary (pada umumnya berkas .repo berada di /etc/yum.repos.d/ dan bersifat permanen) dan mengaktifkannya, menampilkan ketarangan apikasi yang akan dipasang, dan meminta konfirmasi pengguna untuk melanjutkan proses instalasi hingga selesai;
  6. Jika proses instalasi mengalami kegagalan, maka ONERPM akan menampilkan pesan error;
  7. Selesai.

Jika Anda ingin mencoba ONERPM, maka Anda dapat mengunduhnya di ONERPM Repository. Di sana terdapat program ONERPM dan kumpulan paket *.onerpm dari aplikasi desktop yang sering digunakan oleh pengguna Linux desktop yang bebas Anda pilih. Untuk mengunduh program ONERPM, tidak wajib membutuhkan sebuah komputer yang terpasang Fedora. Anda dapat mengunduh program ONERPM dan paket-paketnya di komputer apasaja. Jika sudah unduh programnya, maka barulah pasang di Fedora yang Anda miliki.

Bagi Anda yang ingin langsung memasang program ONERPM di Fedora layaknya menginstal aplikasi dengan DNF (alhamdulillah, sudah saya paketkan ke rpm), maka Anda dapat mengaktifkan repo ONERPM yang ada di Copr. Buka terminal Anda, jalankan perintah “sudo dnf copr enable alunux/onerpm ” untuk mengaktifkan repo ONERPM. Setelah itu, jalankan perintah “sudo dnf install onerpm“.

Jika Anda ingin menjalankan ONERPM, silahkan bukan terminal Anda dan jalankan perintah “onerpm“.

Bersambung . . .

Status Proyek: Under Heavy Development . . .

Roadmap:

  • Develop ONERPM (installer)  – 6 Juli – 14 Agustus 2015
  • Develop ONERPM-PACK (pemaket) – Agustus 2015
  • Buat Repo Copr untuk ONERPM – 16 Agustus 2015
  • Buat ONERPM Repository untuk paket *.onerpm – 16 Agustus 2015
  • Rilis ONERPM 1.0 – 17 Agustus 2015
  • Rilis ONERPM-PACK 1.0 – Akhir Agustus 2015
  • Porting ONERPM dan ONERPM-PACK ke Python – Tidak Tentu

Developer & Package Maintainer: La Ode Muh. Fadlun Akbar <fadlun.net@gmail.com>

Tulisan ini dikerjakan menggunakan WordPress dengan bantuan Google Chrome 44.0.2403.125 . Sistem operasi yang digunakan yaitu Fedora 22 Workstation.

Advertisements

4 thoughts on “Perkenalan Singkat ONERPM

    1. Belum ada. Saya masih mengaudit proyek ini, mulai dari kodingannya, nama proyek ini, sampai pemberian lisensinya. Ini penting berhubung proyeknya mau dirilis ke publik. Mungkin sekitar bulan september baru proyek ini layak digunakan 😀

      Like

  1. Mungkin saya akan mengganti nama proyek ini, dari ONERPM ke nama yang lain. Hal ini dikeranakan nama ONERPM telah menjadi nama produk lain. Berdasarkan pemilik trademark ONERPM, trademark ini tidak boleh digunakan tanpa ijin dan hanya boleh digunakan oleh partnernya saja. Mohon maaf jika nanti repo ONERPM nonaktif secara tiba-tiba karena perubahan nama proyek di repo Copr. Terima kasih atas perhatiannya.

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s