Ich versuche, Software zu installieren, die auf CentOS 4.7 basiert. Wissen Sie, ob es auch in Ubuntu läuft? Ich habe gelesen, dass CentOS zu 100% binär kompatibel ist. Gilt das auch für die neueste Version von Ubuntu?
Ich versuche, Software zu installieren, die auf CentOS 4.7 basiert. Wissen Sie, ob es auch in Ubuntu läuft? Ich habe gelesen, dass CentOS zu 100% binär kompatibel ist. Gilt das auch für die neueste Version von Ubuntu?
Antworten:
Linux Standard Base (LSB) -Binärdateien sollen zwischen Distributionen kompatibel sein, die LSB unterstützen. CentOS unterstützt LSB. LSB-Unterstützung ist auch in Ubuntu verfügbar, aber ich weiß nicht, ob die entsprechenden LSB-Pakete standardmäßig installiert sind oder nicht. Es ist möglich zu testen, ob eine Anwendung binär kompatibel ist.
Beachten Sie, dass LSB umstritten ist, sowohl der Standard selbst als auch ob / wie viel Einfluss es hatte.
Eine für eine Linux-Distribution kompilierte ausführbare Datei funktioniert auf einer anderen Distribution, wenn diese andere Distribution über die erforderlichen gemeinsam genutzten Bibliotheken verfügt. CentOS hat ziemlich alte Bibliotheksversionen, daher sind Ubuntus Versionen möglicherweise zu neu. Aber oft, wenn Ubuntu nur hat libfoo5
und libfoo6
und Sie brauchen libfoo3
, können Sie es aus einer früheren Ubuntu-Version holen.
CentOS und Ubuntu verwenden unterschiedliche Verpackungssysteme: rpm vs. deb. Sie können eine Drehzahl in eine Deb mit umwandeln alien
. Das resultierende Paket kann installiert werden oder nicht, je nachdem, ob Sie die erforderlichen Abhängigkeiten haben. Es ist möglicherweise einfacher, die Drehzahl in ein einfaches Archiv zu konvertieren (erneut mit alien
) und diese in einem separaten Verzeichnis unter /opt
oder zu entpacken /usr/local
.
Wenn das Programm keine Liste mit Abhängigkeiten enthält, können Sie ausführen, um ldd /path/to/binary
zu sehen, welche Bibliotheken es benötigt. Sie sehen die Ausgabe so, als libfoo.so.4 => not found
ob etwas fehlt.
alien
ist ein Befehlszeilenprogramm. Ich weiß nicht, ob es eine grafische Benutzeroberfläche gibt. Wenn Sie mit der Befehlszeile nicht vertraut sind, empfehle ich, ein Binärpaket für Ubuntu zu erstellen.
CentOS ist "100% binärkompatibel" mit seinem kommerziellen Pendant , RedHat Enterprise Linux . Da RHEL ein lizenziertes System ist, das Supportverträge und verschiedene unternehmerische Dinge umfasst, möchte es nicht jeder ausführen. In einer Open-Source-Welt muss jedoch die gesamte Entwicklung geteilt werden. Während sie für Supportverträge, Medien und was auch immer Gebühren erheben, müssen sie die Quelle dennoch teilen. CentOS ist eine Neuverpackung davon, um sie der Community kostenlos zur Verfügung zu stellen.
Darüber hinaus besteht "100% Kompatibilität" nur zwischen den entsprechenden Versionen von RHEL und CentOS . Bibliotheksversionen ändern sich mit jeder Hauptversion. Da diese Projekte jedoch synchron veröffentlicht werden, können Sie Pakete zwischen ihnen austauschen, sofern beide für dieselbe Hauptversion eingerichtet sind.
Die Unterschiede zwischen Distributionen, insbesondere RPM-basierten Distributionen wie CentOS und Debian- basierten Distributionen wie Ubuntu, können zahlreich sein, und ein bestimmtes Paket kann nicht zwischen ihnen portiert werden. Die Gesamtsysteme sind jedoch ungefähr gleich. Die für das eine entwickelte Software kann normalerweise leicht für das andere kompiliert werden. Sie muss nur etwas anders kompiliert und verpackt werden. Wenn Sie alle richtigen Bibliotheksversionen abrufen möchten, funktionieren die Binärdateien von einer tatsächlich auf einer anderen. Siehe Gilles 'Antwort .
CentOS ist langfristig stabil und verfügt daher über ältere Bibliotheken, mit denen auf neueren Systemen kompilierte Binärdateien nicht verknüpft werden. CentOS verwendet den RPM-Paketmanager und Ubuntu Debian apt. Die Pakete sind also nicht einmal kompatibel.
Wenn Sie es unter CentOS möchten und es noch nicht vorhanden ist, müssen Sie im Allgemeinen ein RPM aus dem Quellcode auf einem anderen CentOS-Computer erstellen.