Mengenal Ekstensi Paket di Linux

Muhammad Fajri
Tuesday, 06 April 2021

Bismillahirrahmanirrahim.

packet-extension

Seiring penggunaan sebuah sistem operasi baik untuk keperluan akademik maupun pekerjaan kita akan sering menjumpai beragam jenis ekstensi file. Ekstensi-ekstensi tersebut tentunya memiliki tujuan masing-masing. Dan, pada umumnya ekstensi file tersebut menunjukkan perusahaan pembuatnya.

Ekstensi file yang sering dijumpai seperti .doc atau .docx menunjukkan ekstensi file Microsoft Word (buatan Microsoft). File .pdf akronim dari Portable Document Format (buatan Adobe), file yang paling umum yang digunakan dalam transmisi/ pertukaran data. Ekstensi file .xls atau .xlsx menunjukkan file Microsoft Excel (buatan Microsoft). Dan ekstensi-ekstensi file yang lainnya.

Lalu, bagaimana dengan ekstensi file ini .deb, .rpm, .tar.xz atau .tar.zst, .bin, .sh, .run, .AppImage, dan .zip atau .tar.gz?

File tersebut akan kita ulas satu per satu secara singkat di artikel ini. File itu menunjukkan paket yang ada pada sistem operasi Linux. Kita menyebutkan paket di Linux yang mengacu pada aplikasi. Padanannya seperti file .exe dan .msi pada sistem operasi Windows. Untuk .zip dan .tar.gz sendiri pada dasarnya bukan sebuah paket namun ia memuat file-file binary yang dapat dipasang/ diinstal pada OS Linux dimana OS tersebut tidak tersedia format defaultnya untuk paket yang akan diinstal. Bagaimana, apa sudah ada yang bisa dipahami?

Baiklah, mari kita lanjutkan untuk mengenali satu per satu ekstensi paket tersebut.

Ekstensi Paket di Linux

Terdapat ekstensi paket tertentu untuk dapat diinstal di OS yang digunakan tergantung dari distro/ variannya. Tidak seperti di Windows yang umumnya memiliki format ekstensi .exe sehingga lebih mudah dikenali.

  • .deb, ekstensi file yang ditujukan untuk OS Linux Debian dan derivasi/ turunannya seperti Ubuntu. Semua varian yang berbasis Debian menggunakan ekstensi file ini untuk memasang paket.
  • .rpm, ekstensi file untuk Red Hat dan turunannya seperti Fedora.
  • .tar.xz dan .tar.zst, ekstensi file paket untuk Arch dan turunannya seperti Manjaro. .tar.xz bisa saja bukan merupakan file paket yang dikhususkan untuk OS ini, akan tetapi merupakan sebuah file arsip yang dibuat dengan ekstensi .tar.xz. Dan, .tar.zst merupakan ekstensi paket yang lebih baru dari .tar.xz.
  • .bin, (file binary), .sh (file shell), .run (file executable Linux), ketiga ekstensi paket ini dapat dijalankan/ diinstal di seluruh OS Linux (seperti yang disebutkan di tiga poin di atas). File ini dapat diinstal melalui terminal.
  • .AppImage, ekstensi paket yang dapat di-run/ dijalankan secara langsung tanpa memerlukan instalasi atau biasa dikenal sebagai aplikasi portabel. Inilah formatnya untuk OS Linux dan dapat berjalan di semua varian.
  • .zip dan .tar.gz, merupakan ekstensi file yang dikenal sebagai file archive/ arsip. File ini bukanlah sebuah paket namun di dalamnya terdapat source file atau binary file yang dapat digunakan untuk menginstal paket pada OS Linux. Dengan demikian file ini harus diekstrak terlebih dahulu dan kita harus melakukan instalasi secara manual.

Sampai di sini mungkin kita sudah memiliki pemahaman mengenai paket-paket yang ada di Linux. Jadi, paket dengan format tertentu tidak dapat digunakan untuk semua OS Linux karena masing-masing memiliki ekstensi paketnya tersendiri.

Instalasi Paket di Linux

Saat memiliki paket dari aplikasi yang sudah diunduh, tentu akan memudahkan kita dalam melakukan instalasi. Sama seperti di Windows, kita dapat melakukan klik dua kali pada file (dalam tampilan GUI melalui File Manager) lalu kita menekan beberapa tombol Next dan kemudian kita biarkan OS menyelesaikan instalasinya dan aplikasi pun telah terinstal pada sistem.

Untuk cara yang berikut ini, kita lakukan proses instalasi melalui terminal (mode CLI).

  1. .deb, untuk menginstalnya melalui terminal Debian/Ubuntu, jalankan perintah:
    sudo dpkg -i ~/Downloads/<nama-paket>.deb
    
  2. .rpm, instal dengan perintah:
    sudo dnf install ~/Downloads/<nama-paket>.rpm
    
  3. .tar.xz dan .tar.zst instal dengan mengeksekusi perintah:
    sudo pacman -U ~/Downloads/<nama-paket>.tar.xz
    // atau
    sudo pacman -U ~/Downloads/<nama-paket>.tar.zst
    

Selain file paket untuk Arch dan turunannya, terdapat juga file .tar.xz yang berupa file arsip. Untuk perlakuannya akan sama dengan file .zip dan .tar.gz. Atau, jika terdapat file executable di dalamnya, silahkan jalankan saja instalasinya. Contoh berikut file arsip .tar.xz dari XDM Download Manager.

XDM Archive

Di dalam arsip tersebut, terdapat file executable dengan esktensi .sh. Jadi ia bisa diekstrak terlebih dahulu lalu menjalankan file executable-nya.

  1. File .bin, .sh, dan .run memiliki cara yang sama yaitu dengan melakukan chmod +x terlebih dahulu. Contoh untuk file .run:
    sudo chown +x ~/Downloads/<nama-file>.run
    cd ~/Downloads
    sudo ./<nama-file>.run
    

