Comment mettre à niveau coreutils de 8.21 à 8.24 sous Linux Ubuntu 14.04?

8

Je veux utiliser l' option de statut ' progress ' avec dd qui est disponible avec coreutils 8.24 up. Ubuntu 14.04 (Trusty) a coreutils 8.21 et la version actuelle (stable) pour coreutils est> 8.24.

Je souhaite passer de 8.21 à 8.24 dans le même système et après avoir cherché sur Internet, j'ai appris que je devrais très probablement construire le paquet à partir de la source. Mais vivant dans Ubuntu pendant tout le temps de ma courte vie informatique, je n'ai jamais construit de package à partir des sources et je n'ai aucune idée de comment. De plus, je ne suis pas sûr que la mise à niveau de coreutils sans la "permission" d'Ubuntu n'entraînerait pas de plantage du système à travers certains problèmes de dépendance pour d'autres utilitaires.

Est-il possible de mettre à niveau coreutils sans affecter mon système Ubuntu actuel? Quelqu'un pourrait-il indiquer la manière dont cela pourrait être réalisé?

soliste
la source
2
C'est peut-être même possible, mais je ne vous recommanderais pas de le faire. C'est parce que coreutilsc'est une partie très sensible et centrale du système. Si vous voulez la nouvelle ddfonctionnalité, vous pouvez compiler dd lui-même et la placer dans un répertoire séparé. Ensuite, vous pouvez l'exécuter en donnant son chemin absolu. De cette façon, vous créez un bac à sable.
Eduardo Cola
@EduardoCola cette idée de bac à sable est incroyable. Je n'y ai jamais pensé de cette façon. Grand merci!
solyariste le
@EduardoCola, vous pouvez tout aussi bien mettre cela dans une réponse. Cependant, je ne vois pas pourquoi la mise à niveau coreutilscasserait quoi que ce soit. Il ne fournit aucune bibliothèque système, seulement divers exécutables et AFAIK, ils sont toujours rétrocompatibles.
terdon
@terdon je vous comprends. Mais ce que je veux dire, c'est que c'est une partie fragile du système. Si quelque chose gâche, vous êtes perdu.
Eduardo Cola
@EduardoCola, vous pouvez oublier ou quelque chose, vous méritez le crédit. Mais si vous ne postez pas de réponse, autorisez-vous un soliste à en poster une?
user.dz

Réponses:

9

Vous pouvez télécharger, compiler et installer coreutils dans un répertoire défini par l'utilisateur pour une utilisation non système.

En cours d'exécution en tant que root, j'ai utilisé les commandes suivantes pour installer la version 8.27 dans / 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

Vous pouvez ensuite exécuter la commande en utilisant le chemin absolu des fichiers binaires installés.

 $ /root/coreutils/bin/dd

Mettez à jour l'url wget pour utiliser la version que vous désirez. Vous pouvez trouver les versions coreutil ici http://ftp.gnu.org/gnu/coreutils/

Codewithcheese
la source