我有一个在第一次启动时运行的自定义 systemd 服务。
如果用户没有 bootsplash,我想写到控制台并提供一些关于正在发生的事情的信息。有没有办法从我的服务中做到这一点?
这是我的 systemd 服务:
[Unit]
Description=Prepare operator after installation
Before=getty@tty1.service getty@tty2.service getty@rrt3.service getty@tty4.service getty@tty5.service getty@tty6.service
Wants=network-online.target
After=network.target network-online.target
OnFailure=emergency.target
OnFailureJobMode=replace-irreversibly
[Service]
Type=oneshot
ExecStart=/usr/bin/provision-operator
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud) 我有一个场景,我需要在没有网络连接的服务器上安装任意 RPM 包列表(通常大约 5-10 个包)。有些包来自 EPEL,我想避免同步所有存储库,因为我需要经常这样做。
我已经通过执行以下操作为 RHEL/CentOS 7 解决了这个问题:
$ yum -y install epel-release createrepo
$ repotrack $PACKAGE_NAME
$ createrepo --database .
Run Code Online (Sandbox Code Playgroud)
然后,我只是将此文件夹移动到使用USB驱动器的服务器并创建一个库文件/etc/yum.repos.d
,让我安装包yum --disablerepo="*" --enablerepo="my-custom-repo" install $PACKAGE_NAME
。
现在我将其移至 RHEL/CentOS 8,虽然它适用于我的一半软件包,但当我dnf install
在隔离服务器上执行此操作时,另一半出现以下错误:
模块化软件包 'podman-1.6.4-2.module_el8.1.0+272+3e64ee36.x86_64' 没有可用的模块化元数据,它无法安装在系统上
我认为这是由于新的模块化系统,我的仓库没有所有必要的信息。我试图阅读两者的手册repotrack
,createrepo
但他们似乎都没有提到模块。搜索互联网只是给了我 7 的解决方案,我已经有了,但我没有找到任何 8 和特别属于模块的包。
那么我如何将属于模块的 RHEL/CentOS 8 包及其所有依赖项提取到磁盘,以便我可以将它们移动到另一台服务器并安装在那里?
谢谢!