Langkah yang sama dapat dilakukan untuk file .bin dan .sh.

  1. File .tar.gz dan .zip terlebih dahulu lakukan ekstraksi file.
    // Cara ekstrak file tar.gz
    tar xvzf ~/Downloads/<nama-file>.tar.gz
    // Cara ekstrak file zip
    unzip ~/Downloads/<nama-file>.zip
    

Setelah selesai diekstrak, silahkan salin (cp) atau pindahkan (mv) ke direktori di mana aplikasi akan diinstal, misalnya pada direktori /opt.

sudo cp -r ~/Downloads/<folder-hasil-ekstrak> /opt
// atau untuk 
sudo mv ~/Downloads/<folder-hasil-ekstrak> /opt

Atau untuk menggabungkan ekstraksi sekaligus menyalin folder:

tar xvzf ~/Downloads/<nama-file>.tar.gz && sudo cp -r /opt
// atau
unzip ~/Downloads/<nama-file>.tar.gz && sudo cp -r /opt

Untuk membaca lebih lanjut instalasi paket dengan .tar.gz, baca artikel berikut ini.

Pada dasarnya perintah-perintah ekstraksi dan penyalinan folder/ file ini merupakan bagian dari manajemen file di Linux, dan ini merupakan perintah-perintah dasar. Jika masih kesulitan, silahkan buka artikel yang membahas hal ini.

Paket dalam Archive .tar.gz dan .tar.bz2

Terdapat bentuk paket lain yang ada di Linux selain yang telah disebutkan di atas. Paket ini umumnya digunakan oleh kalangan pengguna UNIX, pendahulu dari OS Linux. Paket ini disimpan dalam bentuk arsip yang umumnya dalam bentuk .tar.gz dan .tar.bz2. Tidak menutup kemungkinan ia juga disimpan dalam file arsip .zip. Lalu, apa bedanya dengan file arsip sebelumnya?

Dalam file arsip ini terdapat nama file yang menunjukkan bahwa berkas arsip ini menyimpan binary file sebuah paket file instalasi. Nama file tersebut salah satu dari .configure atau makefile. Jika terdapat nama file ini di dalamnya, kita dapat melakukan proses instalasi dengan terlebih dahulu mengekstrak keseluruhan arsip dan masuk ke direktorinya.

Untuk langkah instalasinya, kita bagi menjadi dua berdasarkan keberadaan nama file yang dimaksudkan di dalamnya.

Jika di dalam file arsip terdapat file configure maka jalankan perintah:

./configure
make
make check
make install
make clean
make distclean
  • Perintah ./configure melakukan konfigurasi paket ke dalam sistem, ./ menunjukkan bahwa kita menjalankan file configure yang ada dalam direktori yang bersangkutan. Jika hanya mengetikkan configure, maka perintah tersebut tidak dikenali.
  • make melakukan kompilasi pada paket.
  • make check menjalankan tes terhadap isi paket (langkah ini bersifat opsional).
  • make install menginstal paket ke dalam sistem termasuk file data dan dokumentasi jika ada.
  • make clean menghapus binary dan object program dari direktori. Langkah ini dari saya sendiri jarang dilakukan, maksudnya agar sewaktu-waktu dapat diinstal ulang pada sistem yang sama. Kecuali jika ingin menginstalnya di sistem yang lain, maka silahkan lakukan perintah ini.
  • make distclean menghapus file-file yang dibuat oleh perintah ./configure tadi. make distclean ini dilakukan agar paket yang ada dalam direktori ini dapat di-compile di sistem operasi lain.

Dari perintah yang dilakuka di atas, beberapa perintahnya cukup memakan waktu. Di saya sendiri, kadang ada paket yang ingin diinstal, saya batalkan prosesnya (menekan tombol Ctrl+C) sebab sepertinya ia memperlambat sistem dan memakan resource yang banyak. Utamanya pada langkah ./configure dan make. Namun jika menurut kita tidak mengganggu kinerja sistem yang ada, lebih baik menunggunya hingga proses selesai, agar paket yang diinginkan dapat terinstal pada sistem.

Kemudian, bagian kedua yaitu jika arsip terdapat file makefile di dalamnya. Kita cukup jalankan perintah:

make install

Dengan perintah tersebut, paket yang diinginkan pun terinstal pada sistem operasi yang digunakan. Umumnya, paket dengan configure atau makefile di dalamnya, menghasilkan program yang berjalan melalui terminal.

Kesimpulan

OK, itulah tadi paket-paket yang ada di sistem operasi Linux. Ada yang berupa file executable untuk OS tertentu yaitu .deb, .rpm, .tar.xz dan .tar.zst. Ada yang berupa file binary .bin, .sh dan .run. File binary ini dapat dijalankan di semua varian Linux. Dalam bentuk file arsip .zip, .tar.gz, .tar.xz, dan .tar.bz2. Bahkan, ada juga yang dalam bentuk paket portabel yaitu .AppImage. Ini juga dapat berjalan di semua varian Linux.

Tentunya, setelah mengenali semua ekstensi paket ini, kita akan lebih mudah memilih paket dengan ekstensi apa yang sesuai dengan OS yang digunakan.

Sampai di sini dulu artikel kali ini, semoga dapat dipahami langkah-langkah yang diberikan. Jika masih merasa kesulitan, silahkan baca artikel terkait seperti link yang dicantumkan di atas. Jika membutuhkan informasi lebih lanjut, silahkan hubungi kontak yang ada. Terima kasih. Sampai jumpa di artikel yang lainnya.