Мне кажется, что некоторые файлы, которые я записываю в глобальные каталоги, такие как / usr, не являются постоянными. Конкретно я чувствую, что установка некоторого самоскомпилированного программного обеспечения (webkit-qt) в глобальные каталоги не выполняется через некоторое время, пока я не переустановлю его. Соответствующая установка webkit устанавливается одновременно управлением пакетами, чтобы заполнить зависимости. Поэтому каждый раз, когда я устанавливаю, я, безусловно, перезаписываю некоторые из этих файлов. Пожалуйста, не говорите мне, что это нехорошо. Я в курсе этого. Мне просто интересно, есть ли какой-нибудь механизм в ubuntu, который восстанавливает старую версию файлов (кроме управления пакетами, если я, конечно, переустановлю какой-то пакет)!
Если вы хотите перенаправить файлы, связанные с установленными пакетами (или которые вы собираетесь установить), чтобы вы могли заменить их своими файлами, но восстановить их позже, вам следует использовать команду dpkg-divert
.
Поскольку у меня нет всех деталей вашей ситуации, мне было бы трудно рекомендовать конкретный синтаксис, помимо информации, представленной на этой странице руководства.
Кроме менеджера пакетов и инструментов, которые являются его частью (включая dpkg-divert
), нет части Ubuntu, которая изменяет файлы в /usr
, хотя, если вы загружаете и запускаете исполняемые файлы установщика, или вы собираете программного обеспечения из источника и укажите префикс установки /usr
, тогда файлы будут добавлены или перезаписаны. Большая часть программного обеспечения, которое вы собираете из исходного кода и устанавливаете с помощью sudo make install
, будет по умолчанию иметь PREFIX=/usr/local
, но для некоторых программ по умолчанию установлено значение PREFIX=/usr
, поэтому стоит проверить, запустив ./configure --help
или прочитав Makefile
, перед тем, как создавать и установите программное обеспечение.
Другое исключение - это части /usr
, такие как /usr/local
, которые предназначены для изменения средствами, отличными от менеджера пакетов. Но вы, кажется, не спрашиваете об этом. Содержимое каталогов, таких как /usr/bin
и /usr/lib
, должно быть изменено только менеджером пакетов, если вы не измените их вручную или не скажете стороннему установщику или процессу сборки поместить файлы туда.