2021年04月04日

pacmanコマンド瀕死のときは、pacstrapコマンドを使おう! archlinux限定の秘策?

最近買ったwifiアダプターWI-U2-433DHPを、
結果的にたくさん飼ってしまっているarchbangで
使えるようにと、ドライバー巡回インストール中の
ことでした。

横着をしまして、古いシステム環境のまま
アダプタードライバーを入れて、
それから、pacman -Syyuしようとしました。
ダウンロードに必要なgitコマンドがありません!

ほかの多くでそうであったことを忘れていた
のですが、血迷って
$ sudo pacman -Sy git
をやってしまいました。そしたら、
$ git clone https://github.com/gnab/rtl8812au.git
ができなくなってしまい、
$ sudo pacman -S base-devel --needed
とかあがいているうちに
$ sudo pacman -Syyu
pacman: /usr/lib/libc.so.6: version `GLIBC_2.33' not found (required by pacman)
pacman: /usr/lib/libc.so.6: version `GLIBC_2.33' not found (required by /usr/lib/libalpm.so.12)


のようなエラー表示がでるようになってしまいました。
pacmanが使えない。完全にアウト!か。
再起動しても、デスクトップも出ず、
コンソールのプロンプトも出ず。
隣のarchbangから、
いつものようにarch-chrootして、
pacmanコマンドが使えないか、と
やってみましてもおなじこと。
エラー表示が出て、万事休したかのようでした。

ところが、ところがです。奥の手が残っていました。
pacstrapコマンドを使う手が残されていました。
pacstrapは、arch本家のインストールで、
arch-chrootするまえの段階で使うコマンドです。
これが、利きましたね。

arch-chrootをexitして、
マウントとしただけの状態に戻し、
$ sudo pacstrap /mnt base-devel glibc lib32-glibc
としましたら、ありがたや、通ってくれました。
  ※base-develのグループインストールには、
   pacmanコマンドが含まれます。

そのあとは、またarch-chrootして、
ごめんなさい、を念じつつ。
# pacman -Syyu
をしますと、pacmanコマンド復活で、
無事システム更新を終えることができました。
反省点は、横着はいけない!です。


このあと、keyringが通らない場合、先に、
archlinux-keyringパッケージのみインストール
することが許されていて、
インストールすることができます。

それでも、パッケージが破損しいて、
インストールできないみたいな表示が
出ることもあります。
一部のパッケージ(複数以上)がインストールできず、
システム更新が進められない状態に
なるかもしれません。

そのときは、パッケージを破棄せずに
「n」と返答して、
cacheに取って置き、pacman -U の後ろ、
パッケージまでの
パスを通してインストールすることができます。
この方法で、破損表示が出たパッケージを
根気よくインストールしていき、し終えれば、
残されたパッケージは、
pacman -Suでインストールできるようになります。

なんらかの不始末?で、archlinuxの中核の
pacmanコマンドが使えなくしてしまったら、
pacstrapコマンドのあることを思い出してください。

pacstrapコマンドは、archlinux本家系なら、
たいがいのものに含まれていると思います。
インストール後のarchlinuxにも
残ると思います。今回、liveメディアから
ではなく、隣りにインストールしてあった
同じarchbangから修復しました。

いつもやっている仮想環境下の出来事では
ありませんでした。リアルインストールでの
出来事でした。


posted by ブログ開設者 at 01:06| Comment(0) | linux | このブログの読者になる | 更新情報をチェックする