![mv: 共有オブジェクト ファイル "libstdc++.so.6" を開けません: シンボリック リンクのネストが大きすぎます](https://rvso.com/image/1000937/mv%3A%20%E5%85%B1%E6%9C%89%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%20%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%20%22libstdc%2B%2B.so.6%22%20%E3%82%92%E9%96%8B%E3%81%91%E3%81%BE%E3%81%9B%E3%82%93%3A%20%E3%82%B7%E3%83%B3%E3%83%9C%E3%83%AA%E3%83%83%E3%82%AF%20%E3%83%AA%E3%83%B3%E3%82%AF%E3%81%AE%E3%83%8D%E3%82%B9%E3%83%88%E3%81%8C%E5%A4%A7%E3%81%8D%E3%81%99%E3%81%8E%E3%81%BE%E3%81%99.png)
エラーはトピックのものとは少し異なる可能性があります。私は母国語から翻訳していました。
すべてが失敗した後、私はこの投稿でmjpが指摘したようにやってみました: GLIBCXX_3.4.20 が見つかりません。このエラーを修正するにはどうすればいいですか?
しかし、結果として、apt-get、mv、cp のすべてのコマンドはトピック タイトルからのエラーを返します。ファイルのバックアップ バージョンに戻ることはできません。
現時点では、Ubuntuにログインすることすらできません。ログイン画面で止まってしまいました。ログインしようとするたびに画面が真っ黒になり、ログイン画面に戻ります。Ctrl+Alt+F3 でコマンドしか使えません。
どうすればいいですか?
steeldriver さんへの回答 (コメントをご覧ください):
lrwxrwxrwx 1 root root 40 Jun 17 21:37 /usr/lib/x86_64-linux-gnu/libstdc++.so.6 -> /usr/lib/x86_64-linux-gnu/libstdc++.so.6
-rw-r--r-- 1 root root 979056 May 7 2016 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.19
lrwxrwrwx 1 root root 19 May 7 2016 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.old -> libstdc++.so.6.0.19
答え1
mv
[やのような基本的なユーティリティがcp
のせいで壊れてしまうのはなぜなのか、少し不思議に思います。libstdc++.so.6
しかし、それが理由だと仮定すると、私が試すのは次のようになります]
出力busybox ls
を見ると、再帰的にリンクできたことが/usr/lib/x86_64-linux-gnu/libstdc++.so.6
わかります。幸い、実際のライブラリは削除または上書きされていないようです/usr/lib/x86_64-linux-gnu/libstdc++.so.6.19
。したがって、シンボリック リンクを再作成することで回復できるはずです。
問題は、どちらか一方sudo
またはln
両方がライブラリに依存している場合ですlibstdc++
。 (仮想端末でシェルを使用してログインできるため、おそらく依存bash
しません。)CtrlAltF3
が壊れている場合でもsudo
、リカバリモードからルートシェルを起動できるはずです。ルートシェルを起動するにはどうすればいいですか?その後、ルートファイルシステムを読み書きモードで再マウントする必要があります。
mount -o remount,rw /
その後、壊れたリンクを修正することができます
ln -sf libstdc++.so.6.19 /usr/lib/x86_64-linux-gnu/libstdc++.so.6
(これにより、相対シンボリックリンク/usr/lib/x86_64-linux-gnu/
これは、リンクと同様に、ターゲット パスを基準として解決されます.old
。
ln
が に依存しているために失敗すると仮定すると、が組み込まれているlibstdc++.so
静的にリンクされた実行可能ファイルを使用して再試行できます。busybox
ln
/bin/busybox ln -sf libstdc++.so.6.19 /usr/lib/x86_64-linux-gnu/libstdc++.so.6
それが機能する場合は、exit
ルート シェルを使用して通常のブートを続行できます。