目前,我们都在使用 Linux 发行版的官方软件包管理器来安装所需的软件包。
在 Linux 中,它做得很好,没有任何问题。(它不打折扣地很好的完成了它应该做的工作)
但在一些方面它也有一些限制,所以会让我们考虑其他替代解决方案来解决。
是的,默认情况下,我们不能从发行版官方软件包管理器获取到***版本的软件包,因为这些软件包是在构建当前 OS 版本时构建的。它们只会提供安全更新,直到下一个主要版本发布。
那么,这种情况有什么解决办法吗?是的,我们有多种解决方案,而且我们大多数人已经开始使用其中的一些了。
有些什么呢,它们有什么好处?
使用上面的仓库,我们将获得***的软件包。这些软件包通常都得到了很好的维护,还有大多数社区的推荐。但这些只是建议,可能并不总是安全的。
近年来,出现了一下通用软件包封装格式,并且得到了广泛的应用。
Flatpak:它是独立于发行版的包格式,主要贡献者是 Fedora 项目团队。大多数主要的 Linux 发行版都采用了 Flatpak 框架。
Snaps:Snappy 是一种通用的软件包封装格式,最初由 Canonical 为 Ubuntu 手机及其操作系统设计和构建的。后来,更多的发行版都接纳了它。
AppImage:AppImage 是一种可移植的包格式,可以在不安装和不需要 root 权限的情况下运行。
我们之前已经介绍过 Snap 包管理器和包封装格式。今天我们将讨论 Flatpak 包封装格式。
什么是 Flatpak?
Flatpak(以前称为 X Desktop Group 或 xdg-app)是一个软件实用程序。它提供了一种通用的包封装格式,可以在任何 Linux 发行版中使用。
它提供了一个沙箱(隔离的)环境来运行应用程序,不会影响其他应用程序和发行版核心软件包。我们还可以安装并运行不同版本的软件包。
Flatpak 的一个缺点是不像 Snap 和 AppImage 那样支持服务器操作系统,它只在少数桌面环境下工作。
比如说,如果你想在系统上运行两个版本的 php,那么你可以轻松安装并按照你的意愿运行。
这就是现在通用包封装格式非常有名的地方。
如何在 Linux 中安装 Flatpak?
大多数 Linux 发行版官方仓库都提供 Flatpak 软件包。因此,可以使用它们来进行安装。
对于 Fedora 系统,使用 DNF 命令 来安装 flatpak。
$sudodnf install flatpak
对于 Debian/Ubuntu 系统,使用 APT-GET 命令 或 APT 命令 来安装 flatpak。
$sudoapt install flatpak
对于较旧的 Ubuntu 版本:
$sudoadd-apt-repository ppa:alexlarsson/flatpak
$sudoapt update
$sudoapt install flatpak
对于基于 Arch Linux 的系统,使用 Pacman 命令 来安装 flatpak。
$sudopacman-S flatpak
对于 RHEL/CentOS 系统,使用 YUM 命令 来安装 flatpak。
$sudoyuminstall flatpak
对于 openSUSE Leap 系统,使用 Zypper 命令 来安装 flatpak。
$sudozypper install flatpak
如何在 Linux 上启用 Flathub 支持?
Flathub 网站是一个应用程序商店,你可以在其中找到 flatpak 软件包。它是一个中央仓库,所有的 flatpak 应用程序都可供用户使用。
运行以下命令在 Linux 上启用 Flathub 支持:
$sudoflatpak remote-add--if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
为 GNOME 桌面环境安装 Software Flatpak 插件。
$sudoapt install gnome-software-plugin-flatpak
此外,如果你使用的是 GNOME 桌面环境,则可以启用 GNOME 仓库。它包含所有 GNOME 核心应用程序。
$wgethttps://sdk.gnome.org/keys/gnome-sdk.gpg
$sudoflatpak remote-add--gpg-import=gnome-sdk.gpg--if-not-exists gnome-apps https://sdk.gnome.org/repo-apps/
如何列出已配置的 flakpak 仓库?
如果要查看系统上已配置的 flatpak 仓库列表,运行以下命令:
$ flatpak remotes
NameOptions
flathub system
gnome-apps system
如何列出已配置仓库中的可用软件包?
如果要查看已配置仓库中的可用软件包的列表(它将显示所有软件包,如应用程序和运行环境),运行以下命令:
$ flatpak remote-ls|head-10
org.freedesktop.GlxInfognome-apps
org.gnome.Booksgnome-apps
org.gnome.Buildergnome-apps
org.gnome.Calculatorgnome-apps
org.gnome.Calendargnome-apps
org.gnome.Charactersgnome-apps
org.gnome.Devhelpgnome-apps
org.gnome.Dictionarygnome-apps
org.gnome.Documentsgnome-apps
org.gnome.Epiphanygnome-apps
仅列出应用程序:
$ flatpak remote-ls--app
列出特定的仓库应用程序:
$ flatpak remote-lsgnome-apps
如何从 flatpak 安装包?
运行以下命令从 flatpak 仓库安装软件包:
$sudoflatpak install flathub com.github.muriloventuroso.easyssh
Requiredruntimeforcom.github.muriloventuroso.easyssh/x86_64/stable(runtime/org.gnome.Platform/x86_64/3.30)foundinremote flathub
Doyou want to install it?[y/n]:y
Installinginsystem:
org.gnome.Platform/x86_64/3.30flathub4e93789f42ac
org.gnome.Platform.Locale/x86_64/3.30flathub6abf9c0e2b72
org.freedesktop.Platform.html5-codecs/x86_64/18.08flathub d6abde36c0be
com.github.muriloventuroso.easyssh/x86_64/stable flathub337db43043d2
permissions:ipc,network,wayland,x11,dri
fileaccess:home,xdg-run/dconf,~/.config/dconf:ro
dbus access:ca.desrt.dconf
com.github.muriloventuroso.easyssh.Locale/x86_64/stable flathub af837356b222
Isthisok[y/n]:y
Installing:org.gnome.Platform/x86_64/3.30fromflathub
[####################]1metadata,14908content objects fetched;228018KiBtransferredin364seconds
Nowat4e93789f42ac.
Installing:org.gnome.Platform.Locale/x86_64/3.30fromflathub
[####################]4metadata,1content objects fetched;16KiBtransferredin2seconds
Nowat6abf9c0e2b72.
Installing:org.freedesktop.Platform.html5-codecs/x86_64/18.08fromflathub
[####################]26metadata,131content objects fetched;2737KiBtransferredin8seconds
Nowat d6abde36c0be.
Installing:com.github.muriloventuroso.easyssh/x86_64/stablefromflathub
[####################]191metadata,3633content objects fetched;24857KiBtransferredin117seconds
Nowat337db43043d2.
Installing:com.github.muriloventuroso.easyssh.Locale/x86_64/stablefromflathub
[####################]3metadata,1content objects fetched;14KiBtransferredin2seconds
Nowat af837356b222.
所有已安装的应用程序都将放在以下位置:
$ls/var/lib/flatpak/app/
com.github.muriloventuroso.easyssh
如何运行已安装的应用程序?
运行以下命令以启动所需的应用程序,确保替换为你的应用程序名称:
$ flatpak run com.github.muriloventuroso.easyssh
如何查看已安装的应用程序?
运行以下命令来查看已安装的应用程序:
$ flatpaklist
RefOptions
com.github.muriloventuroso.easyssh/x86_64/stable system,current
org.freedesktop.Platform.html5-codecs/x86_64/18.08system,runtime
org.gnome.Platform/x86_64/3.30system,runtime
如何查看有关已安装应用程序的详细信息?
运行以下命令以查看有关已安装应用程序的详细信息:
$ flatpakinfocom.github.muriloventuroso.easyssh
Ref:app/com.github.muriloventuroso.easyssh/x86_64/stable
ID:com.github.muriloventuroso.easyssh
Arch:x86_64
Branch:stable
Origin:flathub
CollectionID:org.flathub.Stable
Date:2019-01-0813:36:32+0000
Subject:Updatecom.github.muriloventuroso.easyssh.json(cd35819c)
Commit:337db43043d282c74d14a9caecdc780464b5e526b4626215d534d38b0935049f
Parent:6e49096146f675db6ecc0ce7c5347b4b4f049b21d83a6cc4d01ff3f27c707cb6
Location:/var/lib/flatpak/app/com.github.muriloventuroso.easyssh/x86_64/stable/337db43043d282c74d14a9caecdc780464b5e526b4626215d534d38b0935049f
Installedsize:100.0MB
Runtime:org.gnome.Platform/x86_64/3.30
Sdk:org.gnome.Sdk/x86_64/3.30
如何更新已安装的应用程序?
运行以下命令将已安装的应用程序更新到***版本:
$ flatpak update
对于特定应用程序,使用以下格式:
$ flatpak update com.github.muriloventuroso.easyssh
如何移除已安装的应用程序?
运行以下命令来移除已安装的应用程序:
$sudoflatpak uninstall com.github.muriloventuroso.easyssh
进入 man 页面以获取更多细节和选项:
$ flatpak--help
【编辑推荐】
【责任编辑:庞桂玉 TEL:(010)68476606】
点赞 0