Jak mogę zainstalować bardziej nowoczesną wersję narzędzi GNU (coreutils) w systemie Debian Linux bez uprawnień administratora?


13

Chciałbym zainstalować bardziej nowoczesną wersję narzędzi GNU (coreutils) w systemie Linux Debian, w którym nie mam uprawnień administratora. Czy jest na to sposób?

Uzasadnieniem jest to, że potrzebuję bardziej nowoczesnej wersji do wersji zainstalowanej w systemie, w którym zamierzam uruchomić moją analizę. Usiłuję użyć „sort -R” lub „shuf” do randomizacji linii w dużym pliku tekstowym.


1
Nie ma mowy. Dlaczego chcesz to zrobić?
Michael K

4
Uzasadnieniem jest to, że potrzebuję bardziej nowoczesnej wersji do wersji zainstalowanej w systemie, w którym mam zamiar przeprowadzić analizę. Usiłuję użyć „sort -R” lub „shuf” do randomizacji linii w dużym pliku tekstowym.
719016

Odpowiedzi:


16

Nie można ich zainstalować w tym sensie, że zastępują one istniejące dla wszystkich użytkowników systemu, ale można je skompilować i zainstalować w katalogu domowym i skonfigurować PATHtak, aby były uruchamiane zamiast systemowych.

Aby to zrobić, pobierz najnowszą wersję coreutils ze strony internetowej GNU . Następnie wyodrębnij archiwum cddo niego i uruchom następujące polecenia, aby je skompilować i zainstalować. Zwróć uwagę na --prefixprzełącznik, który pozwala skonfigurować katalog, w którym ma zostać zainstalowany.

./configure --prefix=/home/avilella/coreutils/
make
make install

Większość systemów Debian jest skonfigurowana do automatycznego dodawania ~/bindo twojej ŚCIEŻKI. W takim przypadku możesz skopiować narzędzia do tego katalogu. Jednak może nie być skonfigurowany do uruchamiania plików wykonywalnych z tego katalogu przed przeszukaniem katalogów systemowych, lub możesz chcieć przechowywać je we własnym katalogu. W takim przypadku musisz ~/.profileprzeszukać swój katalog, aby przeszukać ten katalog przed przeszukaniem katalogu systemowego. Aby to zrobić, dodaj taką linię:

PATH="$HOME/coreutils/bin:$PATH"

Jeśli wolisz, aby ich nie kompilacji, można także wyodrębnić je z nowszej pakietu Debiana używając ar vxw .debpliku do wysyłania data.tar.gzarchiwum z zawartością opakowania. Ale nowsze pakiety mogą wymagać nowszych bibliotek nieobecnych w systemie.


3
W PATH=..., należy użyć podwójnego lub żadnego cudzysłowu. Użycie pojedynczych cudzysłowów spowoduje wstawienie literału $HOMEi $PATHwstawienie zamiast ich wartości.
user1686,

@grawity: Wow, co za głupi błąd, zwłaszcza biorąc pod uwagę, że od wieków zostałem uszkodzony mózg przez podobny ciąg znaków PHP. Dzięki za poprawkę!
Poprawki
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.