R を使うか、それとも Python を使うか?個人的には、状況や用途に応じて、使いやすい方を使えば良いと思っていますが、最近は Python を使う場面が多くなりました。とは言え、R が使えないと不便な場面もまだまだあります。
CentOS 8.3 から CentOS Stream 8 へ移行して R でトラブりましたが、crontab で毎日定時に動かしている R のスクリプトがあるので焦りました。また、なんとか SELinux を無効にせずに(Enforcing のままで)RStudio Server や Shiny Server のアプリケーションを動かせるようにしたのだから、R が使えなくなるのはやはり困ります。
そういうわけで、パッケージの依存性問題を解消するためにあれこれリビルドしたのでした [1]。
今日、CentOS Stream の更新可能なパッケージを調べました。
[bitwalk@centos-pc ~]$ sudo dnf check-update [sudo] bitwalk のパスワード: CentOS Stream 8 - AppStream 4.9 kB/s | 4.4 kB 00:00 CentOS Stream 8 - AppStream 4.0 MB/s | 6.3 MB 00:01 CentOS Stream 8 - BaseOS 6.5 kB/s | 3.9 kB 00:00 CentOS Stream 8 - BaseOS 1.6 MB/s | 2.4 MB 00:01 CentOS Stream 8 - Extras 4.7 kB/s | 1.5 kB 00:00 Extra Packages for Enterprise Linux Modular 8 - x86_64 10 kB/s | 9.6 kB 00:00 Extra Packages for Enterprise Linux Modular 8 - x86_64 162 kB/s | 104 kB 00:00 Extra Packages for Enterprise Linux 8 - x86_64 12 kB/s | 9.7 kB 00:00 Extra Packages for Enterprise Linux 8 - x86_64 4.0 MB/s | 8.6 MB 00:02 nginx stable repo 3.8 kB/s | 2.9 kB 00:00 nginx mainline repo 5.5 kB/s | 2.9 kB 00:00 nginx mainline repo 39 kB/s | 58 kB 00:01 PostgreSQL 12 for RHEL/CentOS 8 - x86_64 2.0 kB/s | 3.8 kB 00:01 autocorr-en.noarch 1:6.4.7.2-4.el8 appstream autocorr-ja.noarch 1:6.4.7.2-4.el8 appstream libreoffice-core.x86_64 1:6.4.7.2-4.el8 appstream libreoffice-data.noarch 1:6.4.7.2-4.el8 appstream libreoffice-graphicfilter.x86_64 1:6.4.7.2-4.el8 appstream libreoffice-gtk3.x86_64 1:6.4.7.2-4.el8 appstream libreoffice-help-en.x86_64 1:6.4.7.2-4.el8 appstream libreoffice-help-ja.x86_64 1:6.4.7.2-4.el8 appstream libreoffice-langpack-en.x86_64 1:6.4.7.2-4.el8 appstream libreoffice-langpack-ja.x86_64 1:6.4.7.2-4.el8 appstream libreoffice-ogltrans.x86_64 1:6.4.7.2-4.el8 appstream libreoffice-opensymbol-fonts.noarch 1:6.4.7.2-4.el8 appstream libreoffice-pyuno.x86_64 1:6.4.7.2-4.el8 appstream libreoffice-ure.x86_64 1:6.4.7.2-4.el8 appstream libreoffice-ure-common.noarch 1:6.4.7.2-4.el8 appstream libreoffice-x11.x86_64 1:6.4.7.2-4.el8 appstream poppler.x86_64 20.11.0-1.el8 appstream poppler-utils.x86_64 20.11.0-1.el8 appstream texlive-ae.noarch 7:20180414-20.el8 appstream texlive-algorithms.noarch 7:20180414-20.el8 appstream ... (途中省略) ... texlive-zapfchan.noarch 7:20180414-20.el8 appstream texlive-zapfding.noarch 7:20180414-20.el8 appstream
SRPMS をリビルドするのに必要な依存パッケージが多く、やむなく CentOS 8.3 の RPM パッケージを持ってきてインストールした poppler、パッケージが多すぎて既存のパッケージを使うしかなかった texlive のパッケージ群が更新対象になっています。
今回は出来るかもしれないと思いアップデートしようとしたところ、あいかわらずのパッケージの依存性の問題でエラーになりましたが、前回とはちょっと様子が異なりました。
[bitwalk@centos-pc ~]$ sudo dnf update メタデータの期限切れの最終確認: 0:00:40 時間前の 2020年12月18日 16時28分08秒 に実施しました。 エラー: 問題: cannot install both poppler-20.11.0-1.el8.x86_64 and poppler-0.66.0-27.el8.x86_64 - package poppler-devel-0.66.0-27.el8.x86_64 requires libpoppler.so.78()(64bit), but none of the providers can be installed - package poppler-devel-0.66.0-27.el8.x86_64 requires poppler(x86-64) = 0.66.0-27.el8, but none of the providers can be installed - cannot install the best update candidate for package poppler-0.66.0-27.el8.x86_64 - problem with installed package poppler-devel-0.66.0-27.el8.x86_64 (競合するパッケージを置き換えるには、コマンドラインに '--allowerasing' を追加してみてください または、'--skip-broken' を追加して、インストール不可のパッケージをスキップしてください または、'--nobest' を追加して、最適候補のパッケージのみを使用しないでください) [bitwalk@centos-pc ~]$
今回は poppler 関係の問題だけのようです。誘いに乗って --allowerasing オプションを付けて更新する価値があるかもしれないと思い切ってやってみました。
[bitwalk@centos-pc ~]$ sudo dnf --allowerasing update メタデータの期限切れの最終確認: 0:01:11 時間前の 2020年12月18日 16時28分08秒 に実施しました。 依存関係が解決しました。 ======================================================================================================================== パッケージ Arch バージョン リポジトリー サイズ ======================================================================================================================== アップグレード: autocorr-en noarch 1:6.4.7.2-4.el8 appstream 175 k autocorr-ja noarch 1:6.4.7.2-4.el8 appstream 148 k libreoffice-core x86_64 1:6.4.7.2-4.el8 appstream 109 M ... (途中省略) ... libreoffice-x11 x86_64 1:6.4.7.2-4.el8 appstream 314 k poppler x86_64 20.11.0-1.el8 appstream 1.1 M poppler-utils x86_64 20.11.0-1.el8 appstream 247 k texlive-ae noarch 7:20180414-20.el8 appstream 113 k texlive-algorithms noarch 7:20180414-20.el8 appstream 317 k ... (途中省略) ... texlive-zapfchan noarch 7:20180414-20.el8 appstream 111 k texlive-zapfding noarch 7:20180414-20.el8 appstream 73 k 依存関係パッケージの削除: poppler-devel x86_64 0.66.0-27.el8 @@commandline 1.1 M トランザクションの概要 ======================================================================================================================== アップグレード 233 パッケージ 削除 1 パッケージ ダウンロードサイズの合計: 487 M これでよろしいですか? [y/N]: y パッケージのダウンロード: (1/233): autocorr-ja-6.4.7.2-4.el8.noarch.rpm 842 kB/s | 148 kB 00:00 ... (途中省略) ... (233/233): texlive-zapfchan-20180414-20.el8.noarch.rpm 1.7 MB/s | 111 kB 00:00 ------------------------------------------------------------------------------------------------------------------------ 合計 9.9 MB/s | 487 MB 00:49 トランザクションの確認を実行中 トランザクションの確認に成功しました。 トランザクションのテストを実行中 トランザクションのテストに成功しました。 トランザクションを実行中 準備 : 1/1 scriptletの実行中: texlive-base-7:20180414-20.el8.noarch 1/467 アップグレード中 : texlive-base-7:20180414-20.el8.noarch 1/467 ... (途中省略) ... 検証 : texlive-zapfding-7:20180414-19.el8.noarch 466/467 検証 : poppler-devel-0.66.0-27.el8.x86_64 467/467 Installed products updated. アップグレード済み: autocorr-en-1:6.4.7.2-4.el8.noarch autocorr-ja-1:6.4.7.2-4.el8.noarch libreoffice-core-1:6.4.7.2-4.el8.x86_64 ... (途中省略) ... texlive-zapfchan-7:20180414-20.el8.noarch texlive-zapfding-7:20180414-20.el8.noarch 削除しました: poppler-devel-0.66.0-27.el8.x86_64 完了しました! [bitwalk@centos-pc ~]$
リビルドしてインストールした R 関係のパッケージは削除されませんでした。
よく確認もせずに --allowerasing オプションを付けて更新した結果、本来必要なパッケージまでアンインストールされてしまった、という悲劇にはならず、やれやれといったところです。
R 関係のトラブルは、たまたまピンポイントで踏んでしまったのかもしれませんが、もしかすると CentOS Stream はまだそれほど成熟しておらず、パッケージの更新頻度も CentOS に比べればかなり高いのかもしれないと思いました。パッケージの更新頻度については使い続ける中で確認していきます。
参考サイト
- bitWalk's: CentOS Stream を使い始めて [2020-12-16]
- Rocky Linux
にほんブログ村
0 件のコメント:
コメントを投稿