31
submitted 8 months ago* (last edited 8 months ago) by youngGoku@lemmy.world to c/linux@lemmy.ml

This was I can wipe the drive it's on and install a new OS without losing anything in /home/

top 10 comments
sorted by: hot top controversial new old
[-] blotz@lemmy.world 24 points 8 months ago* (last edited 8 months ago)

Log in as root to avoid trying to make sure no files in /home/ are being read/written to.

Step 1: copy data to new drive. Mount new drive to /mnt/. cp -ra /home/* /mnt/. -a means that all permissions remain the same which will mean that your user can still read them. Check the man page for more details. This command will take a while. Use -v to see progress. You should see a folder with your username appear.

Step 2. Prepare /home for new drive. Move the files to a new folder. This is done to make sure you can still easily go back. mv /home/ /home-bak/ keep your old home dir safe in case a mistake was made. mkdir /home/.

Step 3. Mount your new drive. Mount your drive to /home/ and check if you can login. If everything went correctly, you should be able to just login. Finally you need to update your /etc/fstab to include this new drive. This will make sure your home drive mounts when you start your os. If everything is working, you can delete your home-bak as well.

[-] EdgeRunner@lemmy.dbzer0.com 16 points 8 months ago

I dont like the MV home. 😅

My advice :

  • login as root.
  • rsync -av /home, on the new disk.
  • fstab : comment the old home's line, don't delete, and copy it to change the identifier (path or uuid).
  • noob tips, add a new file in the new home.
  • login to check it is ok (with su - user), and check there is the new file.

You can now delete or keep it as a save.

[-] blotz@lemmy.world 9 points 8 months ago

the mv home is just renaming the folder so you can mount home in the same space. Rsync is probably better than cp but I didn't want to suggest tools that op doesn't have installed.

[-] EdgeRunner@lemmy.dbzer0.com 10 points 8 months ago

Oh ok I see why no use of rsync. Clever.

I've read your solution, OP, you can go. Good tuto written on mobile.

[-] blotz@lemmy.world 5 points 8 months ago

This is a rough guide written on mobile. its probably best if someone double check some of this stuff before op tries it.

[-] lurch@sh.itjust.works 7 points 8 months ago* (last edited 8 months ago)

If you have a root account that allows logging in in text mode (no X no Wayland, no GUI), you would do that instead. These instructions are for that case. The home of root is /root , so it would not be affected.

Mount the new drive in an emty dir, if it isn't already.

Make sure the other drives file system supports everything /home does.

Set the exact same permissions as /home/ in the new drives top level directory.

Add a line to fstab defining the other drive to be mounted automatically as /home .

Move the contents of /home over to the other drive.

Umount the other drive.

Enter just: mount /home

This should work without errors and if you peek inside, you should see user dirs and it should show up if you enter just: mount

No reboot necessary, you could just log out, switch to the GUI login and log in as regular user. After your next boot you will find out if you edited your fstab correctly to auto mount it. If not just log in as root in text mode again and fix it.

[-] mcepl@lemmy.world 5 points 8 months ago
  1. Many Linux installers can preserve /home when asked nicely.
  2. (as root) rsync -avz /home/youruser/ other-machine:/home/
[-] Rustmilian@lemmy.world 4 points 8 months ago* (last edited 8 months ago)

In what way? Like a home partition?
Home should just be a folder you can copy over in most cases.
If it's a separate partition, most distros can just install to the other partitions without overwriting the home partition.

[-] eleitl@lemmy.ml 3 points 8 months ago

SELinux rights can be a problem.

[-] seasick@lemmy.world 2 points 8 months ago

Unsure what exactly you want to do, but this might be of help https://help.ubuntu.com/community/Partitioning/Home/Moving

this post was submitted on 24 Dec 2023
31 points (91.9% liked)

Linux

47210 readers
760 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS