CentOS 4.7 üzerine kurulmuş bir yazılım yüklemeye çalışıyorum. Ubuntu'da da çalışıp çalışmayacağını biliyor musunuz? CentOS'un% 100 ikili uyumlu olduğunu okudum. Aynı şey Ubuntu'nun en son sürümü için de geçerli mi?
CentOS 4.7 üzerine kurulmuş bir yazılım yüklemeye çalışıyorum. Ubuntu'da da çalışıp çalışmayacağını biliyor musunuz? CentOS'un% 100 ikili uyumlu olduğunu okudum. Aynı şey Ubuntu'nun en son sürümü için de geçerli mi?
Yanıtlar:
Linux Standard Base (LSB) ikili dosyalarının LSB'yi destekleyen dağıtımlar arasında uyumlu olması gerekir. CentOS, LSB desteğine sahiptir. LSB desteği Ubuntu'da da mevcuttur, ancak ilgili LSB paketlerinin varsayılan olarak kurulu olup olmadığını bilmiyorum. Bir uygulamanın ikili uyumlu olup olmadığını test etmek mümkündür .
LSB'nin hem standardın kendisinde hem de ne kadar etkisi olup olmadığı konusunda tartışmalı olduğunu unutmayın.
Linux dağıtımı için derlenmiş bir yürütülebilir dosya, diğer dağıtımın gerekli paylaşılan kitaplıklara sahip olması durumunda başka bir dağıtımda çalışır. CentOS oldukça eski kütüphane sürümlerine sahiptir, bu nedenle Ubuntu'nun sürümleri çok yeni olabilir; ancak genellikle Ubuntu yalnızca sahipse libfoo5
ve libfoo6
ihtiyacınız libfoo3
varsa, daha önceki bir Ubuntu sürümünden alabilirsiniz.
CentOS ve Ubuntu farklı paketleme sistemleri kullanır: rpm ve deb. İle bir rpm değerini bir deb'e dönüştürebilirsiniz alien
. Ortaya çıkan paket, gerekli bağımlılıklara sahip olup olmadığınıza bağlı olarak yüklenebilir veya yüklenmeyebilir. Devir sayısını düz bir arşive (tekrar ile alien
) dönüştürmek ve bunu /opt
veya altındaki ayrı bir dizinden açmak daha kolay olabilir /usr/local
.
Program bir bağımlılıklar listesiyle birlikte gelmezse, ldd /path/to/binary
hangi kitaplıkların gerekli olduğunu görmek için çalıştırabilirsiniz . Bir libfoo.so.4 => not found
şey eksikmiş gibi çıktı görürsünüz .
alien
bir komut satırı programıdır. Etrafında bir GUI olup olmadığını bilmiyorum. Komut satırını bilmiyorsanız, Ubuntu için ikili bir paket almaya çalışmanızı öneririm.
CentOS "% 100 uyumlu ikili" dir ticari meslektaşı ile , RedHat Enterprise Linux . RHEL , destek sözleşmeleri ve çeşitli kurumsal şeyleri içeren lisanslı bir sistem olduğundan , herkes bunu yürütmek istemez. Bununla birlikte, açık kaynak dünyasında tüm gelişmelerin paylaşılması gerekir, bu nedenle destek sözleşmeleri, medya ve her ne olursa olsun, kaynağı paylaşmaları gerekir. CentOS , topluma ücretsiz olarak sağlamak için bunun yeniden paketlenmesidir.
Ayrıca, daha sonra% 100 "uyumluluk" sadece arasındadır eşdeğerlerinin arasında RHEL ve CentOS . Kütüphane sürümleri her büyük sürümle birlikte değişir, ancak bu projeler senkronize olarak yayınlandığından, ikisi de aynı ana sürüm için ayarlandığı sürece paketler arasında alışveriş yapabilirsiniz.
Dağıtımlar, özellikle CentOS gibi RPM tabanlı dağıtımlar ve Ubuntu gibi Debian tabanlı dağıtımlar arasındaki fark lejyon olabilir ve verilen bir paket aralarında taşınabilir olmaz. Bununla birlikte, genel sistemler kabaca aynıdır, biri için geliştirilen yazılım genellikle diğeri için kolayca derlenebilir, sadece biraz farklı derlenmeli ve paketlenmelidir. Tüm doğru kütüphane sürümlerini içeri almayı düşünüyorsanız, birinden ikili dosyalar diğerinde çalışır. Gilles'in cevabına bakın .
CentOS uzun vadeli istikrarlıdır, bu nedenle daha yeni sistemlerde derlenen ikili dosyaların bağlanmayacağı eski kütüphanelere sahiptir. CentOS rpm paket yöneticisini ve Ubuntu Debian apt kullanıyor. Yani paketler bile uyumlu değil.
Genellikle, CentOS'ta istiyorsanız ve zaten yoksa, başka bir CentOS makinesinde kaynaktan bir RPM oluşturmanız gerekir.