Arch:パックマンデータベースを安全に保存して復元する

Arch:パックマンデータベースを安全に保存して復元する

pacman実行後に同期データベースをバックアップして、失敗したシステムアップグレードを元に戻すために使用できるpacman -Sy「復元ポイント」を作成したいと思います。pacman -Suuより多くの背景を見つけることができますここ

/var/lib/pacman/db.lck保存/復元時にデータベースが変更されないように、パックマンデータベースを手動でロックしたいと思います。

自動的に確認/生成する方法は/var/lib/pacman/db.lck

答え1

データベースロック

mkdirこれはアトミック操作なので、並行性の問題を回避できます。

sudo mkdir /var/lib/pacman/db.lck 2>/dev/null && echo Got lock || echo Locked out

pacman -Syy別のシェルで実行中に上記の内容をテストしました。 pacman実行時の出力は「ロックアウト」、完了後の出力は「Got lock」です。

代わりpacman -Syyに、ディレクトリが存在している間はデータベースをロックできないと言います。

サポート

私はparanoia_level = 9を書きましたbashスクリプト/var/lib/pacman/backupISO8601日付と呼ばれるディレクトリに同期データベースを安全に保存します。

さらに、スクリプトは次の非依存パッケージのリストを保存します。

  • すべてのパッケージ
  • パッケージ同期
  • 外国(例:AUR)小包

バックアップ使用量

-bデータベースの他の場所を指定するには、このオプションを使用します。例:

pacman -Suu -b /var/lib/pacman/backup/2017-02-26T12:55:26+07:00

関連情報