以下を実行してlibc.so.6を切断しました。
$ sudo unlink /usr/lib/libc.so.6
この問題を解決するために、USBスティックからUbuntuを起動して再接続しようとしました。問題は、libcのバージョンがわからず、どのlibc-*.so
ファイルもアーカイブできないことです。
この状況を解決するには、正しいファイルをどのように見つけることができますか?
答え1
Archは、ほとんどのLinuxディストリビューションで通常デフォルトであるGNU libcを使用しているようです。この記事を書いた時点で、現在のバージョンは2.35-3のようです。
Archパッケージの内容を一覧表示すると、次のようになります。
$ unzstd < glibc-2.35-3-x86_64.pkg.tar.zst |tar tvf - |grep libc.so
-rw-r--r-- root/root 255 2022-03-20 22:45 usr/lib/libc.so
-rwxr-xr-x root/root 2463384 2022-03-20 22:45 usr/lib/libc.so.6
残念ながら、それはリンクではなくArchの実際のライブラリであるようです。したがって、UbuntuがアクセスできるどこかにUbuntuがインストールされていることを/usr/lib/libc.so.6
確認する必要があります(ダウンロード」リンク)。zstd
sudo apt-get install zstd
glibc-2.35-3-x86_64.pkg.tar.zst
$ unzstd < glibc-2.35-3-x86_64.pkg.tar.zst |tar xvf - usr/lib/libc.so.6
$ sudo mv usr/lib/libc.so.6 <the mount location of your Arch root in Ubuntu>/usr/lib/