如何更改apt-get安装目录

时间:2011-12-19 21:35:36

标签: install package apt-get aptitude

apt-get的默认安装目录是/ opt。 我可以将其更改为其他目录吗?

2 个答案:

答案 0 :(得分:8)

我能想到的最佳方法是使用符号链接

请注意,并非所有程序都安装在同一目录中,而/ opt可能不是最好的移动方式。 (参见结束仅移动一个文件夹/程序的例子)

这就是我对EasyPeasy(Ubuntu 10.04)所做的事情

请仔细遵循此代码,如果使用不当,某些命令可能会删除重要文件。

首先,您需要确保/ opt(或您的发行版默认apt-get安装目录)为空。如果您最有可能在opt文件夹中有数据,您可以先将其移至其他地方以便安全保存:

sudo mkdir /New_Location/newtmp                                      # Generates Temporary Folder for Programs 
sudo cp -a /opt/* /New_Location/newtmp                               # Moves Programs to Temp folder

备份后,您可以删除原始目录:

sudo rm -rf /opt/                                                    # Removes opt directory

然后,您可以在具有大量空间的驱动器中创建新的Program Files文件夹并创建符号链接:

sudo mkdir /New_Location/Program-Files                               # Generates New Program Directory
sudo ln -s /New_Location/Program-Files /opt                          # Creates Symbolic Link

最后将所有旧程序文件移动到新文件夹并清理临时数据:

sudo cp -a /New_Location/newtmp/* /New_Location/Program-Files        # Moves Programs to Program Files Folder 
sudo rm -rf /New_Location/newtmp/                                    # Removes Temp folder

如果您只想移动占用空间大小的单个程序,则可以使用相同的过程。

例如: 移动Java(JVM约300MB)执行以下操作。 使用磁盘使用率分析器检查java目录。 我的是/ usr / lib / jvm

sudo mkdir /New_Location/Program-Files/Java                          # Generates New Program Directory
sudo cp -a /usr/lib/jvm/* /New_Location/Program-Files/Java            # Moves Program to new folder
sudo rm -rf /usr/lib/jvm                                             # Removes opt directory
sudo ln -s /New_Location/Program-Files/Java /usr/lib/jvm             # Creates Symbolic Link

此时最好进行重启,这应该清除缓存。

快乐黑客 有限的情报

答案 1 :(得分:5)

您不能:安装路径在包中进行硬编码(请参阅例如:http://packages.ubuntu.com/oneiric/i386/mono-runtime/filelist)。此路径通常是/ usr而不是/ opt,但它取决于包。如果要覆盖默认目录,则必须手动提取包的内容。但是,它无法工作:配置文件,有时甚至是二进制文件,将继续使用旧路径。因此,您必须更新它们才能使包正常工作。