Estaba tratando de liberar espacio y sin idea moví /usr/lib64/ a "/srv/maraba_ssd_scratch/apelin/root_files/usr_lib64". Lo siguiente que iba a hacer es crear un enlace simbólico en usr para que lib64 apunte a /srv/maraba_ssd_scratch/apelin/root_files/usr_lib64 pero rápidamente encontré problemas con ELF.
Mi mayor problema es que estaba usando sudo para hacer todo esto. Basándome en otras publicaciones, descubrí cómo emitir comandos y puedo hacerlo:
$ 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
Sin embargo, para restaurar /usr/lib64 necesito privilegios de root. Intenté sudo pero fue un error:
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
Cuando intento su también aparece un error:
$ 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
Creo que el error su puede estar relacionado con mi archivo /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 está en el directorio lib64 movido.
Aparte de arrancar usando un disco en vivo, ¿alguien más tiene alguna idea? No tengo casilla ocupada.
PD: debería mencionar que tengo GUI a través de vncserver. ¿Existe alguna forma de invocar comandos raíz desde la GUI? CentOS 7, Gnome2.