
CentOS7でZabbix2.2から3.0へUpgradeする
さて、先日インストールしたZa…
インターネットに接続出来ない状態でrpmパッケージをインストールする場合、ローカルに一度rpmパッケージをダウンロードして依存関係を気にしながら順番にインストールを行う事が多いだろう。
それが面倒な場合、ローカルに設置したパッケージに対し、yumコマンドのlocalinstallで一括インストールを行うと良いだろう。
yum localinstall --nogpgcheck rpmパッケージ1 rpmパッケージ2 ...
もちろん、ワイルドカードで指定することもできる。
以下は、「/work/puppet」フォルダ配下にあるPuppetに関するrpmパッケージを一括でインストールした際の内容だ。
[root@test-centos7 puppet]# pwd /work/puppet [root@test-centos7 puppet]# ls augeas-libs-1.1.0-12.el7_0.1.x86_64.rpm ruby-irb-2.0.0.353-22.el7_0.noarch.rpm facter-2.4.1-1.el7.x86_64.rpm ruby-libs-2.0.0.353-22.el7_0.x86_64.rpm hiera-1.3.4-1.el7.noarch.rpm ruby-shadow-2.2.0-2.el7.x86_64.rpm libselinux-ruby-2.2.2-6.el7.x86_64.rpm rubygem-bigdecimal-1.2.0-22.el7_0.x86_64.rpm libyaml-0.1.4-11.el7_0.x86_64.rpm rubygem-io-console-0.4.2-22.el7_0.x86_64.rpm net-tools-2.0-0.17.20131004git.el7.x86_64.rpm rubygem-json-1.7.7-22.el7_0.x86_64.rpm pciutils-3.2.1-4.el7.x86_64.rpm rubygem-psych-2.0.0-22.el7_0.x86_64.rpm puppet-3.7.4-1.el7.noarch.rpm rubygem-rdoc-4.0.0-22.el7_0.noarch.rpm ruby-2.0.0.353-22.el7_0.x86_64.rpm rubygems-2.0.14-22.el7_0.noarch.rpm ruby-augeas-0.4.1-3.el7.x86_64.rpm [root@test-centos7 puppet]# [root@test-centos7 puppet]# yum localinstall --nogpgcheck ./*.rpm 読み込んだプラグイン:fastestmirror ./augeas-libs-1.1.0-12.el7_0.1.x86_64.rpm を調べています: augeas-libs-1.1.0-12.el7_0.1.x86_64 ./augeas-libs-1.1.0-12.el7_0.1.x86_64.rpm をインストール済みとして設定しています ./facter-2.4.1-1.el7.x86_64.rpm を調べています: 1:facter-2.4.1-1.el7.x86_64 ./facter-2.4.1-1.el7.x86_64.rpm をインストール済みとして設定しています ./hiera-1.3.4-1.el7.noarch.rpm を調べています: hiera-1.3.4-1.el7.noarch ./hiera-1.3.4-1.el7.noarch.rpm をインストール済みとして設定しています ./libselinux-ruby-2.2.2-6.el7.x86_64.rpm を調べています: libselinux-ruby-2.2.2-6.el7.x86_64 ./libselinux-ruby-2.2.2-6.el7.x86_64.rpm をインストール済みとして設定しています ./libyaml-0.1.4-11.el7_0.x86_64.rpm を調べています: libyaml-0.1.4-11.el7_0.x86_64 ./libyaml-0.1.4-11.el7_0.x86_64.rpm をインストール済みとして設定しています ./net-tools-2.0-0.17.20131004git.el7.x86_64.rpm を調べています: net-tools-2.0-0.17.20131004git.el7.x86_64 ./net-tools-2.0-0.17.20131004git.el7.x86_64.rpm をインストール済みとして設定しています ./pciutils-3.2.1-4.el7.x86_64.rpm を調べています: pciutils-3.2.1-4.el7.x86_64 ./pciutils-3.2.1-4.el7.x86_64.rpm をインストール済みとして設定しています ./puppet-3.7.4-1.el7.noarch.rpm を調べています: puppet-3.7.4-1.el7.noarch ./puppet-3.7.4-1.el7.noarch.rpm をインストール済みとして設定しています ./ruby-2.0.0.353-22.el7_0.x86_64.rpm を調べています: ruby-2.0.0.353-22.el7_0.x86_64 ./ruby-2.0.0.353-22.el7_0.x86_64.rpm をインストール済みとして設定しています ./ruby-augeas-0.4.1-3.el7.x86_64.rpm を調べています: ruby-augeas-0.4.1-3.el7.x86_64 ./ruby-augeas-0.4.1-3.el7.x86_64.rpm をインストール済みとして設定しています ./ruby-irb-2.0.0.353-22.el7_0.noarch.rpm を調べています: ruby-irb-2.0.0.353-22.el7_0.noarch ./ruby-irb-2.0.0.353-22.el7_0.noarch.rpm をインストール済みとして設定しています ./ruby-libs-2.0.0.353-22.el7_0.x86_64.rpm を調べています: ruby-libs-2.0.0.353-22.el7_0.x86_64 ./ruby-libs-2.0.0.353-22.el7_0.x86_64.rpm をインストール済みとして設定しています ./ruby-shadow-2.2.0-2.el7.x86_64.rpm を調べています: 1:ruby-shadow-2.2.0-2.el7.x86_64 ./ruby-shadow-2.2.0-2.el7.x86_64.rpm をインストール済みとして設定しています ./rubygem-bigdecimal-1.2.0-22.el7_0.x86_64.rpm を調べています: rubygem-bigdecimal-1.2.0-22.el7_0.x86_64 ./rubygem-bigdecimal-1.2.0-22.el7_0.x86_64.rpm をインストール済みとして設定しています ./rubygem-io-console-0.4.2-22.el7_0.x86_64.rpm を調べています: rubygem-io-console-0.4.2-22.el7_0.x86_64 ./rubygem-io-console-0.4.2-22.el7_0.x86_64.rpm をインストール済みとして設定しています ./rubygem-json-1.7.7-22.el7_0.x86_64.rpm を調べています: rubygem-json-1.7.7-22.el7_0.x86_64 ./rubygem-json-1.7.7-22.el7_0.x86_64.rpm をインストール済みとして設定しています ./rubygem-psych-2.0.0-22.el7_0.x86_64.rpm を調べています: rubygem-psych-2.0.0-22.el7_0.x86_64 ./rubygem-psych-2.0.0-22.el7_0.x86_64.rpm をインストール済みとして設定しています ./rubygem-rdoc-4.0.0-22.el7_0.noarch.rpm を調べています: rubygem-rdoc-4.0.0-22.el7_0.noarch ./rubygem-rdoc-4.0.0-22.el7_0.noarch.rpm をインストール済みとして設定しています ./rubygems-2.0.14-22.el7_0.noarch.rpm を調べています: rubygems-2.0.14-22.el7_0.noarch ./rubygems-2.0.14-22.el7_0.noarch.rpm をインストール済みとして設定しています 依存性の解決をしています --> トランザクションの確認を実行しています。 ---> パッケージ augeas-libs.x86_64 0:1.1.0-12.el7_0.1 を インストール ---> パッケージ facter.x86_64 1:2.4.1-1.el7 を インストール ---> パッケージ hiera.noarch 0:1.3.4-1.el7 を インストール ---> パッケージ libselinux-ruby.x86_64 0:2.2.2-6.el7 を インストール ---> パッケージ libyaml.x86_64 0:0.1.4-11.el7_0 を インストール ---> パッケージ net-tools.x86_64 0:2.0-0.17.20131004git.el7 を インストール ---> パッケージ pciutils.x86_64 0:3.2.1-4.el7 を インストール ---> パッケージ puppet.noarch 0:3.7.4-1.el7 を インストール ---> パッケージ ruby.x86_64 0:2.0.0.353-22.el7_0 を インストール ---> パッケージ ruby-augeas.x86_64 0:0.4.1-3.el7 を インストール ---> パッケージ ruby-irb.noarch 0:2.0.0.353-22.el7_0 を インストール ---> パッケージ ruby-libs.x86_64 0:2.0.0.353-22.el7_0 を インストール ---> パッケージ ruby-shadow.x86_64 1:2.2.0-2.el7 を インストール ---> パッケージ rubygem-bigdecimal.x86_64 0:1.2.0-22.el7_0 を インストール ---> パッケージ rubygem-io-console.x86_64 0:0.4.2-22.el7_0 を インストール ---> パッケージ rubygem-json.x86_64 0:1.7.7-22.el7_0 を インストール ---> パッケージ rubygem-psych.x86_64 0:2.0.0-22.el7_0 を インストール ---> パッケージ rubygem-rdoc.noarch 0:4.0.0-22.el7_0 を インストール ---> パッケージ rubygems.noarch 0:2.0.14-22.el7_0 を インストール --> 依存性解決を終了しました。 依存性を解決しました ================================================================================================================== Package アーキテクチャー バージョン リポジトリー 容量 ================================================================================================================== インストール中: augeas-libs x86_64 1.1.0-12.el7_0.1 /augeas-libs-1.1.0-12.el7_0.1.x86_64 981 k facter x86_64 1:2.4.1-1.el7 /facter-2.4.1-1.el7.x86_64 271 k hiera noarch 1.3.4-1.el7 /hiera-1.3.4-1.el7.noarch 53 k libselinux-ruby x86_64 2.2.2-6.el7 /libselinux-ruby-2.2.2-6.el7.x86_64 217 k libyaml x86_64 0.1.4-11.el7_0 /libyaml-0.1.4-11.el7_0.x86_64 130 k net-tools x86_64 2.0-0.17.20131004git.el7 /net-tools-2.0-0.17.20131004git.el7.x86_64 917 k pciutils x86_64 3.2.1-4.el7 /pciutils-3.2.1-4.el7.x86_64 189 k puppet noarch 3.7.4-1.el7 /puppet-3.7.4-1.el7.noarch 6.2 M ruby x86_64 2.0.0.353-22.el7_0 /ruby-2.0.0.353-22.el7_0.x86_64 63 k ruby-augeas x86_64 0.4.1-3.el7 /ruby-augeas-0.4.1-3.el7.x86_64 47 k ruby-irb noarch 2.0.0.353-22.el7_0 /ruby-irb-2.0.0.353-22.el7_0.noarch 157 k ruby-libs x86_64 2.0.0.353-22.el7_0 /ruby-libs-2.0.0.353-22.el7_0.x86_64 10 M ruby-shadow x86_64 1:2.2.0-2.el7 /ruby-shadow-2.2.0-2.el7.x86_64 22 k rubygem-bigdecimal x86_64 1.2.0-22.el7_0 /rubygem-bigdecimal-1.2.0-22.el7_0.x86_64 82 k rubygem-io-console x86_64 0.4.2-22.el7_0 /rubygem-io-console-0.4.2-22.el7_0.x86_64 16 k rubygem-json x86_64 1.7.7-22.el7_0 /rubygem-json-1.7.7-22.el7_0.x86_64 93 k rubygem-psych x86_64 2.0.0-22.el7_0 /rubygem-psych-2.0.0-22.el7_0.x86_64 105 k rubygem-rdoc noarch 4.0.0-22.el7_0 /rubygem-rdoc-4.0.0-22.el7_0.noarch 1.2 M rubygems noarch 2.0.14-22.el7_0 /rubygems-2.0.14-22.el7_0.noarch 586 k トランザクションの要約 ================================================================================================================== インストール 19 パッケージ 合計容量: 22 M インストール容量: 22 M Is this ok [y/d/N]: y Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction インストール中 : ruby-libs-2.0.0.353-22.el7_0.x86_64 1/19 インストール中 : augeas-libs-1.1.0-12.el7_0.1.x86_64 2/19 インストール中 : ruby-augeas-0.4.1-3.el7.x86_64 3/19 インストール中 : net-tools-2.0-0.17.20131004git.el7.x86_64 4/19 インストール中 : pciutils-3.2.1-4.el7.x86_64 5/19 インストール中 : libselinux-ruby-2.2.2-6.el7.x86_64 6/19 インストール中 : libyaml-0.1.4-11.el7_0.x86_64 7/19 インストール中 : rubygem-io-console-0.4.2-22.el7_0.x86_64 8/19 インストール中 : rubygem-json-1.7.7-22.el7_0.x86_64 9/19 インストール中 : ruby-irb-2.0.0.353-22.el7_0.noarch 10/19 インストール中 : rubygem-rdoc-4.0.0-22.el7_0.noarch 11/19 インストール中 : ruby-2.0.0.353-22.el7_0.x86_64 12/19 インストール中 : rubygem-bigdecimal-1.2.0-22.el7_0.x86_64 13/19 インストール中 : rubygems-2.0.14-22.el7_0.noarch 14/19 インストール中 : rubygem-psych-2.0.0-22.el7_0.x86_64 15/19 インストール中 : 1:ruby-shadow-2.2.0-2.el7.x86_64 16/19 インストール中 : hiera-1.3.4-1.el7.noarch 17/19 インストール中 : 1:facter-2.4.1-1.el7.x86_64 18/19 インストール中 : puppet-3.7.4-1.el7.noarch 19/19 検証中 : libyaml-0.1.4-11.el7_0.x86_64 1/19 検証中 : ruby-irb-2.0.0.353-22.el7_0.noarch 2/19 検証中 : rubygems-2.0.14-22.el7_0.noarch 3/19 検証中 : libselinux-ruby-2.2.2-6.el7.x86_64 4/19 検証中 : ruby-2.0.0.353-22.el7_0.x86_64 5/19 検証中 : pciutils-3.2.1-4.el7.x86_64 6/19 検証中 : ruby-augeas-0.4.1-3.el7.x86_64 7/19 検証中 : ruby-libs-2.0.0.353-22.el7_0.x86_64 8/19 検証中 : 1:ruby-shadow-2.2.0-2.el7.x86_64 9/19 検証中 : rubygem-rdoc-4.0.0-22.el7_0.noarch 10/19 検証中 : rubygem-io-console-0.4.2-22.el7_0.x86_64 11/19 検証中 : hiera-1.3.4-1.el7.noarch 12/19 検証中 : net-tools-2.0-0.17.20131004git.el7.x86_64 13/19 検証中 : rubygem-json-1.7.7-22.el7_0.x86_64 14/19 検証中 : rubygem-bigdecimal-1.2.0-22.el7_0.x86_64 15/19 検証中 : augeas-libs-1.1.0-12.el7_0.1.x86_64 16/19 検証中 : 1:facter-2.4.1-1.el7.x86_64 17/19 検証中 : rubygem-psych-2.0.0-22.el7_0.x86_64 18/19 検証中 : puppet-3.7.4-1.el7.noarch 19/19 インストール: augeas-libs.x86_64 0:1.1.0-12.el7_0.1 facter.x86_64 1:2.4.1-1.el7 hiera.noarch 0:1.3.4-1.el7 libselinux-ruby.x86_64 0:2.2.2-6.el7 libyaml.x86_64 0:0.1.4-11.el7_0 net-tools.x86_64 0:2.0-0.17.20131004git.el7 pciutils.x86_64 0:3.2.1-4.el7 puppet.noarch 0:3.7.4-1.el7 ruby.x86_64 0:2.0.0.353-22.el7_0 ruby-augeas.x86_64 0:0.4.1-3.el7 ruby-irb.noarch 0:2.0.0.353-22.el7_0 ruby-libs.x86_64 0:2.0.0.353-22.el7_0 ruby-shadow.x86_64 1:2.2.0-2.el7 rubygem-bigdecimal.x86_64 0:1.2.0-22.el7_0 rubygem-io-console.x86_64 0:0.4.2-22.el7_0 rubygem-json.x86_64 0:1.7.7-22.el7_0 rubygem-psych.x86_64 0:2.0.0-22.el7_0 rubygem-rdoc.noarch 0:4.0.0-22.el7_0 rubygems.noarch 0:2.0.14-22.el7_0 完了しました!
なお、依存関係のある各rpmパッケージをダウンロードする際、もしOSのバージョンが同じマシンがインターネットに接続でき、かつそのパッケージを未インストールなのであれば、以下のようにyumコマンドを用いてダウンロードすると良いだろう。
yum install --downloadonly --downloaddir=ダウンロード先のディレクトリ パッケージ名
すでに依存関係のあるパッケージがインストールされているマシンでこのコマンドを行うと、そのパッケージについては認識してくれない(ダウンロードしてくれない)ので注意。これはyumdownloaderも同様の様子。