Cómo mover su directorio de inicio de Linux a otra unidad

Terminal Linux en portátil estilizado
Fatmawati Achmad Zaenuri / Shutterstock

¿Quiere mover su carpeta de inicio de Linux a otra unidad? Aquí hay una forma sencilla y paso a paso de hacerlo que debería funcionar en cualquier distribución. Mover su carpeta de inicio significa que puede reinstalar Linux y no tener que preocuparse por sus archivos personales.

¿Por qué mantener separada la carpeta de su hogar?

Si está configurando una nueva máquina o agregando un disco duro a uno existente, es posible que desee tener su directorio de inicio en una unidad diferente a la ubicación predeterminada.

Una configuración cada vez más popular para las computadoras personales modernas es tener una unidad de estado sólido (SSD) de tamaño mediano que contenga su sistema operativo y una unidad híbrida de estado sólido (SSHD) más grande o un disco duro tradicional (HD) como el almacenamiento principal de datos. O puede tener un solo disco duro tradicional en su sistema y ha agregado un nuevo HD para aumentar el almacenamiento. Cualesquiera que sean sus motivos, aquí hay un resumen simple y detallado de cómo mover su directorio de inicio.

Por cierto, si está instalando un sistema Linux desde cero, probablemente verá una opción para crear un directorio de inicio separado en el instalador de su distribución de Linux. Generalmente, solo necesitará ir a las opciones de partición, crear una partición separada y montarla en “/ home”. Pero, si ya instaló una distribución de Linux, puede usar estas instrucciones para mover su directorio de inicio actual a una nueva ubicación sin perder nada ni reinstalar su sistema operativo.

Ahora, antes de empezar, haz una copia de seguridad .

Identificar la unidad

Si acaba de instalar una unidad en una computadora Linux, o instaló Linux en una de las unidades en una nueva computadora con varias unidades y reinició, hay poca evidencia de que la nueva unidad esté presente.

El fdiskcomando enumerará las unidades y sus particiones  para nosotros.

sudo fdisk -l

sudo fdisk -l en una ventana de terminal

Desplácese por la salida hasta que haya identificado la nueva unidad. La primera unidad se nombra /dev/sda, la segunda /dev/sdby así sucesivamente, y la última letra aumenta cada vez. Así /dev/sdesería el quinto disco duro del sistema.

en este ejemplo, el nuevo convertidor es el segundo convertidor que se instala en el sistema. Entonces necesitamos buscar una entrada para  /dev/sdb.

Salida de fdisk en una ventana de terminal con / dev / sdb resaltado

/dev/sdbse resalta arriba. Notarás que no tiene una línea que describa una partición. Es una unidad completamente nueva, por lo que todavía no la tendrá. Necesitamos crear la partición. Podemos hacerlo usando fdisk. Si su disco duro no lo es /dev/sdb, asegúrese de sustituirlo /dev/sdbpor el identificador de disco real de su nuevo disco duro en el comando.

sudo fdisk / dev / sdb

sudo fdisk / dev / sdb en una ventana de terminal

Cuando se le fdisksolicite un comando, presione la letra p. Esto imprime la tabla de particiones para el disco duro. Sabemos que no tendrá uno, pero obtenemos información útil sobre el disco. Nos da una buena oportunidad de asegurarnos de que la unidad para la que vamos a crear una partición sea la unidad con la que pretendemos trabajar.

Relacionado:  Cómo proteger su servidor Linux con fail2ban

Nos dice que la unidad es una unidad de 1TB, que coincide con lo que esperamos en esta máquina de prueba, así que procederemos.

Crear una partición

Presione la letra npara una nueva partición y luego presione ppara una partición primaria. Cuando se le solicite el número de partición, presione el número 1.

Vamos a crear una sola partición para todo el disco, por lo que cuando se nos solicite el primer sector, podemos presionar Enter para aceptar el valor predeterminado. A continuación, se le solicitará el último sector y Enter aceptará el valor predeterminado.

creando una partición con fdisk en una ventana de terminal

Aunque  fdiskconfirma que ha creado una partición Linux de 1TB, que es la partición número 1, nada ha cambiado en el disco duro todavía. Hasta que dé fdiskel comando para escribir los cambios en la unidad, la unidad está intacta. Una vez que esté seguro de que está satisfecho con nuestras opciones, presione la letra wpara escribir los cambios en la unidad.

