Я вижу, что в моей системе есть много файлов lock
. Какова точная роль и назначение этих lock
файлов?
В моей системе я получил этот список,
/run/lock/whoopsie/lock
/proc/sys/dev/cdrom/lock
/var/lib/dpkg/lock
/var/lib/apt/lists/lock
/var/cache/apt/archives/lock
Все они - файлы блокировки. Ссылка для получения дополнительной информации .
Различные приложения и демоны создают свои файлы блокировки, если им необходимо защитить себя от сбоев или повреждения информации.
Например:
/run/lock/whoopsie/lock
блокировка для whoopsie
, это демон отчетов об ошибках Ubuntu. Он собирает информацию о сбоях, поэтому ему необходимо защищать некоторую информацию от изменений, пока он не соберет все.
/proc/sys/dev/cdrom/lock
Блокировка файла для вашего устройства cdrom. Только одно приложение одновременно может управлять устройством cdrom
, поэтому оно и есть. То же самое для каждого устройства.
/var/lib/dpkg/lock
/var/lib/apt/lists/lock
/var/cache/apt/archives/lock
Файл блокировки для менеджеров пакетов. Они обычно блокируют свою базу данных источников
Также небольшая цитата из wikipedia
:
Следующий пример иллюстрирует промежуточную проблему обновления:
Процесс A считывает запись клиента из файла, содержащего информацию об учетной записи, включая остаток на счете клиента и номер телефона.
Процесс B теперь читает ту же запись из того же файла, поэтому у него есть собственная копия.
Процесс А изменяет баланс счета в своей копии записи клиента и записывает запись обратно в файл.
Процесс B, который все еще имеет исходное устаревшее значение для баланса счета в своей копии записи клиента, обновляет баланс счета и записывает запись клиента обратно в файл.
Процесс B теперь записал свое устаревшее значение баланса счета в файл, что привело к потере изменений, внесенных процессом A.
Это один из примеров. Есть много других ситуаций, которые могут привести к проблеме. Вот почему ОС нужна блокировка файлов
Они обычно используются для обеспечения одновременной работы только одного экземпляра приложения.
Это особенно важно в таких программах, как apt-get
, которые могут сломаться, если одновременно выполняется более одного экземпляра.