Nie mam dostępu do konta root na tym komputerze.
Chciałbym wiedzieć, czy istnieje sposób, aby pobrać pakiety Ubuntu i zainstalować je jako użytkownik inny niż root?
Prawdopodobnie w moim ~/bin
lub ~/usr/share
czy coś takiego? Czy to zadziała?
Nie mam dostępu do konta root na tym komputerze.
Chciałbym wiedzieć, czy istnieje sposób, aby pobrać pakiety Ubuntu i zainstalować je jako użytkownik inny niż root?
Prawdopodobnie w moim ~/bin
lub ~/usr/share
czy coś takiego? Czy to zadziała?
Odpowiedzi:
Apt nie obsługuje go bezpośrednio, ale są na to sposoby.
Jednym z nich jest schroot
utworzenie chroota innego niż root. Jest to nieco zaangażowany proces , ale powinieneś znaleźć pomoc dla społeczności, ponieważ wielu programistów konfiguruje środowiska chroot do kompilowania kodu.
Drugi sposób, jaki znam, to instalacja z pakietu .deb. Możesz być w stanie pobrać to ze strony internetowej lub jeśli jest w repozytoriach Ubuntu, które możesz pobrać.
apt-get download package
Zamień package
na nazwę pakietu
Po otrzymaniu pliku deb wywołaj dpkg
bezpośrednio z wiersza poleceń. Poniższy przykład zainstaluje pakiet.deb w twoim katalogu domowym.
dpkg -i package.deb --force-not-root --root=$HOME
Wadą używania dpkg w ten sposób jest to, że komunikaty o błędach prawdopodobnie są tajemnicze; dpkg nie rozwiązuje automatycznie zależności ani nie tworzy oczekiwanej struktury katalogów.
Na koniec możesz użyć apt-get source
polecenia, aby pobrać źródło pakietu i skonfigurować go do instalacji lokalnej. Zwykle wygląda to tak:
apt-get source package
cd package
./configure --prefix=$HOME
make
make install
Wadą tego podejścia jest to, że potrzebujesz dostępnego środowiska programistycznego, aby to podejście w ogóle działało, a może się okazać, że kompilujesz dziesiątki pakietów w celu rozwiązania wszystkich zależności.
EDYTOWAĆ:
Ponieważ dpkg -i
nie działa (patrz komentarze), sugeruję tę alternatywę:
dpkg -x package.deb dir
Spowoduje to rozpakowanie pakietu .deb do katalogu. Następnie możesz wyeksportować ŚCIEŻKĘ tam, gdzie jest plik binarny. Tak długo, jak zainstalowane są wszystkie zależności pliku binarnego, powinien on działać normalnie.
sudo apt-get build-dep package
do zainstalowania wszystkiego, co jest potrzebne do zbudowania pakietu (po uzyskaniu jego źródła apt-get source
).
--force-not-root --root=$HOME
lub ich odmiany nie będą działać. Pakiety binarne Debiana nie są zaprojektowane do instalacji w katalogu domowym, kropka. Lub, mówiąc inaczej: „Poniższy przykład zainstaluje pakiet.deb w twoim katalogu domowym.”. Nie zrobi tego.
--force-not-root --root=/your/custom/path
Zakładam, że chcesz zainstalować jedit . Najpierw musisz znaleźć pakiet i go pobrać. Po prostu biorę plik deb z jakiegoś mirrora i otwieram konsolę / terminal:
mkdir /tmp/jedit && cd /tmp/jedit
- Wprowadza nowy katalog tmp
i zmienia się w nim.wget http://mirrors.kernel.org/ubuntu/pool/universe/j/jedit/jedit_4.3.1.dfsg-0ubuntu1_all.deb
- Pobierz pakietar x jedit_4.3.1.dfsg-0ubuntu1_all.deb
lub łatwe do wpisania ar x *.deb
- to wyodrębnia zawartość plikutar xvzf data.tar.gz
- plik data.tar.gz
zawiera wszystkie elementy potrzebne do uruchomienia oprogramowaniausr/bin/jedit
otwiera edytorMożesz przenieść pliki do dowolnego miejsca w katalogu domowym i stamtąd je uruchomić.
Napisałem program o nazwie JuJu, który zasadniczo pozwala mieć naprawdę małą dystrybucję linuksa (zawierającą tylko menedżera pakietów) w katalogu $ HOME / .juju.
Pozwala mieć dostęp do twojego niestandardowego systemu w katalogu domowym przez proot, a zatem możesz instalować dowolne pakiety bez uprawnień roota. Będzie działał poprawnie dla wszystkich głównych dystrybucji Linuksa, jedynym ograniczeniem jest to, że JuJu może działać na jądrze Linux z minimalną zalecaną wersją 2.6.32.
Na przykład po zainstalowaniu JuJu w celu zainstalowania jedit:
$>juju -f
(juju)$> pacman -S jedit
(juju)> jedit