escribir los cambios de fdisk en la unidad en una ventana de terminal

Se ha escrito en la partición /dev/sdb. Veamos lo que acaba de pasar. Usaremos una fdiskvez más en /dev/sdb.

sudo fdisk / dev / sdb

sudo fdisk / dev / sdb en una ventana de terminal

Presione la letra ppara imprimir esa tabla de particiones y verá que ahora hay una partición listada para la unidad. Debido a que fue la primera partición en esta unidad, se llama /dev/sdb1. Se llamaría a una segunda partición  /dev/sdb2, y así sucesivamente.

No queremos hacer ningún cambio en la partición, así que presione la letra qpara salir.

Cree un sistema de archivos en la partición

Necesitamos crear un sistema de archivos en la partición. Esto se logra fácilmente con el mkfscomando. Tenga en cuenta que debe incluir el número de partición en el comando . Tenga cuidado de escribir /dev/sdb1(la partición) y no /dev/sdb(la unidad).

sudo mkfs -t ext4 / dev / sdb1

sudo mkfs -t ext4 / dev / sdb1 en una ventana de terminal

El sistema de archivos se creará automáticamente y volverá al símbolo del sistema.

Salida del comando mkfs en una ventana de terminal

Montaje de la nueva unidad

Para usar la nueva unidad, debemos montar la partición en un punto de montaje en el sistema de archivos. En realidad, para ser perfectamente precisos, no estamos montando la unidad ni la partición, estamos montando el sistema de archivos en la partición, injertándolo en el árbol del sistema de archivos de su sistema .

El /mntpunto es un lugar tan bueno como cualquier otro. Es solo un punto de montaje temporal que nos permite copiar datos en la nueva unidad. Usaremos el mountcomando para montar el sistema de archivos en la primera partición en /dev/sdb, en /mnt.

sudo mount / dev / sdb1 / mnt

sudo mount / dev / sdb1 / mnt en una ventana de terminal

Si todo va bien, volverá a la línea de comandos sin mensajes de error. Veamos si podemos cambiar el directorio a nuestro sistema de archivos recién montado.

cd / mnt

cd / mnt en una ventana de terminal

Si podemos. veamos qué hay aquí.

ls -ahl

ls -ahl en una ventana de terminal

Estamos en nuestro nuevo sistema de archivos. El directorio predeterminado «perdido + encontrado» no es necesario para que podamos eliminarlo.

sudo rm -rf perdido + encontrado

sudo rm -rf perdido + encontrado en una ventana de terminal

Copiar su carpeta de inicio

Necesitamos copiar todo, desde el antiguo directorio de inicio al sistema de archivos recién montado. El uso de las opciones r(recursivo) y p(preservar) garantizará que se copien todos los subdirectorios y que se conserven las propiedades, los permisos y otros atributos de los archivos.

sudo cp -rp / home / * / mnt

sudo cp -rp / home / * / mnt en una ventana de terminal

Cuando se haya completado la copia, utilice lspara echar un vistazo y verificar que sus datos estén donde espera que estén en el nuevo sistema de archivos. En otras palabras, si /mntfuera su directorio de inicio, ¿está todo presente y correcto?

ls
ls dave

está en una ventana de terminal

Probablemente querrá ser un poco más minucioso de lo que estábamos en la máquina de prueba en la que se investigó este artículo. Como red de seguridad, cambiaremos el nombre y conservaremos su /homedirectorio anterior hasta que esté satisfecho de que es seguro eliminarlo.

sudo mv / home /home.orig

sudo mv / home /home.orig en una ventana de terminal

Y crearemos un directorio de inicio nuevo y vacío.

sudo mkdir / inicio

sudo mkdir / home en una ventana de terminal

Usaremos ese nuevo directorio de inicio vacío como punto de montaje para nuestro sistema de archivos en el nuevo disco duro. Necesitamos desmontarlo /mnty volver a montarlo /home. Tenga en cuenta que el comando umountno tiene una «n» después de la «u».

sudo umount / dev / sdb1
sudo mount / dev / sdb1 / home /

sudo umount / dev / sdb1 en una ventana de terminal

Prueba de su nuevo directorio de inicio

Veamos cuáles son los atributos de la /dev/sdb1partición ahora:

df / dev / sdb1

df / dev / sdb1 en una ventana de terminal

