标签: packaging

什么是“AppImage”?我该如何安装?

我刚读了Meet Etcher,一种时尚的开源 USB 图像编写器工具。它谈到了下载 AppImage。

是的,Linux;Linux 软件包以 .appimage 的形式分发给 32 位和 64 位发行版,并且应该可以在所有主要 Linux 发行版上运行而不会出现任何问题。该团队目前没有提供原生 .deb(或 .rpm)安装程序的计划。

什么是 AppImages?它们与快照有何不同?

packaging appimage

351
推荐指数
7
解决办法
45万
查看次数

什么是最简单的 Debian 打包指南?

我去了 Ubuntu wiki,但很困惑,方法太多了。请告诉我 Debian 打包的简单指南。

packaging debian

191
推荐指数
5
解决办法
14万
查看次数

如何让我的软件进入 Ubuntu?

作为自由软件的开发人员,我想将我的应用程序导入 Ubuntu。

我应该提供源 tarball 并要求打包吗?或者我应该自己创建一个包?我应该直接针对 Ubuntu,还是应该尝试进入 Debian,然后自动进入 Ubuntu?

packaging application-development application-submission

136
推荐指数
5
解决办法
3万
查看次数

如何为单个 python 脚本创建 deb 包?

我有一个想要作为 deb 包分发的 python 脚本。它是在 Unity 面板中显示本地日期的指示器。我确实按照从脚本或二进制文件创建 .deb 包,但我无法创建 deb 包,因为它失败了。

有人可以给我一个关于我应该做什么的分步说明吗?据我所知,这个脚本依赖于python-appindicator.

注意:
我不想要任何指向 Debian/Ubuntu 打包说明的链接。我见过他们中的大多数。我不觉得他们对初学者友好。

python packaging scripts deb

87
推荐指数
4
解决办法
4万
查看次数

从脚本或二进制文件创建一个 .deb 包

我寻找一种简单的方法来为没有要编译的源代码的东西(配置、shellscripts、专有软件)创建 .deb 包。这是一个相当大的问题,因为大多数软件包教程都假设您有一个要编译的源 tarball。然后我找到了这个简短的教程(德语)。

之后,我创建了一个小脚本来创建一个简单的存储库。像这样:

rm /export/my-repository/repository/*
cd /home/tdeutsch/deb-pkg
for i in $(ls | grep my); do dpkg -b ./$i /export/my-repository/repository/$i.deb; done
cd /export/avanon-repository/repository
gpg --armor --export "My Package Signing Key" > PublicKey
apt-ftparchive packages ./ | gzip > Packages.gz
apt-ftparchive packages ./ > Packages
apt-ftparchive release ./ > /tmp/Release.tmp; mv /tmp/Release.tmp Release
gpg --output Release.gpg -ba Release
Run Code Online (Sandbox Code Playgroud)

我将密钥添加到 apt 密钥环并包含如下来源:

deb http://my.default.com/my-repository/ ./
Run Code Online (Sandbox Code Playgroud)

看起来 repo 本身运行良好(我遇到了一些问题,为了解决这些问题,我需要添加两次 Packages 并为 Release 文件制作临时文件解决方法)。我还将一些下载的 .deb 放入 repo 中,看起来它们也可以正常工作。但是我自己创建的包没有……我做的sudo apt-get update …

packaging apt deb

74
推荐指数
1
解决办法
4万
查看次数

如何创建一个自动安装其他包的元包?

我希望能够创建一个不包含任何代码或程序本身的包,而是将存储库中存在的其他包安装到计算机上,该ubuntu-restricted-extras包的功能如何?

package-management packaging dpkg metapackages equivs

59
推荐指数
1
解决办法
2万
查看次数

不同的包如何具有相同的源代码?

我最近了解到获取任何给定包的源代码是多么容易,apt-get source这样我就可以获取源代码、进行更改并安装我自己的任何包的修改版本。这很棒!

直到今天,我一直假设每个包都有自己的源代码,不同的包会有不同的源代码。

但是,现在我刚刚发现不同的包可以具有相同的源代码。下面是一个例子:

以下 4 个包似乎具有相同的源代码:

gir1.2-mutter-4
libmutter-4-0
mutter
mutter-common
Run Code Online (Sandbox Code Playgroud)

所有四个都安装在我的 Ubuntu 19.04 计算机上。这样做apt-get source gir1.2-mutter-4的结果与apt-get source libmutter-4-0, 以及muttermutter-common包的结果完全相同。

这是我检查它的方法:

mkdir a
cd a
apt-get source gir1.2-mutter-4
cd ..
mkdir b
cd b
apt-get source libmutter-4-0
cd ..
diff -r a b
Run Code Online (Sandbox Code Playgroud)

上面最后一行的递归差异没有给出任何输出,表明目录具有相同的内容。

现在我的问题是:不同的包如何具有相同的源代码?

假设这是故意的而不是某种错误,包之间有什么区别,我如何才能看到这种区别?

可能是这些包在配置和编译源代码的方式上有所不同,例如代码的不同部分包含在不同的包中吗?如果是这样,我在哪里可以找到有关如何配置每个包的信息?

编辑:忘了补充一点,如果你想测试这个,为了使其apt-get source正常工作,你可能首先需要software-properties-gtk按照这里的描述启用它:https : //askubuntu.com/a/857433/874649

编辑2:感谢您的出色回答!我还发现这很有帮助https://askubuntu.com/a/246721/874649 - 关于非常有用的apt-get build-depdpkg-buildpackage命令。修改源包的源代码后,dpkg-buildpackage -us -uc可用于构建可用于安装修改后的程序的新 …

package-management packaging software-installation

41
推荐指数
2
解决办法
7760
查看次数

PPA & Packaging:拥有多个发行版的软件包版本

(引自聊天)

在启动板上有一个 PPA 用于我关联的 IRC 机器人项目的源包(因为它是发布之间内容的所有中间包,它被归类为“实验性”PPA)。问题:我已经为 lucid build 打包了这些东西。知道我如何能够创建相同的包装,除了为特立独行的包装,并将其放入与我放置 lucid 包装相同的 PPA 中吗?

packaging ppa

39
推荐指数
2
解决办法
6063
查看次数

升级到最新的稳定 Mono

最近发布的 Mono 2.8 拥有一些重大的性能改进。让它成为 Maverick 为时已晚,我相当有耐心。

我不会将 Mono 用于任何关键任务(只是播放音乐和整理照片),如果它破坏了与 Mono 相关的所有内容,我可能要么接受它,要么修复它。我知道如果我把事情搞砸了,我会损失多少。

因此,承认这一点,这里有人知道如何以一种可以插入的方式构建 Mono 以替换当前的 Mono (2.6.7)?我的意思是理想情况下镜像 Ubuntu 使用的软件包,以便如果发生更糟糕的情况,我可以降级软件包。

或者是否有 PPA 可以为我完成所有这些工作?

packaging mono

36
推荐指数
3
解决办法
1万
查看次数

将源代码编译成 DEB 包

我在安装和删除已编译的软件时一直遇到问题,所以我决定将软件从源代码构建到 .deb 包中,以便于安装/删除。

作为最终用户,我想知道一种将源代码构建到 .deb 包中的简单快捷的方法。

我试过了:

packaging deb install-from-source checkinstall

35
推荐指数
4
解决办法
5万
查看次数