常见的使用方法
rpm2cpio filename.rpm | cpio -div -D directory_name
# 卸载软件,同时卸载依赖
sudo dnf remove $(dnf list installed | grep gstreamer | awk '{print $1}')
# 不卸载依赖
sudo rpm -e --nodeps `rpm -qa | grep gstreamer`
打包
dnf install gcc rpm-build rpm-devel rpmlint make python bash coreutils diffutils patch rpmdevtools
- 检测已安装的命令
rpm -ql rpmdevtools | grep bin
- 建立相关的软件包层级
$ rpmdev-setuptree
$ tree ~/rpmbuild/
/home/user/rpmbuild/
|-- BUILD
|-- RPMS
|-- SOURCES
|-- SPECS
`-- SRPMS
- 分别以c语言,python shell ,打印hello world 作为例子
rpmdev-newspec bello
# 修改对应的cello.spec
# 源码包
rpmbuild -bs cello.spec
# 二进制包
rpmbuild -bb cello.spec
- 这部分可以参考下面相关教程
- https://src.fedoraproject.org/
- https://rpm-packaging-guide.github.io/
- https://src.fedoraproject.org/rpms/moby-engine/tree/rawhide