¿Cómo puedo mover el directorio de inicio a una partición separada?


22

Me gustaría instalar otra distribución pero mantener mi directorio de inicio. ¿Hay alguna forma de mover el directorio de inicio a una partición separada? No tengo un disco duro externo disponible para hacer una copia de seguridad de mis datos. Me gustaría configurar mis particiones como se sugiere aquí .


1
Siempre puede volver a particionar y luego restaurar / inicio desde la copia de seguridad. Tienes copias de seguridad, ¿no?
KeithB

Respuestas:


13

Su pregunta es distro neutral, así que si menciono algo específico que no tiene, simplemente use el equivalente de su lado.

Realmente recomiendo que compre un externo para copias de seguridad, créame, lo peor es perder sus datos. Proceda bajo su propio riesgo , pero si no puede obtener uno, esto es lo que puede hacer.

Que necesitas

  • el tamaño de su directorio / home
  • espacio libre, más del tamaño de su directorio / home
  • herramienta de particionamiento de disco, recomiendo gparted

Qué hacer

  • Verifique el tamaño de su directorio / home (el último resultado será el total de home):

    du -h /home

  • Compruebe si tiene suficiente espacio libre para la nueva partición:

    df -h

  • Instalar gparted

    sudo apt-get install gparted

Necesita más espacio libre que el tamaño de su directorio / home. Si no tiene espacio libre, no podrá crear esa nueva partición y, de todos modos, tendrá que mover sus datos a una fuente externa.

Si tiene espacio, use gparted para reducir su partición existente, y luego cree una nueva partición con el espacio no asignado liberado. Una vez que su nueva partición esté lista, tenga en cuenta que es / dev / sdax (use sudo fdisk -lpara ver esto) y copie sus archivos / home.

Usando la partición en una nueva distribución

Usted mencionó la instalación de otra distribución, si planea anular su distribución actual, entonces durante la instalación se le pedirá que configure las particiones. En ese momento, puede especificar esta partición como / home, elegir no formatearla, y todo estará bien, puede omitir esta próxima sección.

Sin embargo, si desea que su distribución actual funcione con la partición new / home, siga esta sección:

Montar la partición en una distribución existente

Tenemos que decirle a su sistema operativo que use la partición como su nuevo / inicio, lo hacemos en fstab, pero primero busquemos el UUID de esta nueva partición:

ls -l /dev/disk/by-uuid

Haga una referencia cruzada de su nueva partición / sdax y copie el UUID de la misma, el mío parece 3d866059-4b4c-4c71-a69c-213f0e4fbf32.

Copia de seguridad de fstab: sudo cp /etc/fstab /etc/fstab.bak Editar fstab:sudoedit /etc/fstab

La idea es agregar una nueva línea que monte la partición en / home. Use su propio UUID, no el que publico aquí;)

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
UUID=3d866059.. /home           auto    default         0       1

Guarde y reinicie, y pruebe si la nueva partición se monta en / home. Ejecutar df -hpara enumerar todas las particiones montadas, / home ahora debería estar en esa lista.


Notas

  • Puede ser una buena idea familiarizarse con fstab si no lo conoce bien. Solo tómate tu tiempo y piensa en cada paso.
  • Si instala una nueva distribución y usa el mismo nombre de inicio de sesión, sus archivos antiguos / de inicio quedarán automáticamente bajo su propiedad.
  • Este no es un tema trivial para cubrir en una publicación, pero creo que obtuve la mayor parte. :)

Estoy tratando de usar gparted, pero no puedo cambiar el tamaño de la partición /. ¿Tiene alguna recomendación sobre cómo cambiar el tamaño de la partición raíz? Podría usar Parted Magic para hacerlo desde un CD en vivo.
Vanillaike

1
Sí, tendría que hacerlo desde un Live CD porque el sistema operativo ejecuta el sistema de archivos. Ubuntu Live CD, Knoppix o Parted Magic funcionarán.
invertir

3

El título de la publicación y su pregunta me causaron cierta confusión. ¿Desea separar su homeen una partición, o simplemente desea reinstalar y mantener el mismo home?

Si todo lo que desea es reinstalar todo el sistema operativo mientras lo mantiene home, puede hacer una copia de seguridad homeen un lugar que no se verá afectado por la instalación, luego restaurarlo después de eso, junto con una corrección de permisos (use chown -R username:groupnamepara asegurarse de que la propiedad sea correcta )

Si desea seguir algunas de las mejores prácticas y separar las suyas home, aquí está la guía que necesita . Está escrito para Ubuntu, pero creo que lo mismo ocurre con otras distribuciones.


perdón por la confusion. Me gustaría separar mi casa en una partición
vainilla

ADVERTENCIA: El enlace en "corrección de permisos" actualmente rebota uno a dos sitios web diferentes, el último de los cuales le pide a uno que instale Adobe Flash en una réplica de diálogo de instalador muy dudosa.
user66001

Desvinculé la "corrección de permisos" y copié el consejo del artículo original, que encontré archivado .
mattdm

2

Suponiendo que ya tiene una partición separada (y si no la tiene, probablemente quiera usar gparted o algo similar, para hacer una), simplemente haga lo siguiente (preferiblemente como usuario root):

 cp -R /home/whatever /path/to/destination
 mv /home/whatever /home/whatever.orig
 ln -s /path/to/destionation /home/whatever 

Y luego suponiendo que todo funcione como debería (inicie sesión como usuario y pruebe)

 rm -rf /home/whatever.orig 

Esto copia todo el directorio (y todo el contenido) en el punto de montaje de destino, cambia el nombre del directorio de inicio original (en caso de que algo se arruine en el proceso, luego podemos recuperarlo), crea un enlace simbólico desde la nueva ubicación al inicio original directorio (que todo (como / etc / passwd) todavía apunta), luego, suponiendo que funcionó, elimina la copia de seguridad que hicimos, dejando la copia que colocamos en el sistema de archivos de destino.


Esto realmente no se usa /homecomo punto de montaje para la nueva partición. Es solo simbólicamente.
Matthew Flaschen

Efectivamente es lo mismo. El hecho de que / home / username sea un enlace simbólico no significa que no funcione. Si desea poner todas las cuentas de usuario en la otra partición, simplemente cambie la línea 'cp -R' para hacer / home en lugar de / home / username
Matt Simmons
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.