简体   繁体   English

在 CentOS 8 中创建元包

[英]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.然后使用yumdnf之类的 package 管理器来满足安装时的依赖关系。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM