Archエラーメモ

背景

archを久々に入れようと思ったらエラーが出た

2019年12月27日にパッケージの圧縮形式がxz (.pkg.tar.xz)からzstd (.pkg.tar.zst)に変わったのが原因

Arch Linux - News: Now using Zstandard instead of xz for package compression

1. keyringが古い

* エラーメッセージ
error: krb5: signature from "Levente Polyak (anthraxx) <levente@leventepolyak.net>" is unknown trust
* 解決策
sudo pacman -S archlinux-keyring

2. libarchiveが古い(2018以降アップデートしてないとか)

* エラーメッセージ
error: could not open file /var/cache/pacman/pkg/archlinux-keyring-20200108-1-any.pkg.tar.zst: Unrecognized archive format
* 解決策
1. pacman-staticをダウンロードする
  curl https://pkgbuild.com/~eschwartz/repo/x86_64-extracted/pacman-static -o pacman-static
2. pacman-staticに実行権限を与える
chmod +x pacman-static
3. pacman-staticを使ってlibarchiveを更新する
sudo ./pacman-static -S libarchive