Teilen Sie installierte Bibliotheken zwischen Debian und Ubuntu

19

Ich versuche meine Festplatte zu partitionieren und Ubuntu und Debian zu installieren. Ich muss also keine alten Daten aufbewahren. Die neuesten Versionen beider Betriebssysteme werden verwendet.

Ich versuche zu verstehen, wie ich Bibliotheken, Programme usw. über apt in Ubuntu installieren und nicht unter Debian neu installieren kann und umgekehrt. Hier gehe ich davon aus, dass alles, was für Ubuntu funktioniert, für Debian funktioniert und hoffentlich auch umgekehrt.

Ich weiß, ich kann teilen / nach Hause. Aber dort wird die Mehrheit der Bibliotheken / Programme nicht sein. Sollte ich / usr auf eine andere Partition legen und / usr auf beiden Betriebssystemen einhängen? Oder muss ich nur / usr / local mounten? Oder gibt es eine bessere Möglichkeit?

dev_nut
quelle
11
Ihre Annahme ist falsch.
Anwar
10
Ihre Annahme ist sehr falsch.
Rinzwind
4
Hmmm, diese Frage verwirrt mich. Ist es nicht eine berechtigte Frage voller Hoffnung und utopischer Fantasien aller Debian-Varianten, die Binärdateien gemeinsam nutzen (es ist immerhin derselbe Computer mit derselben Architektur)?
dev_nut
4
Die Gegenstimme gehört mir. Ich halte es für eine berechtigte Frage. Nicht jeder ist so erfahren. Und wenn niemand diese Art von Fragen stellt, wo würden wir landen?
Rinzwind
1
Aufgestimmt, weil es eine legitime und nicht all diese unerfahrene Frage ist.
Jos

Antworten:

16

Oder gibt es eine bessere Möglichkeit?

  • Installieren Sie die gesamte Software, die Sie als Snaps verwenden.
  • Installieren Sie die gesamte verwendete Software in einer Partition mit dem Namen /opt/. Das ist wahrscheinlich eine Quellinstallation ( tar.gz).

Diese beiden Installationsmethoden können auf mehrere Distributionen verteilt werden. Als letztes müssen Sie PATH etwas hinzufügen oder einen Dienst in das Hauptsystem kopieren.

Sie können / usr / oder / var / nicht für zwei verschiedene Installationen freigeben. Sie können / usr / local / obwohl teilen. 2 Distributionen können unterschiedliche Versionen von Bibliotheken haben, daher müssen Sie möglicherweise einige Bibliotheken auf einem dieser Systeme installieren. Aber die wenigen KB, die Sie sparen, sind nicht die Zeit wert, die Sie dafür aufwenden werden. Außerdem werden Sie wahrscheinlich immer noch eines der beiden Systeme kaputt machen.

Rinzwind
quelle
Diese Antwort versucht tatsächlich, mir einige Lösungen zu geben. Wenn Sie sagen, Sie sollten / usr nicht teilen, sollte ich es nicht auch mit den gleichen Ubuntu-Versionen tun?
dev_nut
@dev_nut Sie sollten nicht /usr/*zwischen zwei Systemen teilen . Sie können gemeinsam /usr/local/*zwischen den beiden , obwohl Sie immer noch das Risiko von ‚lokalen‘ Software nicht kompatibel zwischen den beiden Versionen bis zu einem gewissen Niveau laufen. (Ihre fstabRegeln hätten sich also /usr/local/*auf einer anderen Partition befunden, und das würde dann in beiden geteilt)
Thomas Ward
1
@ dev_nut Sache ist. 2 verschiedene Softwareversionen in 2 Betriebssystemen führen zum Absturz einer dieser Versionen. Daneben gibt es möglicherweise Unterschiede im Setup für Standardbenutzer, die die Dinge durcheinander bringen (Benutzer befinden sich in / etc / password). Es ist problematisch, denselben Benutzer mit unterschiedlicher UID und GUID zu haben.
Rinzwind
11

Das einzige, was Sie niemals tun, ist, Debian- und Ubuntu-Repositorys, Systembibliotheken, Programme usw. zu mischen. Es wird beide Systeme massiv beschädigen. (Dies erstreckt sich auch auf das Mischen von Ubuntu und nicht offiziellen Varianten wie Mint; und während Sie theoretisch Kubuntu und Ubuntu zum Beispiel von 16.04 mischen können, sollten Sie einfach nicht und sollten ihre Kernsysteme getrennt halten).

Ubuntu befindet sich in einem viel schnelleren Release-Zyklus mit viel mehr aktualisierten Software-Bibliotheken als Debian. Auch das Gegenteil ist der Fall - Debian hat keine aktualisierten Bibliotheken usw.

Mischen und Anpassen wird die Systeme explodieren. Aus diesem Grund teilen Sie keine Bibliotheken miteinander.

Wenn Sie dies tun, werden beide Systeme beschädigt. Versuchen Sie nicht, Bibliotheken und Programme zwischen den beiden Systemen auszutauschen.

Während Sie technisch gesehen Benutzer-Home-Verzeichnisse für verschiedene Releases und Distributionen freigeben können , kann es bei einem oder mehreren Betriebssystemen zu seltsamen Problemen kommen, da sich die Konfigurationsversionen der verschiedenen Softwareversionen auf den einzelnen Systemen unterscheiden.

Thomas Ward
quelle
3

Ein weiterer Punkt, den ich zur bestehenden Antwort hinzufügen möchte, ist die Frage aptund dpkg, wie sie mit den Informationen über installierte Software umgehen.

dpkg , die Kernanwendung für die Paketverwaltung, verwendet eine /var/lib/dpkg/statusDatei zum Speichern und Abrufen von Informationen zu Debian-Paketen, die auf einem System installiert sind. Dies ist sehr spezifisch für dein Laufen. Sogar ein einzelner Eintrag kann die gesamte Paketverwaltungssache durcheinander bringen.

Angenommen, Sie haben eine Version 3.18für nautilusin Ubuntu installiert . Wenn Sie diese Informationen dann teilen, wird Debian sehen, dass sie 3.18für Nautilus gelten, auch wenn dies tatsächlich der Fall ist 3.16. Dies ist ein sehr vereinfachtes Beispiel. Aber es kann mehr Komplexität geben. Zum Beispiel kann Debian feststellen, dass Sie Pakete aus einem nicht existierenden Repository installiert haben und wird versuchen, diese zu entfernen und umgekehrt.

Die Antwort von Rinzwind hat eine einfache Möglichkeit aufgezeigt, mit einer gemeinsamen Anwendung umzugehen, nämlich eigenständige Anwendungen zu verwenden, die als Snap- oder Flat-Pak-Pakete verteilt werden. Diese teilen sich keine Bibliotheken, aber wenn Sie eine Art gemeinsame Anwendung suchen, die Ihr Ziel möglicherweise erfüllt.

Anwar
quelle