誤って/ usrの名前を変更した後、どうやって名前を変更しますか?

誤って/ usrの名前を変更した後、どうやって名前を変更しますか?

/usr誤ってディレクトリ名を/usr_bak

私はそれを再度変更したかったので、システムがコマンドを見つけることができるように/usr_bak/binパスを追加しました。$PATHsudo

しかし、今ではsudo mv /usr_bak /usrエラーが発生します。

sudo: error while loading shared libraries: libsudo_util.so.0: cannot open shared object file: No such file or directory

システムを再インストールする以外に名前を変更する方法はありますか/usr_bak/usr

ベストアンサー1

すでにルートパスワードを設定しているので、Ubuntuにデフォルトでインストールされているとsuを使用してください。必要なbusyboxすべてのsuライブラリがあります/lib。 Busyboxは静的にリンクされたユーティリティのコレクションなので、ライブラリがなくても問題はありません。する:

su -c '/bin/busybox mv /usr_bak /usr'

(Busybox自体にはsu小さなプログラムがあります/bin/busyboxが、バイナリはsetuidではないため、rootとして実行しないと機能しません。)

ルートパスワードがなければ、おそらくGillesのソリューションを使用することがここで使用されます。LD_LIBRARY_PATHまたは(Gillesはこれがsudoなどのsetuidバイナリでは機能しないと言います)、再起動してGRUBメニューを編集してinit=/bin/busyboxカーネルパラメータで起動し、フォルダを再度移動します。

おすすめ記事