我在我的 Android 中安装了 Debian wheezy。然而它的所有目录都在我的内存中。所以,如果我apt-get install
做什么,它就会安装在 /data/data/.../debian/usr/local/bin
目录中。
我已将外部 SD 卡绑定/sdcard/sdext2
到 Debian 下。
我可以通过 cd 访问它/sdcard/sdext2
并验证ls
它是否正常。
我想让 Debian 将应用程序安装在下面/sdcard/sdext2/usr/local/bin
而不是/usr/local/bin
.如何在不移动整个根目录的情况下做到这一点?
答案1
Debian 不会将任何东西安装到 中/usr/local
,从某种意义上说,官方 Debian 软件包被禁止触及该层次结构。此外,Debian 软件包可以采用绝对安装路径,因此如果手动移动(或以某种方式欺骗dpkg
将它们安装到不同的层次结构中),它们可能无法正常工作。
另一方面,使用 GNU Autotools 构建系统的软件包(即您通过./configure && make && sudo make install
)安装的软件包确实/usr/local
默认使用层次结构,您可以覆盖它:
$ ./configure --prefix=/sdcard/sdext2/usr/local
您可能还想覆盖其他默认目录。浏览 的输出./configure --help
以了解不受 的影响--prefix
。