when I installed debian 12.7 I created a separated /var directory, along other 2 separated directories (names forgotten).

I also use flatpak and this program is installed in this directory. Executing 'flatpack update' I discovered this directory is 95% full, meaning I cannot update anything, because /var is 95% full (only 400 MiB free)

Ideas to solve this?

  • gomp@lemmy.ml
    ·
    edit-2
    1 month ago

    (I assume you meant "I created a separated /var partition")

    You can move/resize partitions from basically any live usb (via cli or gparted for gnome and kde partition manager for kde).

    Shall you want to, you can also merge the var partition with (say) your root partition:

    1. mount both partitions in two directories (just create empty ones and mount on them, say ~/root and ~/var)
    2. inside ~/root create the new var/ directory
    3. copy the data over
    4. edit ~/root/etc/fstab (remove the line for the old var partition)
    5. use whatever partitioning tool to get rid of the actual partition and expand the previous/next one

    Be aware that you can very easily lose your data ;)

    PS: just in case, try running flatpak uninstall --unused

  • lemmyvore@feddit.nl
    ·
    1 month ago

    The safest method, if your /home has enough space, is to use it instead of /var for (some) Flatpak installs. You can force any Flatpak install to go to /home by adding --user to the command.

    If you look at the output of flatpak list it will tell you which package is installed in user home dir and which in system (/var). You can also show the size of each package with flatpak list --columns=name,application,version,size,installation.

    I don't think you can move installed apps directly between system/user like Steam can (Flatpak is REALLY overdue for a good package manager) but you can uninstall apps from system, then run flatpak remove --unused, then install them again with --user.

    Please note that apps installed with --user are only seen by the user that installed them. Also you'll have to cleanup separately for system and user(s) in the future (flatpak remove --unused for system, then flatpak remove --unused --user for each user).

    • rotopenguin@infosec.pub
      ·
      1 month ago

      First you have to make a new --user remote. Then you can list your current stuff and install it on the --user side one package at a time, (with --no-pull so it sucks the existing install). Then, you delete the --system copy of packages.

  • lemmyvore@feddit.nl
    ·
    1 month ago

    If you end up with resizing /var as the only solution, please post your partition layout first and ask, don't rush into it. A screenshot from an app like Disk Manager or Gparted should do it, and we'll explain the steps and the risks.

    When you're ready to resize, you MUST use a bootable stick, not resize from inside the running system. You have to make a stick using something like Ventoy, and drop the ISO for the live version of GParted on the stick, then boot with it and pick the Gparted live. You'll have to write down the instructions and be careful what you do, and also hope that there's no power outage during.

  • rotopenguin@infosec.pub
    ·
    1 month ago

    Is there a reason to install one(1) singular OS across multiple partitions? Is it just because that's how our ancestors did things?

    Partitions are crude buckets that tell Operating Systems that "this lump is a filesystem that you know how to read" or "you don't know how to read this, leave it alone". Partitions tell UEFI that it should only use this special FAT32 chunk. A partition is not a good mechanism to set quotas, as you can see from how difficult it is to expand. A bunch of partitions that are all mounted together does little to isolate against failures.

    If you want to run an OS across two filesystems that provide different characteristics (one provides atomic snapshots, the other provides ??), that would have to live on different partitions. Would you be better served by putting it all on the more modern FS? Is the older filesystem only kept around because it straddles "what my OS knows" and "what my bootloader knows"? If it's just for the bootloader's sake, that's why we have /boot.

  • bodaciousFern@lemmy.dbzer0.com
    ·
    1 month ago

    In the future, you should look into using LVMs for your partitions. I ran into a similar problem recently where my /var needed to be increased - I was able to run a simple lvextend -L+4G /dev/myvg/var --resizefs to grow my /var by 4 gigabytes.

    Before I was using LVMs though I used a gparted live disk a lot