8

I want to use the 'progress' status option with dd which is available with coreutils 8.24 up. Ubuntu 14.04 (Trusty) has coreutils 8.21 and the current (stable) release for coreutils is >8.24.

I wish to upgrade from 8.21 to 8.24 in the same system and after searching the Internet I have come to learn that I would most likely have to build the package from source. But living in Ubuntu for all the time in my short computing life, I have never build a package from source and have no idea how to. Also, I am not sure if upgrading coreutils without Ubuntu's "permission" would not cause a system crash through some dependency issues for other utilities.

Is it possible to upgrade coreutils without effecting my current Ubuntu system? Could someone point out the way by which it could be achieved?

  • 2
    It may even be possible, but I wouldn't recommend you to do so. That's because coreutils is a very sensitive and core part of the system. If you want the new dd feature you can compile dd itself and place it in a separate directory. Then you can run it by giving its absolute path. This way you create a sandbox. – Eduardo Cola Feb 19 '16 at 8:50
  • @EduardoCola this sandbox idea is amazing. I never thought about it this way. Big thanks! – solyarist Feb 19 '16 at 8:52
  • @EduardoCola you may as well put that in an answer. However, I don't see why upgrading coreutils would break anything. It doesn't provide any system libraries, only various executables and AFAIK, they are always backwards compatible. – terdon Feb 19 '16 at 15:55
  • @terdon I understand you. But what I mean is that it's a fragile part of the system. If something messes up, you're lost. – Eduardo Cola Feb 19 '16 at 18:14
  • @EduardoCola, you may forget or something, you deserve the credit. But if you are not going to post an answer, do you allow to solyarist to post one? – user.dz Nov 22 '16 at 10:57
9

You can download, compile and install coreutils into a user defined directory for non system use.

Running as root, I used the following commands to install version 8.27 to /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

You can then run the command using the absolute path of the installed binaries.

 $ /root/coreutils/bin/dd

Update the wget url to use the version you desire. You can find coreutil releases here http://ftp.gnu.org/gnu/coreutils/

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.