Lokalny system zarządzania pakietami dla użytkownika


10

Muszę wdrożyć, zarządzać i uruchamiać oprogramowanie jako użytkownik nieuprzywilejowany w SuSE (to znaczy brak dostępu do roota, nie mogę korzystać z zarządzania pakietami systemu itp.).

Jakie są moje opcje?

Wolałbym ponownie użyć systemowego menedżera pakietów (YaST), tworząc w jakiś sposób osobne lokalne repozytorium użytkownika. Drugim najlepszym wyborem jest oddzielny system zarządzania pakietami, który obsługuje lokalne repozytoria użytkownika. Najlepiej byłoby również obsługiwać aktualizacje w stylu push (w przeciwieństwie do pull).


Pytanie kanoniczne, którego szukałem, ale nie znalazłem, dopóki nie zacząłem nagrody za to. - Menedżerowie pakietów innych niż root
Piotr Dobrogost

Myślę, że nie ma wiele do powiedzenia na ten temat poza tym, co zostało powiedziane. Istnieją różne możliwe metodologie instalowania oprogramowania jako użytkownik inny niż root, ale nie ma żadnych formalnych systemów, więc nie ma kanonicznej odpowiedzi. Chociaż może się to wydawać „bardzo interesującym i ważnym” pytaniem, prawdopodobnie dotyczy to tylko niewielkiej mniejszości użytkowników, którzy bardzo potrzebują takiej rzeczy, co, biorąc pod uwagę potencjalnie kolosalną ilość pracy i bólu głowy, pomaga wyjaśnić, dlaczego to się nie stało.
goldilocks

Odpowiedzi:


7

Dla Gentoo jest projekt Gentoo Prefix , który pozwala instalować pakiety w innym miejscu niż /. Portage Menedżera pakietów napisany jest w Pythonie i jest bardzo przenośny, dzięki czemu można łatwo skonfigurować nowe drzewo dla użytkownika, do którego ten użytkownik ma pełny dostęp, bez niszczenia czegokolwiek.

Dwa problemy, które widzę:

  1. Prawdopodobnie będziesz musiał skompilować wiele rzeczy lub zbudować pakiety binarne dla swoich użytkowników i prawdopodobnie będziesz musiał zainstalować wiele rzeczy dwa razy, aby przedrostek działał poprawnie (myślę, że ciężko byłoby zbudować rzeczy przeciwko tobie już zainstalowane pakiety w ten sposób)

  2. Nie miałbyś usługi push.

Innym podejściem, które widzę, byłoby zaoferowanie ciosu plików tar.gz, które są po prostu niestandardowymi pakietami z twojej dystrybucji załatanymi, aby używały innego prefiksu: Załóżmy, że tworzysz katalog „Library” w każdym katalogu użytkownika i dodajesz „~ / Library / usr / bin ”do ścieżki każdego użytkownika, prosty menedżer pakietów może być ulepszony, aby zajął się instalacjami (możesz również spojrzeć na Pacmana Arch Linuxa, ponieważ są to po prostu pliki .tar.gz i zależności.


1
Ale nie używa Gentoo, jest na SuSE. Jak to pomaga?
ire_and_curses

Jak powiedział ire_and_curses, dotyczy to Gentoo, a nie SuSE. Chciałbym przegłosować, ale jestem tylko na 123 powtórzeniach (potrzeba 125, aby głosować ..)
JamesTheAwesomeDude

3
Prefiks Gentoo można również zainstalować na SUSE.
zjhui

3
Chociaż nie jest to odpowiedź specyficzna dla SuSE, nie ma odpowiedzi specyficznej dla SuSE , więc ktoś, kto absolutnie musi mieć system Linux, który może to zrobić, może być zainteresowany tym, co jest faktycznie dostępne. „Alternatywy” wcale nie są nieistotne ani styczne, jeśli w rzeczywistości są jedyną możliwością . + 1
goldilocks

0

Użyj uprzywilejowanego menedżera użytkowników [licencjonowanego :(] i możesz uruchamiać polecenia wymagające dostępu superużytkownika jak zwykły użytkownik. Wszystko jest śledzone i kontrolowane


2
Cześć! Czy ktoś może rozwinąć to nieco więcej ...? Czy użytkownik może normalnie pracować z Linuksem (uzyskać pakiety, zainstalować, skompilować itp.) W ograniczonym środowisku sieciowym (tj. Bez dostępu do gry z lokalnymi / zdalnymi ustawieniami proxy, itp.)?
Nikos Alexandris,

0

Możesz zezwolić wszystkim zypper family commandużytkownikom /etc/sudoers file.


Czy możesz być nieco bardziej precyzyjny? Jak to zrobić, jakie środki ostrożności należy podjąć, wszelkie ryzyko?
vonbrand,

zypperpolecenie takie jak apt-get w debianie lub yumw dystrybucji redhat-base. Możesz więc: youruser ALL = NOPASSWD: /usr/sbin/zyppernie musisz rootować uprawnień i hasła.
PersianGulf

Po określeniu poleceń nie ma żadnego ryzyka.
PersianGulf

1
Jasne, bez ryzyka. Nie chodzi o to, że każdy przypadkowy użytkownik, który może instalować / usuwać pakiety, może popsuć system królewsko.
vonbrand,

nie, ponieważ sam system używa systemu blokującego.
PersianGulf
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.