Я использую Google Chrome в своей операционной системе Linux, я захожу в «~/.config/google-chrome/Default», который является каталогом конфигурации Chrome по умолчанию.

Я перемещаю исходный файл закладок в другое место и создаю новый файл закладок, который является жесткой ссылкой на перемещенный исходный файл закладок.

Но после сохранения новой закладки Chrome удаляет новый файл закладок и создает новый файл.

Меня смущает то, как chrome определяет, что файл закладок не является исходным файлом в том случае, если два файла имеют одинаковые имена.

1 ответ1

2

Я думаю, вы читаете больше о поведении Chrome, чем это оправдано. В общем, нет оснований полагать, что программное обеспечение активно вредоносное. Вы также используете жесткие ссылки, которые в нерегулярных случаях могут вести себя несколько не интуитивно.

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

В качестве пошагового процесса это может выглядеть так:

  1. Создайте случайное имя файла, которого нет в намеченном целевом каталоге
  2. Создать этот временный файл
  3. Запишите данные во временный файл
  4. Переименуйте старый файл в другое имя
  5. Переименуйте временный файл, чтобы он имел то же имя, что и исходный файл.
  6. Удалить старый файл

Этот процесс гарантирует, что на диске всегда есть хотя бы одна действительная копия данных. Следовательно, даже если программа потерпит неудачу на полпути, ее легко восстановить до известного действительного состояния.

Однако, как следствие, шаг № 4 разрывает жесткую ссылку, а шаг № 5 помещает что-то еще под тем же именем.

Если вы просто хотите иметь доступ к файлу закладок под другим именем, я предлагаю просто сделать это другое имя символической ссылкой на файл закладок.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .