如何更改apt-get安装目录

tom*_*ang 14 install package apt-get aptitude

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

Lim*_*nce 9

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

请注意,并非所有程序都安装在同一目录中,而/ 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
Run Code Online (Sandbox Code Playgroud)

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

sudo rm -rf /opt/                                                    # Removes opt directory
Run Code Online (Sandbox Code Playgroud)

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

sudo mkdir /New_Location/Program-Files                               # Generates New Program Directory
sudo ln -s /New_Location/Program-Files /opt                          # Creates Symbolic Link
Run Code Online (Sandbox Code Playgroud)

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

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
Run Code Online (Sandbox Code Playgroud)

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

例如:移动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
Run Code Online (Sandbox Code Playgroud)

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

快乐黑客有限情报


Ced*_*edX 5

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