Porting the home directory from other distribution

At the moment I still use openSUSE Tumbleweed as my only OS across all machines. With Manjaro being the first Linux distribution to tempt me more than OS, I can consider the possibility of someday switching to it. As far as software goes everything I use in SUSE seems to be available in Manjaro. So I’d like to focus on one important question that arises: Porting a home folder between distributions.

As far as desktop environment goes I should have no issues: I use KDE / Plasma on openSUSE and would also do so on Manjaro, and both are rolling releases so it should also be the same version of every important component. The same settings and paths should thus apply, eg: ~/.local/share/plasma would work as if no change happened… same for all other software. Let me know if to expect any issues in this regard.

Only one other thing concerns me: Manjaro seems to use slightly different user settings from openSUSE. On OS I’m the only user on the machine besides root, thus my user UID is 1000. Does Manjaro also assign UID 1000 to the user account created on install? If not I’d have a serious issue.

Another issue is groups: openSUSE defaults the user to a group called “users” with UID 100. In Manjaro the default group for my files seems to have the same name as my username; This should be fine as long as the UID is the same, but something tells me Manjaro’s setup may use a different number.

uid=1000(mircea) gid=1000(mircea) groups=1000(mircea),3(sys),90(network),98(power),991(lp),998(wheel)

The id command suggests my UID should be fine. The GID does differ: It’s 1000 rather than 100. So to stay compatible I’ll either have to create the “users” group with UID 100 and put my account in it, or update all of my files which would be a nightmare given the amount I have. But there already is an users group by default, and its UID is 985 not 100 :sob:

It would help if the User Accounts application allowed editing user and group UID’s. It only seems to allow me to change the name and icon, otherwise I can switch between Standard and Administrator and change which groups I belong to but nothing more from the GUI.

Hello @MirceaKitsune :wink:

If you need to change the GID of the file then just do:

sudo chown -R $USER:$USER /home/$USER/

Then all files and folders have the same UID and GID. Is there anything to add?

Why do you need the users group? Is there any application that needs it?

1 Like

I guess I don’t? Partly to keep everything consistent: Don’t want files on my drive becoming invalid or belonging to an incorrect user / group. But I’ll look up a command to batch reown them if need be.

I have Tumbleweed and Manjaro in the same laptop.

For the home directory, here’s what I do in order to preserve config files and avoiding conflicts:

I have a separate partition containing the Video, Music, Documents, Downloads… and all the folders I want to share in both homes. Then, I just create symlinks to these folders from each of the OS installations. It is not advisable to share config folders and files as you’re bound to have problems, even if both distros are rolling. If you really want to share some of these files, you can always copy/paste them.

In order to avoid permission problems, I created a group in both OS with the same GID (and same name for convenience), set all the “shared” folders to be owned by that group and add the user to that group in each OS. I haven’t had problems using this method so far. Certainly beats having to reown folders every time I switch OS.

1 Like

It is not recommended to dump the ~/.config and ~/.local from another distribution into a Manjaro install - not even the same desktop environment.

  • You cannot rely on having the same bits and pieces - theming wise.
  • You may also run into issues with KDE configuration files which may or may not be of different versions.

If you must try - I suggest you create a VirtualBox VM with Manjaro KDE then test if it is doable and what issues you run into.

You can also test on bare-metal - then I suggest that you - after the initial installation - reboot and update - create a secondary user and use the user as a guinea pig.

If you rely on tools like DaVinci Resolve or any other commercial software available for Linux then you should think twice before you have thoroughly tested Manjaro and the software you need.

4 Likes

Considering how many application settings I have, it’s definitely the route I’m planning to go: It would be a nightmare to start from scratch now, years worth of data and settings and logs could be lost.

But I’m confident with this move once I know of everything I need to be on the lookout for. The DE is the same, and since both openSUSE Tumbleweed and Manjaro are rolling releases even the component versions will be roughly identical; If one isn’t, the result shouldn’t be different from detecting a simple upgrade / downgrade, the config will likely get updated on the first run. Otherwise, to my knowledge, there isn’t anything distribution specific in the home directory… every piece of software uses the same paths so all configs should just work, including my custom bin scripts and such.

The important thing I’ll have to ensure is that I have all packages I use in openSUSE installed in Manjaro first, otherwise stuff will end up missing on login. Which includes using themes (eg: icon theme) available and installed in Manjaro too, else I’d get missing or fallback graphics.

Beyond those points and the file UID’s which I’ll know how to fix, I can’t think of anything else. Let me know if any other potential issue comes to mind just in case.

No matter the path you choose - there are differences where you may find Manjaro is not suitable.

While most Manjaro users has only minor issues and find Manjaro extremely reliable (I am one of them) - issues easily fixed when you now why and how - there is also users - which constantly run into issues - judging from your mention on how to solve file ownership issues - and the years of settings and logs I reckon you have the required desire and courage to do it.

I wish you good winds and a pleasant journey.
:bowing_man:

4 Likes

If you have a largeish caddy SSD/HDD then you can copy all the user files and folders - Pictures,Documents and so on- from your user folder to that. I have done so many times in the past with no repercussions. I also copy the .Mozilla and .Thunderbird folders. They can then be transferred to the new install.

Thanks. As I mentioned in my intro, I’ve been using Linux constantly for nearly a decade. My only distribution ever has been openSUSE up until now, which was the only desktop distro user friendly and flexible enough for my liking. With Manjaro this has changed: It seems to beat openSUSE at quite a few things, even stability and a modern packaging architecture. While switching distros for the first time is a new thing for me, I know Linux well enough to handle the majority of the details. Especially after having played with Manjaro in VirtualBox for a few weeks, I feel I now have a good idea of it as well :slight_smile:

And I agree that it feels reliable. openSUSE Tumbleweed is beginning to have minor packaging issues here and there… like some packages fail to build but they push new snapshots anyway so they become broken because older versions of dependencies have been replaced. I still consider it a great OS but do feel that Manjaro has taken a few steps ahead of SUSE.

I finally switched from openSUSE to Manjaro last night. Adapting the home directory required jumping through a few loops but in the end I got it done. There are only a few things to be aware of; If anyone else plans on changing distributions and doesn’t want to start from scratch, here’s what you should pay attention to in order to port your data successfully:

  • The one annoying part is Firefox and Thunderbird choosing to drop profiles from other installations by default, due to Mozilla designing them this way: When first starting up they will warn that your existing data can’t be ported from different versions of the product. Obviously it can; You just need to go to ~/.mozilla and ~/.thunderbird and edit installs.ini and profiles.ini to make the new installation UID point to your old profile directory located there.
  • Fonts use slightly different names between distributions: Even if you’re using the same font in the system or application settings, you may need to rename them in the config (eg: “Droid Sans” to “Droid Sans [1ASC]”). Luckily most applications will either know which font you’re referring to or fallback to the default font until you find and fix the definition.
  • Permissions have to be updated on user files, such as to fix the group which defaults to 100 on openSUSE but is 1000 on Manjaro. You can easily do this with the command chown -Rh username:username /home/username (-R to recurse, -h to include hidden content).
  • If you used custom user scripts they’re no longer located in ~/bin but ~/.local/bin, simply move the directory and your scripts will be detected system wide again.
  • It’s a good idea to delete your ~/.cache directory at this point. Make sure you don’t have shortcuts that were rendered invalid in ~/.local/share/applications. Also if your DE is KDE, run the command “kbuildsycoca5” just to be sure everything is properly adapted.
2 Likes

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.