Срок действия ключа хранилища Skype истек?

if I turn off the computer immediately after I edit and save a file, my changes will be most likely lost?

Может быть. Я бы не сказал «скорее всего», но вероятность зависит от многих вещей.


Простой способ повысить производительность записи файлов состоит в том, чтобы ОС просто кэшировала данные, (солгала )приложению, через которое была выполнена запись, а затем фактически выполнила запись позже. Это особенно полезно, если в это же время происходит другая активность диска :, операционная система может расставить приоритеты при чтении и позже выполнить запись. Это также может полностью устранить необходимость фактической записи, например, в случае, когда временный файл впоследствии быстро удаляется.

Проблема с кэшированием становится более заметной, если хранилище работает медленно. Копирование файлов с быстрого SSD на медленную флешку, вероятно, потребует много кэширования записи, поскольку флешка просто не поспевает. Но ваша команда cpвозвращает результат быстрее, поэтому вы можете продолжить работу, возможно, даже отредактировав только что скопированные файлы.


Конечно, у такого кэширования есть недостаток, который вы заметили: некоторые данные могут быть потеряны до того, как они будут фактически сохранены. Пользователь будет раздражен, если его редактор скажет ему, что запись прошла успешно, но на самом деле файла нет на диске. Вот почему существует системный вызовfsync(), который должен возвращаться только после того, как файл попал на диск. Ваш редактор может использовать это, чтобы убедиться, что данные в порядке, прежде чем сообщать пользователю об успешной записи.

Я сказал «должно быть», поскольку сам диск может солгать ОС и сказать, что запись завершена, в то время как файл на самом деле существует только в энергозависимом кэше записи внутри диска. В зависимости от привода,может быть нет никакого способа обойти это.

В дополнение к fsync()существуют также системные вызовы sync()и syncfs(), которые просят систему убедиться, что все системные -операции записи или все операции записи в конкретной файловой системе попали на диск. Для их вызова можно использовать утилиту sync.

Кроме того, есть также флагO_DIRECTдля open(), который должен «пытаться свести к минимуму эффекты кэширования операций ввода-вывода в этот файл и из него». Удаление кэширования снижает производительность, поэтому оно в основном используется приложениями (базами данных ), которые сами кэшируют и хотят контролировать его.(O_DIRECTне без проблем, комментарии по этому поводу на справочной странице несколько забавны.)


То, что происходит при отключении питания -, также зависит от файловой системы. Вас должны беспокоить не только данные файла, но и метаданные файловой системы. Иметь данные файла на диске бесполезно, если вы не можете его найти. Просто расширение файла до большего размера потребует выделения новых блоков данных, и их нужно где-то пометить.

То, как файловая система обрабатывает изменения метаданных и порядок между метаданными и записью данных, сильно различается. Например, с ext4, если вы установите флаг монтирования data=journal, тогда все записи — даже записи данных — проходят через журнал и должны быть достаточно безопасными. Это также означает, что они записываются дважды, поэтому производительность снижается. Параметры по умолчанию пытаются упорядочить записи таким образом, чтобы данные были на диске до того, как будут обновлены метаданные. Другие параметры или другая файловая система могут быть лучше или хуже; Я даже не буду пытаться всесторонне изучить.


На практике в малонагруженной системе файл должен появиться на диске в течение нескольких секунд. Если вы имеете дело со съемным хранилищем, размонтируйте файловую систему, прежде чем извлекать носитель, чтобы убедиться, что данные действительно отправляются на диск, а дальнейшая активность отсутствует. (Или попросите сделать это за вас.)

1
27.06.2021, 07:20
1 ответ

Кажется, вам нужно повторно -получить ключ GPG, вот так:

curl https://repo.skype.com/data/SKYPE-GPG-KEY | sudo apt-key add -

и предупреждение/ошибка исчезнет.

См. обсуждение этой проблемы на Linux Mint Reddit .

6
28.07.2021, 11:22

Теги

Похожие вопросы