RHEL6.8로 업그레이드 할 때 php-mbstring 종속 오류가 발생하는 경우
1. 소개
온프레 환경에서 RHEL6.7 서버를 6.8로 업그레이드했습니다.
iso 이미지를 사용하여 업그레이드했지만 종속성 문제로 업그레이드가 실패했습니다.
〇주의점
이번 온프레 환경은 후지쯔제 서버입니다. RHEL의 갱신은 서포트 제공의 툴을 이용하고 있기 (위해)때문에, iso의 미디어를 사용한 갱신 순서가 되고 있습니다.
(기타 업데이트 옵션 없음)
2. 업데이트 실패
업데이트시 종속성을 확인하면 php-common에 오류가 발생하여 업데이트할 수 없는 것 같습니다.
분명히 php-mbstring-5.3.3-47의 rpm이 미디어에 포함되지 않은 것 같습니다.
Error: Package: php-mbstring-5.3.3-40.el6_6.x86_64 (installed)
Requires: php-common(x86-64) = 5.3.3-40.el6_6
Removing: php-common-5.3.3-40.el6_6.x86_64 (installed)
php-common(x86-64) = 5.3.3-40.el6_6
Updated By: php-common-5.3.3-47.el6.x86_64 (updates-server)
php-common(x86-64) = 5.3.3-47.el6
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
※5.3.3-47로 업데이트하고 싶지만, php-mbstring-5.3.3-47을 인스톨 할 수 없기 때문에 인스톨 실패하고 있다.
3. 원인 조사
yum에서 php-mbstring의 rpm 버전을 살펴보면 5.3.3-40까지는 존재하지 않았습니다.
# yum list php-mbstring
読み込んだプラグイン:product-id, refresh-packagekit, security, subscription-manager
インストール済みパッケージ
php-mbstring.x86_64
분명히 php-mbstring은 rhel-6-server-optional-rpms라는 옵션 저장소를 관리합니다.
되어 있다는 것.
참조할 리포지토리를 추가해야 했습니다.
4. 대응 방법
그 1
RHN에서 다운로드합니다.
rpm을 검색하면 나오므로 대상 버전과 OS에 해당하는 것을 다운로드합니다.
그 2
yum을 사용하여 설치
redhat.repo를 편집하여 rhel-6-server-optional-rpms 리포지토리를 활성화(enabled=1)로 설정
vi /etc/yum.repos.d/redhat.repo
[rhel-6-server-optional-rpms]
metadata_expire = 86400
sslclientcert = /etc/pki/entitlement/288980885924363250.pem
baseurl = https://cdn.redhat.com/content/dist/rhel/server/6/$releasever/$basearch/optional/os
ui_repoid_vars = releasever basearch
sslverify = 1
name = Red Hat Enterprise Linux 6 Server - Optional (RPMs)
sslclientkey = /etc/pki/entitlement/288980885924363250-key.pem
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
enabled = 1
sslcacert = /etc/rhsm/ca/redhat-uep.pem
gpgcheck = 1
사용 가능한 php-mbstring 버전을 확인해 봅니다.
# yum --showduplicate list php-mbstring
読み込んだプラグイン:product-id, refresh-packagekit, security, subscription-manager
インストール済みパッケージ
php-mbstring.x86_64 5.3.3-40.el6_6 installed
利用可能なパッケージ
php-mbstring.x86_64 5.3.2-6.el6 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.2-6.el6_0.1 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-3.el6 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-3.el6_1.3 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-3.el6_2.5 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-3.el6_2.6 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-3.el6_2.8 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-14.el6_3 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-22.el6 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-23.el6_4 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-26.el6 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-27.el6_5 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-27.el6_5.1 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-27.el6_5.2 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-38.el6 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-40.el6_6 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-46.el6_6 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-46.el6_7.1 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-47.el6 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-48.el6_8 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-49.el6 rhel-6-server-optional-rpms
예상대로, 5.3.3-47.el6의 입수도 가능하게 되었습니다.
5. OS 업그레이드 전 사전 작업
서버가 인터넷 접속 가능한 환경에서 yum을 사용할 수 있다면,
# yum install php php-common
가서 php만 먼저 업그레이드해 둔다.
그 후 OS 업그레이드를 실시한다.
인터넷 환경이 없으면 php의 rpm 파일을 다운로드하여 전송합니다.
rpm 명령으로 설치한 후 OS 업그레이드를 수행합니다.
# rpm -Uvh php*rpm
이번은, 폐역의 환경이었으므로 다운로드한 rpm 파일을 전송해 인스톨했습니다.
6. 마지막으로
RHEL6.6→6.7일 때는 php의 갱신이 없었기 때문에, 깨닫지 않았습니다.
데이터 센터에서의 작업의 경우, 추후 분할이 되기 때문에 괴로운 기억이 남았습니다.
작업이 끝나면 enabled = 0으로 되돌리는 것을 잊지 마세요!
업데이트시 종속성을 확인하면 php-common에 오류가 발생하여 업데이트할 수 없는 것 같습니다.
분명히 php-mbstring-5.3.3-47의 rpm이 미디어에 포함되지 않은 것 같습니다.
Error: Package: php-mbstring-5.3.3-40.el6_6.x86_64 (installed)
Requires: php-common(x86-64) = 5.3.3-40.el6_6
Removing: php-common-5.3.3-40.el6_6.x86_64 (installed)
php-common(x86-64) = 5.3.3-40.el6_6
Updated By: php-common-5.3.3-47.el6.x86_64 (updates-server)
php-common(x86-64) = 5.3.3-47.el6
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
※5.3.3-47로 업데이트하고 싶지만, php-mbstring-5.3.3-47을 인스톨 할 수 없기 때문에 인스톨 실패하고 있다.
3. 원인 조사
yum에서 php-mbstring의 rpm 버전을 살펴보면 5.3.3-40까지는 존재하지 않았습니다.
# yum list php-mbstring
読み込んだプラグイン:product-id, refresh-packagekit, security, subscription-manager
インストール済みパッケージ
php-mbstring.x86_64
분명히 php-mbstring은 rhel-6-server-optional-rpms라는 옵션 저장소를 관리합니다.
되어 있다는 것.
참조할 리포지토리를 추가해야 했습니다.
4. 대응 방법
그 1
RHN에서 다운로드합니다.
rpm을 검색하면 나오므로 대상 버전과 OS에 해당하는 것을 다운로드합니다.
그 2
yum을 사용하여 설치
redhat.repo를 편집하여 rhel-6-server-optional-rpms 리포지토리를 활성화(enabled=1)로 설정
vi /etc/yum.repos.d/redhat.repo
[rhel-6-server-optional-rpms]
metadata_expire = 86400
sslclientcert = /etc/pki/entitlement/288980885924363250.pem
baseurl = https://cdn.redhat.com/content/dist/rhel/server/6/$releasever/$basearch/optional/os
ui_repoid_vars = releasever basearch
sslverify = 1
name = Red Hat Enterprise Linux 6 Server - Optional (RPMs)
sslclientkey = /etc/pki/entitlement/288980885924363250-key.pem
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
enabled = 1
sslcacert = /etc/rhsm/ca/redhat-uep.pem
gpgcheck = 1
사용 가능한 php-mbstring 버전을 확인해 봅니다.
# yum --showduplicate list php-mbstring
読み込んだプラグイン:product-id, refresh-packagekit, security, subscription-manager
インストール済みパッケージ
php-mbstring.x86_64 5.3.3-40.el6_6 installed
利用可能なパッケージ
php-mbstring.x86_64 5.3.2-6.el6 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.2-6.el6_0.1 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-3.el6 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-3.el6_1.3 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-3.el6_2.5 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-3.el6_2.6 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-3.el6_2.8 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-14.el6_3 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-22.el6 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-23.el6_4 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-26.el6 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-27.el6_5 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-27.el6_5.1 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-27.el6_5.2 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-38.el6 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-40.el6_6 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-46.el6_6 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-46.el6_7.1 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-47.el6 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-48.el6_8 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-49.el6 rhel-6-server-optional-rpms
예상대로, 5.3.3-47.el6의 입수도 가능하게 되었습니다.
5. OS 업그레이드 전 사전 작업
서버가 인터넷 접속 가능한 환경에서 yum을 사용할 수 있다면,
# yum install php php-common
가서 php만 먼저 업그레이드해 둔다.
그 후 OS 업그레이드를 실시한다.
인터넷 환경이 없으면 php의 rpm 파일을 다운로드하여 전송합니다.
rpm 명령으로 설치한 후 OS 업그레이드를 수행합니다.
# rpm -Uvh php*rpm
이번은, 폐역의 환경이었으므로 다운로드한 rpm 파일을 전송해 인스톨했습니다.
6. 마지막으로
RHEL6.6→6.7일 때는 php의 갱신이 없었기 때문에, 깨닫지 않았습니다.
데이터 센터에서의 작업의 경우, 추후 분할이 되기 때문에 괴로운 기억이 남았습니다.
작업이 끝나면 enabled = 0으로 되돌리는 것을 잊지 마세요!
# yum list php-mbstring
読み込んだプラグイン:product-id, refresh-packagekit, security, subscription-manager
インストール済みパッケージ
php-mbstring.x86_64
그 1
RHN에서 다운로드합니다.
rpm을 검색하면 나오므로 대상 버전과 OS에 해당하는 것을 다운로드합니다.
그 2
yum을 사용하여 설치
redhat.repo를 편집하여 rhel-6-server-optional-rpms 리포지토리를 활성화(enabled=1)로 설정
vi /etc/yum.repos.d/redhat.repo
[rhel-6-server-optional-rpms]
metadata_expire = 86400
sslclientcert = /etc/pki/entitlement/288980885924363250.pem
baseurl = https://cdn.redhat.com/content/dist/rhel/server/6/$releasever/$basearch/optional/os
ui_repoid_vars = releasever basearch
sslverify = 1
name = Red Hat Enterprise Linux 6 Server - Optional (RPMs)
sslclientkey = /etc/pki/entitlement/288980885924363250-key.pem
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
enabled = 1
sslcacert = /etc/rhsm/ca/redhat-uep.pem
gpgcheck = 1
사용 가능한 php-mbstring 버전을 확인해 봅니다.
# yum --showduplicate list php-mbstring
読み込んだプラグイン:product-id, refresh-packagekit, security, subscription-manager
インストール済みパッケージ
php-mbstring.x86_64 5.3.3-40.el6_6 installed
利用可能なパッケージ
php-mbstring.x86_64 5.3.2-6.el6 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.2-6.el6_0.1 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-3.el6 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-3.el6_1.3 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-3.el6_2.5 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-3.el6_2.6 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-3.el6_2.8 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-14.el6_3 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-22.el6 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-23.el6_4 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-26.el6 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-27.el6_5 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-27.el6_5.1 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-27.el6_5.2 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-38.el6 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-40.el6_6 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-46.el6_6 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-46.el6_7.1 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-47.el6 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-48.el6_8 rhel-6-server-optional-rpms
php-mbstring.x86_64 5.3.3-49.el6 rhel-6-server-optional-rpms
예상대로, 5.3.3-47.el6의 입수도 가능하게 되었습니다.
5. OS 업그레이드 전 사전 작업
서버가 인터넷 접속 가능한 환경에서 yum을 사용할 수 있다면,
# yum install php php-common
가서 php만 먼저 업그레이드해 둔다.
그 후 OS 업그레이드를 실시한다.
인터넷 환경이 없으면 php의 rpm 파일을 다운로드하여 전송합니다.
rpm 명령으로 설치한 후 OS 업그레이드를 수행합니다.
# rpm -Uvh php*rpm
이번은, 폐역의 환경이었으므로 다운로드한 rpm 파일을 전송해 인스톨했습니다.
6. 마지막으로
RHEL6.6→6.7일 때는 php의 갱신이 없었기 때문에, 깨닫지 않았습니다.
데이터 센터에서의 작업의 경우, 추후 분할이 되기 때문에 괴로운 기억이 남았습니다.
작업이 끝나면 enabled = 0으로 되돌리는 것을 잊지 마세요!
# yum install php php-common
# rpm -Uvh php*rpm
RHEL6.6→6.7일 때는 php의 갱신이 없었기 때문에, 깨닫지 않았습니다.
데이터 센터에서의 작업의 경우, 추후 분할이 되기 때문에 괴로운 기억이 남았습니다.
작업이 끝나면 enabled = 0으로 되돌리는 것을 잊지 마세요!
Red Hat 6에 php-mbstring 설치
Reference
이 문제에 관하여(RHEL6.8로 업그레이드 할 때 php-mbstring 종속 오류가 발생하는 경우), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/miyahang55/items/6685bf4291998c6bb4b9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)