美文网首页编程随笔
Linux软件新的打包方式:Flatpak

Linux软件新的打包方式:Flatpak

作者: LanceAdd | 来源:发表于2017-10-14 22:33 被阅读3568次

    简单的介绍下他

    Flatpak(前世为xdg-app) 是一种用于构建,分发,安装和运行应用程序的技术。它主要针对的是Linux桌面,通过在沙箱中隔离应用程序来提高Linux桌面的安全性,允许应用程序安装在任何Linux发行版上。

    其实说白了就是解决了Linux软件安装时的依赖问题(和我一样使用debain系列并且使用gdebi的同学表示我们用的挺好的)解决过程就是把依赖一起打包进去。

    现在deepin开始了仓库迁移计划,部分软件开始提供flatpak包安装,用deepin的小伙伴们还是过得比较滋润的。

    毕竟为了发展成真正可以独当一面的伟大linux,deepin使用flatpak也是为了尽可能的回避Linux长久以来的依赖问题,并且由于类似于沙盒,不会干扰系统(绿色啊),算是一种比较实在的解决方法吧,这样也促使开发者竟可能的使用依赖较少的软件结构,这样也有利于软件的瘦身,不然要是像qt那种玩意,我估计是“哇,我还是不装了吧”

    好吧不多说了上例子吧,这边使用官网的Helloworld例子吧(我也是刚刚接触,来传播一下而已)

    第一步:install flatpak

    Fedora用户(毕竟红帽亲儿子)

    $ sudo dnf install flatpak

    ubuntu用户:

    $ sudo add-apt-repository ppa:alexlarsson/flatpak

    $ sudo apt update

    $ sudo apt install flatpak

    第二步:install a runtime

    Flatpak要求每一个应用指定一个只包含这个应用所需要的依赖的runtime,我们使用gnome的开发平台对应的runtime,为了安装他我们需要先使用ppa添加软件仓库

    flatpak remote-add --from gnome https://sdk.gnome.org/gnome.flatpakrepo

    然后安装

    $ flatpak install gnome org.gnome.Platform//3.22

    环境安装完成后我们就可以开始创建我们的经典项目HelloWod了

    首先我们需要按照标准创建项目目录(app的源代码目录):

    $ mkdir hello

    $ mkdir hello/files

    $ mkdir hello/files/bin

    $ mkdir hello/export

    然后我们需要在bin目录下创建一个简单的脚本打印HelloWorld

    即在hello/files/bin下创建helloworld.sh

    helloworld.sh中写入去下内容:

    #!/bin/sh

    echo "Hello world, from a sandbox"

    然后我们需要提供一些关于我们应用的信息,我们载hello目录下创建一个文件metdata,内容为

    [Application]

    name=org.test.Hello

    runtime=org.gnome.Platform/x86_64/3.22

    command=hello.sh

    指定应用,runtime以及一些其他信息

    好了现在我们可以去打包应用了

    打包扔仓库

    flatpak build-export repo hello

    这会创建一个本地仓库repo放我们的应用

    好了我们已经打包好了我们的应用,可以开始安装了

    flatpak --user remote-add --no-gpg-verify tutorial-repo repo

    flatpak --user install tutorial-repo org.test.Hello

    OK我们完成了,这个软件会安装的我们的当前用户的家目录下

    让我们运行一下

    flatpak run org.test.Hello

    他会打印出:Hello world, from a sandbox

    大功告成

    希望deepin能帮忙汉化下官方文档,毕竟看着吃力。

    剩下的周末更新,我得把我们宿舍的大作业给搞了,单撸代码的日子又到了

    相关文章

      网友评论

        本文标题:Linux软件新的打包方式:Flatpak

        本文链接:https://www.haomeiwen.com/subject/uhafuxtx.html