如何创建一个 .deb 文件?

是的,我知道这个问题以前已经问过很多次了,但是没有一个答案真正帮到我。
我想将 Minecraft 启动器(据我所知没有专有代码)打包成 .deb 文件,这样我就可以把它放在闪存驱动器上并与朋友分享。我已经成功手动安装了 Minecraft(将一些文件放入 /opt/minecraft、下载图标,并在 /usr/share/applications 创建了一个 .desktop 文件),而且我制作了一个完全自动化该过程的 Shell 脚本,但是它依赖于 wget 来获取几个文件,包括 .desktop 文件。(毕竟它不是自解压缩存档。)
我希望能够离线使用这个软件,因为我的很多朋友的网络速度很慢,甚至没有网络。(其中一条网络线被埋得太浅,结果被割草机割断了。)
我不会将它加载到PPA或其他地方;我只想让它成为一个“正式”的软件包,可以轻松安装和卸载。(有一件事我希望实现的是,当运行sudo apt-get purge minecraft时,也能删除.minecraft文件夹。同时,定义依赖项时能够接受OpenJDK或Sun的JVM也会很好。)
哦,只是提醒你,Minecraft启动器是一个.jar文件,但我可以通过shell脚本非常非常容易地启动它。确切的命令就在下载页面上。
4个回答

我能感受到你的痛苦。不久前,我自己也曾问过同样的问题,只是试图为一个小的shell脚本打包一个启动器而已。我找到的最好的解决方法是这个视频(无法记住原始文件名 - 所以我不得不将其上传到U1)。按照视频中的步骤,我成功地在大约2小时内创建了一个.deb文件。
其他有用的资源(只需快速浏览一下):
Ubuntu论坛
打包基础知识 我发现的所有教程都太长、不完整或对初学者来说难以使用(太复杂)。我相信有很多人写了一些有用的小脚本,想要打包和分享它们,但是当他们尝试第一次创建一个.deb文件时,这只会耗费时间并带来沮丧。

嘿,我在下载方面遇到了麻烦。我得到的视频部分非常有用,但Ubuntu One的服务器似乎非常不稳定。你有MediaFire或Dropbox账户吗?(顺便说一句,如果你要注册Dropbox账户,请告诉我。我们都会额外获得1/4G的空间,如果我正式推荐你的话。) - JamesTheAwesomeDude
啊哈,我已经设置好了一个PPA。虽然我仍然没有成功制作.deb文件的运气,但是PPA几乎可以起到同样的作用。 - JamesTheAwesomeDude
使用wget "http://ubuntuone.com/0lj3md7kX1NqLQ7DoiBTGV"下载视频对我来说很有效。 - Paradiesstaub
我的网络太慢了,甚至无法在Ubuntu One服务器出现故障之前使用wget下载。而且,当它尝试恢复下载时,会变得非常不稳定。也许你可以制作一个种子文件? :) - JamesTheAwesomeDude
1啊哈!刚刚发现了wget的-c选项,然后我就把它下载下来了。那个视频以及Ubuntu论坛上的帖子链接,终于让我成功地制作了Debians。(点击此处查看我的第一个成功结果!) - JamesTheAwesomeDude


0.o 那个教程有点超出我的理解范围,有没有更简单的教程? - JamesTheAwesomeDude

据我所知,实际上重新分发启动器也不是很合适,但具体情况我不太确定。
我可以推荐看一下Graham Edgecombe的minecraft-installer,这是一个Debian软件包,可以自动下载并设置带有图标和快捷方式的启动器。因此,在安装软件包时会同时下载启动器(软件包本身并不包含Minecraft的任何部分,只有用于获取和设置启动器的脚本)。
由于我对该项目做出了一些贡献,所以可能有一点偏见 ;)

我想要.deb文件的整个目的就是为了能够将它发送给目前没有互联网的朋友们。我已经创建了一个安装Minecraft的shell脚本。 - JamesTheAwesomeDude