Mi carpeta /usr
necesita moverse a una nueva partición. ¿Cómo puedo hacer esto sin borrar el contenido?
¿Se puede hacer esto mientras Ubuntu se está ejecutando, o necesito usar el LiveCD para esto?
Sería más seguro usar un Live CD, pero podría hacer lo siguiente:
/usr
no cambie mientras lo hace./etc/fstab
para que /usr
se monte en el próximo reinicioVea a continuación los detalles de cada paso.
Tenga en cuenta que no puede montar la nueva partición en /usr
mientras se ejecuta, ya que habrá muchos archivos en /usr
que estarán abiertos.
Yo usaría cp -a
. -a
es la opción de archivo. Desde el página man :
-a, --archive
same as -dR --preserve=all
...
-d same as --no-dereference --preserve=links
...
-P, --no-dereference
never follow symbolic links in SOURCE
...
--preserve[=ATTR_LIST]
preserve the specified attributes (default:
mode,ownership,timestamps), if possible additional attributes:
context, links, xattr, all
...
-R, -r, --recursive
copy directories recursively
Necesita conocer el UUID de su nueva partición. Puede ver el mapeo haciendo:
$ ls -l /dev/disk/by-uuid/
Y luego agregue esta línea a /etc/fstab
:
UUID=634c31a5-e27c-4e33-ac67-2e22491a30c2 /usr ext4 defaults 0 2
Cambie el UUID a su UUID y cambie ext4
para que sea el tipo de sistema de archivos que está utilizando; debe saber esto si ha configurado la partición.
Después del reinicio, los archivos antiguos en /usr
en la partición raíz serán ocultos por la nueva partición montada en /usr
. Pero podemos usar algunos truco de enlace de montaje para acceder a los archivos antiguos y luego eliminarlos.
$ Sudo mount --bind / /mnt
$ Sudo rm -rf /mnt/usr/*
$ Sudo umount /mnt
Pero un poco de error de escritura (digamos, presionar Enter cuando solo escribiste Sudo rm -rf /mnt
) podría causar un desastre, por lo que solo usaría este método si estuvieras muy seguro de lo que estabas haciendo, realmente no podría lidiar con ningún tiempo de inactividad, o no tenía acceso físico a la máquina y, por lo tanto, no pudieron iniciar un CD en vivo o una memoria USB en vivo.
Como la mayoría de las bibliotecas que se usan están en/usr, no recomendaría mover este directorio mientras se ejecuta Ubuntu. De hecho, probablemente reciba mensajes de error cuando intente hacer esto. Por lo tanto, lo mejor es usar el LiveCD.
Puede usar varias posibilidades para mover/copiar los archivos cp, rsync, etc. Desea asegurarse de que se creen enlaces simbólicos y no solo se copien. cp y rsync tienen opciones para esto.
Después de mover los archivos a la otra partición, debe agregar otro montaje en/etc/fstab para montar la nueva partición en/usr.
Atención: no tengo idea de lo que estoy haciendo, solo estoy copiando comandos y haciendo lo sugerido por los demás. Esta puede ser la forma incorrecta de hacerlo, pero funciona para mí (al menos por ahora).
Así es como lo hice (siguiendo la respuesta de Hamish y los comentarios):
Copie todos los archivos de la partición recién creada (reemplace con la ubicación de su partición, debería ser similar a la mía):
rsync -avz /usr /media/aleksandar/750b84e2-e65f-4309-ade5-5af0033a937c
En este punto, me di cuenta de que copió todo en la carpeta /usr
en la partición, que no va a funcionar, así que copié todo (con el administrador de archivos) de esa carpeta a la raíz de la partición, y luego eliminó esa carpeta vacía.
Editar /etc/fstab
(igual que en la respuesta de Hamish, por supuesto, reemplace con su UUID)
UUID=634c31a5-e27c-4e33-ac67-2e22491a30c2 /usr ext4 defaults 0 2
Un paso que resultó no ser muy acertado: cambié el nombre de la partición /usr
montada actualmente a /usrBACKUP
, solo para saber que, cuando reinicio el sistema, de hecho se reinicia en la partición recién creada, y no la antigua. Después de eso, todo falló en la pantalla, y tuve que apagarlo presionando la tecla de encendido (genio como soy). Omita este paso si no desea fallar su sistema.
Reiniciar el sistema
Después de reiniciar, abra System Monitor o una aplicación similar para ver si su nueva partición /usr
está montada, y para verificar con seguridad si todo salió según lo planeado.
Después de verificar que todo esté bien, puede eliminar su antigua partición /usr
. Guardaré el mío por si algo sale mal.