The subject of disk space and flatpaks came up in the most recent workstation meeting, and I'd like to separately discuss that in this thread before creating a flatpak issue.
The full log:
https://meetbot.fedoraproject.org/teams/workstation/workstation.2019-10-28-1...
Excerpts:
13:16:07 <langdon> allocating enough disk if you have your drive sliced up is tough 13:16:36 <Son_Goku> and yeah, the disk space issue is a huge problem ... 13:16:47 <kalev> "the disk space issue" ? 13:16:58 <otaylor> Son_Goku: why would disk space be an issue? flatpaks store data in $HOME ... 13:17:19 <langdon> that's the problem.. normally I have a "games disk" 13:17:27 <Son_Goku> likewise
Neither sysroot nor $HOME fits the above use case, where the user wants to store games on a separate volume entirely. And another use case is where it's desirable to use the much larger /home volume storage pool, but permit sharing of apps among users.
Could there be a /home/share/flatpak with the appropriate permissions, that meets both use case requirements?
Alternatively, Workstation could do what Silverblue does, with /var/home bind mounted to /home - and therefore system and user flatpaks go on the same volume. But there should also be a way to set the default location for flatpak files. Users wanting a games volume could bind mount it to /var/lib/flatpak, but then they need a way to set system as the default location instead of users.
On Tue, Oct 29, 2019 at 5:07 PM Chris Murphy lists@colorremedies.com wrote:
The subject of disk space and flatpaks came up in the most recent workstation meeting, and I'd like to separately discuss that in this thread before creating a flatpak issue.
The full log:
https://meetbot.fedoraproject.org/teams/workstation/workstation.2019-10-28-1...
Excerpts:
13:16:07 <langdon> allocating enough disk if you have your drive sliced up is tough 13:16:36 <Son_Goku> and yeah, the disk space issue is a huge problem ... 13:16:47 <kalev> "the disk space issue" ? 13:16:58 <otaylor> Son_Goku: why would disk space be an issue? flatpaks store data in $HOME ... 13:17:19 <langdon> that's the problem.. normally I have a "games disk" 13:17:27 <Son_Goku> likewise
Neither sysroot nor $HOME fits the above use case, where the user wants to store games on a separate volume entirely. And another use case is where it's desirable to use the much larger /home volume storage pool, but permit sharing of apps among users.
Could there be a /home/share/flatpak with the appropriate permissions, that meets both use case requirements?
Alternatively, Workstation could do what Silverblue does, with /var/home bind mounted to /home - and therefore system and user flatpaks go on the same volume. But there should also be a way to set the default location for flatpak files. Users wanting a games volume could bind mount it to /var/lib/flatpak, but then they need a way to set system as the default location instead of users.
If you have your disk carved up in particular ways, you can just create a custom flatpak installation wherever you need it, See flatpak-installation(5). You can of course bind mount things around behind flatpaks back, but I think a custom installation is cleaner and already supported.
I don't think there is a need to set the default location for 'flatpak files', any more than there is a need to set a default location for 'rpm files'.
I recently hit something similar on Silverblue. I installed Silverblue when F28 was available and installing flatpaks without the --user flag. I'm usually splitting my drive to small root partition (50 GB) and rest is for the /home. So right now, I'm running out of space on /root because the flatpaks now takes over 20 GB themselves, together with ostree image and some other things it's taking almost all available space.
Not sure if this should be addressed somehow. Maybe the default disk partitioning for Silverblue should be changed. The Silverblue should target users, who will work with GUI most of the time and there is no way to change default installation folder for flatpaks in GNOME Software.
Michal
On 2019-10-30 03:10, Matthias Clasen wrote:
On Tue, Oct 29, 2019 at 5:07 PM Chris Murphy <lists@colorremedies.com mailto:lists@colorremedies.com> wrote:
The subject of disk space and flatpaks came up in the most recent workstation meeting, and I'd like to separately discuss that in this thread before creating a flatpak issue. The full log: https://meetbot.fedoraproject.org/teams/workstation/workstation.2019-10-28-13.00.log.html Excerpts: 13:16:07 <langdon> allocating enough disk if you have your drive sliced up is tough 13:16:36 <Son_Goku> and yeah, the disk space issue is a huge problem ... 13:16:47 <kalev> "the disk space issue" ? 13:16:58 <otaylor> Son_Goku: why would disk space be an issue? flatpaks store data in $HOME ... 13:17:19 <langdon> that's the problem.. normally I have a "games disk" 13:17:27 <Son_Goku> likewise Neither sysroot nor $HOME fits the above use case, where the user wants to store games on a separate volume entirely. And another use case is where it's desirable to use the much larger /home volume storage pool, but permit sharing of apps among users. Could there be a /home/share/flatpak with the appropriate permissions, that meets both use case requirements? Alternatively, Workstation could do what Silverblue does, with /var/home bind mounted to /home - and therefore system and user flatpaks go on the same volume. But there should also be a way to set the default location for flatpak files. Users wanting a games volume could bind mount it to /var/lib/flatpak, but then they need a way to set system as the default location instead of users.
If you have your disk carved up in particular ways, you can just create a custom flatpak installation wherever you need it, See flatpak-installation(5). You can of course bind mount things around behind flatpaks back, but I think a custom installation is cleaner and already supported.
I don't think there is a need to set the default location for 'flatpak files', any more than there is a need to set a default location for 'rpm files'.
desktop mailing list -- desktop@lists.fedoraproject.org To unsubscribe send an email to desktop-leave@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/desktop@lists.fedoraproject.or...
On Wed, Oct 30, 2019 at 10:33 AM Michal Konecny mkonecny@redhat.com wrote:
I recently hit something similar on Silverblue. I installed Silverblue when F28 was available and installing flatpaks without the --user flag.
I'm pretty sure the default is --user since before Fedora 28. Very early on the default was --system.
I'm usually splitting my drive to small root partition (50 GB) and rest is for the /home. So right now, I'm running out of space on /root because the flatpaks now takes over 20 GB themselves, together with ostree image and some other things it's taking almost all available space.
That's also a little strange to me because the default Silverblue partitioning is two volumes: a small sysroot, and the rest is /var. And /home is really /var/home. So whether you install flatpaks using --system or --user, they end up on the /var volume, not on the sysroot volume.
Did you use custom partitioning? Custom partitioning with Silverblue has been fraught with peril since the start, but often if you manually delete the /home mountpoint, and create a /var/home mountpoint instead, that ends up working. But yeah, quite a lot of custom layouts don't work, they blow up during assembly at startup time.
Not sure if this should be addressed somehow. Maybe the default disk partitioning for Silverblue should be changed. The Silverblue should target users, who will work with GUI most of the time and there is no way to change default installation folder for flatpaks in GNOME Software.
I think --system should be the default, but only if /var and /home use storage space on a single volume. This makes installed flatpaks available to all users, which is the behavior I think most users expect, rather than having applications installed and updated in duplicate or even triplicate in the multiuser case.
On 2019-10-30 11:29, Chris Murphy wrote:
On Wed, Oct 30, 2019 at 10:33 AM Michal Konecny mkonecny@redhat.com wrote:
I recently hit something similar on Silverblue. I installed Silverblue when F28 was available and installing flatpaks without the --user flag.
I'm pretty sure the default is --user since before Fedora 28. Very early on the default was --system.
This is strange, I installed most of my flatpaks through GNOME Software and all of them are in /sysroot/ostree/deploy/fedora-workstation/var/lib/flatpak, which I suppose looks like --system flag.
I'm usually splitting my drive to small root partition (50 GB) and rest is for the /home. So right now, I'm running out of space on /root because the flatpaks now takes over 20 GB themselves, together with ostree image and some other things it's taking almost all available space.
That's also a little strange to me because the default Silverblue partitioning is two volumes: a small sysroot, and the rest is /var. And /home is really /var/home. So whether you install flatpaks using --system or --user, they end up on the /var volume, not on the sysroot volume.
Did you use custom partitioning? Custom partitioning with Silverblue has been fraught with peril since the start, but often if you manually delete the /home mountpoint, and create a /var/home mountpoint instead, that ends up working. But yeah, quite a lot of custom layouts don't work, they blow up during assembly at startup time.
Honestly, I'm not sure, it was few years ago. It is possible that I did some manual partitioning.
Not sure if this should be addressed somehow. Maybe the default disk partitioning for Silverblue should be changed. The Silverblue should target users, who will work with GUI most of the time and there is no way to change default installation folder for flatpaks in GNOME Software.
I think --system should be the default, but only if /var and /home use storage space on a single volume. This makes installed flatpaks available to all users, which is the behavior I think most users expect, rather than having applications installed and updated in duplicate or even triplicate in the multiuser case.
I agree, the --system should be default, because most users expect that application is available to every user on the machine.
On Wed, Oct 30, 2019 at 2:37 PM Michal Konecny mkonecny@redhat.com wrote:
On 2019-10-30 11:29, Chris Murphy wrote:
On Wed, Oct 30, 2019 at 10:33 AM Michal Konecny mkonecny@redhat.com wrote:
I recently hit something similar on Silverblue. I installed Silverblue when F28 was available and installing flatpaks without the --user flag.
I'm pretty sure the default is --user since before Fedora 28. Very early on the default was --system.
This is strange, I installed most of my flatpaks through GNOME Software and all of them are in /sysroot/ostree/deploy/fedora-workstation/var/lib/flatpak, which I suppose looks like --system flag.
OK, lovely, so I'm confused. On my cleanly installed Fedora 31 Workstation system, I'm seeing what you're seeing. Flatpaks installed via GNOME Software are in /var/lib/flatpak which is consistent with flatpak --system installation.
So it would seem, GNOME Software defaults to --system, whereas the flatpak CLI defaults to --user.
Honestly, I'm not sure, it was few years ago. It is possible that I did some manual partitioning.
You can post /etc/fstab or show the output from df and it should be enough info to figure out what the layout is.
I agree, the --system should be default, because most users expect that application is available to every user on the machine.
Right. But that must be contingent on /var having enough space so users aren't stuck fighting free space issues between /home and /.
On 2019-10-30 18:40, Chris Murphy wrote:
On Wed, Oct 30, 2019 at 2:37 PM Michal Konecny mkonecny@redhat.com wrote:
On 2019-10-30 11:29, Chris Murphy wrote:
On Wed, Oct 30, 2019 at 10:33 AM Michal Konecny mkonecny@redhat.com wrote:
I recently hit something similar on Silverblue. I installed Silverblue when F28 was available and installing flatpaks without the --user flag.
I'm pretty sure the default is --user since before Fedora 28. Very early on the default was --system.
This is strange, I installed most of my flatpaks through GNOME Software and all of them are in /sysroot/ostree/deploy/fedora-workstation/var/lib/flatpak, which I suppose looks like --system flag.
OK, lovely, so I'm confused. On my cleanly installed Fedora 31 Workstation system, I'm seeing what you're seeing. Flatpaks installed via GNOME Software are in /var/lib/flatpak which is consistent with flatpak --system installation.
So it would seem, GNOME Software defaults to --system, whereas the flatpak CLI defaults to --user.
Honestly, I'm not sure, it was few years ago. It is possible that I did some manual partitioning.
You can post /etc/fstab or show the output from df and it should be enough info to figure out what the layout is.
Here is my output from df -h:
Filesystem Size Used Avail Use% Mounted on devtmpfs 3.8G 0 3.8G 0% /dev tmpfs 3.9G 0 3.9G 0% /dev/shm tmpfs 3.9G 2.1M 3.9G 1% /run /dev/mapper/fedora-root 49G 42G 4.8G 90% /sysroot tmpfs 3.9G 28K 3.9G 1% /tmp /dev/nvme0n1p2 976M 140M 770M 16% /boot /dev/nvme0n1p1 200M 7.9M 192M 4% /boot/efi /dev/mapper/fedora-home 176G 79G 88G 48% /var/home tmpfs 784M 224K 784M 1% /run/user/1000
I agree, the --system should be default, because most users expect that application is available to every user on the machine.
Right. But that must be contingent on /var having enough space so users aren't stuck fighting free space issues between /home and /.
On Thu, Oct 31, 2019 at 8:38 AM Michal Konecny mkonecny@redhat.com wrote:
On 2019-10-30 18:40, Chris Murphy wrote:
On Wed, Oct 30, 2019 at 2:37 PM Michal Konecny mkonecny@redhat.com wrote:
On 2019-10-30 11:29, Chris Murphy wrote:
On Wed, Oct 30, 2019 at 10:33 AM Michal Konecny mkonecny@redhat.com wrote:
I recently hit something similar on Silverblue. I installed Silverblue when F28 was available and installing flatpaks without the --user flag.
I'm pretty sure the default is --user since before Fedora 28. Very early on the default was --system.
This is strange, I installed most of my flatpaks through GNOME Software and all of them are in /sysroot/ostree/deploy/fedora-workstation/var/lib/flatpak, which I suppose looks like --system flag.
OK, lovely, so I'm confused. On my cleanly installed Fedora 31 Workstation system, I'm seeing what you're seeing. Flatpaks installed via GNOME Software are in /var/lib/flatpak which is consistent with flatpak --system installation.
So it would seem, GNOME Software defaults to --system, whereas the flatpak CLI defaults to --user.
Honestly, I'm not sure, it was few years ago. It is possible that I did some manual partitioning.
You can post /etc/fstab or show the output from df and it should be enough info to figure out what the layout is.
Here is my output from df -h:
Filesystem Size Used Avail Use% Mounted on devtmpfs 3.8G 0 3.8G 0% /dev tmpfs 3.9G 0 3.9G 0% /dev/shm tmpfs 3.9G 2.1M 3.9G 1% /run /dev/mapper/fedora-root 49G 42G 4.8G 90% /sysroot tmpfs 3.9G 28K 3.9G 1% /tmp /dev/nvme0n1p2 976M 140M 770M 16% /boot /dev/nvme0n1p1 200M 7.9M 192M 4% /boot/efi /dev/mapper/fedora-home 176G 79G 88G 48% /var/home tmpfs 784M 224K 784M 1% /run/user/1000
OK I think I understand. I was thinking of some older Atomic edition threads and behaviors, and just assumed Silverblue had the same layout. But it looks like it has some sort of hybrid between Workstation and Atomic, ergo there's a third variant for Silverblue.
https://mail.gnome.org/archives/ostree-list/2015-July/msg00012.html https://lists.projectatomic.io/projectatomic-archives/atomic-devel/2016-Sept...
Maybe consider changing it once we have a better idea whether Silverblue will be rebased on Fedora CoreOS?
On Wed, 2019-10-30 at 18:40 +0100, Chris Murphy wrote:
On Wed, Oct 30, 2019 at 2:37 PM Michal Konecny mkonecny@redhat.com wrote:
On 2019-10-30 11:29, Chris Murphy wrote:
On Wed, Oct 30, 2019 at 10:33 AM Michal Konecny < mkonecny@redhat.com> wrote:
I recently hit something similar on Silverblue. I installed Silverblue when F28 was available and installing flatpaks without the --user flag.
I'm pretty sure the default is --user since before Fedora 28. Very early on the default was --system.
This is strange, I installed most of my flatpaks through GNOME Software and all of them are in /sysroot/ostree/deploy/fedora-workstation/var/lib/flatpak, which I suppose looks like --system flag.
OK, lovely, so I'm confused. On my cleanly installed Fedora 31 Workstation system, I'm seeing what you're seeing. Flatpaks installed via GNOME Software are in /var/lib/flatpak which is consistent with flatpak --system installation.
So it would seem, GNOME Software defaults to --system, whereas the flatpak CLI defaults to --user.
The flatpak CLI also defaults to --system.
$ flatpak install --help […] --user Work on the user installation --system Work on the system-wide installation (default) […]
On Wed, Oct 30, 2019 at 3:11 AM Matthias Clasen mclasen@redhat.com wrote:
If you have your disk carved up in particular ways, you can just create a custom flatpak installation wherever you need it, See flatpak-installation(5). You can of course bind mount things around behind flatpaks back, but I think a custom installation is cleaner and already supported.
I didn't know about flatpak-installations, seems useful.
I don't think there is a need to set the default location for 'flatpak files', any more than there is a need to set a default location for 'rpm files'.
In the single-user system scenario it doesn't matter that flatpaks are installed to $HOME by default, and it's probably preferred given the default Workstation partition layout; but I think it's confusing in the multi-user case, as a default, because those installed apps won't show up for any other user. Not only is there no way to set a default location, in the GUI I can't specify the system location on a case by case basis.
Other than working through some partition ninjitsu, what are the drawbacks to putting /var and /home on a separate volume (they would share one), and then changing the flatpak default installation from --user to --system ?
On Wed, Oct 30, 2019 at 11:15 am, Chris Murphy lists@colorremedies.com wrote:
In the single-user system scenario it doesn't matter that flatpaks are installed to $HOME by default, and it's probably preferred given the default Workstation partition layout; but I think it's confusing in the multi-user case, as a default, because those installed apps won't show up for any other user. Not only is there no way to set a default location, in the GUI I can't specify the system location on a case by case basis.
I've become convinced that the GUI should expose system vs. user installation for users to choose between.
I was thinking *user* would be a better default, but seems not everyone agrees. :)
On 2019-10-30 14:41, Michael Catanzaro wrote:
On Wed, Oct 30, 2019 at 11:15 am, Chris Murphy lists@colorremedies.com wrote:
In the single-user system scenario it doesn't matter that flatpaks are installed to $HOME by default, and it's probably preferred given the default Workstation partition layout; but I think it's confusing in the multi-user case, as a default, because those installed apps won't show up for any other user. Not only is there no way to set a default location, in the GUI I can't specify the system location on a case by case basis.
I've become convinced that the GUI should expose system vs. user installation for users to choose between.
I was thinking *user* would be a better default, but seems not everyone agrees. :)
I think this could be based on the permissions the user has, admins should have option to switch between --user and --system, but users without admin permissions shouldn't have option to install apps for everyone.
desktop mailing list -- desktop@lists.fedoraproject.org To unsubscribe send an email to desktop-leave@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/desktop@lists.fedoraproject.or...
On Wed, Oct 30, 2019 at 9:53 AM Michal Konecny mkonecny@redhat.com wrote:
I think this could be based on the permissions the user has, admins should have option to switch between --user and --system, but users without admin permissions shouldn't have option to install apps for everyone.
Flatpak installation is fully integrated with polkit.
On Wed, Oct 30, 2019 at 2:41 PM Michael Catanzaro mcatanzaro@gnome.org wrote:
On Wed, Oct 30, 2019 at 11:15 am, Chris Murphy lists@colorremedies.com wrote:
In the single-user system scenario it doesn't matter that flatpaks are installed to $HOME by default, and it's probably preferred given the default Workstation partition layout; but I think it's confusing in the multi-user case, as a default, because those installed apps won't show up for any other user. Not only is there no way to set a default location, in the GUI I can't specify the system location on a case by case basis.
I've become convinced that the GUI should expose system vs. user installation for users to choose between.
It could be a checkbox under the Install button for the application in GNOME Software: for this user only
Or to that effect.
I was thinking *user* would be a better default, but seems not everyone agrees. :)
Back in the era when flatpak CLI defaulted to --system, I thought the same way and advocated for changing it, because ~/ has way more space available, and privileges aren't required to do the installation. But GNOME Software appears to have not followed that.
Another possibility is that an admin user (a user in the wheel group?) by default has flatpaks --system installed; whereas a standard user not in the wheel group, by default has flatpaks --user installed. Maybe that's already the case, and requires privileges for the admin user to install, but not the standard user.
If there were a per app install checkbox, it would be checked by default for the standard user and grayed out. They have no other choice but to ask their sysadmin for a system wide installation of the application.
desktop@lists.fedoraproject.org