Как я могу установить более современную версию утилит GNU (coreutils) в Debian Linux без прав администратора?

4052
719016

Я хотел бы установить более современную версию утилит GNU (coreutils) в системе Debian Linux, где у меня нет прав администратора. Есть способ сделать это?

Смысл в том, что мне нужна более современная версия, чем та, которая установлена ​​в системе, где я собираюсь провести анализ. Я пытаюсь использовать "sort -R" или "shuf", чтобы рандомизировать строки в большом текстовом файле.

13
Ни за что. почему ты хочешь сделать это? Michael K 12 лет назад 1
Смысл в том, что мне нужна более современная версия, чем та, которая установлена ​​в системе, где я собираюсь провести анализ. Я пытаюсь использовать "sort -R" или "shuf", чтобы рандомизировать строки в большом текстовом файле. 719016 12 лет назад 4

1 ответ на вопрос

16
Patches

Вы не можете установить их в том смысле, что они переопределяют существующие для всех пользователей системы, но вы можете скомпилировать и установить их в свой домашний каталог и настроить так PATH, чтобы они запускались вместо системных.

Для этого загрузите последнюю версию coreutils с веб-сайта GNU . Затем распакуйте архив cdв него и выполните следующие команды, чтобы скомпилировать и установить его. Обратите внимание на --prefixпереключатель, который позволяет вам настроить каталог, в который вы хотите его установить.

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

Большинство систем Debian настроены на автоматическое добавление ~/binв вашу PATH. Если это так, вы можете скопировать утилиты в этот каталог. Однако он не может быть настроен для запуска исполняемых файлов из этого каталога перед поиском в системных каталогах, или вы можете предпочесть хранить их в своем собственном каталоге. В этом случае вам нужно будет отредактировать свой ~/.profileкаталог для поиска в этом каталоге, прежде чем искать в системных. Для этого добавьте строку вроде этой:

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

Если вы не хотите, чтобы собрать их, вы можете также извлекать их из более нового пакета Debian, используя ar vxна .debфайл для вывода data.tar.gzтарболла с содержимым пакета. Но для новых пакетов могут потребоваться новые библиотеки, которых нет в вашей системе.

В `PATH = ...` должны использоваться двойные или никакие кавычки. Использование одинарных кавычек приведет к вставке литералов `$ HOME` и` $ PATH`, а не их значений. grawity 12 лет назад 3
@grawity: Wow, what a dumb mistake, especially considering that I have been brain damaged by PHP's similar string handling for ages now. Thanks for the fix! Patches 12 лет назад 0

Похожие вопросы