A maneira "correta" de instalar um software mais novo seria atualizar sua distribuição. Esse é o princípio de uma distribuição lançada: pegue uma versão específica de vários softwares, teste-os operando juntos e libere o lote.
O Ubuntu às vezes fornece software mais novo para distribuições antigas, mas ainda suportadas, na forma de backports . Mas não há backport de coreutils para precisão.
Você pode compilar um pacote mais novo a partir do código-fonte e instalá-lo, compilando o pacote fonte do Ubuntu e usando dpkg
para instalar o deb resultante, ou compilando a fonte upstream e instalando-os em /usr/local
. Mas cuidado, pois às vezes uma versão mais nova de um pacote - especialmente um pacote tão fundamental quanto o coreutils - pode quebrar as coisas.
Se for apenas um programa específico que requer uma versão mais nova do coreutils, instale uma versão mais recente em um diretório específico (como /usr/local/other/coreutils-8.21
) e adicione /usr/local/other/coreutils-8.21/bin
ao PATH somente ao executar esse programa específico, com um script de wrapper como
#!/bin/sh
PATH=/usr/local/other/coreutils-8.21/bin:$PATH
exec that-specific-program "$@"
Você realmente precisa de uma nova versão do coreutils? basename -s SUFFIX FILENAME
também pode ser escrito basename FILENAME SUFFIX
, que funciona com versões mais antigas.