Como posso instalar uma versão mais moderna dos 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 debian linux onde não tenho direitos de administrador. Existe uma maneira de fazer isso?

A lógica é que preciso de uma versão mais moderna da instalada no sistema em que pretendo executar minha análise. Estou tentando usar "classificar -R" ou "shuf" para randomizar linhas em um grande arquivo de texto.


1
De jeito nenhum. Por que você quer fazer isso?
Michael K

4
A lógica é que preciso de uma versão mais moderna da instalada no sistema em que pretendo executar minha análise. Estou tentando usar "classificar -R" ou "shuf" para randomizar linhas em um grande arquivo de texto.
719016

Respostas:


16

Você não pode instalá-los no sentido de que eles substituem os existentes para todos os usuários do sistema, mas é possível compilá-los e instalá-los em seu diretório pessoal e configurá-los para PATHque sejam executados em vez dos do sistema.

Para fazer isso, baixe a versão mais recente do coreutils no site GNU . Em seguida, extraia o arquivo morto cdpara ele e execute os seguintes comandos para compilar e instalar. Observe a --prefixopção que permite configurar o diretório em que você deseja instalar.

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

A maioria dos sistemas Debian está configurada para adicionar automaticamente ~/binao 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 ​​desse diretório antes de pesquisar nos diretórios do sistema, ou você pode preferir mantê-los em seu próprio diretório. Nesse caso, você precisará editá-lo ~/.profilepara pesquisar nesse diretório antes de pesquisar no diretório do sistema. Para fazer isso, adicione uma linha como esta:

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

Se você preferir não compilá-los, também poderá extraí-los de um pacote Debian mais recente usando ar vxno .debarquivo para data.tar.gzgerar um tarball com o conteúdo do pacote. Mas pacotes mais novos podem exigir bibliotecas mais novas não presentes no seu sistema.


3
Em PATH=..., aspas duplas ou sem aspas devem ser usadas. Usando aspas simples fará com que o literal $HOMEe $PATHpara ser inserido, em vez de seus valores.
user1686

@ grrawity: Uau, que erro estúpido, especialmente considerando que eu sofro danos cerebrais pelo manuseio semelhante de strings do PHP há muito tempo. Obrigado pela correção!
Patches
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.