Jak mogę zainstalować RPM na komputerze, na którym nie mam uprawnień roota? Chcę zainstalować pakiet do własnego użytku tylko w osobistym katalogu roboczym. Używam SuSe SLES10.
Proszę, nie rozpalaj mnie słowami: „Ten pomysł jest tak głupi, że nie powinieneś tego robić, ponieważ wszystkie prośby muszą przejść od korporacyjnego boga roota, niech żyje wiecznie”.
Wiem, że mogę poprosić o to korzenia boga, ale zostanę zestrzelony (z nieskazitelnych, nienagannych powodów, jestem pewien ...). Poza tym nigdy nie będzie go instalował, nawet jeśli powie, że to zrobi.
Odpowiedzi:
Zobacz Jak wyodrębnić pakiet RPM bez jego instalowania (polecenie wyodrębnienia rpm) .
źródło
Jak wyodrębnić zawartość pakietów RPM
Jak wyodrębnić
tar.gz
archiwumJak wyodrębnić
tar.gz
pakiety do bieżącego kataloguJak budować pliki binarne jako użytkownik inny niż root
źródło
Inną opcją jest instalacja ze źródła, w której zwykle można zmienić katalog instalacyjny za pomocą
--prefix
przełącznika.źródło
Myślę, że „prawdziwą” odpowiedzią na „instalację” rpm bez uprawnień roota jest to, że nie możesz . ALE zakładając, że faktycznie możesz rozpocząć proces instalacji ...
Programy RPM są instalowane przy użyciu listy instrukcji zawartych w pliku specyfikacji (.spec), które zwykle są zgodne z hierarchią systemu plików. Większość ścieżek w tej hierarchii to prawie zawsze ścieżki systemu operacyjnego, a nie ścieżki użytkownika. Więc jeśli twoja nazwa użytkownika nie ma dostępu do wszystkich ścieżek, na których instaluje się RPM, to na pewno się nie powiedzie. Jeśli utworzysz RPM, który poprzedza wszystkie ścieżki
/home/me
(lub inną własną ścieżką), to zadziała. Wymagałoby to pozyskania pliku src.rpm i wyodrębnienia go, jak wyjaśniono w innych odpowiedziach, a następnie przebudowania. Zanim to zrobisz, możesz po prostu rozważyć uzyskanie dostępu do roota lub zbudowanie oprogramowania od zera (zwykle to, co robisz, jeśli nie planujesz dystrybucji oprogramowania na wiele komputerów).Są sprytne sztuczki, które pomogą ci w procesie ręcznego budowania. Na przykład możesz wykorzystać zależności już wymienione w RPM, aby uzyskać wszystkie swoje zależności: https://stackoverflow.com/a/13877738/1236128 .
źródło