Sowohl Apt als auch DNF / Yum, meines Wissens die beiden beliebtesten Paketverwaltungsschemata für Linux-Distributionen, unterstützen nur die systemweite Installation von Paketen: Dateien im Besitz von root, Binärdateien (/usr)?/s?bin
, Einstellungen /etc
usw.
Auf Systemen, auf denen es mehrere Einzelbenutzer gibt, die keine Root-Rechte haben, kommt es jedoch sehr oft vor, dass ein Benutzer einige Apps oder Dienstprogramme installieren möchte, die für diese Distribution verfügbar sind. und es geht ihm gut mit einer Installation, die persönlich ist und nicht allen Benutzern gemeinsam ist.
Nun scheint es keine weit hergeholte oder sogar unglaublich komplizierte Idee zu sein, dass Pakete zur Installationszeit mit einem anderen Stammverzeichnis oder einer Reihe von Stammverzeichnissen anpassbar sind, sodass Benutzer dies tun können. Es ist auch kein großes Problem, eine benutzerspezifische Registrierung installierter Pakete zu verwalten (unabhängig davon, ob ein einzelner Benutzer über eine eigene Paket-DB verfügt oder nicht).
Was ist der Grund dafür, dass diese Funktionalität nicht zu diesen allgemeinen Paketverwaltungssystemen / -schemata hinzugefügt wurde?
Hinweis: Dies ist eine informative Frage, dh ich frage, was die Leute über die Vergangenheit wissen und nicht, was die Leute über diese Funktion denken .
quelle
pip
,npm
undgopkg
- teilweise, weil sie distrounabhängig sind und teilweise, weil sie im Allgemeinen eine benutzerspezifische Installation ermöglichen.Antworten:
Während gängige Paketmanager diesen Anwendungsfall nicht behandeln, gibt es mehrere Projekte, die dies tun:
Ich vermute, dass herkömmliche Paketmanager diesen Anwendungsfall nicht berücksichtigen, da dies den Prozess der Paketerstellung und -installation erheblich verkompliziert, da Paketbetreuer sehr vorsichtig sein müssen, um sicherzustellen, dass ihre Pakete ein dynamisches Installationsverzeichnis korrekt unterstützen. Tatsächlich unterstützen viele gängige Paketformate wie RPM ein dynamisches Installationsverzeichnis, aber kaum ein Maintainer nutzt diese Funktion aufgrund des hohen zusätzlichen Overheads beim Erstellen von Paketen.
quelle
Weil es die Komplexität der Systemverwaltung über das Notwendige hinaus erhöht.
quelle