Is there a way to get zypper (or yast software management) to install an app from repos into a User directory and have it be owned by User; not root. There are some large apps I wish to install and run as User to save space in / partition. I have 100 gigabytes in / and 2 terabytes of User space and I’d like to put the apps there. Else, I need to download and/or compile the apps to run from User.
I doubt you can fool zypper into ding this (maybe by running in a chrooted environment).
I also doubt very much it is wise to do. The RPM packages that are going to be installed expect a complete tree of system directories (/bin/, /usr, /sbin, /etc and what all) waiting for them and part of them will even check if ownership and or permission are set correctly.
I was only planning to do this on standalone apps, e.g., from science repo. Yes, i understand the problems that could arise from apps with many dependencies. I guess this sounds not like a good idea and I will punt on this one.
BTW 100 GB in the / file system (specially if this does not include /home) seems more then enough to me. Even if you add more specialistic software. I e.g. have a 20GB / file system of which ~12GB is used.
Hi
If the apps in question want to store lots of info in the $HOME directory then just create a symlink off to your separate storage. For example with vagrant I use the likes of;
Binaries from outside the package management system (rpm,zypper,yast), such as those from mozilla.org, can be placed in /usr/local/ directories, and thus on a separate filesystem if desired:
> pwd
/usr/local
> df -h .
Filesystem Size Used Avail Use% Mounted on
/dev/md1 3.9G 2.4G 1.5G 64% /usr/local
> ls -Gg
total 88
drwxr-xr-x 2 1024 Apr 19 18:56 bin
drwxrwxrwx 2 3072 Oct 7 2020 dfsee
drwxr-xr-x 3 1024 Feb 28 2017 etc
drwxrwxrwx 13 1024 Dec 12 2013 ff2
drwxrwxrwx 13 3072 Dec 6 2019 ff3
lrwxrwxrwx 1 5 Oct 11 2017 ffcur -> ffe52
drwxrwxrwx 10 3072 Dec 28 2015 ffe10
drwxrwxrwx 11 3072 Feb 14 2017 ffe17
drwxrwxrwx 9 1024 May 4 2016 ffe38
drwxrwxrwx 8 1024 Oct 11 2017 ffe45
drwxrwxrwx 10 3072 Jun 21 11:47 ffe52
drwxrwxrwx 10 5120 Jul 29 2020 ffe60
drwxrwxrwx 8 4096 Nov 23 2020 ffe68
drwxrwxrwx 8 3072 Jun 16 15:00 ffe78
drwxrwxrwx 9 3072 Mar 13 2020 ffnext
drwxrwxrwx 2 3072 Jul 4 2020 fftest
drwxrwxrwx 8 3072 Oct 9 2019 ffx
drwxr-xr-x 2 1024 Apr 19 18:56 include
drwxr-xr-x 3 1024 Apr 19 18:56 lib
drwxr-xr-x 2 1024 Apr 19 18:56 lib64
drwxr-xr-x 2 1024 Apr 19 18:56 libexec
drwx------ 2 12288 Aug 28 2018 lost+found
drwxr-xr-x 12 1024 Apr 19 18:56 man
drwxrwxrwx 7 1024 Feb 15 10:58 pmoon
drwxr-xr-x 2 1024 Apr 19 18:56 sbin
drwxr-xr-x 6 1024 Apr 19 18:56 share
drwxrwxrwx 12 3072 Mar 31 2010 sm11
drwxrwxrwx 11 3072 Oct 17 2016 sm240
drwxrwxrwx 11 3072 Oct 17 2016 sm242
drwxrwxrwx 10 3072 May 31 2017 sm246
drwxrwxrwx 13 3072 Jun 21 01:41 smcur
drwxrwxrwx 2 1024 Dec 16 2016 smcur-32
drwxrwxrwx 10 3072 Jun 7 16:26 smnext
drwxrwxrwx 2 1024 Dec 16 2016 smnext-32
drwxrwxrwx 11 3072 Jan 18 15:37 smtest
drwxrwxrwx 2 1024 Dec 16 2016 smtest-32
drwxr-xr-x 2 1024 Apr 19 18:56 src
drwxrwxrwx 2 1024 Jun 13 2017 tmp
drwxrwxrwx 9 1024 Apr 18 2018 wfx
No.
[HR][/HR]If you want to install applications on a per-user basis – with the system environment needed for a particular application’s version – use Flatpak.
[HR][/HR]If the application is written in Java then, it should be relatively easy to drop the Java code and directories into a sub-directory of the user’s ‘~/bin/’ directory …
I use a Java application – Home Banking – which is installed system-wide into ‘/opt/’ but, with one plug-in which only one user requires – that user installs the plug-in into their instance of the application …