我刚读了Meet Etcher,一种时尚的开源 USB 图像编写器工具。它谈到了下载 AppImage。
是的,Linux;Linux 软件包以 .appimage 的形式分发给 32 位和 64 位发行版,并且应该可以在所有主要 Linux 发行版上运行而不会出现任何问题。该团队目前没有提供原生 .deb(或 .rpm)安装程序的计划。
什么是 AppImages?它们与快照有何不同?
我去了 Ubuntu wiki,但很困惑,方法太多了。请告诉我 Debian 打包的简单指南。
作为自由软件的开发人员,我想将我的应用程序导入 Ubuntu。
我应该提供源 tarball 并要求打包吗?或者我应该自己创建一个包?我应该直接针对 Ubuntu,还是应该尝试进入 Debian,然后自动进入 Ubuntu?
我有一个想要作为 deb 包分发的 python 脚本。它是在 Unity 面板中显示本地日期的指示器。我确实按照从脚本或二进制文件创建 .deb 包,但我无法创建 deb 包,因为它失败了。
有人可以给我一个关于我应该做什么的分步说明吗?据我所知,这个脚本依赖于python-appindicator
.
注意:
我不想要任何指向 Debian/Ubuntu 打包说明的链接。我见过他们中的大多数。我不觉得他们对初学者友好。
我寻找一种简单的方法来为没有要编译的源代码的东西(配置、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 …
我希望能够创建一个不包含任何代码或程序本身的包,而是将存储库中存在的其他包安装到计算机上,该ubuntu-restricted-extras
包的功能如何?
我最近了解到获取任何给定包的源代码是多么容易,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
, 以及mutter
和mutter-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-dep
和dpkg-buildpackage
命令。修改源包的源代码后,dpkg-buildpackage -us -uc
可用于构建可用于安装修改后的程序的新 …
(引自聊天)
在启动板上有一个 PPA 用于我关联的 IRC 机器人项目的源包(因为它是发布之间内容的所有中间包,它被归类为“实验性”PPA)。问题:我已经为 lucid build 打包了这些东西。知道我如何能够创建相同的包装,除了为特立独行的包装,并将其放入与我放置 lucid 包装相同的 PPA 中吗?
最近发布的 Mono 2.8 拥有一些重大的性能改进。让它成为 Maverick 为时已晚,我相当有耐心。
我不会将 Mono 用于任何关键任务(只是播放音乐和整理照片),如果它破坏了与 Mono 相关的所有内容,我可能要么接受它,要么修复它。我知道如果我把事情搞砸了,我会损失多少。
因此,承认这一点,这里有人知道如何以一种可以插入的方式构建 Mono 以替换当前的 Mono (2.6.7)?我的意思是理想情况下镜像 Ubuntu 使用的软件包,以便如果发生更糟糕的情况,我可以降级软件包。
或者是否有 PPA 可以为我完成所有这些工作?
我在安装和删除已编译的软件时一直遇到问题,所以我决定将软件从源代码构建到 .deb 包中,以便于安装/删除。
作为最终用户,我想知道一种将源代码构建到 .deb 包中的简单快捷的方法。
我试过了: