GNU/Linux >> Belajar Linux >  >> Linux

Apakah mungkin membangun distro Linux yang mendukung paket RPM dan .deb?

Saya tidak berpikir ada distribusi di luar sana yang mendukung keduanya secara asli, tetapi ternyata ada satu dalam pengembangan, Bedrock Linux (terima kasih kepada iMalinowski untuk informasinya). Di distribusi lain Anda dapat menggunakan alat konversi seperti alien untuk mengubah dari satu format ke format lainnya. Apa pun yang berbasis perangkat lunak dapat dilakukan, dengan waktu dan energi yang cukup, sehingga dimungkinkan untuk membangun distribusi seperti itu (tetapi mengingat perbedaan antara kemampuan .deb dan .rpm paket, cukup sulit).

Namun semua ini mungkin berasal dari gagasan bahwa mendukung kedua format paket akan membuat hidup lebih sederhana, karena Anda kemudian dapat menginstal paket dari mana saja (well, di mana saja menyediakan .deb atau .rpm ). Secara filosofis, itu cacat. Distribusi adalah sekumpulan paket yang koheren; jika Anda ingin menyediakan perangkat lunak untuk distribusi itu, Anda benar-benar perlu menargetkannya secara khusus, termasuk menggunakan format paketnya (dan yang lebih penting, metadata). Tidak ada gunanya mendukung beberapa format paket secara native.

(Di dunia Debian, paket dapat bekerja pada varian yang bukan target utamanya, karena nomenklatur paket agak homogen, dan karena sebagian besar distribusi sesuai dengan pohon pewarisan. Itu tidak benar di dunia RPM. Dalam kedua kasus pencampuran dan mencocokkan adalah ide yang buruk.)

Anda harus mempertimbangkan distribusi Anda sebagai dasar untuk membangun sistem yang Anda inginkan, tetap berpegang pada aturan dan ekosistem distribusi Anda, tanpa mencampuradukkan hal-hal dari distribusi lain. Anda memerlukan abstraksi tingkat yang lebih tinggi untuk mendukung pencampuran dan pencocokan (atau lebih tepatnya, untuk menyediakan lingkungan distribusi silang):runtime Steam, Flatpak, dll.


Bedrock Linux melakukan ini. Tidak mengatakan saya telah melakukan ini, atau bahwa ini adalah ide yang bagus, tetapi sedang dilakukan.


Tidak, monster seperti itu seharusnya tidak dibangun. Tidak seperti, katakanlah, bundel aplikasi MacOS, yang biasanya menyertakan semua yang diperlukan aplikasi untuk berjalan di sistem operasi, paket RPM dan .deb hampir selalu bergantung pada paket lain, seperti pustaka bersama. Paket Linux mencantumkan paket lain yang perlu ada, dan manajer paket membantu menegakkan persyaratan tersebut. Selain itu, distribusi Linux berbeda dalam hal cara kerjanya (mis. /etc/network/interfaces.d vs. /etc/sysconfig/network-scripts ).

Anda bahkan tidak boleh mencampur paket dari repositori sewenang-wenang dalam keluarga format paket yang sama. Artinya, menginstal paket SuSE di mesin CentOS sama saja meminta masalah, padahal sama-sama menggunakan RPM. Saya bahkan tidak akan menginstal paket yang ditujukan untuk versi berbeda dari OS yang sama (misalnya paket Ubuntu 14.04 pada sistem 16.04) kecuali saya tahu persis apa yang saya lakukan.

Jadi, mencoba mendukung RPM dan .deb pada sistem yang sama tidak mungkin dilakukan. Dalam situasi putus asa tertentu, Anda dapat mengonversi paket tertentu menggunakan alien , tetapi Anda harus berusaha keras untuk memecahkan masalah yang pasti akan muncul dari peretasan tersebut.


Linux
  1. Cara membuat paket rpm

  2. Cara Mendaftar File yang Diinstal Dari Paket RPM atau DEB di Linux

  3. Situs Web Berguna untuk Mengunduh Aplikasi Linux DEB atau RPM

  1. Cara Mengaktifkan Snap di Linux Mint 20 dan Menginstal Paket Snap

  2. Instal paket RPM di Ubuntu 11.10 dan Ubuntu 11.04

  3. Apa implementasi Linux sekecil mungkin?

  1. Cara Memeriksa vendor paket RPM yang diinstal di Linux

  2. Distro Linux hanya dengan busybox dan bash?

  3. Apakah mungkin untuk mengkompilasi Distro Darwin dari sumber, seperti Anda dapat membuat Distro Linux?