为什么安装在不同分区上的两个 ubuntu 共享相同的 apt-get 数据?

为什么安装在不同分区上的两个 ubuntu 共享相同的 apt-get 数据?

我在两个独立的分区上安装了两个 ubuntu,一个是 Unity,一个是 Gnome-Shell。它们都使用一个通用的加密 /home 分区。这种设置在过去对我来说效果很好,但出于某种原因,我最近遇到了很多包管理问题。当我在 Unity 分区上使用软件中心时,它显示我安装了 gnome3 ppa,而它只安装在我的另一个分区上。这两个分区现在共享相同的 apt-get 数据吗?这不可能。如果是这样,我该如何解决这个问题?

答案1

我想你可以通过移动以下目录来解决你的问题

~/.config/software-center
~/.cache/software-center

在你家外面的某个地方。

您有两种选择:

  • 继续在两个安装中使用这些目录的现有内容;
  • 从空内容开始。

我认为建议采用第二种方案,因为它的效果与启动软件中心首次。

现在关闭软件中心,如果它正在运行,并对这些目录进行预防性备份,以防出现问题。

第一种选择

因此,从第一个替代方案开始,请执行以下操作。

登录第一的安装并执行:

# Create a local copy of 'software-center' dirs
sudo mkdir -p /usr/local/software-center/{.config,.cache}
sudo chown -R $USER:$USER /usr/local/software-center
cp -a ~/.config/software-center /usr/local/software-center/.config/
cp -a ~/.cache/software-center /usr/local/software-center/.cache/

登录第二安装并执行:

# Same as before
# Create a local copy of 'software-center' dirs
sudo mkdir -p /usr/local/software-center/{.config,.cache}
sudo chown -R $USER:$USER /usr/local/software-center
cp -a ~/.config/software-center /usr/local/software-center/.config/
cp -a ~/.cache/software-center /usr/local/software-center/.cache/

以下命令在 HOME 上操作,应仅在两个安装中的一个上执行,并且它们将对两个安装都有效。

# Remove the original common copy
rm -r ~/.config/software-center
rm -r ~/.cache/software-center

# Link local copy to where 'software-center' expect to find dirs
ln -s /usr/local/software-center/.config/software-center ~/.config/software-center
ln -s /usr/local/software-center/.cache/software-center ~/.cache/software-center

现在两个安装指向不同版本的目录。

第二种选择

对于第二种选择,您可以用cp两个命令替换这四个命令mkdir,每个安装一个命令:

mkdir /usr/local/software-center/{.config,.cache}/software-center

所有其他命令保持不变。

我选择它/usr/local/software-center作为本地副本的基本目录,但您可以选择您想要的每个目录,只要它不属于主目录。

相关内容