Bloqueando os bancos de dados
mkdir
é uma operação atômica que evitará problemas de concorrência.
sudo mkdir /var/lib/pacman/db.lck 2>/dev/null && echo Got lock || echo Locked out
Eu testei o acima enquanto estava executando pacman -Syy
em outro shell. A saída é "Bloqueada" enquanto o pacman está em execução e "Got lock" após a conclusão.
Reciprocamente, pacman -Syy
dirá que não pode bloquear o banco de dados enquanto o diretório existir.
Backup
Eu escrevi um paranoia_level = 9 bash
script que salva com segurança os bancos de dados de sincronização em diretórios com /var/lib/pacman/backup
chamado pela data ISO8601.
O script também salva listas de pacotes não dependentes de:
- todos os pacotes
- pacotes de sincronização
- pacotes estrangeiros (por exemplo, AUR)
Uso de backups
Use a opção -b
para especificar um local diferente para os bancos de dados, por exemplo:
pacman -Suu -b /var/lib/pacman/backup/2017-02-26T12:55:26+07:00