Як я можу встановити більш сучасну версію утилітів GNU (coreutils) на Debian Linux без прав адміністратора?


13

Я хотів би встановити більш сучасну версію утилітів GNU (coreutils) у системі Linux Linux, де я не маю прав адміністратора. Чи є спосіб це зробити?

Обгрунтування полягає в тому, що мені потрібна більш сучасна версія, встановлена ​​в системі, де я маю намір провести аналіз. Я намагаюся використовувати "сортувати -R" або "shuf" для рандомізації рядків у великому текстовому файлі.


1
У жодному разі. Чому ти хочеш це робити?
Майкл К

4
Обгрунтування полягає в тому, що мені потрібна більш сучасна версія, встановлена ​​в системі, де я маю намір провести аналіз. Я намагаюся використовувати "сортувати -R" або "shuf" для рандомізації рядків у великому текстовому файлі.
719016

Відповіді:


16

Ви не можете встановити їх у тому сенсі, що вони переосмислюють існуючі для всіх користувачів системи, але ви можете зібрати та встановити їх у своєму домашньому каталозі та налаштувати 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тарболу зі вмістом пакета. Але новіші пакети можуть вимагати, що новіші бібліотеки відсутні у вашій системі.


3
У PATH=..., подвійні або жодні лапки не повинні використовуватися. Використання одинарних лапок спричинятиме прямолінійне $HOMEта $PATHвставлене, а не їх значення.
користувач1686

@grawity: Нічого собі, яка німа помилка, особливо зважаючи на те, що зараз у мене пошкоджений мозок через подібну обробку рядків PHP. Дякуємо за виправлення!
Патчі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.