Как обновить coreutils с 8.21 до 8.24 в Linux Ubuntu 14.04?

8

Я хочу использовать параметр статуса « progress » с dd, который доступен с coreutils 8.24 и выше. Ubuntu 14.04 (Trusty) имеет coreutils 8.21, а текущий (стабильный) выпуск coreutils> 8.24.

Я хочу обновить с 8.21 до 8.24 в той же системе, и после поиска в Интернете я узнал, что мне, скорее всего, придется собирать пакет из исходного кода. Но живя в Ubuntu все время в моей короткой компьютерной жизни, я никогда не собирал пакет из исходного кода и не знаю, как это сделать. Кроме того, я не уверен, что обновление coreutils без «разрешения» Ubuntu не вызовет сбой системы из-за некоторых проблем с зависимостями для других утилит.

Можно ли обновить coreutils, не затрагивая мою текущую систему Ubuntu? Может ли кто-нибудь указать, каким образом это может быть достигнуто?

solyarist
источник
2
Это даже возможно, но я бы не советовал вам это делать. Это потому, что coreutilsэто очень чувствительная и основная часть системы. Если вам нужна новая ddфункция, вы можете скомпилировать dd и поместить его в отдельный каталог. Тогда вы можете запустить его, указав его абсолютный путь. Таким образом, вы создаете песочницу.
Эдуардо Кола
@EduardoCola эта идея песочницы удивительна. Я никогда не думал об этом таким образом. Большое спасибо!
солярист
@EduardoCola Вы можете также указать это в ответе. Тем не менее, я не понимаю, почему обновление coreutilsможет сломать что-либо. Он не предоставляет никаких системных библиотек, только различные исполняемые файлы и AFAIK, они всегда обратно совместимы.
тердон
@terdon Я тебя понимаю. Но я имею в виду, что это хрупкая часть системы. Если что-то испортилось, вы потерялись.
Эдуардо Кола
@EduardoCola, вы можете забыть или что-то, вы заслуживаете кредит. Но если вы не собираетесь публиковать ответ, вы позволяете соляристу публиковать ответ?
user.dz

Ответы:

9

Вы можете скачать, скомпилировать и установить coreutils в пользовательский каталог для несистемного использования.

Работая от имени пользователя root, я использовал следующие команды для установки версии 8.27 в / root / coreutils

cd /root
wget http://ftp.gnu.org/gnu/coreutils/coreutils-8.27.tar.xz && tar xf coreutils-8.27.tar.xz
export FORCE_UNSAFE_CONFIGURE=1
cd /root/coreutils-8.27 && ./configure \
        --prefix=/root/coreutils            \
        --libexecdir=/root/coreutils/lib    \
        --enable-no-install-program=kill,uptime && make && make install

Затем вы можете запустить команду, используя абсолютный путь к установленным двоичным файлам.

 $ /root/coreutils/bin/dd

Обновите URL-адрес wget, чтобы использовать желаемую версию. Вы можете найти выпуски coreutil здесь http://ftp.gnu.org/gnu/coreutils/

Codewithcheese
источник