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

Publicado: 2022-01-29
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 su carpeta de inicio separada?

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 almacenamiento principal para los datos. O puede tener un solo disco duro tradicional en su sistema y ha agregado un nuevo disco duro para aumentar el almacenamiento. Cualesquiera que sean sus razones, aquí hay un repaso 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. Por lo general, solo tendrá que acceder a las opciones de partición, crear una partición independiente 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 comenzar, ve y haz una copia de seguridad.

RELACIONADO: Cómo hacer una copia de seguridad de su sistema Linux con rsync

Identificar la unidad

Si acaba de instalar una unidad en una computadora con Linux, o instaló Linux en una de las unidades en una nueva computadora con múltiples unidades y reinicia, hay poca evidencia de que la nueva unidad esté siquiera presente.

Anuncio publicitario

El comando fdisk las unidades y sus particiones para nosotros.

 sudo fdisk -l 

Desplácese por la salida hasta que haya identificado la nueva unidad. La primera unidad se llama /dev/sda , la segunda es /dev/sdb y así sucesivamente, con la última letra aumentando cada vez. Así que /dev/sde sería el quinto disco duro del sistema.

en este ejemplo, la nueva unidad es la segunda unidad que se instalará en el sistema. Entonces necesitamos buscar una entrada para /dev/sdb .

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

 sudo fdisk /dev/sdb 

Cuando fdisk le solicite 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 es la unidad con la que pretendíamos trabajar.

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

Crear una partición

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

Anuncio publicitario

Vamos a crear una sola partición para todo el disco, de modo 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 Intro aceptará el valor predeterminado.

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

La partición se ha escrito en /dev/sdb . Veamos lo que acaba de pasar. Usaremos fdisk una vez más en /dev/sdb .

 sudo fdisk /dev/sdb 

Presione la letra p para 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 . Una segunda partición se llamaría /dev/sdb2 y así sucesivamente.

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

Crear 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 comando mkfs . 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 

Anuncio publicitario

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

Montaje de la nueva unidad

Para usar la nueva unidad, debemos montar la partición en ella en un punto de montaje en el sistema de archivos. En realidad, para ser perfectamente exactos, no estamos montando el disco 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 punto /mnt es un lugar tan bueno como cualquier otro. Es solo un punto de montaje temporal que nos permite copiar datos en la nueva unidad. Vamos a usar el comando de mount para montar el sistema de archivos en la primera partición en /dev/sdb , en /mnt .

 sudo mount /dev/sdb1 /mnt 

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 

Si podemos. vamos a ver lo que hay aquí.

 ls-ahl 

Estamos en nuestro nuevo sistema de archivos. El directorio predeterminado "lost+found" no es necesario, por lo que podemos eliminarlo.

 sudo rm -rf perdido+encontrado 

Copiar su carpeta de inicio

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

 sudo cp -rp /inicio/* /mnt 

Anuncio publicitario

Cuando la copia se haya completado, use ls para 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 /mnt fuera su directorio de inicio, ¿está todo presente y correcto?

 ls
 soy dave 

Probablemente querrá ser un poco más minucioso de lo que fuimos en la máquina de prueba en la que se investigó este artículo. Como red de seguridad, vamos a renombrar y conservar su antiguo directorio /home hasta que esté seguro de que es seguro eliminarlo.

 sudo mv /home /home.orig 

Y crearemos un nuevo directorio de inicio vacío.

 sudo mkdir /inicio 

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

Pero primero, cambiaremos al directorio raíz (con cd / ) para asegurarnos de que no estamos en un directorio que se incluirá en las ubicaciones de montaje o desmontaje.

 CD /
 sudo umount /dev/sdb1
 sudo mount /dev/sdb1 /inicio/ 

RELACIONADO: La estructura de directorios de Linux, explicada

Prueba de su nuevo directorio de inicio

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

 df /dev/sdb1 

Anuncio publicitario

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

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

 CD /
 discos compactos ~
 personas con discapacidad
 ls 

 cd /casa
 ls
 dave cd
 ls
 ls-a 

Podemos movernos a través del sistema de archivos hacia adelante y hacia atrás hasta /home usando comandos explícitos y usando el atajo ~ . Las carpetas, archivos y dotfiles que esperaríamos están todos presentes. Todo se ve bien.

Si faltara algo, podríamos copiarlo del directorio /home.orig , al que todavía tenemos acceso en la raíz del sistema de archivos. Pero todo se ve bien.

Ahora necesitamos que /dev/sdb1 se monte automáticamente cada vez que se inicie 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 realizar cambios en él, haremos una copia de seguridad a la que podamos volver en caso de problemas.

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

Anuncio publicitario

Ahora podemos editar el archivo fstab. Usa tu editor favorito, estamos usando gedit . Cualquier editor de texto servirá.

 sudo gedit /etc/fstab 

Debe agregar una línea al final del archivo para montar nuestro nuevo directorio /home . Si los identificadores de su unidad y partición son diferentes a los utilizados en este ejemplo, sustitúyalos por el /dev/sdb1 que se muestra aquí.

  • Escriba el nombre de la partición al principio de la línea y luego presione Tabulador.
  • Escriba el punto de montaje, /home y presione Tabulador.
  • Escriba la descripción del sistema de archivos ext4 y presione Tabulador.
  • Escriba defaults para las opciones de montaje y presione Tabulador.
  • Escriba el dígito 0 para la opción de volcado del sistema de archivos y presione Tabulador.
  • Escriba el dígito 0 para la opción de verificación del sistema de archivos.

Usando gedit para editar el archivo fstab

Guarde el archivo fstab.

Reinicie su sistema

Necesitamos reiniciar para verificar que todo haya ido según lo planeado y que tenga una conexión perfecta con su nuevo directorio /home .

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

 sudo reiniciar ahora 

RELACIONADO: Cómo reiniciar o apagar Linux usando la línea de comandos

Comprobaciones finales

Cuando su sistema se reinicie, simplemente verifiquemos que su directorio /home esté realmente en su nuevo disco duro, y que su sistema no haya vuelto (milagrosamente) a usar el antiguo directorio /home .

 df /dev/sdb1 

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

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

 CD /
 sudo rm -rf home.orig/ 

Anuncio publicitario

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

Hogar dulce hogar

Ahora que ha separado su directorio /home del resto de la partición del sistema operativo, puede reinstalar su sistema operativo y sus datos permanecerán intactos. Todo lo que tiene que hacer es editar el archivo fstab para montar su segundo disco en /home .

Y debido a que todos sus archivos de puntos están en su directorio /home , 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.

RELACIONADO: Las mejores computadoras portátiles Linux para desarrolladores y entusiastas