[英]Create a meta-package in CentOS 8
I'm trying to create a meta-package in CentOS 8 that installs vim and nano.我正在尝试在 CentOS 8 中创建一个安装 vim 和 nano 的元包。
I built rpm-package via spec file.我通过规范文件构建了 rpm-package。 The spec file:规格文件:
Summary: It's just a test meta_package
Version: 0.1
Release: 1
Group: Applications/Internet
License: GPL
BuildArch: noarch
Requires: nano, vim
%description
A test meta_package.
%prep
%build
%install
%clean
%post
yum install -y nano
yum install -y vim
%files
%defattr(-,root,root)
%changelog
Building建造
rpmbuild --bb meta_package.spec
Then I launch it like然后我像启动它一样
rpm -I meta_package-0.1-1.noarch.rpm
But packages haven't been installed.但是还没有安装软件包。 Is there any possible solution to that?有什么可能的解决方案吗?
create a meta-package in CentOS 8 that installs vim and nano在 CentOS 8 中创建一个元包,安装 vim 和 nano
file.spec: Missing line for package name, "Name:", and for files, "%files", eg /usr/local/share/Meta/meta.txt
file.spec:缺少 package 名称“名称:”和文件“%files”的行,例如/usr/local/share/Meta/meta.txt
Example.spec Example.spec
Summary: It's just a test meta_package
Name: Nano_VIM
Version: 0.1
Release: 1
Group: Applications/Internet
License: GPL
BuildArch: noarch
Requires: nano
Requires: vim
%description
A test meta_package.
%post
dnf install -y nano
dnf install -y vim-enhanced
%files
/usr/local/share/Meta/meta.txt
%changelog
Build a package: $ rpmbuild -bb Z-meta.spec构建 package:$ rpmbuild -bb Z-meta.spec
Install example (No package vim in CentOS 8 → it was a reinstall of the package to include vim-enhanced
) Install example (No package vim in CentOS 8 → it was a reinstall of the package to include vim-enhanced
)
# dnf reinstall /home/knudfl/rpmbuild/RPMS/noarch/Nano_VIM-0.1-1.noarch.rpm
Last metadata expiration check: 0:00:58 ago on Sun 12 Dec 2021 03:31:00 PM CET.
Dependencies resolved.
================================================================================
Package Architecture Version Repository Size
================================================================================
Reinstalling:
Nano_VIM noarch 0.1-1 @commandline 6.5 k
Transaction Summary
================================================================================
Total size: 6.5 k
Installed size: 12
Is this ok [y/N]: y
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Reinstalling : Nano_VIM-0.1-1.noarch 1/2
Running scriptlet: Nano_VIM-0.1-1.noarch 1/2
Last metadata expiration check: 0:01:05 ago on Sun 12 Dec 2021 03:31:00 PM CET.
Package nano-2.9.8-1.el8.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
Last metadata expiration check: 0:01:09 ago on Sun 12 Dec 2021 03:31:00 PM CET.
Package vim-enhanced-2:8.0.1763-16.el8.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
Cleanup : Nano_VIM-0.1-1.noarch 2/2
Verifying : Nano_VIM-0.1-1.noarch 1/2
Verifying : Nano_VIM-0.1-1.noarch 2/2
Installed products updated.
Reinstalled:
Nano_VIM-0.1-1.noarch
Note: Please always use yum or dnf for package install, "rpm -Uvh" doesn't take care of dependencies.注意:请始终使用 yum 或 dnf 进行 package 安装,“rpm -Uvh”不处理依赖关系。
Package etc. https://drive.google.com/drive/folders/15XJ2CjLIhT3ZF3l4prwwc5fTST7YdP3L?usp=sharing Package等
For meta-packages, you must not specify dependencies in the %post
section.对于元包,您不得在%post
部分中指定依赖项。
You simply specify them with Requires:
tag.您只需使用Requires:
标签指定它们。 Example:例子:
Requires: nano
Requires: vim-enhanced
Then use a package manager like yum
or dnf
to satisfy dependencies at install time.然后使用yum
或dnf
之类的 package 管理器来满足安装时的依赖关系。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.