Ali*_*ani 13
Debian 打包系统是安装、升级和删除公共存储库中可用软件的最优雅的方法之一。如果您需要构建和维护一个非官方的 Debian 软件包存储库,您可以考虑一些技巧。在这里,我将简要介绍一些获取公共 Debian 存储库的步骤。
首先,安装一些必要的软件包:
sudo apt-get install build-essential devscripts debhelper dh-make diff patch gnupg fakeroot lintian linda pbuilder
Run Code Online (Sandbox Code Playgroud)
如果您打算在规则文件中使用它,则可能是 cdbs:
sudo apt-get install cdbs
Run Code Online (Sandbox Code Playgroud)
创建一个工作目录,并移入您打算构建的包的源代码中
mkdir packages
cp mypackage-0.1.tar.gz packages
cd packages
Run Code Online (Sandbox Code Playgroud)
设置维护者邮箱和全名,此信息将用于包元数据信息。
export DEBEMAIL="user@address"
export DEBFULLNAME ="full name"
Run Code Online (Sandbox Code Playgroud)
运行 dh_make 后,会弹出一些问题,应该相应地回答,该工具会将一些模板提取到 packages/debian 目录中。有关运行 dh_mahe -h 的更多信息
dh_make
Run Code Online (Sandbox Code Playgroud)
创建 .deb 包需要很多文件,这些文件存储在项目的根目录 packages/debian 中。对于设置必要的修改这些文件,你必须了解你的包中的一些informatins:依赖,版权,更新日志,生成文件...请参阅该政党成员
的下一步建造它内置调用在下面的命令二进制文件包。 /debian 目录:
cd debian
debuild -rfakeroot
Run Code Online (Sandbox Code Playgroud)
这将为你做一切。它会:
假设我们的存储库将只包含两个子目录:binary 和 source
dpkg-scanpackages 扫描 .deb 包;dpkg-scansources 扫描 .dsc 文件。
因此有必要将 .orig.gz、.diff.gz 和 .dsc 文件放在一起。不需要 .changes 文件。
在您的 www 中创建存储库目录,如下所示:
sudo mkdir -p /var/www/repository/{binary,source}
Run Code Online (Sandbox Code Playgroud)
将您的 deb 和源包移动到 /var/www/repository/{binary,source} 并生成索引。
$ cp mypackage-0.1-1.deb /var/www/repository/binary/
$ cp mypackage-0.1-1.tar.gz /var/www/repository/source/
$ cd /var/www/repository
$ dpkg-scanpackages binary /dev/null | gzip -9c > /var/www/repository/binary/Packages.gz
$ dpkg-scansources source /dev/null | gzip -9c > /var/www/repository/source/Sources.gz
Run Code Online (Sandbox Code Playgroud)
最后,将此添加到您的 source.lst 以便能够从存储库中获取您的包。
deb http://yourwebserver/repository binary/
deb-src http://yourwebserver/repository source/
Run Code Online (Sandbox Code Playgroud)
希望能帮到你,更多信息请参考完整文档:
| 归档时间: |
|
| 查看次数: |
565 次 |
| 最近记录: |