실수로 /usr/lib64를 이동한 후 복구하는 방법

실수로 /usr/lib64를 이동한 후 복구하는 방법

공간을 확보하려고 시도하고 /usr/lib64/를 "/srv/maraba_ssd_scratch/apelin/root_files/usr_lib64"로 옮겼습니다. 다음으로 내가 한 일은 /srv/maraba_ssd_scratch/apelin/root_files/usr_lib64를 가리키도록 usr에 lib64에 대한 심볼릭 링크를 만드는 것이었지만 곧 ELF의 문제를 발견했습니다.

내 가장 큰 문제는 이 모든 작업을 수행하기 위해 sudo를 사용한다는 것입니다. 다른 게시물을 기반으로 명령을 실행하는 방법을 알아냈으며 다음을 수행할 수 있습니다.

$ LD_LIBRARY_PATH=/srv/maraba_ssd_scratch/apelin/root_files/usr_lib64 /srv/maraba_ssd_scratch/apelin/root_files/usr_lib64/ld-linux-x86-64.so.2 /usr/bin/echo a
a
bash: /usr/bin/basename: /lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory

하지만 /usr/lib64를 복원하려면 루트 권한이 필요합니다. sudo를 시도했지만 실패했습니다.

LD_LIBRARY_PATH=/srv/maraba_ssd_scratch/apelin/root_files/usr_lib64 /srv/maraba_ssd_scratch/apelin/root_files/usr_lib64/ld-linux-x86-64.so.2 /usr/bin/sudo /usr/bin/ln -s /srv/maraba_ssd_scratch/apelin/root_files/usr_lib64 lib64
/usr/bin/sudo: error while loading shared libraries: /usr/bin/sudo: cannot open shared object file: Permission denied
bash: /usr/bin/basename: /lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory

su를 시도하면 오류도 발생합니다.

$ LD_LIBRARY_PATH=/srv/maraba_ssd_scratch/apelin/root_files/usr_lib64 /srv/maraba_ssd_scratch/apelin/root_files/usr_lib64/ld-linux-x86-64.so.2 /usr/bin/su root
su: Module is unknown
bash: /usr/bin/basename: /lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory

su 오류가 내 /etc/pam.d/su 파일과 관련이 있을 수 있다고 생각합니다.

#%PAM-1.0
auth        sufficient  pam_rootok.so
# Uncomment the following line to implicitly trust users in the "wheel" group.
#auth       sufficient  pam_wheel.so trust use_uid
# Uncomment the following line to require a user to be in the "wheel" group.
#auth       required    pam_wheel.so use_uid
auth        substack    system-auth
auth        include     postlogin
account     sufficient  pam_succeed_if.so uid = 0 use_uid quiet
account     include     system-auth
password    include     system-auth
session     include     system-auth
session     include     postlogin
session     optional    pam_xauth.so
bash: /usr/bin/basename: /lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory

pam_rootok.so는 이동된 lib64 디렉터리에 있습니다.

라이브 디스크로 부팅하는 것 외에 다른 아이디어가 있는 사람이 있나요? 비지박스가 없습니다.

PS에서는 vncserver를 통해 GUI가 있다는 점을 언급해야 합니다. GUI에서 루트 명령을 호출하는 방법이 있습니까? CentOS 7, Gnome2.

관련 정보