¿Cómo puedo instalar una versión más moderna de utilidades GNU (coreutils) en Debian Linux sin derechos de administrador?

13

Me gustaría instalar una versión más moderna de las utilidades GNU (coreutils) en un sistema Debian Linux donde no tengo derechos de administrador. ¿Hay una manera de hacer eso?

La razón es que necesito una versión más moderna a la instalada en el sistema donde tengo la intención de ejecutar mi análisis. Estoy tratando de usar "sort -R" o "shuf" para aleatorizar líneas en un archivo de texto grande.

719016
fuente
1
De ninguna manera. ¿Por qué quieres hacer esto?
Michael K
44
La razón es que necesito una versión más moderna a la instalada en el sistema donde tengo la intención de ejecutar mi análisis. Estoy tratando de usar "sort -R" o "shuf" para aleatorizar líneas en un archivo de texto grande.
719016

Respuestas:

16

No puede instalarlos en el sentido de que anulan los existentes para todos los usuarios del sistema, pero puede compilarlos e instalarlos en su directorio de inicio y configurarlos de PATHmodo que se ejecuten en lugar de los del sistema.

Para hacerlo, descargue la última versión de coreutils del sitio web de GNU . Luego, extraiga el archivo y cden él, y ejecute los siguientes comandos para compilarlo e instalarlo. Tenga en cuenta el --prefixinterruptor que le permite configurar el directorio en el que desea que se instale.

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

La mayoría de los sistemas Debian están configurados para agregarse automáticamente ~/bina su RUTA. Si ese es el caso, puede copiar las utilidades a ese directorio. Sin embargo, es posible que no esté configurado para ejecutar ejecutables desde ese directorio antes de buscar directorios del sistema, o puede preferir mantenerlos en su propio directorio. En ese caso, deberá editar su ~/.profilepara buscar ese directorio antes de buscar los del sistema. Para hacerlo, agregue una línea como esta:

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

Si prefiere no compilarlos, también puede extraerlos de un paquete Debian más reciente utilizando ar vxel .debarchivo para generar un data.tar.gztarball con el contenido del paquete. Pero los paquetes más nuevos pueden requerir bibliotecas más nuevas que no están presentes en su sistema.

Parches
fuente
3
En PATH=..., se deben usar comillas dobles o ninguna. El uso de comillas simples hará que se inserte el literal $HOMEy $PATHno sus valores.
user1686
@grawity: Wow, qué error más tonto, especialmente teniendo en cuenta que he sufrido daños cerebrales por el manejo similar de cadenas de PHP durante años. Gracias por la solución!
Parches del