mkdir
- это атомарная операция, которая позволит избежать проблем с параллелизмом.
sudo mkdir /var/lib/pacman/db.lck 2>/dev/null && echo Got lock || echo Locked out
Я тестировал описанное выше при запуске pacman -Syy
в другой оболочке. Результатом будет «Заблокировано» во время работы pacman и «Получена блокировка» после его завершения.
В свою очередь, pacman -Syy
скажет, что он не может заблокировать базу данных, пока каталог существует.
Я написал сценарий paranoia_level = 9 bash
, который безопасно сохраняет базы данных синхронизации в каталогах в каталоге / var / lib / pacman / backup
с именем ISO8601. Дата.
Сценарий также сохраняет списки независящих пакетов:
Используйте -b
, чтобы указать другое расположение для баз данных, например:
pacman -Suu -b /var/lib/pacman/backup/2017-02-26T12:55:26+07:00
Нет, из-за того, где в стеке происходит захват пакетов. pktgen работает ниже этих крючков, поэтому эти пакеты не могут быть захвачены. По крайней мере, не на этом хосте. Если у вас есть коммутатор, поддерживающий зеркалирование портов или span ports, или любую другую терминологию, которую вы предпочитаете, вы можете зеркалировать весь трафик и поручить второму хосту выполнять захват пакетов.