Czy istnieje prosty sposób instalowania pakietów z dużym drzewem zależności, pod warunkiem, że nie masz dostępu administratora? Powiedzmy na przykład, że chcę zainstalować Firefoksa. Firefox ma mnóstwo zależności, z których każda ma swoje własne zależności itp. Zainstalowanie ich w sposób „./configure; make; make install” potrwa wieczność.
Czy istnieje opcja, którą mogę dać apt-get, aby instalował się w katalogu osobistym? Czy jest jakiś sposób na zhakowanie go, aby wykonać dla mnie cały ciężki podnoszenie?
Odpowiedzi:
Możesz zainstalować pojedyncze pliki .deb w swoim katalogu domowym za pomocą:
Ale to nie zajmuje się zależnościami takimi jak aptitude lub apt-get.
źródło
Sprawdź NixOs ( LWN ). Pakiety są izolowane (czasem dystrybucja musi je załatać) i mogą być instalowane kilka razy, w różnych wersjach lub przez różnych użytkowników.
jhbuild może zautomatyzować duży proces cmmi. Ale ktoś musi napisać zestaw modułów (wykres zależności).
Jeśli korzystasz z ręcznego konfigurowania / wykonywania wszystkich czynności instalacyjnych, możesz użyć stow, aby uprościć instalację rzeczy w domu. Stow jest pomocny w instalowaniu rzeczy w kilku prefiksach, ale użyj tylko jednego prefiksu do rozwiązania zależności.
dpkg może zostać zmuszony do instalacji w innym prefiksie za pomocą instdir / admindir / root, ale jest to przydatne tylko w środowiskach chroot.
źródło
Nie kompiluj Firefoksa ze źródła, po prostu zainstaluj pakiet binarny w swoim katalogu domowym.
W tym artykule Mozilla KnowledgeBase wyjaśniono, jak to zrobić. Zasadniczo musisz tylko wyodrębnić plik archiwum i wykonać
firefox
w nim plik; wszystkie zależności są już uwzględnione, więc nie musisz niczego instalowaćapt
.EDYCJA: Nie, nie istnieje ogólna metoda, przynajmniej dlatego, że większość aplikacji (szczególnie GUI) wymaga, aby wiele powiązanych z nimi danych było umieszczanych w dobrze znanych lokalizacjach, takich jak / usr / share, i jest w niej zakodowana (cóż, można go skonfigurować w czasie kompilacji, ale nie chcesz ponownie kompilować wszystkiego, jak powiedziałeś w pytaniu). Możesz więc po prostu sprawdzić wstępnie skompilowane pakiety binarne, które szukają zasobów w katalogu uruchamiania, a nie systemowych.
źródło
Myślę, że odpowiedź brzmi „nie”. Po pierwsze, baza danych pakietów jest dostępna tylko przez root, a po drugie, niektóre / wiele pakietów ma zakodowane ścieżki, które uniemożliwiają ich przeniesienie. Użycie chroota byłoby możliwą odpowiedzią, ale do tego potrzebujesz również roota, lub przynajmniej kogoś z rootem, aby dać ci ograniczone prawa.
źródło
Uważam, że musisz zrobić chroot, a następnie zainstalować tam swoje pakiety.
ref: https://help.ubuntu.com/6.10/ubuntu/packagingguide/C/appendix-chroot.html https://wiki.ubuntu.com/DebootstrapChroot
źródło