Saya mencoba menginstal perangkat lunak yang dibangun pada CentOS 4.7. Apakah Anda tahu apakah itu juga akan berjalan di Ubuntu? Saya membaca CentOS kompatibel 100% biner. Apakah hal yang sama berlaku untuk versi terbaru dari Ubuntu?
9
Jawaban:
Binari Linux Standard Base (LSB) seharusnya kompatibel antara distro yang mendukung LSB. CentOS memiliki dukungan LSB. Dukungan LSB juga tersedia di Ubuntu, tetapi saya tidak tahu apakah paket-paket LSB yang relevan diinstal secara default atau tidak. Adalah mungkin untuk menguji apakah suatu aplikasi kompatibel dengan biner.
Perhatikan bahwa LSB kontroversial, baik standar itu sendiri maupun apakah / seberapa besar dampaknya.
sumber
Sebuah executable yang dikompilasi untuk distribusi Linux akan bekerja pada distribusi lain jika distribusi lain itu memiliki pustaka bersama yang diperlukan. CentOS memiliki versi pustaka yang cukup lama, sehingga versi Ubuntu mungkin terlalu baru; tetapi seringkali jika Ubuntu hanya memiliki
libfoo5
danlibfoo6
dan Anda butuhkanlibfoo3
Anda dapat mengambilnya dari rilis Ubuntu sebelumnya.CentOS dan Ubuntu menggunakan sistem pengemasan yang berbeda: rpm vs. deb. Anda dapat mengonversi rpm menjadi deb dengan
alien
. Paket yang dihasilkan mungkin dapat diinstal atau tidak tergantung pada apakah Anda memiliki dependensi yang diperlukan. Mungkin lebih mudah untuk mengkonversi rpm ke arsip biasa (lagi denganalien
) dan membongkar itu di direktori terpisah di bawah/opt
atau/usr/local
.Jika program tidak datang dengan daftar dependensi, Anda dapat menjalankan
ldd /path/to/binary
untuk melihat perpustakaan apa yang diperlukan. Anda akan melihat output sepertilibfoo.so.4 => not found
jika ada sesuatu yang hilang.sumber
alien
adalah program baris perintah. Saya tidak tahu apakah ada GUI di sekitarnya. Jika Anda tidak terbiasa dengan baris perintah, saya sarankan mencoba untuk mendapatkan paket biner untuk Ubuntu.CentOS "100% binary kompatibel" dengan mitra komersialnya , RedHat Enterprise Linux . Karena RHEL adalah sistem berlisensi termasuk kontrak dukungan dan berbagai hal yang bersifat perusahaan, tidak semua orang ingin menjalankannya. Namun di dunia open source semua pengembangan harus dibagikan, jadi sementara mereka mengenakan biaya untuk kontrak dukungan, media dan apa pun, mereka masih harus membagikan sumbernya. CentOS adalah pengemasan ulang untuk diberikan kepada masyarakat secara gratis.
Selanjutnya, kemudian "kompatibilitas 100%" hanya antara versi setara dari RHEL dan CentOS . Versi perpustakaan berubah dengan setiap rilis utama, tetapi karena proyek-proyek ini dirilis dalam sinkronisasi, Anda dapat bertukar paket di antara mereka selama keduanya disiapkan untuk versi utama yang sama.
Perbedaan antara distro, terutama distro berbasis RPM seperti CentOS dan yang berbasis Debian seperti Ubuntu dapat menjadi legiun, dan paket yang diberikan tidak akan portabel di antara mereka. Namun secara keseluruhan sistemnya hampir sama, perangkat lunak yang dikembangkan untuk satu biasanya dapat dengan mudah dikompilasi untuk yang lain, hanya saja harus dikompilasi dan dikemas sedikit berbeda. Jika Anda ingin menarik semua versi pustaka yang benar, binari dari satu akan benar-benar bekerja pada yang lain. Lihat jawaban Gilles .
sumber
CentOS stabil jangka panjang sehingga memiliki pustaka lama yang dikompilasi dengan biner pada sistem yang lebih baru. CentOS menggunakan manajer paket rpm, dan Ubuntu menggunakan Debian apt. Jadi paket-paket itu bahkan tidak kompatibel.
Secara umum, jika Anda menginginkannya pada CentOS dan belum memilikinya Anda harus membuat RPM dari sumber, pada mesin CentOS lainnya.
sumber