Help Moving Installed Programs

Hello everyone,

Disclaimer: I’m absolutely new to Linux (just installed Manjaro the other day on an 500GB SSD I acquired from work). I know hardly anything about the hierarchy, file system, you name it, so expect very basic and newb questions. I caught myself searching the forums and Google but didn’t see anything directly related to my questions below.

My main purposes are to learn how to use it, not only as a regular user for everyday use, but also possibly as a Sys Admin (just started the Zero to Red Hat by Sander van Vugt roughly a week before installing).

Here’s my situation: I’ve exclusively used single HDD’s in the past with External’s holding backups of music, movies, docs, etc. I installed Manjaro to see if what I do everyday can be done and the answer is, so far, yes (a couple of things have to be done through a Windows 10 eval VM, but that’s beside the point). I have installed a couple of games and game launchers (Epic, Origin, Vortex Mod Manager) through Lutris (since games aren’t native to Linux, this was my biggest worry). I have a 4TB HDD with Windows 10 and all of my programs/docs/music/games (which is where I’m moving from; not wiping yet just in case) as well as several 250-750GB HDD’s (also acquired from work) laying around. What I will want to do in the near future is to start installing games on one HDD, have music on another, etc., since these take up so much space.

Everything is installed on the SSD (default partitioning; again, completely new to Linux)

  • If it’s possible, can someone guide me on how to take the games that are already installed on the SSD and migrate them to one of the other blank drives?
  • If it’s not possible, how do I uninstall the games (I would assume removing Epic Games is as easy as going into Lutris and clicking remove, but I could be wrong)?

Losing progress on the entire install is not an issue, so if re-installing Manjaro is the most convenient way for me to get on track, that’s completely OK as this was mainly a test install.

Welcome to the forum! :slight_smile:

Here’s the thing ─ and please don’t take this the wrong way… Newbies tend to want to run before they can walk, and your description of your situation and your plans is a fine example of this.

What you first and foremost have to understand, is that GNU/Linux is not Microsoft Windows, and doesn’t work like Microsoft Windows. GNU/Linux is a UNIX-family operating system, and in UNIX, you don’t have the concept of drives, each of which has its own root directory.

What you do have instead, is a uniform directory hierarchy, with well-defined purposes for each of those directories ─ more information about this can be gleaned from the Filesystem Hierarchy Standard.

Now, it is possible to have the contents of some of those directories (“folders”) physically reside on a separate partition (on the same or another drive), or even on a drive in a machine across the network. To the end-user, it doesn’t make any difference, because the directory hierarchy will always be the same.

That said, there are two ways to go about organizing what you want to do.

  1. You can move all the files from that directory containing the games onto another partition, and then mount that partition onto the original directory.

  2. You can move all the files from that directory containing the games onto another partition ─ mounted somewhere else in the tree ─ and then create a symbolic link from wherever that partition is mounted to the name of the original place where that stuff was stored.

However, you cannot simply go and move just about everything to another partition like that. There are certain conditions that need to be met. For instance, the contents of /usr can in their entirety be placed on another partition, but this poses special demands on the boot process, given that certain files under /usr must be available at boot time, at a point in time that no other filesystems than the root filesystem itself are mounted.

Putting the contents of your ~/Music and ~/Pictures directories elsewhere is a lot easier, but there too you’ve got multiple options, and the options most often recommended are actually not the right ones.

Additional problems arise when we’re dealing with Windows filesystems such as NTFS, because NTFS doesn’t support POSIX file ownership and permissions ─ POSIX is a standard, which stands for “Portable Operating System Interfaces for uniX” ─ and thus those permissions and that ownership must be faked by the kernel in the virtual filesystem layer at mount time, and for the whole filesystem, not for individual files and folders.

So rather than just giving you an ad hoc answer on how to pull off what you’re about to do ─ it would be very technical, there are, as I said, multiple options, and I myself happen to be very tired right now, and about to go to bed ─ I am giving you food for thought, and things to look out for on your first steps into the world of GNU/Linux.

It really is best if you were to familiarize yourself first with how a UNIX system is laid out, how different storage volumes are mounted into the tree, and so on. Besides, I’m not a gamer and apart from the name, I am not familiar with Lutris. :stuck_out_tongue:

:slight_smile:

3 Likes

First of all. I absolutely agree with @Aragorn and recommend his advice.

About this specific idea:

Yes it is prossible. As @Aragorn mentioned, there are no drives, but devices that get mounted to folders.

A device is for examples /dev/sda, /dev/sda1 is the first partition of the HDD. lsblk can show you the hierarchy of the HDD devices and sudo blkid is need to see which UUID is used. UUID are useful when changing sata connectors or HDDs are moving from one pc to another or you UEFI changes something. /dev/sda … sdb … sdd etc can change, the UUID nut, it is unique.

I theory it works like this:

  1. You have to format your HDD with gparted for example. Be aware: Every Partition on the HDD will need 1 folder if you mount all at the same time.
  2. Manually you can mount a partition of a second drive like this
mount /dev/sdb1 /GAMES

Note: you need to create this folder first: sudo mkdir -p /GAMES
3) For permanent mounting, you need to use /etc/fstab
4) Now you need to move the lutris games to the mounted /GAMES folder and symlink it:

ln -s /GAMES/lutris-games ~/where/my/games/were

Then everything should work. But i would recommend to change the settings in lutris. You need to correct all paths of all game configs here: /home/$USER/.config/lutris/

To understand lutris: It runs the games in isolated wine bottles. You can easily move them, but in lutris you need to change then all paths. When the paths in lutris are correct, it should run like it should.

If have further questions, other users or I can help you out.

Greetz

1 Like