Como atualizar coreutils de 8.21 para 8.24 no Linux Ubuntu 14.04?

8

Eu quero usar a opção de status ' progress ' com o dd, disponível no coreutils 8.24 up. O Ubuntu 14.04 (Trusty) possui coreutils 8.21 e a versão atual (estável) para coreutils é> 8.24.

Desejo atualizar do 8.21 para o 8.24 no mesmo sistema e, depois de pesquisar na Internet, descobri que provavelmente teria que criar o pacote a partir da fonte. Mas, vivendo no Ubuntu o tempo todo na minha curta vida em computação, nunca construí um pacote a partir da fonte e não tenho idéia de como fazê-lo. Além disso, não tenho certeza se a atualização do coreutils sem a "permissão" do Ubuntu não causaria uma falha no sistema devido a alguns problemas de dependência de outros utilitários.

É possível atualizar o coreutils sem afetar meu sistema Ubuntu atual? Alguém poderia apontar o caminho pelo qual isso poderia ser alcançado?

solista
fonte
2
Pode até ser possível, mas eu não recomendo que você faça isso. Isso coreutilsocorre porque é uma parte muito sensível e essencial do sistema. Se você deseja o novo ddrecurso, pode compilar o próprio dd e colocá-lo em um diretório separado. Então você pode executá-lo, fornecendo seu caminho absoluto. Dessa forma, você cria uma caixa de areia.
Eduardo Cola
@EduardoCola essa ideia de sandbox é incrível. Eu nunca pensei sobre isso dessa maneira. Muito obrigado!
Solyarist
@ EduardoCola, você também pode responder isso. No entanto, não vejo por que a atualização coreutilsquebraria alguma coisa. Ele não fornece nenhuma biblioteca de sistema, apenas vários executáveis ​​e AFAIK, eles sempre são compatíveis com versões anteriores.
terdon
@terdon eu entendo você. Mas o que quero dizer é que é uma parte frágil do sistema. Se algo estragar, você está perdido.
Eduardo Cola
@ EduardoCola, você pode esquecer ou algo assim, você merece o crédito. Mas se você não vai postar uma resposta, você permite que o solyarist publique uma?
user.dz

Respostas:

9

É possível fazer o download, compilar e instalar o coreutils em um diretório definido pelo usuário para uso não no sistema.

Executando como root, usei os seguintes comandos para instalar a versão 8.27 em / 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

Você pode executar o comando usando o caminho absoluto dos binários instalados.

 $ /root/coreutils/bin/dd

Atualize o URL do wget para usar a versão desejada. Você pode encontrar versões coreutil aqui http://ftp.gnu.org/gnu/coreutils/

Codewithcheese
fonte