Wie immer: Die Antwort hängt davon ab. RPMs (oder grundsätzlich ein beliebiger binärer Paketcontainer) enthalten ausführbaren Code. Meistens hängt dieser Code von bestimmten Bibliotheken oder Programmen ab. Das Paket gibt an, dass er beispielsweise von der Bibliothek libA
in einer Version> = 1.0 abhängt .
Nehmen Sie nun zwei verschiedene Distributionen mit beiden im RPM-Verpackungsformat. Nehmen wir an, man ruft das Paket libA-1.0 auf, sodass die von Ihnen angegebene Drehzahl angibt, dass es von libA abhängt. Die zweite Binärdistribution hat ein anderes Naimg-Schema und stellt dem Paket ein vor, language
so dass es benannt ist language-libA
. Selbst wenn der Inhalt dieser beiden libA-Pakete identisch ist, kann der Paketmanager dies nicht wissen. Sie können RPM natürlich zwingen, das Paket trotzdem zu installieren, ohne die Abhängigkeiten zu berücksichtigen, aber das verlangt normalerweise nur eine Bestrafung.
Das Problem ist weniger schlimm, wenn beide Distributionen miteinander verwandt sind oder sogar aufeinander basieren: Ubuntu basiert beispielsweise auf Debian und teilt daher viele der Namenskonventionen und -pakete, sodass Sie ein Paket für Debian auf eine Ubuntu-Box übertragen können.
Es hängt auch stark davon ab, in welcher Sprache das Paket geschrieben ist: Wenn Sie etwas wie Python interpretiert haben, bei dem das Paket im Grunde nur aus einer Reihe von Textdateien besteht, ist es normalerweise einfach, ein Paket für eine andere Distribution zu verwenden, aber wenn es geschrieben ist C ++ und abhängig und beide Distributionen verwenden unterschiedliche Versionen von Kernbibliotheken oder Compilern. Sie haben im Grunde kein Glück.