Can someone explain Bazzite's file structure?

Anyone kind enough to explain Bazzite’s file structure? 'cause I am lost and don’t have a clue why there are random files on my entire disk, from bin to var.

If they are system files, why are they not hidden by default and is there an option to hide system files? Btw, the file manager is called “Dolphin”. I thought it would be like Window’s file explorer but its an entire separate application. Weirdly enough, on Bazaar, it still shows an option to ‘install’ even tho I already have it…

Under ‘Devices’, I assumed the one labelled ‘bazzite’ is for casual/normal use, but again its filled with random files and I just don’t know why.

Went through the entire documentation, it too doesn’t explain the file structure. Ig they already expect the user to be somewhat familiar with Linux environments…

Note: Bazzite is my very 1st Linux distro and yes, its on a fresh install.

As you have already noticed. The Linux filesystem is fundamentally different from Windows. Different enough that is almost pointless to compare them. Here are some key things to understand:

  • Linux doesn’t have drives(c:, d:, etc) everything is stored inside a single unified file tree that is under /
  • Although it isn’t a hard requirement, generally all your user files and preferences are stored in /home/<username>/
  • Hidden files/folders in Linux start with .
  • In Bazzite, most of the locations outside of /home and /etc are read-only and not meant to be changed by the user.
  • /etc contains system level config files. Don’t change these unless you know what you are doing.

Most applications are installed via flatpak. Flatpak is a containerized application format. These are the applications that you see in Bazaar. However, some core applications are also built into the base image. In these cases, you will still be able to install them from Bazaar but it would be fairly pointless to do so, then you would have them twice.

Ok, that explains a lot.

So have I messed up the disk during setup? Basically, I created 3 partitions during the setup process:
Filesystem is Mounted at /boot/efi
bazzite_xboot is Mounted at /boot
& bazzite is Mounted at /etc (this one takes up the remaining 2TB space)

Should I resize the bazzite partition and mount the remaining at /home for my personal use?

Edit: Bazzite dc ppl said not to use ‘Disks’ app for resizing partitions; why tho? The ‘bazzite’ partition already has a lot of random files on it, can it mess up if resized?

Can you share the output of findmnt --real.

I suspect what you have mounted is actually a btrfs filesystem that has subvolumes mounted in multiple places.

Konsole Output:

TARGET SOURCE FSTYPE OPTIONS
/etc /dev/nvme1n1p3[/root/ostree/deploy/default/deploy/bbd9e71c168c87c3d6c08f1b20cc07bfebfcec1d2d5ce8ac1ad3d5c5ba6f751d.0/etc]
btrfs rw,relatime,seclabel,ssd,discard=async,space_cache=v2,subvolid=256,subvol=/root
/sysroot
│ /dev/nvme1n1p3[/root]
│ btrfs ro,relatime,seclabel,ssd,discard=async,space_cache=v2,subvolid=256,subvol=/root
└─/sysroot/ostree/deploy/default/var
/dev/nvme1n1p3[/root/ostree/deploy/default/var]
btrfs rw,relatime,seclabel,ssd,discard=async,space_cache=v2,subvolid=256,subvol=/root
/var /dev/nvme1n1p3[/var]
│ btrfs rw,relatime,seclabel,ssd,discard=async,space_cache=v2,subvolid=258,subvol=/var
└─/var/home
/dev/nvme1n1p3[/home]
btrfs rw,relatime,seclabel,ssd,discard=async,space_cache=v2,subvolid=257,subvol=/home
/boot /dev/nvme1n1p2
│ ext4 rw,relatime,seclabel,stripe=8
└─/boot/efi
/dev/nvme1n1p1
vfat rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=winnt,errors=remount-r

Think its just a btrfs fs that is mounted to “multiple” places:

lsblk 
NAME                                          MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINTS 
zram0                                         251:0    0     8G  0 disk  \[SWAP\] 
nvme0n1                                       259:0    0 953,9G  0 disk   
├─nvme0n1p1                                   259:1    0   600M  0 part  /boot/efi 
├─nvme0n1p2                                   259:2    0     2G  0 part  /boot 
└─nvme0n1p3                                   259:3    0 951,3G  0 part   
 └─luks-fc116edc-eb99-4f2d-ac3f-f4a2a0d4becd 252:0    0 951,3G  0 crypt /var/home 
                                                                        /var 
                                                                        /sysroot/ostree/deploy/default/var 
                                                                        /sysroot 
                                                                        /etc

Yes, that one large btrfs filesystem you have is actually mounted in multiple places.

So the space is shared between all those locations.

You don’t need to resize or repartition.

What if I want a separate dedicated partition to keep my games, videos, pictures and music, all in one place?

Is this something not to be messed with?

Just use /home then??

Yes, just keep them in /home.

A dedicated partition isn’t really helpful in this situation.

You said “some core applications are also built into the base image”.

What if I don’t want the bloat?
How to completely remove them from the system?
And do they update automatically or they just don’t?

You would need to build your own image which is likely beyond what someone new to Linux should be attempting. That being said, the bloat is minimal.

They update with the base image. Normal updates will take care of it.

You cannot completely remove the core apps that are part of the image, those will stay on the image even if you try to uninstall them with rpm-ostree remove. Flatpaks you can remove and those will get removed fully.

If you really want to remove the base image stuff, you will need to create a custom image and remove the packages during buld time