我使用 crouton 在 Toshiba chromebook 上运行 Ubuntu 14.04。我安装操作系统的驱动器很小,只有 3.6 GB 的可用空间。我想sage
在我的系统上安装,但sage
系统上需要 6 GB 可用空间。
不过,我总是将 SD 卡插入设备中。该卡有 175 GB 可用空间。可以安装sage
在SD卡上吗?
sage
我尝试使用命令下载的方式
apt-add-repository -y ppa:aims/sagemath
apt-get update
apt-get install sagemath-upstream-binary
发现这里。
答案1
将 Debian 软件包逐个拆分到不同的磁盘上是很困难的。对此没有任何支持;您必须dpkg
单独调用要安装在非默认位置的软件包。
将目录树放在单独的磁盘上很容易。对你来说幸运的是,据我快速浏览可知,PPA 中的 Sage 包将大多数文件安装在/usr/lib/sagemath
.您可以轻松地将其放入 SD 卡上。假设 SD 卡已安装(如果存在)在 上/media/sdcard
。在那里创建一个目录并创建一个符号链接。
mkdir /media/sdcard/sagemath
ln -s /media/sdcard/sagemath /usr/lib/sagemath
然后 dpkg 安装的所有文件/usr/lib/sagemath
最终都会出现在 SD 卡上(无论它们来自哪个包)。
如果您在 SD 卡不存在时尝试使用 Sage 或管理 Sage 软件包,您将收到一条错误消息,如果您插入 SD 卡并重复该操作,则不会造成任何损害。
答案2
这是个有趣的问题。让我们讨论一些可以尝试的方法。
方法#1:在 apt-get 安装过程中操作位置
使用 apt-get 则无法做到这一点。如果您使用文件安装.deb
,这也是不可能的。原因很简单,安装位置被硬编码到这些包中。
要操纵安装位置,您必须sage
从源代码进行编译并makefile
在安装之前对其进行修改。这将带来管理依赖项的负担。
不过,对此已经有过讨论。也许,人们已经做到了。也许他们以某种方式操纵了安装位置。看这里和这里。如果您找到某种方法可以做到这一点,请添加评论。
方法#2:更改 /usr 文件夹的位置
您可以更改文件夹本身的位置/usr
并将其传输到外部卡。通常这会被劝阻,但既然你说你总是保持它插入,所以应该没问题。
为此,有两种方法:
(首选)在外部卡中创建一个分区,并将当前文件夹中的所有内容传输
/usr
到该分区。然后,修改您的/etc/fstab
分区以将其安装为/usr
文件夹,并完全删除旧/usr
文件夹。要完成所有这些,您需要从一些救援光盘或一些 live CD/USB 启动。同样在这种方法中,首先从救援光盘或 Live CD/USB 启动,然后将文件夹移动
/usr
到外部卡,然后创建一个符号链接到新/usr
文件夹。
聚苯乙烯
这是一个有趣的问题,最近随着我的硬盘已满,我一直在思考这个问题。我会尝试其中一些事情并更新我的答案。欢迎评论批评其中的一些方法。
更新
另请参阅@gilles 的回答。他的建议比较好。无需将所有/usr
文件夹移动到外部卡,只需将其移动/usr/lib/sagemath
到外部卡,因为它占用了大约 3.1GB 的安装空间。所以,在方法#2,您可以移动此文件夹而不是/usr
.