como forçar a atualização de coreutils na distribuição antiga?

2

Estou executando um kubuntu antigo "preciso"

Eu preciso de uma versão mais atualizada do basename com a opção -s. Posso forçar isso de alguma forma?

Parece que eu preciso da versão 8.14 para uma versão que vejo em uma caixa mais nova.

    
por Codek 19.01.2015 / 18:59

1 resposta

4

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.

    
por 19.01.2015 / 23:50

Tags