如何在Linux Ubuntu 14.04中将coreutils从8.21升级到8.24?


8

我想在dd中使用' progress '状态选项,该选项在coreutils 8.24 up中可用。Ubuntu 14.04(Trusty)具有coreutils 8.21,而coreutils的当前(稳定)发行版是> 8.24。

我希望在同一系统中从8.21升级到8.24,并在搜索Internet之后发现我很可能必须从源代码构建软件包。但是,在我短暂的计算生命中,他一直生活在Ubuntu上,我从未从源代码构建软件包,也不知道该如何做。另外,我不确定是否在没有Ubuntu“权限”的情况下升级coreutils是否会因为其他实用程序的某些依赖性问题而导致系统崩溃。

是否可以在不影响我当前的Ubuntu系统的情况下升级coreutils?有人可以指出实现该目标的方式吗?


2
甚至可能,但我不建议您这样做。这是因为它coreutils是系统的非常敏感的核心部分。如果需要新dd功能,可以编译dd本身并将其放在单独的目录中。然后,您可以通过给出其绝对路径来运行它。这样,您可以创建沙箱。
Eduardo Cola

@EduardoCola这个沙盒创意很棒。我从来没有这样想过。太谢谢了!
soararist

@EduardoCola,您也可以在回答它。但是,我不明白为什么升级coreutils会破坏一切。它不提供任何系统库,仅提供各种可执行文件和AFAIK,它们始终向后兼容。
terdon

@terdon我了解你。但是我的意思是这是系统的脆弱部分。如果有什么麻烦事,那你就迷路了。
Eduardo Cola

@EduardoCola,您可能会忘了什么,您应该得到荣誉。但是,如果您不打算发布答案,您是否允许solyarist发布答案?
user.dz

Answers:


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

更新wget URL以使用所需的版本。您可以在以下位置找到coreutil版本:http://ftp.gnu.org/gnu/coreutils/

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.