Frage U / min ohne Wurzel


Ist es möglich, rpm ohne Root-Zugriff zu verwenden?


11
2018-01-06 20:11


Ursprung




Antworten:


Je nach Inhalt des Pakets könnte man das einfach extrahiere den Inhalt der Drehzahl und verwenden Sie es von irgendwo mit Ihrem Home-Verzeichnis. Auch wenn es nicht als verschiebbar gekennzeichnet ist. Wenn Binärdateien in dem Paket fest codierte Pfade enthalten oder wenn die Anwendung Rootzugriff erfordert, ist dies möglicherweise nicht möglich.


1
2018-01-06 21:16



das ist eigentlich falsch, man kann das nicht wirklich laufen lassen rpm Befehl ohne sudo / root-Zugriff. - Jarrod Roberson


Es gibt viele Antworten, die verschiebbare Pakete vorschlagen. Mit der Option zum Verschieben können Administratoren das Ziel auswählen (z. B. Ziel / opt anstelle von / usr / local) und sind nicht wirklich Benutzerberechtigungen.

Es ist zwar möglich, einige Berechtigungsprobleme mit dieser Methode zu umgehen, aber das MAJOR-Problem besteht darin, dass bei der Ausführung von RPM-Operationen die Datenbanken /var/lib/rpm/__db.* geändert werden, die root: root besitzen. So wie JPerkster sagte "kurze Antwort = nein". Das Einrichten von sudo, um die spezifischen Bedürfnisse zu berücksichtigen, wäre wahrscheinlich die beste Wahl.


9
2018-01-06 21:57





Wenn Sie alle oben genannten Aspekte in Bezug auf verlagerbare Builds berücksichtigen, können Sie versuchen, die aufgeführten Anweisungen zu befolgen Hier.

rpm --initdb --root /home/username/local --dbpath /home/username/local/lib/rpm
rpm --root /home/username/local --dbpath /home/username/local/lib/rpm \
 --relocate /usr=/home/username/local --nodeps -ivh package.rpm

8
2018-02-06 08:26





Die RPM-Spezifikation enthält eine Option namens "relocatable". Wenn die RPM mit aktivierter Verschiebbarkeit erstellt wird, kann sie mit der Option '--prefix' in einem benutzerdefinierten Verzeichnis installiert werden. Vermutlich könnte eine RPM lokal ohne Superuser-Zugriff installiert werden, solange zwei Bedingungen erfüllt sind:

  1. Das Paket wurde ursprünglich so gebaut, dass es verlagerbar ist
  2. Die Binärdatei "rpm" versucht nicht, das Paket dem globalen Systemkatalog hinzuzufügen

Aber im Allgemeinen, nein, Sie benötigen einen Superuser-Zugang, um ein RPM zu installieren. Obwohl die Option "relocatable" vorhanden ist, habe ich noch nie ein Paket gesehen, das dafür gebaut wurde.


3
2018-01-06 20:47





Einige Pakete sind verlagerbar, so dass sie ohne root funktionieren. Geben Sie bei der Installation einfach das Präfix an: rpm -i mein.rpm --präfix = / mein / home / ordner

Wenn das Paket nicht verschiebbar ist, können Sie die Dateien dennoch aus RPM extrahieren und versuchen, sie auszuführen. Sie können RPM-Dateien zum Beispiel extrahieren:

Kopieren Sie die Dateien in Ihren ~ / Ordner, fügen Sie zusätzliche Abhängigkeitsbibliotheken hinzu und hoffen Sie auf das Beste. Nicht garantiert, aber Sie können einige nicht verschiebbare Pakete auf diese Weise erhalten.


3
2017-10-26 16:35





Sie können die Installation in einem anderen Verzeichnis mit einem anderen DB-Pfad erzwingen. Außerdem sollten Sie wahrscheinlich keine Skripte direkt ausführen, ohne sie zu überprüfen.

Dadurch wird eine RPM unter dem aktuellen Verzeichnis abgelegt und die Skripte werden extrahiert, sodass Sie sie bei Bedarf bearbeiten und ausführen können.

rpm --install --badreloc --relocate /=`pwd` -dbpath `pwd`/rpm_db --nodeps --noscripts package.rpm

rpm --query --scripts -p package.rpm > scripts.txt

2
2018-04-24 13:31





Ja, aber Sie möchten vielleicht nicht. Ich habe benutzerdefinierte Marionettenmanifeste und RPM-Pakete verwendet, um Software auf Computerclustern zu verwalten, auf die ich keinen Root-Zugriff hatte. In der Theorie ist es so einfach wie

rpm --inittb --root /foo 
rpm --dbpath /foo -i bar.rpm

Es gibt jedoch Macken darin, wie sich dies über EL4, EL5 und EL6 verhält, so dass Sie für jede eine andere Reihe von Schritten und Optionen benötigen. Ich habe diese Information nicht mehr zur Hand. Diese Macken, sowie häufige RPM-Datenbankprobleme (vielleicht aufgrund von NFS), bedauerten mich bei der Verwendung von rpm.


2
2018-04-24 15:28





Sie können RPMs ohne root-Zugang erstellen, tun Sie dies einfach in Ihrem homedirectory. Was die Installation von RPMs betrifft, würde ich sagen, die kurze Antwort = nein.


1
2018-01-06 20:24