直面した問題
何気なくapt upate及びapt-get updateを実行したら下記の標準出力を確認。失敗した。
aptに関するコマンド(--verisonなど)は確認した限り下記の出力が出てくる状態に陥った。
terminate called after throwing an instance of 'std::runtime_error'
what(): locale::facet::_S_create_c_locale name not valid
Aborted
解決方法
先に結論を書くとaptコマンド自体を更新した。
aptコマンドが死んでいるため①wgetでaptパッケージを取得し
②dpkgコマンドでaptコマンドを再インストールした。
wget http://ftp.jp.debian.org/debian/pool/main/a/apt/apt_2.6.1_arm64.deb
dpkg -i apt_2.6.1_arm64.deb
詳細
この問題が発生した環境はラズパイZero2(及びRaspbian)のため、他の環境では上記のコマンドはそのままでは実行できない。
もし他の環境で似た問題に直面した場合はやり方を多少変える必要があることに留意いただきたい。
root@zero2s:/home/hoge# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
root@zero2s:/home/hoge#
root@zero2s:/home/hoge# dpkg --print-architecture
arm64
root@zero2s:/home/hoge#
この情報はwgetで取得したaptのパッケージを参照する情報にもなる。
ここからは余談、経緯。
この問題に直面したときロケール情報の設定が失敗しているなどの情報が出てきたがそれでは解決せず、
かつaptコマンドであるパッケージをインストールする手順などが書かれていた。
しかし、aptコマンドでインストールしろ、と言われてもそれができないためaptコマンド自体をインストールし直すことで対応した。