Puede cambiar el nombre de un archivo (directorio o lo que sea) usando solo el conocimiento del inodo usando find
, pero si (a) el sistema de archivos que lo contiene no está montado, o si (b) hay otro sistema de archivos montado sobre un directorio no vacío que contiene el archivo que le interesa, el sistema simplemente no puede acceder al archivo. En el caso (a), debe montar el sistema de archivos antes de poder hacer algo con el contenido, incluido el cambio de nombre, y en el caso (b), debe desmontar el sistema de archivos que está montado "sobre la parte superior" del directorio que contiene el archivo que desea cambiar de nombre. Parece que está preguntando sobre el caso (b).
Si te entiendo correctamente, estás intentando hacer /home
accesible tu antiguo directorio (que se encuentra en tu partición raíz), mientras sigues usando tu nueva partición montada en /home
. Si eso es lo que quieres, haz lo siguiente:
Cierre todos los archivos y cierre sesión. Luego inicie sesión como root
(use un terminal virtual para esto; presione Ctrl-Alt-F2) Ejecute lo siguiente:
umount /home
mv /home /home-old
mkdir /home
mount -a
ls /home
ls /home-old
Si todo está bien, cierre sesión y vuelva a iniciar sesión como usted mismo y todo debería estar bien.
Por cierto, el comando para cambiar el nombre de un archivo utilizando solo el conocimiento de su inodo (suponiendo que el archivo esté en el directorio actual) es:
find . -maxdepth 1 -inum 123456789 -exec mv {} mynewname \;
¿Dónde 123456789
está el número de inodo, por supuesto? (Tenga en cuenta que find
determina el nombre de archivo y su ruta y pasa esta información mv
; no hay forma de cambiar el nombre de un archivo sin involucrar el nombre de archivo existente de ninguna manera, pero si es solo que no conoce el nombre de archivo, es bastante simple.)