Czy można używać RPM bez dostępu do roota?
12
W zależności od zawartości pakietu możesz po prostu wyodrębnić zawartość rpm i użyć jej gdzieś z katalogu domowego. Nawet jeśli nie jest oznaczony jako relokowalny. Jeśli pliki binarne w pakiecie mają zakodowane ścieżki, lub jeśli aplikacja wymaga dostępu do konta root, może to nie być możliwe.
rpm
polecenia bez dostępu do sudo / root.Istnieje wiele odpowiedzi sugerujących przemieszczalne pakiety. Opcja relokacji służy administratorom do wyboru miejsca docelowego (na przykład miejsca docelowego be / opt zamiast / usr / local) i nie jest tak naprawdę dla uprawnień użytkownika.
Chociaż możliwe jest obejście niektórych problemów związanych z uprawnieniami przy użyciu tej metody, głównym problemem jest to, że podczas wykonywania operacji RPM modyfikuje on bazy danych /var/lib/rpm/__db.*, które są własnością root: root. Tak jak powiedział JPerkSter „krótka odpowiedź = nie”. Najlepszym rozwiązaniem byłoby skonfigurowanie sudo w celu uwzględnienia określonych potrzeb.
źródło
Biorąc pod uwagę wszystkie powyższe kwestie dotyczące relokowalnych kompilacji, możesz spróbować wykonać instrukcje wymienione tutaj .
źródło
Specyfikacja RPM zawiera opcję o nazwie „relocatable”. Jeśli rpm jest zbudowany z włączoną relokowalnością, można go zainstalować w katalogu określonym przez użytkownika za pomocą opcji „--prefix”. Więc przypuszczalnie rpm może być zainstalowany lokalnie bez dostępu administratora, o ile spełnione są dwa warunki:
Ale generalnie nie, potrzebujesz dostępu administratora do zainstalowania RPM. Chociaż istnieje opcja relokacji, prawie nigdy nie widziałem pakietu, który zostałby zbudowany w celu jej obsługi.
źródło
Niektóre pakiety są relokowalne, więc mogą działać poprawnie bez roota, po prostu określ prefiks podczas instalacji: rpm -i my.rpm --prefix = / my / home / folder
Jeśli pakietu nie da się przenieść, nadal możesz wyodrębnić pliki z RPM i spróbować je uruchomić. Możesz wyodrębnić pliki RPM na przykład:
Skopiuj pliki do folderu ~ /, dodaj dodatkowe biblioteki zależności i licz na najlepsze. Nie jest to gwarantowane, ale możesz otrzymać takie pakiety, które nie mogą być relokowane.
źródło
Możesz zmusić go do zainstalowania w innym katalogu, używając innej ścieżki db. Ponadto prawdopodobnie nie powinieneś uruchamiać żadnych skryptów bezpośrednio bez ich sprawdzenia.
Spowoduje to umieszczenie rpm w bieżącym katalogu i wypakowanie skryptów, abyś mógł je edytować i uruchomić w razie potrzeby.
źródło
Tak, ale możesz tego nie chcieć. Użyłem niestandardowych manifestów marionetkowych i pakietów rpm do obsługi oprogramowania w klastrach obliczeniowych, do których nie miałem dostępu do roota. Teoretycznie jest to tak proste jak
Istnieją jednak dziwactwa w tym, jak to się zachowuje w EL4, EL5 i EL6, więc będziesz potrzebować innego zestawu kroków i opcji dla każdego z nich. Nie mam już pod ręką tych informacji. Te dziwactwa, a także częste problemy z bazą danych RPM (być może z powodu NFS) spowodowały, że żałuję używania rpm.
źródło
Możesz budować RPM bez dostępu do roota, po prostu zrób to w swoim katalogu domowym. Jeśli chodzi o instalowanie RPM, powiedziałbym, że krótka odpowiedź = nie.
źródło
nie jest możliwe niemożliwe rpm bez dostępu root, su lub sudo
źródło