Linux系统flatpak的简单设置

flatpak在Linux系统提供了兼容层,可以让同样的二进制程序运行在任意Linux发行版,这样不同发行版的用户就可以一定程度上打破发行版的限制,使用发行版以外的二进制软件包。

比如说某发行版没有提供某软件的包,如果用户需要用,那么可能就要自己编译,而自己动手编译门槛很高。要么就要找第三方源来安装,第三方源可能安全性存疑,也可能有兼容性问题,还可能访问速度慢,总之还是有一些问题。

flatpak从某种意义上提供了适用于所有Linux发行版的第三方源,而这个源里的软件丰富程度大大超过各个Linux发行版。

类似的还有snapd和AppImage的解决方案,可以跨Linux发行版实现二进制兼容。不过snapd是ubuntu主导的,服务器在国外,服务端闭源,国内没有镜像,简中网络访问比较慢。而AppImage不仅体积特别大,而且兼容性也不是很好,尤其是输入法。

安装flatpak

受限要在发行版内安装flatpak软件包,不同的发行版安装方法不同,但是基本思路都是一样的。比如说openSUSE就是:

sudo zypper install flatpak

安装了flatpak软件包后,还要设定软件源,比如说最大的软件源flathub

flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo

KDE、gnome都有自己的软件源,但是flathub最大,而且几乎把其他的软件源都囊括了,而且如果用户需要安装KDE、gnome的软件,大概率发行版有自己的软件包。

如果确实需要,那么可以

flatpak remote-add --gpg-import=gnome-sdk.gpg --if-not-exists gnome-apps https://sdk.gnome.org/repo-apps/ # 添加gnome源

切换国内镜像

flathub的服务器在国外,简中网络访问慢,不过上海交大做了一个国内的镜像

上海交通大学 Linux 用户组 软件源镜像服务

所以切换到交大镜像

sudo flatpak remote-modify flathub --url=https://mirror.sjtu.edu.cn/flathub

如果出现了错误,可以尝试

wget https://mirror.sjtu.edu.cn/flathub/flathub.gpg
sudo flatpak remote-modify --gpg-import=flathub.gpg flathub

按照交大镜像的说法,它并没有同步flathub的所有软件,而是根据用户下载来同步,在用户首次访问一个没有同步过的软件时,交大镜像没有提供下载文件,但是交大镜像会随后去同步,并缓存在自己的服务器上,这样等到用户下一次来下载时,就有缓存文件来加速了。

所以如果从交大镜像下载比较慢,可能你是第一个,那么可以等一等,等到交大镜像从flathub同步完了,再来交大镜像下载,速度就快了。

查找和安装软件

可以访问

Flathub - 适用于 Linux 的应用

然后根据需要查询需要的软件,查找到以后,在软件的介绍页面,有一个“安装”按钮,点击旁边的下拉按钮,还可以看到安装和运行的命令。

在terminal里运行安装命令就可以安装。安装好以后很多软件会在系统开始菜单添加一个启动项,所以运行的时候一般不需要通过terminal运行。

也可以在terminal运行

flatpak search <package_name>

这样会遍历已经添加的所有源,查找相应的软件包

还可以

flatpak info <package_name>

查询包的信息,这个和在网页上查找到的信息一致

如果有多个源有同一个软件包,那么可以

flatpak install <remote_repo> <package_name>

这样可以从指定的源来安装

管理和删除软件

flatpak默认的安装目录是/var/lib/flatpak,安装的软件包有时会依赖一些基础库,这些基础库都会安装在/var/lib/flatpak/runtime,而软件包被安装在/var/lib/flatpak/app

在用户目录~/.var/app目录下保存着各个软件包的缓存、用户配置、存档等文件

flatpak可以安装一个warehouse的软件,可以提供图形界面管理flatpak的一切。可以使用前面的方法到flathub查询这个warehouse,然后按照提示安装即可。

可以在terminal里运行

flatpak list

列出系统内安装的所有的flatpak软件包,注意里面的ID这一列。如果因为terminal窗口太小而没有完全显示的话,可以把terminal窗口调大,然后重新运行,就能看到完整显示了。

如果要删除的话,可以运行

 flatpak uninstall <package_ID>

删除的时候一定要用ID来删除,所以一定要看清完整的ID啊

如果需要更新,则运行

 flatpak update

当一些软件包安装时,往往会依赖一些flatpak基础包,当软件包更新以后,旧版的基础包可能就不需要了。也可能当用户删除一些软件时,它所依赖的基础包就不需要了。此时需要删除旧版基础包以减少磁盘空间的占用。

flatpak uninstall --unused

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值