Ich möchte zwei (oder mehr) Versionen derselben Pakete auf meinem Gentoo-System installieren. Ich weiß mit Sicherheit, dass es keine Dateikollisionen geben wird, da nur sehr wenige Dateien installiert sind und jede nach der Version benannt ist.
Ich kenne Slots, aber diese sind in den Ebuild-Dateien angegeben. Nehmen wir an, ich möchte aus mehreren Gründen keine Ebuild-Datei bearbeiten.
Ich möchte, dass die installierten Versionen Teil des Weltpakets sind, damit sie wie gewohnt neu installiert oder deinstalliert werden können.
Gibt es eine Möglichkeit, mehrere Versionen desselben Pakets zu installieren? Kennen Sie einige Portage-Tricks, um dies zu erreichen?
package-management
gentoo
version
emerge
Laurent Pireyn
quelle
quelle
Antworten:
Dafür sind Slots da. Wenn das Paket nicht geschlitzt ist, kann ich mir nur vorstellen, ein persönliches Overlay und ein neues Paket / E-Build zu erstellen, das geschlitzt ist.
quelle
Ich denke, theoretisch könnte man etwas Dummes tun wie:
Grundsätzlich unterliegen jedoch alle Nicht-Overlay-Inhalte in hohem Maße zusätzlichen Einschränkungen und Anforderungen, über die nicht so viele Informationen vorliegen.
quelle
Sie könnten versuchen (ich bin nicht sicher, ob es wie erwartet funktioniert)
/etc/portage/env
, den SLOT bestimmter Paketversionen festzulegen. Möglicherweise funktioniert dies jedoch nicht, da Metadaten zwischengespeichert werden. Selbst wenn es funktioniert, ist dies ein Problem und kann zu unerwartetem Verhalten führen. Wie immer, wenn es kaputt geht, können Sie die Teile behalten.quelle
Dies ist eine alte Frage, aber immer noch gültig, und niemand hat den folgenden einfachen Ansatz vorgeschlagen:
Wenn Sie keine Slots erstellen möchten und wissen, dass die Dateien nicht kollidieren, erstellen Sie einfach ein neues Ebuild in Ihrem lokalen Overlay (nachdem Sie das lokale Overlay in make.conf eingerichtet haben) und benennen Sie es anders. Vielleicht so etwas wie 'mypkg.ebuild'. Es gibt kein Gesetz, das angibt, dass der Name des Ebuilds und die installierten Dateien denselben Namen haben müssen. Kopieren Sie die Datei pkg.ebuild von portage nach /usr/local/portage/app-class/mypkg-newversion.ebuild, nehmen Sie die erforderlichen Änderungen für die neue Version vor, erstellen Sie sie neu und erstellen Sie sie.
Beachten Sie, dass Sie beim Abrufen der Quellen einige der vordefinierten Variablennamen ($ {P} et al.) Nicht verwenden können.
quelle
Ein weiteres mögliches Thema ist das Gentoo-Präfix
Dies könnte eine praktikable Alternative sein, wenn es Ihnen nichts ausmacht, zwei Gentoo-Ökosysteme zu erhalten, um das "alternative" Paket bereitzustellen.
Dies bedeutet im Wesentlichen, einen "Unterraum" für einen bestimmten Projektbereich zu erstellen und Gentoo dann in diesem Projektbereich anders zu verwenden.
quelle