如何更改 apt-get 安装目录 [关闭]

Posted

技术标签:

【中文标题】如何更改 apt-get 安装目录 [关闭]【英文标题】:How can I change the apt-get install directory [closed] 【发布时间】:2012-01-23 23:15:09 【问题描述】:

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

【问题讨论】:

更准确地说:这是 apt-get 应用程序的默认目录(当您从源代码编译时)与 apt-get 一起安装的应用程序的默认目录? 这是使用 apt-get 安装的应用程序的默认目录 【参考方案1】:

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

【讨论】:

【参考方案2】:

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

请注意,并非所有程序都安装在同一目录中,并且 /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

此时最好重新启动,这应该会清除缓存。

【讨论】:

想象一下。您需要不同目录中的包的两个版本。所以第二个包将覆盖第一个包。符号链接没有任何好处。

以上是关于如何更改 apt-get 安装目录 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何修复 apt-get: 在 AWS EC2 上找不到命令? [关闭]

为另一个分区/目录运行 apt-get?

如何在ubuntu下使用apt-get命令安装QTDesigner

在debian下用apt-get install zeroc-ice33 安装了ice,如何修改安装路径?

如何信任 apt 存储库:Debian apt-get update 错误公钥不可用:NO_PUBKEY <id> [关闭]

Ubuntu apt-get 无法获取软件包 [关闭]