Se nos muestra el nombre del sistema de archivos, el tamaño de la partición y el espacio usado y disponible en él y, lo que es más importante, dónde está montado. Ahora es nuestro /homedirectorio. Eso significa que deberíamos poder hacer referencia a él exactamente como lo haríamos con el /homedirectorio anterior.

Relacionado:  ¿En qué se diferencia Crosh de la terminal de Linux en un Chromebook?

Si nos movemos a algún punto arbitrario en el sistema de archivos, deberíamos poder volver a /homeusar el ~atajo de tilde.

discos compactos /
cd ~
pwd
ls

cd / y otros comandos en una ventana de terminal para probar el directorio de inicio

cd / hogar
ls
cd dave
ls
ls -a

cd / home y otros comandos para probar / home firectory en una ventana de terminal

Podemos movernos por el sistema de archivos de un lado a otro para /home usar comandos explícitos y usar el ~acceso directo. Las carpetas, archivos y dotfiles que esperaríamos están presentes. Todo luce bien.

Si faltaba algo, podríamos copiarlo fuera del /home.origdirectorio, al que todavía tenemos acceso en la raíz del sistema de archivos. Pero todo luce bien.

Ahora tenemos que /dev/sdb1montarlo automáticamente cada vez que se inicia la computadora.

Editando fstab

El archivo «fstab» contiene descripciones de los sistemas de archivos que se montarán cuando se inicie el sistema. Antes de realizarle cambios, haremos una copia de seguridad a la que podemos volver en caso de problemas.

sudo cp / etc / fstab /etc/fstab.orig

sudo cp / etc / fstab /etc/fstab.orig en una ventana de terminal

Ahora podemos editar el archivo fstab.

sudo gedit / etc / fstab

sudo gedit .etc.fstab en una ventana de terminal

Debe agregar una línea al final del archivo para montar nuestro nuevo /homedirectorio. Si los identificadores de su unidad y partición son diferentes a los usados ​​en este ejemplo, reemplácelos por los que se /dev/sdb1muestran aquí.

  • Escriba el nombre de la partición al principio de la línea y luego presione Tab.
  • Escriba el punto de montaje /home, y presione Tab.
  • Escriba la descripción del sistema de archivos  ext4y presione Tab.
  • Escriba defaultslas opciones de montaje y presione Tab.
  • Escriba el dígito de la opción de volcado del sistema de archivos y presione Tab.
  • Escriba el dígito para la opción de verificación del sistema de archivos.
Relacionado:  Cómo usar el comando strings en Linux

Usando gedit para editar el archivo fstab

Guarde el archivo fstab.

Reinicie su sistema

Necesitamos reiniciar para verificar que todo ha ido según el plan y que tiene una conexión perfecta con su nuevo /homedirectorio.

Si no es así, todavía tiene la red de seguridad de su /homedirectorio original y el archivo fstab que podría restaurarse si es necesario. Debido a las precauciones que hemos tomado (copiar el /homedirectorio y los archivos fstab), podría devolver fácilmente su sistema al estado en el que estaba antes de comenzar.

sudo reiniciar ahora

sudo reiniciar ahora en una ventana de terminal

Comprobaciones finales

Cuando su sistema se reinicie, simplemente verifiquemos que su /homedirectorio esté realmente en su nuevo disco duro, y que su sistema no haya vuelto (milagrosamente) de alguna manera a usar el /homedirectorio anterior.

df / dev / sdb1

df / dev / sdb1 en una ventana de terminal

Genial, está montado /home. Misión cumplida.

Una vez que esté perfectamente seguro de que ya no necesita la copia de seguridad de su antiguo /homedirectorio, puede eliminarla:

discos compactos /
sudo rm -rf home.orig /

sudo rm -rf home.orig / en una ventana de terminal

Y, por supuesto, si se da cuenta de que algo no se copió del antiguo /homeal nuevo /home, podrá recuperarlo de la copia de seguridad que hizo antes de comenzar.

Hogar dulce hogar

Ahora que ha separado su /home directorio del resto de la partición del sistema operativo, puede volver a instalar su sistema operativo y sus datos no se modificarán. Todo lo que tiene que hacer es editar el archivo fstab para montar su segunda unidad /home.

Y debido a que todos sus archivos de puntos están en su /homedirectorio, cuando inicie sus diversas aplicaciones, encontrarán todas sus configuraciones, preferencias y datos.

Elimina el dolor de las reinstalaciones y elimina el riesgo de las actualizaciones.