U / min ohne Wurzel

12

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

David Nehme
quelle

Antworten:

2

Abhängig vom Inhalt des Pakets können Sie einfach den Inhalt der Drehzahl extrahieren und von irgendwo in Ihrem Home-Verzeichnis verwenden. Auch wenn es nicht als verlagerbar gekennzeichnet ist. Wenn Binärdateien im Paket fest codierte Pfade haben oder wenn die Anwendung Root-Zugriff erfordert, ist dies möglicherweise nicht möglich.

Zoredache
quelle
1
Dies ist tatsächlich falsch. Sie können den rpmBefehl nicht ohne Sudo / Root-Zugriff ausführen .
8

Es gibt viele Antworten, die auf verschiebbare Pakete hinweisen. Die Umzugsoption ist für Administratoren vorgesehen, um das Ziel auszuwählen (z. B. Ziel als / opt anstelle von / usr / local festlegen) und gilt nicht wirklich für Benutzerberechtigungen.

Mit dieser Methode können möglicherweise einige Berechtigungsprobleme umgangen werden. Das Hauptproblem besteht jedoch darin, dass beim Ausführen von RPM-Vorgängen die Datenbanken /var/lib/rpm/__db.* geändert werden, deren Eigentümer root: root ist. Also wie JPerkSter sagte "kurze Antwort = nein". Die Einrichtung von sudo, um den spezifischen Anforderungen gerecht zu werden, ist wahrscheinlich die beste Wahl.

Alex
quelle
8

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

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
Lee Gee
quelle
3

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

  1. Das Paket wurde ursprünglich so erstellt, dass es verschoben werden kann
  2. Die Binärdatei 'rpm' versucht nicht, das Paket zum globalen Systemkatalog hinzuzufügen

Nein, im Allgemeinen benötigen Sie einen Superuser-Zugriff, um ein RPM zu installieren. Während die verschiebbare Option existiert, habe ich fast nie ein Paket gesehen, das dafür entwickelt wurde.

Scott Pack
quelle
3

Einige Pakete können verschoben werden, sodass sie ohne root problemlos funktionieren. Geben Sie bei der Installation einfach das Präfix an: rpm -i my.rpm --prefix = / my / home / folder

Wenn das Paket nicht verschoben werden kann, können Sie die Dateien dennoch aus RPM extrahieren und versuchen, sie auszuführen. Sie können RPM-Dateien extrahieren, indem Sie beispielsweise Folgendes verwenden:

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

Datageek
quelle
2

Sie können die Installation in einem anderen Verzeichnis mit einem anderen Datenbankpfad erzwingen. Außerdem sollten Sie wahrscheinlich keine Skripte direkt ausführen, ohne sie auszuchecken.

Dadurch wird eine Drehzahl unter das aktuelle Verzeichnis gestellt und die Skripte 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
user12722
quelle
2

Ja, aber vielleicht möchten Sie nicht. Ich habe benutzerdefinierte Puppet-Manifeste und RPM-Pakete verwendet, um Software auf Rechenclustern 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 einige Besonderheiten, wie sich dies in EL4, EL5 und EL6 verhält, sodass Sie für jeden Schritt eine andere Reihe von Schritten und Optionen benötigen. Ich habe diese Informationen nicht mehr zur Hand. Diese Macken sowie häufige Probleme mit der RPM-Datenbank (möglicherweise aufgrund von NFS) ließen mich die Verwendung von RPM bereuen.

Sciurus
quelle
1

Sie können RPMs ohne Root-Zugriff erstellen. Tun Sie dies einfach in Ihrem Homedirectory. In Bezug auf die Installation von RPMs würde ich die kurze Antwort = Nein sagen.

JPerkSter
quelle
-2

Nein, es ist keine Drehzahl ohne Root-, Su- oder Sudo-Zugriff möglich

Rajat
quelle