如何在Ubuntu和其他发行版上分发我们的软件

如果您不是程序员,并且想要一种方法来安装该应用程序或脚本,则可以使用以下几种方法。
带有字体的DEB包 (仅适用于debian和衍生产品)

当我们拥有应用程序的源代码时,此方法适用。

首先,我们安装执行魔术的程序 “检查安装”,在终端中我们执行

sudo aptitude install检查安装

对于示例,我们将使用库 “瘸”,从下载字体 信息,我们创建一个文件夹并放置文件 跛脚3.98.4.tar.gz 从终端作为根用户,我们进入该文件夹并执行这些行。

tar -xzvf lame-3.98.4.tar.gz cd lame-3.98.4 ./configure make checkinstall cp * .deb ../ cd ..rm -R lame-3.98.4 chmod 777 lame-3.98.4 *。黛比

它为我们生成了deb软件包,此方法将最终安装生成的软件包。

手动DEB包 (仅适用于debian和衍生产品)

此方法适用于我们的脚本或预编译的应用程序

DEB包的结构

|设置(常规文件夹)| | -DEBIAN(配置文件所在的文件夹)| --control(配置文件)| --preinst(在安装之前运行的文件或脚本)| --postinst(在安装之后运行的文件或脚本)| --prerm( |文件或脚本在卸载前运行)| --postrm(文件或脚本在卸载后运行)| | -usr(应用程序文件所在的文件夹)| -usr / bin(二进制文件或脚本所在的文件夹)| -usr / share / pixmaps(图标所在的文件夹)| -usr / share / applications(文件夹所在的位置)发射器)

«控制»文件示例

软件包:TUPACKAGE版本:VERSION体系结构:amd64(i386或全部)维护者:作者部分:partner / web优先级:可选描述:TEXT

生成DEB包

sudo chmod -R root:root设置/ sudo chmod -R 755设置/ sudo dpkg -b设置/ package.deb chmod 777 package.deb chown -R设置

有了这些数据,我们已经可以为我们的应用程序生成一个deb包,例如,我们将制作一个简单的bash脚本。

我们创建一个名为 «ubunlog» 并用这个别的名字 设置
然后在最后一个文件夹中,我们创建两个文件夹,名称为 “ DEBIAN” 还有一个 «Urr».

这是控制文件

包装: ubunlog-web 版本:0.11.5.13 架构:全部 维护者:TU NAME 部分:partner/web 优先级:可选 描述:教程、Linux 桌面、软件、新闻以及有关 Ubuntu 的一切

我们将其保存在文件夹中 “ DEBIAN” 我们之前创建的«control»

该代码来自postinst文件

#!/bin/sh chmod 755 /usr/bin/ubunlog-web chmod +x /usr/bin/ubunlog-web chmod 755 /usr/share/pixmaps/ubunlog-web.png chmod 755 /usr/share/applications/ubunlog-web.desktop chmod +x /usr/share/applications/ubunlog-web.桌面

我们将其保存在与“ postinst”相同的文件夹中

现在,我们在文件夹内为脚本,启动器和图标创建文件夹 设置 我们创建一个名为 «Urr»

如您所见,我们有两个文件夹 “ DEBIAN” 还有一个 «Urr» 在几秒钟前创建的,在后者中,我们创建了一个文件夹 “宾” 还有一个 “比较器”

这是脚本代码

#!/bin/sh 火狐 https://ubunlog.com/&

我们将其保存在文件夹中 “宾” 名称 «ubunlog-网络”.

现在我们去文件夹 “比较器” 在此我们创建一个名为 “像素图” 然后用这个名字保存 «ubunlog-web.png» 我们从下载了这张图片 信息

我们只需要创建启动器,为此,我们在其中创建了最后一个文件夹 分享 按名字 “应用程序”

这是相同的代码

[桌面条目] 编码=UTF-8 名称=Ubunlog 网络博客 Comment=教程、Linux 桌面、软件、新闻和有关 Ubuntu 的一切 GenericName=教程、Linux 桌面、软件、新闻和有关 Ubuntu Exec 的一切ubunlog-web 终端=false 类型=应用程序图标=ubunlog-web 类别=应用程序;网络;互联网;启动WM类=ubunlog-web StartupNotify=true

他们将其保存在文件夹中 “应用程序”«ubunlog-web.桌面»

我们已经准备好一切,它仍然存在 生成deb包,它会要求您输入root密码,但不会安装任何内容。

sudo chmod -R root:root 设置/ sudo chmod -R 755 设置/ sudo dpkg -b 设置/ ubunlog-web_0.11.5.13_all.deb chmod 777 ubunlog-web_0.11.5.13_all.deb chown -R 设置

