我有一个想要作为 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 …
$ sudo apt-get install nvm\n\xe2\x80\xa6\nE: Unable to locate package nvm\nRun Code Online (Sandbox Code Playgroud)\n\n安装说明通常涉及运行来自 GitHub ( curl https://raw.githubusercontent.com/creationix/nvm/v0.11.1/install.sh | bash) 的随机脚本,而不是使用众所周知的脚本apt-get或yum其他发行版的等效脚本。
为什么 nvm 没有为 Ubuntu 打包?
\n\n我想肯定有技术原因,因为 nvm 是一个常见的软件,比如许可问题或类似的问题,所以我很好奇为什么它无法打包。我在网上搜索了一个包和一个原因,但没有得到任何有用的结果。
\n你如何创建自己的包在Linux中,就像cd,ls或任何第三方软件包?
我所知道的是如何创建一个.sh文件,在其中编写一个脚本并使用以下命令执行它:
bash file_name
Run Code Online (Sandbox Code Playgroud)
但除此之外,我想更深入地了解。请解释从下载使用apt-get到如何运行它的完整步骤。
package-management packaging command-line scripts gnome-shell