GNU/Linux >> Belajar Linux >  >> Linux

Cara Mengonversi Paket Linux Dengan Alien

Pengembang dan pengelola paket mungkin tidak selalu membuat paket untuk semua distribusi Linux. Beberapa paket mungkin hanya tersedia untuk platform Linux tertentu. Dalam kasus seperti itu, Anda dapat menggunakan alat konversi paket seperti Alien untuk dengan mudah mengkonversi paket Linux ke format yang berbeda. Dalam panduan ini, kita akan melihat apa itu Alien, bagaimana menginstal Alien di berbagai sistem operasi Linux dan kemudian bagaimana mengkonversi paket Linux dari satu format ke format lain menggunakan konverter paket Alien.

Apa itu Alien?

Alien adalah konverter paket baris perintah yang mengkonversi antara format paket Linux yang berbeda seperti Red Hat rpm, Debian deb, Stampede slp, Slackware tgz, dan Solaris pkg dll.

Alien saat ini mendukung format paket berikut:

  • Linux Standard Base (LSB),
  • Sesuai dengan LSB .rpm paket,
  • .deb ,
  • Menyerang (.slp ),
  • Solaris (.pkg )
  • Slackware (.tgz , .txz , .tbz , .tlz ).

Program asing datang dalam penyelamatan ketika paket tertentu atau versi tertentu dari sebuah paket tidak tersedia untuk distribusi Linux Anda. Anda dapat dengan mudah mengonversi paket tersebut ke format paket pilihan Anda menggunakan Alien dan menginstalnya di sistem Anda.

Alien tidak hanya pengonversi paket, ia juga dapat menginstal paket yang dihasilkan secara otomatis setelah konversi paket. Ia bahkan dapat memiliki opsi untuk mengonversi skrip yang dimaksudkan untuk dijalankan ketika paket diinstal. Anda harus berhati-hati saat menggunakan opsi ini. Anda harus memeriksa skrip dengan cermat dan memeriksa apa yang dilakukan skrip ini sebelum menggunakan opsi ini.

Perhatian: Alien tidak boleh digunakan untuk mengonversi paket sistem penting, seperti init , libc , yang diperlukan untuk berfungsinya sistem Linux Anda. Paket sistem yang dirancang khusus untuk distribusi Linux tertentu tidak dapat digunakan secara bergantian dan dapat merusak sistem Anda jika Anda mencoba menginstalnya secara paksa.

Instal Alien di Linux

Konverter paket alien tersedia di repositori default distribusi Linux populer.

Untuk menginstal Alien di Alpine Linux, jalankan:

$ sudo apk add alien

Instal Alien di Debian, Ubuntu LTS, Linux Mint, Pop!_OS:

$ sudo apt install alien

Instal Alien di Fedora:

$ sudo dnf install alien

Instal Alien di CentOS 8, RHEL 8, AlmaLinux 8, Rocky Linux 8:

$ sudo dnf install epel-release
$ sudo dnf install alien

Konversi paket Linux menggunakan Alien

Sintaks umum untuk mengonversi paket Linux menggunakan Alien dari satu format ke format lainnya adalah:

alien [--to-deb] [--to-rpm] [--to-tgz] [--to-slp] [options] file [...]

Mengonversi paket menggunakan Alien sangat mudah!

Untuk mengonversi .rpm paket ke dalam .deb paket, jalankan alien sebagai root atau sudo pengguna:

$ sudo alien --to-deb /path/to/file.rpm

Demikian pula, untuk mengonversi .deb file ke .rpm , jalankan:

$ sudo alien --to-rpm /path/to/file.deb

Berikut adalah daftar flag yang didukung untuk mengonversi paket Linux ke format yang berbeda.

  • -d , --to-deb - Membuat paket debian. Ini adalah default.
  • -r , --to-rpm - Membuat paket rpm.
  • -l , --to-lsb - Membuat paket LSB.
  • -t , --to-tgz - Membuat paket tgz.
  • --to-slp - Membuat paket slp.
  • -p , --to-pkg - Membuat paket Solaris pkg.

Mari kita lihat beberapa contoh. Untuk tujuan panduan ini, saya akan menggunakan hello world .rpm kemasan. Harap diperhatikan bahwa hello package dikemas untuk hampir semua distribusi Linux. Jadi Anda tidak perlu mengubahnya. Saya menggunakannya hanya untuk demonstrasi.

Konversi paket RPM ke paket DEB menggunakan Alien

Sekarang mari kita ubah paket hello rpm menjadi .deb format menggunakan Alien seperti di bawah ini:

$ sudo alien --to-deb hello-2.10-5.fc34.x86_64.rpm

Atau sebentar lagi,

$ sudo alien -d hello-2.10-5.fc34.x86_64.rpm

Ini akan mengonversi .rpm yang diberikan paket ke .deb paket dan simpan paket yang dihasilkan di direktori saat ini.

Perhatian: Jika tidak ada flag yang ditentukan, Alien akan mengonversi paket menjadi .deb format secara default.

