Supongamos que tengo acceso ssh a algún servidor Ubuntu como usuario y necesito instalar algunas herramientas que no son del sistema para mayor comodidad (mc, rtorrent, mcedit). No quiero molestar a los administradores con estos pequeños programas.
¿Hay alguna manera de instalarlos (hacer que se ejecuten) sin usar algo como sudo apt-get install
?
Respuesta1
Debes compilarlos desde la fuente. Debería ser sólo una cuestión de
apt-get source PACKAGE
./configure --prefix=$HOME/myapps
make
make install
El binario entonces se ubicaría en ~/myapps/bin
. Entonces, agregue export PATH="$HOME/myapps/bin:$PATH"
a su .bashrc
archivo y vuelva a cargar el .bashrc
archivo con source ~/.bashrc
. Por supuesto, esto supone que gcc está instalado en el sistema.
Respuesta2
Compile e instale en
~/bin
(y edítelo.bashrc
para configurarloPATH
para incluirlo). De manera similar, las bibliotecas se pueden compilar e instalar~/lib
(configuradasLD_LIBRARY_PATH
para que apunten a ellas), y los encabezados de desarrollo se pueden instalar, por ejemplo, en~/includes
.Dependiendo de los detalles específicos de los programas que desea instalar y las bibliotecas de las que dependen, puede descargar los archivos .deb y usar '
dpkg-deb -x
' para extraerlos debajo de su directorio de inicio. Luego te divertirás mucho configurandoPATH
,LD_LIBRARY_PATH
y otrosvariables
. Cuanto más complejo sea el programa o aplicación que estás instalando, más diversión tendrás :)Por supuesto, no podrá instalar
setuid
archivos binarios de esta manera: se instalarán, pero (dado que no tiene permiso para rootearlos o configurar elsetuid
bit en ellos) serán archivos binarios normales de su propiedad. .De manera similar, los demonios y los servicios del sistema que esperan ejecutarse como un determinado
UID
o tienen la capacidad de cambiar el uid, o esperan que los archivos estén en su/etc
lugar~/etc
, etc., probablemente no funcionen bien, en todo caso.La mayoría de los administradores de sistemas considerarían programas inocuos
mc
ymcedit
"en su mayoría inofensivos".Muy pocos, sin embargo, considerarían inofensivo instalar un cliente torrent, especialmente si tienen que pagar por el ancho de banda o terminan siendo legalmente responsables. La mayoría de los administradores de sistemas probablemente no estarían del todo contentos con que los usuarios finales instalaran dicho software sin permiso. Puede que te digan "claro, adelante, noqueate" o puede que no... pero debes preguntar sobre cualquier cosa que pueda causar problemas a los propietarios/administradores de la máquina.
Respuesta3
Puedes usarjunio, que crea un pequeño contenedor de Linux en el directorio del usuario, donde puede instalar cualquier paquete.
Respuesta4
De hecho, hay una herramienta para eso que acabo de crear hoy.
https://github.com/z3r0n3t/pkget
Todo lo que necesitas es acceso a bash, no hay root, hay algo especial. Puedes usar whet para descargarlo como un archivo zip o usar git clone.