如果您不是程序员,并且想要一种方法来安装该应用程序或脚本,则可以使用以下几种方法。
带有字体的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
我们已经有自解压文件。
希望这对您有所帮助
感谢您的评论,如果有任何错误,这是您的想象力的产物,哈哈哈
优秀的手册,恭喜...
优秀的文章卢西亚诺!
我真的很恭喜你
一个拥抱! 保罗
恭喜你! 本文是我学习过的关于如何为Debian和Ubuntu之类的.deb二进制文件进行打包的最好的文章之一。
对于ArchLinux,我们以最佳BSD风格使用PKGBUILD: https://wiki.archlinux.org/index.php/PKGBUILD_%28Espa%C3%B1ol%29
一个拥抱!
您好,谢谢您的评论,如果您认为我们可以在文章中添加如何为arch创建软件包,请说明我只使用ubuntu和一点centos,我评论说这很好,我尝试过一次,但是我没有安装它的时间,这将是非常好的,因为如果可以的话,任何人都可以。
您好,感谢您的评论,正如我在其他场合已经提到的那样,我的帖子基于我的经验,希望它们对您有所帮助。
嗨,卢西亚诺。
我已经开始按照步骤进行操作,但还没有通过检查安装。 它返回以下错误:
“ Makefile:349:目标“安装递归”的配方失败
make:*** [install-recursive]错误1
****安装失败。 中止软件包的创建。”
在此之前,“ make”命令在输出中显示以下内容:
“做出[3]:对“全部”不做任何事情。”
我不明白什么是失败的。 我试图下载最新版本的LAME,以查看它是否可以解决我的问题,但无济于事。
问候。