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

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

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

~/.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 

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

第二种选择

关于第二种替代方案,您可以使用两个mkdir替换四个cp命令,每个安装一个:

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

所有其他命令可以保持不变。

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