Я хотел бы установить более современную версию утилит GNU (coreutils) в системе Debian Linux, где у меня нет прав администратора. Есть способ сделать это?
Смысл в том, что мне нужна более современная версия, чем та, которая установлена в системе, где я собираюсь провести свой анализ. Я пытаюсь использовать "sort -R" или "shuf", чтобы рандомизировать строки в большом текстовом файле.
Ответы:
Вы не можете установить их в том смысле, что они переопределяют существующие для всех пользователей системы, но вы можете скомпилировать и установить их в свой домашний каталог и настроить так
PATH
, чтобы они запускались вместо системных.Для этого загрузите последнюю версию coreutils с веб-сайта GNU . Затем распакуйте архив
cd
в него и выполните следующие команды, чтобы скомпилировать и установить его. Обратите внимание на--prefix
переключатель, который позволяет настроить каталог, в который вы хотите установить.Большинство систем Debian настроены на автоматическое добавление
~/bin
в вашу PATH. Если это так, вы можете скопировать утилиты в этот каталог. Однако он не может быть настроен для запуска исполняемых файлов из этого каталога перед поиском в системных каталогах, или вы можете предпочесть хранить их в своем собственном каталоге. В этом случае вам нужно будет отредактировать свой~/.profile
каталог для поиска в этом каталоге, прежде чем искать в системных. Для этого добавьте строку вроде этой:Если вы не хотите , чтобы собрать их, вы можете также извлекать их из более нового пакета Debian, используя
ar vx
на.deb
файл для выводаdata.tar.gz
тарболла с содержимым пакета. Но для новых пакетов могут потребоваться новые библиотеки, которых нет в вашей системе.источник
PATH=...
, двойные или никакие кавычки должны быть использованы. Использование одинарных кавычек приведет к вставке литерала$HOME
и$PATH
его значений, а не их значений.