目前,我们都在使用我们Linux发行版的官方包管理器来安装所需的包。在Linux中,它做得很好,没有任何问题。(它在不妥协的情况下做了它应该做的非常好)但它在某些方面也有些限制,所以让我们考虑其他替代解决方案来解决它。是的,默认情况下我们无法从发行版的官方包管理器获取最新版本的包,因为这些包是在构建当前操作系统版本时构建的。他们只会在下一个主要版本发布之前提供安全更新。那么,这种情况有什么解决办法吗?是的,我们有多种解决方案,而且我们中的大多数人已经使用了其中的一些。有哪些?它们有什么用?对于基于Ubuntu的系统:PPA对于基于RHEL的系统:EPEL存储库、ELRepo存储库、nux-dextop存储库、IUS社区存储库、RPMfusion存储库和Remi存储库使用上述存储库,我们将获得最新的软件包。这些包通常维护得很好,大多数社区推荐。但这些只是建议,可能并不总是安全的。近年来,出现了几种常见的package封装格式,并被广泛使用。Flatpak:是一种独立于发行版的包格式,主要贡献者是Fedora项目组。大多数主要Linux发行版都采用Flatpak框架。Snaps:Snappy是一种通用的包打包格式,最初由Canonical为Ubuntu手机及其操作系统设计和构建。后来,更多的发行版采用了它。AppImage:AppImage是一种可移植的包格式,无需安装且无需root权限即可运行。我们之前介绍过Snap包管理器和包打包格式。今天我们将讨论Flatpak打包格式。什么是Flatpak?Flatpak(以前称为XDesktopGroup或xdg-app)是一种软件实用程序。它提供了一种通用的打包格式,可以在任何Linux发行版中使用。它提供了一个沙盒(隔离)环境来运行应用程序而不影响其他应用程序和分发核心包。我们还可以安装和运行不同版本的包。Flatpak的一个缺点是它不支持像Snap和AppImage这样的服务器操作系统,而且它只适用于少数桌面环境。例如,如果你想在你的系统上运行两个版本的php,那么你可以很容易地按照你的意愿安装和运行。这就是通用数据包封装格式如今非常有名的地方。如何在Linux中安装Flatpak?Flatpak软件包可以从大多数Linux发行版的官方存储库中获得。因此,它们可用于安装。对于Fedora系统,使用DNF命令安装flatpak。$sudodnfinstallflatpak对于Debian/Ubuntu系统,使用APT-GET命令或APT命令安装flatpak。$sudoaptinstallflatpak对于旧的Ubuntu版本:$sudoadd-apt-repositoryppa:alexlarsson/flatpak$sudoaptupdate$sudoaptinstallflatpak对于基于ArchLinux的系统,使用Pacman命令安装flatpak。$sudopacman-Sflatpak对于RHEL/CentOS系统,使用YUM命令安装flatpak。$sudoyuminstallflatpak对于openSUSELeap系统,使用Zypper命令安装flatpak。$sudozypperinstallflatpak如何在Linux上启用Flathub支持?Flathub网站是一个应用程序商店,您可以在其中找到flatpak软件包。它是一个中央存储库,所有的flatpak应用程序都可供用户使用。通过运行以下命令在Linux上启用Flathub支持:$sudoflatpakremote-add--if-not-existsflathubhttps://flathub.org/repo/flathub.flatpakrepo为GNOME桌面环境安装软件Flatpak插件。$sudoaptinstallgnome-software-plugin-flatpak此外,如果您使用的是GNOME桌面环境,则可以启用GNOME存储库。它包含所有GNOME核心应用程序。$wgethttps://sdk.gnome.org/keys/gnome-sdk.gpg$sudoflatpakremote-add--gpg-import=gnome-sdk.gpg--if-not-existsgnome-appshttps://sdk.gnome.org/repo-apps/…如何列出已配置的flakpak存储库?要查看系统上已配置的flatpak存储库列表,请运行以下命令:$flatpakremotesNameOptionsflathubsystemgnome-appssystem如何列出已配置存储库中可用的包?如果您想在配置的存储库中查看可用包的列表(它将显示所有包,如应用程序和运行时),请运行以下命令:$flatpakremote-ls|head-10org.freedesktop.GlxInfognome-appsorg。gnome.Booksgnome-appsorg.gnome.Buildergnome-appsorg.gnome.Calculatorgnome-appsorg.gnome.Calendargnome-appsorg.gnome.Charactersgnome-appsorg.gnome.Devhelpgnome-appsorg.gnome.Dictionarygnome-appsorg.gnome.Documentsgnome-appsorg.gnome.Epiphanygnome-apps仅列出应用程序:$flatpakremote-ls--app列出特定存储库应用程序:$flatpakremote-lsgnome-apps如何从flatpak安装软件包?运行以下命令从flatpak存储库安装包:$sudoflatpakinstallflathubcom.github.muriloventuroso.easysshRequiredruntimeforcom.github.muriloventuroso.easyssh/x86_64/stable(runtime/org.gnome.Platform/x86_64/3.30)在远程flathub中找到,要安装吗?[是/否]:y在系统中安装:org.gnome.Platform/x86_64/3.30flathub4e93789f42acorg.gnome.Platform.Locale/x86_64/3.30flathub6abf9c0e2b72org.freedesktop.Platform.html5-codecs/x86_64/18.08flathubdbecomde3.github.muriloventuroso.easyssh/x86_64/stableflathub337db43043d2权限:ipc、网络、wayland、x11、dri文件访问:home、xdg-run/dconf、~/.config/dconf:rodbus访问:ca.desrt.dconfcom.github。muriloventuroso.easyssh.Locale/x86_64/stableflathubaf837356b222这行吗[y/n]:yInstalling:org.gnome.Platform/x86_64/3.30fromflathub[####################]1个元数据,获取了14908个内容对象;228018KiB在364秒内传输现在位于4e93789f42ac。正在安装:来自flathub的org.gnome.Platform.Locale/x86_64/3.30[####################]4元数据,1获取的内容对象;2秒内传输16KiBsNow位于6abf9c0e2b72。正在安装:来自flathub的org.freedesktop.Platform.html5-codecs/x86_64/18.08[#####################]26个元数据,131个内容对象取来的;2737KiB在8秒内传输现在在d6abde36c0be。安装:com.github.muriloventuroso.easyssh/x86_64/stable来自flathub[####################]191元数据,3633获取的内容对象;24857KiB在117秒内传输现在位于337db43043d2。安装:com.github.muriloventuroso.easyssh.Locale/x86_64/stablefromflathub[####################]3元数据,1个内容对象已获取;2秒内传输了14KiB现在在af837356b222。所有已安装的应用程序都将放在以下位置:$ls/var/lib/flatpak/app/com.github.muriloventuroso。easyssh如何运行已安装的应用程序?运行以下命令启动所需的应用程序,确保替换您的应用程序名称:$flatpakruncom.github.muriloventuroso.easyssh如何查看已安装的应用程序?运行以下命令查看已安装的应用程序:$flatpaklistRefOptionscom.github.muriloventuroso.easyssh/x86_64/stablesystem,currentorg.freedesktop.Platform.html5-codecs/x86_64/18.08system,runtimeorg.gnome.Platform/x86_64/3.30system,runtime如何查看已安装应用的详细信息?运行以下命令以查看有关已安装应用程序的详细信息:$flatpakinfocom.github.muriloventuroso.easysshRef:app/com.github.muriloventuroso.easyssh/x86_64/stableID:com.github.muriloventuroso.easysshArch:x86_64Branch:stableOrigin:flathubCollectionID:org.flathub.StableDate:2019-01-0813:36:32+0000Subject:Updatecom.github.muriloventuroso.easyssh.json(cd35819c)Commit:337db43043d282c74d14a9caecdc780464b5e526b4626215d534d38b0935049fParent:6e49096146f675db6ecc0ce7c5347b4b4f049b21d83a6cc4d01ff3f27c707cb6Location:/var/lib/flatpak/app/com.github.muriloventuroso.easyssh/x86_64/stable/337db43043d282c74d14a9caecdc780464b5e526b4626215d534d38b0935049fInstalledsize:100.0MBRuntime:org.gnome.Platform/x86_64/3.30Sdk:org.gnome.Sdk/x86_64/3.30如何更新已安装的应用程序?Runthefollowingcommandto将已安装的应用程序更新到最新版本:$flatpakupdate对于特定应用程序,使用以下格式:$flatpakupdatecom.github.muriloventuroso.easyssh如何删除已安装的应用程序?运行以下命令以删除已安装的应用程序:$sudoflatpakuninstallcom.github.muriloventuroso.easyssh转到手册页以获取更多详细信息和选项:$flatpak--help
