¿Quiere mover su carpeta de inicio de Linux a otra unidad? Aquí hay una forma simple 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 factible que desee tener su directorio de inicio en una unidad distinto 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 su principal almacenamiento de datos. O puede tener un solo disco duro tradicional en su sistema y ha agregado un nuevo disco duro para incrementar el almacenamiento. Cualesquiera que sean sus razones, 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. De forma general, solo necesitará ir a las alternativas de partición, crear una partición separada y montarla en “/ home”. Pero, si ya ha instalado una distribución de Linux, puede utilizar estas instrucciones para mover su directorio de inicio actual a una nueva ubicación sin renunciar nada ni reinstalar su sistema operativo.
Ahora, antes de comenzar, haz una copia de seguridad.
RELACIONADO: Cómo hacer una copia de seguridad de su sistema Linux
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 varias unidades y reinició, hay poca evidencia de que la nueva unidad esté presente.
los fdisk
el comando será enumerar 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
, el segundo es /dev/sdb
y así sucesivamente, aumentando la última letra cada vez. Entonces /dev/sde
sería el quinto disco duro del sistema.
en este ejemplo, la nueva unidad es la segunda unidad que se instala en el sistema. Por lo tanto debemos buscar una entrada para /dev/sdb
.
/dev/sdb
se resalta arriba. Notará que no dispone de una línea que describa una partición. Es una unidad absolutamente nueva, por lo que aún no la tendrá. Necesitamos crear la partición. Podemos hacerlo usando fdisk
. Si su disco duro no es /dev/sdb
, asegúrate de sustituir /dev/sdb
con el identificador de unidad real para su nuevo disco duro en el comando.
sudo fdisk /dev/sdb
Cuando fdisk
le solicita 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 posibilidad de asegurarnos de que la unidad para la que vamos a crear una partición sea la unidad con la que pretendemos trabajar.
Nos dice que la unidad es una unidad de 1TB, que coincide con lo que esperamos en esta máquina de prueba, por lo tanto procederemos.
Crear una partición
Presione la letra n
para una nueva partición y posteriormente presione p
para 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.
Pese a que fdisk
confirma que ha creado una partición Linux de 1TB, que es la partición número 1, nada ha cambiado en el disco duro aún. Hasta que le des fdisk
el 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 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 hay una partición listada para la unidad ahora. Debido a que fue la primera partición en esta unidad, se llama /dev/sdb1
. Una segunda partición se llamaría /dev/sdb2
, etcétera.
No queremos hacer ningún cambio en la partición, por lo tanto presione la letra q
abandonar.
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 mkfs
mando. 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
(el disco).
sudo mkfs -t ext4 /dev/sdb1
El sistema de archivos se creará automáticamente y volverá a la línea de comandos.
Montaje de la nueva unidad
Para utilizar la nueva unidad, debemos montar la partición en un punto de montaje en el sistema de archivos. En realidad, para ser estupendamente precisos, no estamos montando el disco ni la partición, estamos montando el sistema de archivos en la partición, injertándolo en el sistema sistema de archivos árbol.
los /mnt
El punto es un lugar tan bueno como cualquier otro. Es solo un punto de montaje temporal que nos posibilita copiar datos en la nueva unidad. Vamos a usar el mount
comando para montar el sistema de archivos en la primera partición en /dev/sdb
, a /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. veamos qué hay aquí.
ls -ahl
Estamos en nuestro nuevo sistema de archivos. El directorio predeterminado «perdido + encontrado» no es necesario para que podamos eliminarlo.
sudo rm -rf lost+found
Copiar su carpeta de inicio
Necesitamos copiar todo, desde el antiguo directorio de inicio al sistema de archivos recién montado. Usando el r
(recursivo) y p
(preservar) las alternativas asegurarán se copian los subdirectorios y que se conservan las propiedades, los permisos y otros atributos de los archivos.
sudo cp -rp /home/* /mnt
Cuando la copia se haya completado, utilice ls
para echar un vistazo y verificar que sus datos estén donde espera que estén en el nuevo sistema de archivos. Dicho de otra forma, si /mnt
era su directorio de inicio, ¿está todo presente y correcto?
ls
ls 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 post. Como red de seguridad, cambiaremos el nombre y mantendremos su antiguo /home
directorio hasta que esté satisfecho de que es seguro eliminarlo.
sudo mv /home /home.orig
Y crearemos un directorio de inicio nuevo y vacío.
sudo mkdir /home
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 vuelva a montarlo /home
. Tenga en cuenta que el comando umount
no dispone de 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 /home/
RELACIONADO: La estructura de directorios de Linux, explicada
Prueba de su nuevo directorio de inicio
Veamos cuáles son los atributos del /dev/sdb1
partición son ahora:
df /dev/sdb1
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 /home
directorio. Eso significa que deberíamos poder hacer referencia a él exactamente como podríamos /home
directorio.
Si nos movemos a algún punto arbitrario en el sistema de archivos, deberíamos poder volver a cambiar a /home
usando el ~
atajo de tilde.
cd /
cd ~
pwd
ls
cd /home
ls
cd dave
ls
ls -a
Podemos movernos por el sistema de archivos de un lado a otro para /home
usando comandos explícitos y usando el ~
atajo. Las carpetas, archivos y dotfiles que esperaríamos están presentes. Todo luce bien.
Si faltaba algo, podríamos copiarlo del /home.orig
directorio, al que aún tenemos acceso en la raíz del sistema de archivos. Pero todo luce bien.
Ahora necesitamos tener /dev/sdb1
se monta 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
Ahora podemos editar el archivo fstab. Utiliza tu editor favorito, estamos usando gedit
. Cualquier editor de texto será útil.
sudo gedit /etc/fstab
Debe agregar una línea en la parte inferior del archivo para montar nuestro nuevo /home
directorio. Si los identificadores de su unidad y partición son diferentes a los utilizados en este ejemplo, sustitúyalos por los /dev/sdb1
se muestra aquí.
- Escriba el nombre de la partición al principio de la línea y posteriormente presione Tab.
- Escriba el punto de montaje,
/home
y presione Tab. - Escriba la descripción del sistema de archivos
ext4
y presione Tab. - Escribe
defaults
para las alternativas de montaje y presione Tab. - Escriba el dígito
0
para la opción de volcado del sistema de archivos y presione Tab. - Escriba el dígito
0
para la opción de verificación del sistema de archivos.
Guarde el archivo fstab.
Reinicie su sistema
Necesitamos reiniciar para verificar que todo ha ido según el plan y que dispone de una conexión perfecta con su nuevo /home
directorio.
Si no es así, aún tienes la red de seguridad de tu original. /home
directorio y archivo fstab que se pueden restaurar si es necesario. Debido a las precauciones que hemos tomado: copiar el /home
directorio y archivos fstab: puede devolver fácilmente su sistema al estado en el que estaba antes de comenzar.
sudo reboot now
RELACIONADO: Cómo reiniciar o apagar Linux usando la línea de comandos
Comprobaciones finales
Cuando su sistema se reinicie, comprobemos que su /home
directorio está verdaderamente en su nuevo disco duro, y su sistema de alguna manera (milagrosamente) no ha vuelto a utilizar el antiguo /home
directorio.
df /dev/sdb1
Genial, está montado en /home
. Misión cumplida.
Una vez que esté estupendamente seguro de que ya no necesita la copia de seguridad de su antiguo /home
directorio, puede eliminarlo:
cd /
sudo rm -rf home.orig/
Y decididamente, si te das cuenta de algo no lo hice copia de lo viejo /home
a tu nuevo /home
, podrá recuperarlo de la copia de seguridad que realizó antes de comenzar.
Hogar dulce hogar
Ahora que has separado tu /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 debe hacer es editar el archivo fstab para montar su segunda unidad en /home
.
Y debido a que todos sus archivos de puntos están en su /home
directorio, 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.
setTimeout(function(){
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version=’2.0′;
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s) } (window, document,’script’,
‘https://connect.facebook.net/en_US/fbevents.js’);
fbq(‘init’, ‘335401813750447’);
fbq(‘track’, ‘PageView’);
},3000);