这是我的问题,我正在尝试(强制)将 PHP 8.2 安装到 almalinux 8.6 中,但是以一种奇怪的方式。这个想法是能够在没有互联网的情况下安装它,但一些本地存储库提出了错误的版本。
我的想法是下载rpm文件,创建本地存储库,将其传输到需要安装的机器上并安装。
这是我到目前为止所做的。
我在下载remi后使用以下命令下载了rpm包
dnf --downloadonly --downloaddir=path/to/folder install php
一切都好。
之后,我使用命令创建一个本地存储库createrepo
。
然后将所有内容放入新机器中。在那里我做了以下事情。将文件myphp.repo
放入 /etc/yum.repos.d/` 文件内容如下
[myphp]
name= myphp
baseurl=file:///share/myphp/
enabled=1
gpgcheck=0
然后/share/myphp/
我放置包含所有 rpm 和 repodata 的文件夹。
使用命令 时yum repolist all
,myphp
启用。
如果我使用以下命令: sudo yum --disablerepo "*" --enablerepo myphp list php
我得到以下输出php.x86_64
然而,当我尝试安装它时,他只建议我使用 php7.2 (默认的),并且在编写命令时sudo yum module list php
我只得到以下列表
AlmaLinux 8.6 - AppStream
Name Stream Profiles Summary
php 7.2 [d] common [d], devel, minimal PHP scripting language
php 7.3 common [d], devel, minimal PHP scripting language
php 7.4 common [d], devel, minimal PHP scripting language
php 8.0 common [d], devel, minimal PHP scripting language
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
我找不到存储库的创建、传输或任何其他事情中的错误...您有什么想法吗?尖端 ?非常感谢您的帮助,谢谢:)
PS 我需要能够进行全新安装,因为需要安装很多 php 库,并且想法是自动化,因为有很多机器需要安装它。
答案1
使用 rsync 提取完整存储库及其元数据并将其用作本地镜像会更加简单。
不知道如何创建元数据(repodata 目录),但显然缺少模块信息。解决方法是module_hotfixes=1
在本地存储库配置中使用选项。