Anda dapat menginstal paket yang dihasilkan menggunakan manajer paket default.

Kami juga dapat mengonversi beberapa paket sekaligus. Perintah berikut akan mengonversi paket yang diberikan (halo &vim) menjadi .deb formatnya.

$ sudo alien hello-2.10-7.x86_64.rpm vim-enhanced-8.2.2637-1.fc34.x86_64.rpm 

Konversi paket DEB ke paket RPM menggunakan Alien

Demikian pula, kita dapat mengonversi .deb paket ke .rpm file paket seperti di bawah ini:

$ sudo alien --to-rpm hello-2.10-5.fc34.x86_64.rpm

Atau sebentar lagi,

$ sudo alien -r hello-2.10-5.fc34.x86_64.rpm

Instal paket secara otomatis

Terkadang, Anda mungkin ingin menginstal paket yang dihasilkan secara otomatis.

Untuk mengonversi paket dan menginstalnya secara otomatis dengan Alien, gunakan -i bendera.

$ sudo alien -d -i hello-2.10-7.x86_64.rpm 

Perintah ini akan mengonversi paket .rpm yang diberikan ke format paket .deb dan kemudian menginstalnya, dan akhirnya menghapus paket yang dihasilkan.

Contoh keluaran:

	dpkg --no-force-overwrite -i hello_2.10-8_amd64.deb
Selecting previously unselected package hello.
(Reading database ... 52712 files and directories currently installed.)
Preparing to unpack hello_2.10-8_amd64.deb ...
Unpacking hello (2.10-8) ...
Setting up hello (2.10-8) ...
Processing triggers for man-db (2.9.4-2) ...

Konversi ke beberapa format paket

Alien dapat membuat beberapa format file paket dari satu file paket. Contoh berikut menunjukkan cara membuat .deb , dan .tgz paket dari .rpm berkas.

$ sudo alien --to-deb --to-tgz hello-2.10-7.x86_64.rpm

Simpan nomor versi

Secara default, Alien menambahkan satu ke nomor versi minor dari setiap paket yang dikonversi. Misalnya, jika nomor versi 1.2-3, Alien akan menambahkan satu ke versi minor dan mengubahnya menjadi 1.2-4.

Perhatikan output perintah berikut.

$ sudo alien --to-deb hello-2.10-7.x86_64.rpm 
hello_2.10-8_amd64.deb generated

Versi paket sumber pada perintah di atas adalah 2.10.7. Setelah konversi paket, Alien mengubah versi minor dari 7 menjadi 8 di file target.

Jika Anda tidak ingin Alien mengubah nomor versi, gunakan -k , --keep-version tandai untuk menyimpan nomor versi asli dalam paket yang dihasilkan.

$ sudo alien -k --to-deb hello-2.10-7.x86_64.rpm 
hello_2.10-7_amd64.deb generated

Seperti yang Anda lihat di atas, file sumber dan target memiliki nomor versi yang sama.

Mendapatkan bantuan

Untuk menampilkan deskripsi singkat tentang Alien dan semua opsi umum yang didukung, lihat bagian bantuan Alien dengan menjalankan perintah berikut:

$ alien --help

Juga, lihat halaman manual.

$ man alien

Kesimpulan

Saya tidak akan memberikan jaminan tentang keakuratan konverter Alien. Saya hanya menguji beberapa paket seperti Vim, Hello world, dan Nano. Sejauh yang saya uji, Alien bekerja dengan baik untuk saya di Debian 11 bullseye.

Ini mungkin tidak akan berfungsi untuk beberapa paket yang bergantung pada sejumlah besar dependensi. Hasilnya mungkin berbeda dari satu paket ke paket lainnya.

Dalam kasus seperti itu, Anda mungkin perlu membuatnya dari sumber secara manual atau menggunakan aplikasi andal lainnya seperti CheckInstall atau Fpm . Saya menyarankan Anda untuk melihat sumber daya berikut untuk mempelajari cara membuat paket dari sumber.

  • Cara Membuat Paket Debian Dari Sumber
  • Cara Membuat Paket Dari Sumber Menggunakan CheckInstall
  • Cara Mudah Membuat Paket Linux Untuk Berbagai Platform
  • Buat Ulang Paket Biner Debian Yang Sudah Terinstal Pada Sistem
  • Cara Mengonversi Paket DEB Menjadi Paket Arch Linux

Semoga membantu.


Linux
  1. Cara membuat paket rpm

  2. Cara Menggunakan Pengelola Paket XBPS di Void Linux

  3. Cara membuat paket RPM Linux

  1. Manajemen paket Linux dengan apt

  2. Cara menghapus paket yatim piatu di CentOS Linux

  3. Bagaimana cara mengubah PDF menjadi JPG dengan baris perintah di Linux?

  1. Manajemen paket Linux dengan dnf

  2. Cara menggunakan pkgsrc di Linux

  3. Cara menanyakan informasi paket dengan manajer paket rpm