Originally Posted by
truij
OK, I got everything set up and running (do still have to install Steam), but how do I install programs (like Firefox) to a different drive?
Because now everything goes to the F: disk (slower HDD) (had to install Ubuntu there due to space limit), but how do I install/ move a program to my C: (faster SSD) drive?
So, in Unix systems, programs are made up of different parts. These different parts are placed into different directories based on the package installer. The Linux File System Hierarchy Standards explain what goes where. There's a formal, industry group that produces that document. There's also a wikipedia article with a good summary. https://en.wikipedia.org/wiki/Filesy...archy_Standard
In short, programs go into /usr/bin/
System-wide settings go into /etc/
Program Data that is shared with others go into /var/lib/
Personal Data that is per-userid goes into $HOME/ for that user.
There are ways to change there personal data goes, usually through environment variables, so it is possible to have 20 different personal versions of the same program just by changing 1 variable.
But since Unix and Linux were meant to be multi-user from the start, programs have always been installed in a central way.
Other OSes keep all those different parts in a single place, which makes for a mess when multiple users become involved.
With all that said, the OS and programs don't care specifically where the storage used for and directory is really located. There are a number of methods to redirect or just directly mount extra storage where it is needed. For example, I mount extra storage where it is required on 1 of my systems:
Code:
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vg00-var ext4 54G 33G 19G 64% /var
/dev/mapper/WDBLK_8T-jellyfin ext4 20G 7.0G 12G 38% /var/lib/jellyfin
Forget drive letters. Those actually haven't existed in decades, even on MS-Windows. With Linux/Unix, we can mount a file system exactly where it is needed. See how I put 20G just for jellyfin? Usually, I'd have /var/ be about 4GB, but with LXD and snap packages, Ubuntu/Canonical has decided to place linux containers under /var/lib/ which can use lots of storage, so I decided to make that storage much larger than I'd normally need. Additionally, I created an area just for LXD managed LXC containers (50G) which are in an SSD inside a logical volume manager tool (LVM2). That storage isn't mounted. It is 100% managed through lxd for lxc container needs.
The easy way to redirect to different storage is to use symbolic links. The harder way (only slightly) is to setup the /etc/fstab to mount the extra storage where it is needed. An example line to mount that jellyfin storage:
Code:
/dev/WDBLK_8T/jellyfin /var/lib/jellyfin ext4 nodev,nosuid 0 1
Yours **will** be different and the partition and file system have to be setup on the device BEFORE it can be mounted.
Bookmarks