12
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
this post was submitted on 25 Jul 2025
12 points (100.0% liked)
Linux
57274 readers
1117 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
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 6 years ago
MODERATORS
root partition / file system
For my needs, the simplest way is to use an extra partition might be to keep it as a reserve to install the next Distribution release. So you go
partition A: Debian 12's root
Partition B: /home
Partition C: Debian 13's root
And swap A and C for the next upgrade. It is really nice to have a whole compatible fallback system.
Alternative 1: BTRFS Another possibly quicker way to do this is a larger BTRFS disk and create subvolumes from snapshots and mount these. When the subvolumes are no longer needed, they can be deleted like any folder.
Alternative 2: LVM One can also use LVM, the logical volume manager, for the same effect. It plays nicely with LUKS encryption for laptops. But I think BTRFS is simpler most times.
How to move all packages over
One can copy the system e.g. using a
tar
backup, fix the mount points by changing the volume label (which identifies the mount point), and do a dist upgrade then. I use "tar" here because it keeps all file attributes.I guess that's the best way to do it on a server. But for desktop systems, I now think it is better to make a list of manually installed packages (there are tools which help with that), and to re-install the packages that are still needed from that list. This has two advantages:
keeping dot files, the copy-and-modify way
And one more thing I do for the dot files:
Say, my home folder is in /home/hvb . Then, I install Debian 13 and set /home/hvb/deb13 as my home folder (by editing /etc/passwd). I put my data in /home/hvb/Documents, /home/hvb/Photos/ and sym-link these folders into /home/hvb/deb13.
Now, default dot files are automatically created in /home/hvb/deb13 or /home/hvb/deb13/.config .
When I upgrade, I first create a new folder /home/hvb/deb14, copy my dot files from deb13, and install a new root partition with my home set to /home/hvb/deb14. Then, I again link my data folders , documents and media such as /home/hvb/Documents into /home/hvb/deb14 . The reason I do this is that new versions of programs can upgrade the dot files to a new syntax or features, but when I switch back to boot Debian 13, the old versions can't necessarily read the newer-version config files (the changes are mostly promised to be backward-compatible but not forward-compatible).
All in all this is a very conservative approach but it works for me with running Debian now for many years in a rather large desktop setup.
And the above also worked well for me with distro-hopping. Though nowadays, it is more recommended to install parallel dual-booted distros on another removable disk since such installs can also modify grub and EFI setup, early graphics drivers and so on, even if in theory dual-boot installs should be completely independent... but my experience is that is not any more always guaranteed (especially if you have an NVidia graphics card which needs extra support in EFI, but well ... in that case you asked for pain).
For the last reason, I now also run Arch in a VM managed by virt-manager - this also allows it to run both systems at once.
(What I want to point out is that there is nothing which you can't do with running Debian as host compared to an Arch host and Debian in a VM. The differences are not really that large - Arch has just often newer software and can be nice if you want to participate in the FLOSS community and contribute packets).*