Como posso instalar uma versão mais moderna de utilitários GNU (coreutils) no Debian Linux sem direitos de administrador?

13

Eu gostaria de instalar uma versão mais moderna dos utilitários GNU (coreutils) em um sistema linux debian no qual não tenho direitos de administrador. Existe uma maneira de fazer isso?

A razão é que eu preciso de uma versão mais moderna para aquela instalada no sistema onde pretendo executar minha análise. Eu estou tentando usar "sort -R" ou "shuf" para randomizar linhas em um arquivo de texto grande.

    
por 719016 01.07.2011 / 14:02

1 resposta

16

Não é possível instalá-los no sentido de que eles substituem os existentes para todos os usuários do sistema, mas você pode compilá-los e instalá-los em seu diretório inicial e configurar seu PATH de modo que eles sejam executados em vez do os do sistema.

Para fazer isso, baixe a última versão do coreutils do site da GNU . Em seguida, extraia o arquivo e cd para ele e execute os seguintes comandos para compilá-lo e instalá-lo. Observe a opção --prefix que permite configurar o diretório no qual você deseja instalá-lo.

./configure --prefix=/home/avilella/coreutils/
make
make install

A maioria dos sistemas Debian está configurada para adicionar automaticamente ~/bin ao seu PATH. Se for esse o caso, você pode copiar os utilitários para esse diretório. No entanto, ele pode não estar configurado para executar executáveis a partir desse diretório antes que procura nos diretórios do sistema, ou você pode preferir mantê-los em seu próprio diretório. Nesse caso, você precisará editar seu ~/.profile para pesquisar esse diretório antes de pesquisar os do sistema. Para fazer isso, adicione uma linha como esta:

PATH="$HOME/coreutils/bin:$PATH"

Se você preferir não compilá-los, você também pode extraí-los de um novo pacote Debian usando ar vx no arquivo .deb para gerar um% tar_de% tarball com o conteúdo do pacote. Mas os pacotes mais novos podem exigir que bibliotecas novas não estejam presentes em seu sistema.

    
por 01.07.2011 / 14:20