this post was submitted on 17 Jun 2024
72 points (92.9% liked)

Linux

48044 readers
767 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
 

I just bought a new computer. I'll install fedora silverblue. Do I just need to copy the home directory? And crontab. What else do I need to move?

all 26 comments
sorted by: hot top controversial new old
[–] [email protected] 1 points 1 week ago

Depending upon how much you have customized it, you could just copy the entire OS, adjust various config files for the new partition UUID's.

[–] [email protected] 6 points 4 months ago

I just made the move to another computer, using the same distro and DE setup as the old one. So far I managed by backing up ~/ and /usr/ so I could drop in system and programming settings.

I don't know how that will work if you're going for a new distro but it's always good to have your old configs for reference!

[–] [email protected] 34 points 4 months ago* (last edited 4 months ago) (3 children)

Nobody mentioned it yet, but my current no hassle solution is to:

just physically move the nvme from one computer to the other

[–] [email protected] 2 points 4 months ago

Or if you want to use the new drive, clone your drive to the new one(using clonezilla for example)

[–] [email protected] 10 points 4 months ago

That's all I've done, or imaged it to a new drive. Linux is glorious for portability.

[–] [email protected] 6 points 4 months ago

i've done this a couple times w sata and pata drives and it works; there's lots to clean up to do, but it works.

[–] [email protected] 1 points 4 months ago (1 children)

I’m also thinking a lot about the best way to move everything from one computer to another if one day I buy a new computer.

I thought I had found a way with Clonezilla, but after trying to clone my Surface Go 1 to an old laptop I had, it didn’t work. Could be because I hadn’t removed the surface specific kernel. But now I don’t feel safe anymore.

Some people are suggesting to copy my home folder which I did, but I’m not sure it would fit my needs.

Basically, my files are taken care of with cloud storage (kDrive by the way), but I’d like to keep the way all my programs and extensions are setup.

So I ain’t sure I was a big help😅

I hope one day we’ll just have some program to prepare an archive to unpack for your next system to make the transition seamlessly. Or just putting the computer side by side and sending everything wirelessly.

I feel like we need this with all the personalization we can have on Linux.

[–] [email protected] 3 points 4 months ago

Pretty sure that is possible with Nix and home-manager.

[–] [email protected] 12 points 4 months ago

Consider using tar to create an archive of your home directory, and then unpacking that on the new machine. This will help to capture all the links as well as regular files, and their permissions.

Take a minute to think what else you have changed on the old machine, and then take another minute to think how tricky it would be to replicate on a new machine. Downloading the apps again is gloriously easy. Replacing configs, or keys and certificates, is not!

I normally archive /etc as well, and then I can copy out the specific files I need.

Did you install databases? You'll want to follow specific instructions for those.

Have you set up web sites? You'll want to archive /var/www as well.

[–] [email protected] 5 points 4 months ago (1 children)

tl;dr:

dnf list installed > $anydir/meow

On new computer, with fedora installed and the meow file;

dnf install $(cat $anydir/meow)

[–] [email protected] 8 points 4 months ago

Well doesnt work on Silverblue but

flatpak list --app

If you have configured Flatpaks, you may want to copy the ~/.var/app/ directories.

[–] [email protected] 44 points 4 months ago (5 children)

If you’re currently running a rpm distro, you can make it easier on yourself by using the duke nukem forever command to make a list of your installed programs: dnf list installed.

Once that’s outputting an appropriate format, dump it into a text file with | oldprogs.txt.

On your new computer, that same duke nukem forever command can be used to install from the list with something like dnf install << oldprogs.txt

I bet you can come up with a way to stuff all that into a neat little one liner that’ll provide error handling, output teeing and everything else!

[–] [email protected] 11 points 4 months ago

duke nukem forever

My life has two eras, pre- and post- awakening to this acronym. Updates will never be the same.

[–] [email protected] 22 points 4 months ago (1 children)

Thanks, I can't think of it as anything but duke nukem forever now. Your comment made my day.

[–] [email protected] 2 points 4 months ago

It's more appealing than the Did Not Finish command. That's to thematically close to flaming crashes for my liking.

[–] [email protected] 5 points 4 months ago

Well that doesnt work for RPM distros, but just for dnf distros XD

[–] [email protected] 32 points 4 months ago (1 children)

One correction, it would be dnf list installed > oldprogs.txt. > instead of |.

[–] [email protected] 10 points 4 months ago

Ty, it’s early yet…

[–] [email protected] 4 points 4 months ago (1 children)

Nice one.

On silverblue, everything is installed within a distrobox. I should back that up and make sure it's in my home folder.

[–] [email protected] 7 points 4 months ago

No not everything is installed in a Distrobox.

  • the core system contains base stuff
  • you can layer needed apps that need to be on the base system
  • GUI apps are preferred as Flatpaks
  • some random stuff may be in a Toolbox or Distrobox
  • you can use pip, cargo and others on the base OS to install binaries there.