여기에 내 문제가 있습니다. 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
저장소 생성, 전송 또는 기타 항목에서 버그를 찾을 수 없습니다... 아이디어가 있습니까? 팁? 도움주셔서 정말 감사드립니다, 감사합니다 :)
추신: 설치해야 할 PHP 라이브러리가 많기 때문에 새로 설치할 수 있어야 하며, 이를 설치해야 하는 시스템이 많기 때문에 이를 자동화하는 것이 아이디어입니다.
답변1
rsync를 사용하여 전체 저장소와 해당 메타데이터를 추출하고 이를 로컬 미러로 사용하는 것이 더 쉽습니다.
메타데이터(repodata 디렉터리)를 생성하는 방법을 잘 모르지만 모듈 정보가 누락된 것 같습니다. 해결 방법은 module_hotfixes=1
로컬 저장소 구성에서 옵션을 사용하는 것입니다.