Hay formas de instalar rpms en un directorio de usuarios usando rpm
, pero no creo que sea sencillo. No creo que haya una manera de hacerlo yum
.
Mi práctica estándar se ha convertido en compilar desde la fuente a un local
directorio en mi casa
$ mkdir ~/local
$ mkdir ~/local/bin
$ mkdir ~/local/lib
$ mkdir ~/local/include
Descargo la fuente como lo haría /usr/local
cuando tengo root, por ejemplo, en ~/local/git
.
Al compilar establezco el prefijo en el local
directorio
$ configure --prefix=/home/user_name/local
$ make
$ make install
Luego agrego ~/local/bin
a mi $ PATH en .bash_profile
.
Por supuesto, el problema con la instalación desde la fuente es que no se obtiene una resolución de dependencia automática. Si encuentra que necesita instalar dependencias, compílelas e instálelas como se indica arriba. Luego, cuando compila git
, debe actualizar los indicadores de compilación para que busquen en la ubicación correcta las bibliotecas de la dependencia e incluyan archivos:
./configure --prefix=/home/user_name/local LDFLAG='-L/home/user_name/local/lib' CFLAGS='-I/home/user_name/local/include' CPPFLAGS='-I/home/user_name/local/include' CXXFLAGS='-I/home/user_name/local/include'
Un archivo .rpm es en realidad una forma de
cpio
archivo, que se parece mucho a una forma simple detar
. Larpm2cpio
utilidad probablemente esté instalada en el sistema y no requiere privilegios para usarla; escribe a estándar, para convertir:Hay una manera de que
man cpio
te puedas ver a ti mismo, pero lo que ahora quieres hacer es alimentar el archivo a cpio en modo "copiar en":Es muy probable que el material esté organizado en un árbol de directorios para que los archivos vayan a las ubicaciones apropiadas (bin, etc., etc.). Si no existen en su pwd, obtendrá un error, pero eso mostrará una lista de los archivos en el archivo (puede obtener lo mismo con el modificador
-t
/--list
). Si desea crear los directorios automáticamente, use-d
. Entonces, una forma rápida de desempaquetar un rpm:Puede usar esto para instalar en $ HOME. El único problema será si el programa espera encontrar cosas
/etc
, etc., ya que muchas cosas tienen su ubicación de instalación codificada para cualquier propósito cuando se compilan.Construir desde la fuente es probablemente una mejor opción (ya que puede proporcionar la ubicación correcta), pero si puede hacer que esto funcione en cualquier caso, entonces es rápido y simple.
Además, el explorador de archivos del comandante de medianoche (
mc
), y probablemente otros exploradores de archivos además, le permitirán navegar por una jerarquía rpm o cpio (o tar comprimido o zip) y copiar archivos individuales como si el archivo estuviera desempaquetado (crea un sistema de archivos temporal para navegar con el contenido del archivo).fuente
Esta es una alternativa (no usa yum) y el permiso será extraño, pero puede
chown
hacerlo para el usuario objetivo después: - también es un éxito o error :-(Luego, agregue ubicaciones apropiadas a su ruta.
fuente