CentOS8の開発が終わってしまって、今後のOSどうするの?という話がうちの会社でも話題沸騰中です。なので最近はRHEL8でのサーバ構築依頼が増えてきたのですが、思った以上にググっても情報が出てこないんですよね。躓いたものはやっぱり備忘として残しておくことにします。※OSのセキュリティがんばってるのにMWのセキュリティおかしくない?ってのは是非突っ込まないでいただきたいです(笑)
結論
自分の力不足が全ての元凶で苦労したということ。。。反省。結論以下でいける。
# dnf install --disablerepo=rhel-8-for-x86_64-appstream-rpms libssh2
# dnf install --disablerepo=rhel-8-for-x86_64-appstream-rpms libssh2-devel
# dnf install php71-php-pecl-ssh2
経緯
最初にしたこと
# pecl install ssh2
WARNING: channel "pecl.php.net" has updated its protocols, use "pecl channel-update pecl.php.net" to update
pecl/ssh2 requires PHP (version >= 4.0.0, version <= 6.0.0), installed version is 7.1.33
No valid packages found
install failed
今回の対応は旧環境からの移行で元々のサーバはphp5系で動いてたんですね。なので同じようにやると上記のような感じで拒否られました。とりあえず指示どおり以下をやってみる。
# pecl channel-update pecl.php.net
# pecl install ssh2
WARNING: channel "pecl.php.net" has updated its protocols, use "pecl channel-update pecl.php.net" to update
pecl/ssh2 requires PHP (version >= 4.0.0, version <= 6.0.0), installed version is 7.1.33
No valid packages found
install failed
が、何も変わらず。調べていると「php-pecl-ssh2」をインストールすればよいと。
# dnf install php71-php-pecl-ssh2
問題: package php71-php-pecl-ssh2-1.3.1-1.el8.remi.x86_64 requires libssh2(x86-64) >= 1.9.0, but none of the providers can be installed
- cannot install the best candidate for the job
- package libssh2-1.9.0-5.el8.x86_64 is filtered out by modular filtering
んー?libssh2入れてたはずだけど。ただ何故かlibssh2-develが入らなかったのが気になったので調べてみる。redhatの公式ページは既に削除されていました(調べが足りないか?)が、こちらの方のブログでRHEL8ではlibssh2は無いと書いてある。。。他のページでもdevelが無いという情報があり、develを入れるなら下記のように「virt-devel」を有効化にして入れる必要があると。(のちに調査すべきところを間違えてるとこにきづく)devel入れたら動くのかな?と思い入れてみる。
# subscription-manager repos --enable=codeready-builder-for-rhel-8-x86_64-rpms
# dnf module enable virt-devel
# dnf install libssh2-devel
=====================================================================================================================
パッケージ Arch バージョン リポジトリー サイズ
=====================================================================================================================
インストール:
libssh2-devel x86_64 1.8.0-8.module+el8.0.0+4084+cceb9f44.1 codeready-builder-for-rhel-8-x86_64-rpms 66 k
おー入ったー。リトライ
# dnf install php71-php-pecl-ssh2
問題: package php71-php-pecl-ssh2-1.3.1-1.el8.remi.x86_64 requires libssh2(x86-64) >= 1.9.0, but none of the providers can be installed
- cannot install the best candidate for the job
- package libssh2-1.9.0-5.el8.x86_64 is filtered out by modular filtering
変化なし。。。ん?(ここでようやく気付く)1.9.0以上。。。RHEL8公式レポジトリだと1.8みたい。公開サイト( http://www.libssh2.org/ )に行くと普通に1.9がある。調べると普通にepelにあるってよ。
# dnf info --enablerepo=epel libssh2
名前 : libssh2
バージョン : 1.8.0
リリース : 8.module+el8.0.0+4084+cceb9f44.1
Arch : x86_64
サイズ : 99 k
ソース : libssh2-1.8.0-8.module+el8.0.0+4084+cceb9f44.1.src.rpm
リポジトリー : rhel-8-for-x86_64-appstream-rpms
概要 : A library implementing the SSH2 protocol
URL : http://www.libssh2.org/
ん?epelにあるんじゃないの?もう少し調べてみると、rhel8をdisableしないといけないと。。。
# dnf info --enablerepo=epel --disablerepo=rhel-8-for-x86_64-appstream-rpms libssh2
名前 : libssh2
バージョン : 1.9.0
リリース : 5.el8
Arch : x86_64
サイズ : 325 k
ソース : libssh2-1.9.0-5.el8.src.rpm
リポジトリー : @System
repo から : epel
概要 : A library implementing the SSH2 protocol
URL : https://www.libssh2.org/
オーキターーーー!!随分調査させられました。pecl-ssh2はこの後すんなりインストールすることができました。初歩的なことですが、centosもこんな仕様だったっけ?忘れましたが、だいぶ回り道した結果、無事入れることができました。
コメント
Thank you for your help! I was stuck on this issue for quite some time!