Ejecuté Ubuntu 14.04 en un Chromebook Toshiba con crouton. La unidad en la que está instalado mi sistema operativo es pequeña, con solo 3.6 GB de espacio libre. Me gustaría instalar sage
en mi sistema, pero sage
requiere 6 GB de espacio libre en el sistema.
Sin embargo, siempre mantengo una tarjeta SD insertada en la unidad. La tarjeta tiene 175 GB de espacio libre. ¿Es posible instalar sage
en la tarjeta SD?
La forma en que intento descargar sage
con los comandos
apt-add-repository -y ppa:aims/sagemath
apt-get update
apt-get install sagemath-upstream-binary
como se encuentra aquí .
software-installation
external-hdd
Brian Fitzpatrick
fuente
fuente
sage
.Respuestas:
Dividir paquetes Debian en diferentes discos paquete por paquete es difícil. No hay soporte para eso; tendría que invocar por
dpkg
separado en los paquetes que desea instalar en una ubicación no predeterminada.Poner un árbol de directorios en un disco separado es fácil. Afortunadamente para usted, por lo que puedo deducir de una lectura rápida, los paquetes de Sage en el PPA instalan la mayoría de los archivos
/usr/lib/sagemath
. Puede ponerlo fácilmente en la tarjeta SD. Digamos que la tarjeta SD está montada (cuando está presente)/media/sdcard
. Crea un directorio allí y crea un enlace simbólico.Luego, todos los archivos en los que se instala dpkg
/usr/lib/sagemath
terminarán en la tarjeta SD (independientemente del paquete del que provengan).Si intenta usar Sage o administrar los paquetes de Sage mientras la tarjeta SD no está presente, recibirá un mensaje de error, y si inserta la tarjeta SD y repite la acción, no habrá daños.
fuente
sage
. Sin embargo, la emisión de$ sage
devolucionesbash: /usr/bin/sage: Permission denied
.user
opción/etc/fstab
, agregue laexec
opción.etc/fstab
lecturas# UNCONFIGURED FSTAB FOR BASE SYSTEM
Esta es una pregunta interesante. Discutamos algunas maneras en que esto podría intentarse.
Método n. ° 1: manipulación de la ubicación durante la instalación de apt-get
Usando apt-get, no sería posible hacerlo. Si está instalando usando
.deb
archivos, nuevamente no es posible. La razón es simplemente que la ubicación para la instalación está codificada en estos paquetes.Para manipular la ubicación de instalación, deberá compilar
sage
desde la fuente y modificarlamakefile
antes de instalarla. Esto vendrá con la carga de administrar las dependencias.Sin embargo, ha habido discusiones al respecto. Quizás, la gente lo ha hecho. Quizás hayan manipulado de alguna manera la ubicación de la instalación. Mira aquí y aquí . Si encuentra alguna forma de hacerlo, agregue un comentario.
Método # 2: Cambiar la ubicación de la carpeta / usr
Puede cambiar la ubicación de la
/usr
carpeta y transferirla a su tarjeta externa. Por lo general, esto se desaconsejaría, pero como usted dice que siempre lo mantiene insertado, debería estar bien.Para hacer esto, hay 2 formas:
(Preferible) Cree una partición en su tarjeta externa y transfiera todo el contenido de la
/usr
carpeta actual a esa partición. Luego, modifique su/etc/fstab
para montar esa partición como la/usr
carpeta y elimine la/usr
carpeta anterior por completo. Para hacer todo esto, deberá iniciar desde algún disco de rescate o algún CD / USB en vivo.También en este método, primero inicie desde algún disco de rescate o CD / USB en vivo y luego mueva la
/usr
carpeta a la tarjeta externa y luego cree un enlace simbólico a la nueva/usr
carpeta.PD
Esta es una pregunta interesante, algo en lo que he estado pensando últimamente cuando mi disco duro se estaba llenando. Probaré algunas de estas cosas y actualizaré mi respuesta. Los comentarios son bienvenidos para criticar algunos de estos métodos.
ACTUALIZAR
También vea la respuesta de @gilles. Su sugerencia es mejor. En lugar de mover toda la
/usr
carpeta a la tarjeta externa, simplemente/usr/lib/sagemath
muévala a la tarjeta externa porque ocupa aproximadamente 3.1 GB de su instalación. Entonces, en el Método # 2 , podría mover esta carpeta en lugar de/usr
.fuente
/usr
a la tarjeta SD inutilizaría el sistema cuando la tarjeta SD no esté presente. Esta no es una buena idea.