Почему мои две Ubuntu устанавливаются на разных разделах, использующих одни и те же данные apt-get?

У меня есть две установки Ubuntu на два отдельных раздела, один Unity и один Gnome-Shell. Они оба используют общий зашифрованный / домашний раздел. Подобные настройки хорошо работали в прошлом, но по некоторым причинам в последнее время у меня возникает много проблем с управлением пакетами. Когда я использую Центр программного обеспечения в своем разделе Unity, он показывает, что я установил pn gnome3, который установлен только в моем другом разделе. Эти два раздела совместно используют одни и те же данные apt-get сейчас? Это не может быть правдой. Если так, как я могу это исправить?

1 ответ

Решение

Я полагаю, что вы можете решить вашу проблему, перемещая следующие каталоги

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

где-то за пределами вашего дома.

У вас есть две альтернативы:

  • продолжить на обеих установках с нынешним содержанием таких dirs;
  • начать с пустого содержимого.

На мой взгляд, рекомендуется второй вариант, так как он будет иметь тот же эффект, что и запуск Software Center в первый раз.

Теперь закройте 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

Теперь две установки указывают на разные версии dirs.

Вторая альтернатива

Что касается второго варианта, вы можете заменить четыре cp команды с двумя mkdirпо одному на каждую установку:

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

все остальные команды могут быть такими же.

я выбрал /usr/local/software-center в качестве базового каталога для локальных копий, но вы можете выбрать любой каталог, который вам нужен, если он не принадлежит дому.

Другие вопросы по тегам