我意思是flatpak本身的安装位置修改,还有通过flatpak安装的app的安装位置的修改。
没搜到,估计要看源码
可能有用的链接:
您可以看一下 dpkg 提供的 flatpak
这个软件包已安装文件的存放位置:
点击此处展开
/.
/etc
/etc/X11
/etc/X11/Xsession.d
/etc/X11/Xsession.d/20flatpak
/etc/profile.d
/etc/profile.d/flatpak.sh
/usr
/usr/bin
/usr/bin/flatpak
/usr/lib
/usr/lib/systemd
/usr/lib/systemd/system
/usr/lib/systemd/system-environment-generators
/usr/lib/systemd/system-environment-generators/60-flatpak-system-only
/usr/lib/systemd/system/flatpak-system-helper.service
/usr/lib/systemd/user
/usr/lib/systemd/user-environment-generators
/usr/lib/systemd/user-environment-generators/60-flatpak
/usr/lib/systemd/user/flatpak-oci-authenticator.service
/usr/lib/systemd/user/flatpak-portal.service
/usr/lib/systemd/user/flatpak-session-helper.service
/usr/lib/sysusers.d
/usr/lib/sysusers.d/flatpak.conf
/usr/lib/tmpfiles.d
/usr/lib/tmpfiles.d/flatpak.conf
/usr/libexec
/usr/libexec/flatpak-oci-authenticator
/usr/libexec/flatpak-portal
/usr/libexec/flatpak-session-helper
/usr/libexec/flatpak-system-helper
/usr/libexec/flatpak-validate-icon
/usr/libexec/revokefs-fuse
/usr/share
/usr/share/bash-completion
/usr/share/bash-completion/completions
/usr/share/bash-completion/completions/flatpak
/usr/share/bug
/usr/share/bug/flatpak
/usr/share/bug/flatpak/control
/usr/share/bug/flatpak/script
/usr/share/dbus-1
/usr/share/dbus-1/services
/usr/share/dbus-1/services/org.flatpak.Authenticator.Oci.service
/usr/share/dbus-1/services/org.freedesktop.Flatpak.service
/usr/share/dbus-1/services/org.freedesktop.portal.Flatpak.service
/usr/share/dbus-1/system-services
/usr/share/dbus-1/system-services/org.freedesktop.Flatpak.SystemHelper.service
/usr/share/dbus-1/system.d
/usr/share/dbus-1/system.d/org.freedesktop.Flatpak.SystemHelper.conf
/usr/share/doc
/usr/share/doc-base
/usr/share/doc-base/flatpak.flatpak-commands
/usr/share/doc/flatpak
/usr/share/doc/flatpak/NEWS.gz
/usr/share/doc/flatpak/README.Debian
/usr/share/doc/flatpak/README.md
/usr/share/doc/flatpak/changelog.Debian.gz
/usr/share/doc/flatpak/copyright
/usr/share/doc/flatpak/docbook.css
/usr/share/doc/flatpak/examples
/usr/share/doc/flatpak/examples/etc
/usr/share/doc/flatpak/examples/etc/gdm3
/usr/share/doc/flatpak/examples/etc/gdm3/env.d
/usr/share/doc/flatpak/examples/etc/gdm3/env.d/flatpak.env
/usr/share/doc/flatpak/examples/flatpak-docker-seccomp.json
/usr/share/doc/flatpak/flatpak-docs.html
/usr/share/fish
/usr/share/fish/vendor_completions.d
/usr/share/fish/vendor_completions.d/flatpak.fish
/usr/share/fish/vendor_conf.d
/usr/share/fish/vendor_conf.d/flatpak.fish
/usr/share/flatpak
/usr/share/flatpak/triggers
/usr/share/flatpak/triggers/desktop-database.trigger
/usr/share/flatpak/triggers/gtk-icon-cache.trigger
/usr/share/flatpak/triggers/mime-database.trigger
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/flatpak
/usr/share/locale
/usr/share/locale/cs
/usr/share/locale/cs/LC_MESSAGES
/usr/share/locale/cs/LC_MESSAGES/flatpak.mo
/usr/share/locale/da
/usr/share/locale/da/LC_MESSAGES
/usr/share/locale/da/LC_MESSAGES/flatpak.mo
/usr/share/locale/de
/usr/share/locale/de/LC_MESSAGES
/usr/share/locale/de/LC_MESSAGES/flatpak.mo
/usr/share/locale/en_GB
/usr/share/locale/en_GB/LC_MESSAGES
/usr/share/locale/en_GB/LC_MESSAGES/flatpak.mo
/usr/share/locale/es
/usr/share/locale/es/LC_MESSAGES
/usr/share/locale/es/LC_MESSAGES/flatpak.mo
/usr/share/locale/fr
/usr/share/locale/fr/LC_MESSAGES
/usr/share/locale/fr/LC_MESSAGES/flatpak.mo
/usr/share/locale/gl
/usr/share/locale/gl/LC_MESSAGES
/usr/share/locale/gl/LC_MESSAGES/flatpak.mo
/usr/share/locale/hi
/usr/share/locale/hi/LC_MESSAGES
/usr/share/locale/hi/LC_MESSAGES/flatpak.mo
/usr/share/locale/hr
/usr/share/locale/hr/LC_MESSAGES
/usr/share/locale/hr/LC_MESSAGES/flatpak.mo
/usr/share/locale/hu
/usr/share/locale/hu/LC_MESSAGES
/usr/share/locale/hu/LC_MESSAGES/flatpak.mo
/usr/share/locale/id
/usr/share/locale/id/LC_MESSAGES
/usr/share/locale/id/LC_MESSAGES/flatpak.mo
/usr/share/locale/oc
/usr/share/locale/oc/LC_MESSAGES
/usr/share/locale/oc/LC_MESSAGES/flatpak.mo
/usr/share/locale/pl
/usr/share/locale/pl/LC_MESSAGES
/usr/share/locale/pl/LC_MESSAGES/flatpak.mo
/usr/share/locale/pt
/usr/share/locale/pt/LC_MESSAGES
/usr/share/locale/pt/LC_MESSAGES/flatpak.mo
/usr/share/locale/pt_BR
/usr/share/locale/pt_BR/LC_MESSAGES
/usr/share/locale/pt_BR/LC_MESSAGES/flatpak.mo
/usr/share/locale/ro
/usr/share/locale/ro/LC_MESSAGES
/usr/share/locale/ro/LC_MESSAGES/flatpak.mo
/usr/share/locale/ru
/usr/share/locale/ru/LC_MESSAGES
/usr/share/locale/ru/LC_MESSAGES/flatpak.mo
/usr/share/locale/sk
/usr/share/locale/sk/LC_MESSAGES
/usr/share/locale/sk/LC_MESSAGES/flatpak.mo
/usr/share/locale/sv
/usr/share/locale/sv/LC_MESSAGES
/usr/share/locale/sv/LC_MESSAGES/flatpak.mo
/usr/share/locale/tr
/usr/share/locale/tr/LC_MESSAGES
/usr/share/locale/tr/LC_MESSAGES/flatpak.mo
/usr/share/locale/uk
/usr/share/locale/uk/LC_MESSAGES
/usr/share/locale/uk/LC_MESSAGES/flatpak.mo
/usr/share/locale/zh_CN
/usr/share/locale/zh_CN/LC_MESSAGES
/usr/share/locale/zh_CN/LC_MESSAGES/flatpak.mo
/usr/share/locale/zh_TW
/usr/share/locale/zh_TW/LC_MESSAGES
/usr/share/locale/zh_TW/LC_MESSAGES/flatpak.mo
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/flatpak-build-bundle.1.gz
/usr/share/man/man1/flatpak-build-commit-from.1.gz
/usr/share/man/man1/flatpak-build-export.1.gz
/usr/share/man/man1/flatpak-build-finish.1.gz
/usr/share/man/man1/flatpak-build-import-bundle.1.gz
/usr/share/man/man1/flatpak-build-init.1.gz
/usr/share/man/man1/flatpak-build-sign.1.gz
/usr/share/man/man1/flatpak-build-update-repo.1.gz
/usr/share/man/man1/flatpak-build.1.gz
/usr/share/man/man1/flatpak-config.1.gz
/usr/share/man/man1/flatpak-create-usb.1.gz
/usr/share/man/man1/flatpak-document-export.1.gz
/usr/share/man/man1/flatpak-document-info.1.gz
/usr/share/man/man1/flatpak-document-unexport.1.gz
/usr/share/man/man1/flatpak-documents.1.gz
/usr/share/man/man1/flatpak-enter.1.gz
/usr/share/man/man1/flatpak-history.1.gz
/usr/share/man/man1/flatpak-info.1.gz
/usr/share/man/man1/flatpak-install.1.gz
/usr/share/man/man1/flatpak-kill.1.gz
/usr/share/man/man1/flatpak-list.1.gz
/usr/share/man/man1/flatpak-make-current.1.gz
/usr/share/man/man1/flatpak-mask.1.gz
/usr/share/man/man1/flatpak-override.1.gz
/usr/share/man/man1/flatpak-permission-remove.1.gz
/usr/share/man/man1/flatpak-permission-reset.1.gz
/usr/share/man/man1/flatpak-permission-set.1.gz
/usr/share/man/man1/flatpak-permission-show.1.gz
/usr/share/man/man1/flatpak-permissions.1.gz
/usr/share/man/man1/flatpak-pin.1.gz
/usr/share/man/man1/flatpak-ps.1.gz
/usr/share/man/man1/flatpak-remote-add.1.gz
/usr/share/man/man1/flatpak-remote-delete.1.gz
/usr/share/man/man1/flatpak-remote-info.1.gz
/usr/share/man/man1/flatpak-remote-ls.1.gz
/usr/share/man/man1/flatpak-remote-modify.1.gz
/usr/share/man/man1/flatpak-remotes.1.gz
/usr/share/man/man1/flatpak-repair.1.gz
/usr/share/man/man1/flatpak-repo.1.gz
/usr/share/man/man1/flatpak-run.1.gz
/usr/share/man/man1/flatpak-search.1.gz
/usr/share/man/man1/flatpak-spawn.1.gz
/usr/share/man/man1/flatpak-uninstall.1.gz
/usr/share/man/man1/flatpak-update.1.gz
/usr/share/man/man1/flatpak.1.gz
/usr/share/man/man5
/usr/share/man/man5/flatpak-flatpakref.5.gz
/usr/share/man/man5/flatpak-flatpakrepo.5.gz
/usr/share/man/man5/flatpak-installation.5.gz
/usr/share/man/man5/flatpak-metadata.5.gz
/usr/share/man/man5/flatpak-remote.5.gz
/usr/share/polkit-1
/usr/share/polkit-1/actions
/usr/share/polkit-1/actions/org.freedesktop.Flatpak.policy
/usr/share/polkit-1/rules.d
/usr/share/polkit-1/rules.d/org.freedesktop.Flatpak.rules
/usr/share/zsh
/usr/share/zsh/vendor-completions
/usr/share/zsh/vendor-completions/_flatpak
/var
/var/lib
/var/lib/polkit-1
/var/lib/polkit-1/localauthority
/var/lib/polkit-1/localauthority/10-vendor.d
/var/lib/polkit-1/localauthority/10-vendor.d/org.freedesktop.Flatpak.pkla
UNIX、Linux 系统存储应用程序的逻辑和 Windows 不同。
- Windows 一般是以软件为单位,所有相关文件放在一个文件夹下(比如 7-Zip,可执行文件、运行库、翻译文档、帮助文档都放在
C:\Program Files\7-ZIp
文件夹下)。 - Linux、UNIX 系统则不同,它们是按文件的作用,分门别类进行存储。以 Linux 为例,一般可执行文件都在
/usr/bin
,运行库在/usr/lib
,一些辅助文件在/usr/share
。这种存档方式也决定了,你想自定义某些软件的安装位置是比较困难的。
但也有一些例外,个别软件会将所有相关文件放在
/opt/
文件夹下,比如 DeaDBeeF 和 WPS Office。对于这种软件,或许可以考虑把它们的安装文档移动到某个位置,再在/opt/
下建一个符号链接。
用 flatpak 安装的应用一般放在这个地方:
/var/lib/flatpak/app/[应用包名称]/current/active/files
用户存档(比如微信保持的文件、QQ 的表情包缓存)一般在这里:
~/.var/app/[应用包名称]
要给它们搬家,或许可以考虑建立一个符号链接。
为啥想修改安装位置?
c盘分区了,空间不够
c盘是双系统,划给linux的少了
flatpak 自身的体积不是很大,关键是用它安装的各种软件和运行库。或许您可以尝试:
- 新建一个分区,备用
- 备份用户配置文件
~/.var/app
- 卸载 flatpak 安装的全部软件
- 修改
/etc/fstab
,将新分区挂载到/var/lib/flatpak
- 重新用 flatpak 安装软件,并恢复用户配置文件
厉害啊 感谢!
看这个方案,我想到了另一种极致的可能,但不知道能不能行得通:
把 /var/lib/flatpak
这个目录指定到新分区中的一个目录,即所有写入到 /var/lib/flatpak
中的文件,全部保存在新分区中的一个目录中。这样可行么?
划了多少给linux ?
应该就是:
- 在新分区中建立一个名为
flatpak
的文件夹 - 将
flatpak
文件夹建立一个符号链接,再把这个符号链接放到/var/lib/
文件夹下
理论上是没问题的。但也需要编辑一下 /etc/fstab
让这个分区开机后自动挂载,否则开机后 flatpak 找不到应用程序目录,可能会出问题。
1 个赞