如果一切正确,您已经拥有包裹 «ubunlog-web_0.11.5.13_all.deb»。

自解压手册 (仅在Ubuntu上测试过,可在任何发行版上运行)

此方法是使用makeself脚本(http://megastep.org/makeself/)生成文件

他们从网上下载了一个.run文件,并为其授予了权限,然后我们执行了该文件,

如何使用它。

makeself.sh文件夹/源/ RESULT.RUN“ TEXT” ./setup.sh

如你看到的 ”文件夹/来源/» 是我们的应用程序或脚本的文件和文件夹 «结果运行» 是生成的文件还是自解压文件
“文本” 是运行自解压缩文件时显示的消息,并用引号引起来。
“ ./Setup.sh” 是解压缩自解压文件时运行的脚本,请不要忘记赋予它权限。

为了使它更易于理解,我们将使用与deb包相同的示例,但要对其进行调整。

我们创建一个名为 «ubunlog» 然后复制自己生成的文件夹,将其重命名为 使自己
在文件夹中 «ubunlog» 创建另一个名字 格局 在这个地方下面的文件。

安装脚本

#!/bin/sh cp ubunlog-web /usr/bin/ chmod 755 /usr/bin/ubunlog-web chmod +x /usr/bin/ubunlog-网络cp ubunlog-web.png /usr/share/pixmaps/ chmod 755 /usr/share/pixmaps/ubunlog-web.png cp ubunlog-web.desktop /usr/share/applications/ chmod 755 /usr/share/applications/ubunlog-web.desktop chmod +x /usr/share/applications/ubunlog-web.桌面

他们将其另存为setup.sh

我们的剧本

#!/bin/sh 火狐 https://ubunlog.com/&

他们将其保存为“ubunlog-web» 图标以名称保存 «ubunlog-web.png» 我们从下载了这张图片 信息

投手

[桌面条目] 编码=UTF-8 名称=Ubunlog 网络博客 Comment=教程、Linux 桌面、软件、新闻和有关 Ubuntu 的一切 GenericName=教程、Linux 桌面、软件、新闻和有关 Ubuntu Exec 的一切ubunlog-web 终端=false 类型=应用程序图标=ubunlog-web 类别=应用程序;网络;互联网;启动WM类=ubunlog-web StartupNotify=true

他们将其另存为 «ubunlog-web.桌面»

现在我们生成自解压文件

chmod 755 setup/ chmod +x setup/setup.sh sh ../makeself/makeself.sh setup ubunlog-web.run“Ubunlog - 教程、Linux 桌面、软件、新闻以及有关 Ubuntu 的一切” ./setup.sh

我们已经有自解压文件。

希望这对您有所帮助

感谢您的评论,如果有任何错误,这是您的想象力的产物,哈哈哈


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   大卫·戈麦斯

    优秀的手册,恭喜...

  2.   让我们使用Linux

    优秀的文章卢西亚诺!
    我真的很恭喜你
    一个拥抱! 保罗

  3.   马蒂1206

    恭喜你! 本文是我学习过的关于如何为Debian和Ubuntu之类的.deb二进制文件进行打包的最好的文章之一。

    对于ArchLinux,我们以最佳BSD风格使用PKGBUILD: https://wiki.archlinux.org/index.php/PKGBUILD_%28Espa%C3%B1ol%29

    一个拥抱!

    1.    卢西亚诺·拉加萨(Luciano Lagassa)

      您好,谢谢您的评论,如果您认为我们可以在文章中添加如何为arch创建软件包,请说明我只使用ubuntu和一点centos,我评论说这很好,我尝试过一次,但是我没有安装它的时间,这将是非常好的,因为如果可以的话,任何人都可以。

  4.   卢西亚诺·拉加萨(Luciano Lagassa)

    您好,感谢您的评论,正如我在其他场合已经提到的那样,我的帖子基于我的经验,希望它们对您有所帮助。

  5.   乔希

    嗨,卢西亚诺。

    我已经开始按照步骤进行操作,但还没有通过检查安装。 它返回以下错误:

    “ Makefile:349:目标“安装递归”的配方失败
    make:*** [install-recursive]错误1

    ****安装失败。 中止软件包的创建。”

    在此之前,“ make”命令在输出中显示以下内容:

    “做出[3]:对“全部”不做任何事情。”

    我不明白什么是失败的。 我试图下载最新版本的LAME,以查看它是否可以解决我的问题,但无济于事。

    问候。