GAD*_*D3R 4 packaging debian systemd
如何从 bash 脚本和 systemd 服务构建 debian 包?
systemd 服务将.deb
在安装成功后通过启动/停止准备使用来控制脚本。通过网络搜索,有一些简单的示例可以将单个文件(python、shell、ruby ...脚本)转换为.deb
.
Ste*_*itt 10
这是一个最小的源包,它将安装一个 shell 脚本和一个相关的服务。
树如下:
minpackage
??? debian
? ??? changelog
? ??? control
? ??? install
? ??? minpackage.service
? ??? rules
? ??? source
? ??? format
??? script
Run Code Online (Sandbox Code Playgroud)
script
是您的脚本,权限为 755;debian/minpackage.service
是您的服务。
debian/changelog
需要看起来像
minpackage (1.0) unstable; urgency=medium
* Initial release.
-- GAD3R <gad3r@example.org> Tue, 05 Jan 2021 21:08:35 +0100
Run Code Online (Sandbox Code Playgroud)
debian/control
应该包含
Source: minpackage
Section: admin
Priority: optional
Maintainer: GAD3R <gad3r@example.org>
Build-Depends: debhelper-compat (= 13)
Standards-Version: 4.5.1
Rules-Requires-Root: no
Package: minpackage
Architecture: all
Depends: ${misc:Depends}
Description: My super package
Run Code Online (Sandbox Code Playgroud)
debian/rules
应该包含
#!/usr/bin/make -f
%:
dh $@
Run Code Online (Sandbox Code Playgroud)
(Tab之前有一个真实的dh
)。
其余文件可以按如下方式创建:
mkdir -p debian/source
echo "3.0 (native)" > debian/source/format
echo script usr/bin > debian/install
Run Code Online (Sandbox Code Playgroud)
要构建包,请运行
dpkg-buildpackage -uc -us
Run Code Online (Sandbox Code Playgroud)
在minpackage
目录中。
这将minpackage_1.0_all.deb
在父目录中创建。它还会为您处理 systemd 维护者脚本,因此在安装软件包时会自动启用该服务,并支持 Debian 中可用的各种覆盖机制。
归档时间: |
|
查看次数: |
810 次 |
最近记录: |