閉鎖空間でどこまでできるか - Ruby

RHEL派生ディストリビューションに含まれるRubyに関するパッケージを確認する。

目的

インターネット接続できない環境にて、Rubyをできる限り快適に使う。

前提

RHEL派生ディストリビューションが転がっている。無ければ以下からダウンロードする。

RHEL派生ディストリビューションに含まれるRubyに関するパッケージ

AlmaLinuxのAppStreamレポジトリに、Rubyに関するパッケージは下のパッケージが含まれる。

[root@a48fd3999d6e /]# dnf list | grep 'ruby'
libselinux-ruby.x86_64                               3.5-1.el9                           appstream
ruby.i686                                            3.0.4-160.el9_0                     appstream
ruby.x86_64                                          3.0.4-160.el9_0                     appstream
ruby-default-gems.noarch                             3.0.4-160.el9_0                     appstream
ruby-devel.i686                                      3.0.4-160.el9_0                     appstream
ruby-devel.x86_64                                    3.0.4-160.el9_0                     appstream
ruby-libs.i686                                       3.0.4-160.el9_0                     appstream
ruby-libs.x86_64                                     3.0.4-160.el9_0                     appstream
rubygem-bigdecimal.x86_64                            3.0.0-160.el9_0                     appstream
rubygem-bundler.noarch                               2.2.33-160.el9_0                    appstream
rubygem-io-console.x86_64                            0.5.7-160.el9_0                     appstream
rubygem-irb.noarch                                   1.3.5-160.el9_0                     appstream
rubygem-json.x86_64                                  2.5.1-160.el9_0                     appstream
rubygem-minitest.noarch                              5.14.2-160.el9_0                    appstream
rubygem-mysql2.x86_64                                0.5.3-11.el9_0                      appstream
rubygem-pg.x86_64                                    1.2.3-7.el9                         appstream
rubygem-power_assert.noarch                          1.2.0-160.el9_0                     appstream
rubygem-psych.x86_64                                 3.3.2-160.el9_0                     appstream
rubygem-rake.noarch                                  13.0.3-160.el9_0                    appstream
rubygem-rbs.noarch                                   1.4.0-160.el9_0                     appstream
rubygem-rdoc.noarch                                  6.3.3-160.el9_0                     appstream
rubygem-rexml.noarch                                 3.2.5-160.el9_0                     appstream
rubygem-rss.noarch                                   0.2.9-160.el9_0                     appstream
rubygem-test-unit.noarch                             3.3.7-160.el9_0                     appstream
rubygem-typeprof.noarch                              0.15.2-160.el9_0                    appstream
rubygems.noarch                                      3.2.33-160.el9_0                    appstream
rubygems-devel.noarch                                3.2.33-160.el9_0                    appstream
[root@a48fd3999d6e /]# 
[root@a48fd3999d6e /]# cat /etc/redhat-release 
AlmaLinux release 9.3 (Shamrock Pampas Cat)
[root@a48fd3999d6e /]# 
[root@a48fd3999d6e /]# date
Mon Apr 15 16:59:53 UTC 2024
[root@a48fd3999d6e /]# 

rakeや、テストフレームワークがあれば、様々なことが可能になる。bundlerも制限はあるが、gemコマンドを使って、活用できる。

その他RubyGemsに関して

レポジトリに含まれないRubyGemは、依存関係を解決して、Gemファイルをダウンロードして、ローカルインストールする必要がある。

actで、シンプルな環境から、依存性を確認できる。

ただし、環境構築・環境再現が、コスト的に難しいため、あまりいい思いはしない。