「yum」タグアーカイブ

CentOS 7でPHPのアップデートがErrorになる

PHPがアップデートできない!

※この事例は、remiリポジトリを使用しています。またPHP71を対象としています。remiリポジトリを使っていない場合は参考にならないかも知れません。PHP71以外のバージョンでは適宜コマンドの指定を変えてください。ご注意ください!

CentOS 7.5-1804でyum updateを実施しようとしたら、アップデートが出来ませんでした。
手動でPHP以外のアップデートを済ませて再度確認を行った結果、以下のエラーが原因でした。

Error: Package: php-phpmyadmin-sql-parser-4.2.5-1.el7.noarch (epel)
           Requires: php-composer(phpmyadmin/motranslator) < 4
           Installed: php-phpmyadmin-motranslator-4.0-1.el7.remi.noarch (@remi)
               php-composer(phpmyadmin/motranslator) = 4.0
           Available: php-phpmyadmin-motranslator-3.4-1.el7.noarch (epel)
               php-composer(phpmyadmin/motranslator) = 3.4
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

当然、–skip-brokenとかやる気は全く無いので、ググってみると同様の現象に見舞われている方を発見!
そのQAに書かれている内容を見て何となく方向性は判ったのだが、どうも気に掛かる。
やっぱり1個足りない気がする。。。。
危なっかしいので、万が一のことを想定しスナップショット(バックアップ)を取得してから以下の手順を順次実施した。

アップデート手順

まずは、障害を取り除く

まず最初にエラーメッセージ記載されているパッケージを以下のコマンドで削除する。

# yum remove remove php-phpmyadmin-sql-parser.noarch php-phpmyadmin-motranslator.noarch
Loaded plugins: fastestmirror
Resolving Dependencies
--> Running transaction check
---> Package php-phpmyadmin-motranslator.noarch 0:4.0-1.el7.remi will be erased
--> Processing Dependency: php-phpmyadmin-motranslator >= 4.0 for package: phpMyAdmin-4.8.2-1.el7.remi.noarch
---> Package php-phpmyadmin-sql-parser.noarch 0:4.2.4-3.el7.remi will be erased
--> Running transaction check
---> Package phpMyAdmin.noarch 0:4.8.2-1.el7.remi will be erased
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package                        Arch      Version                Repository
                                                                           Size
================================================================================
Removing:
 php-phpmyadmin-motranslator    noarch    4.0-1.el7.remi         @remi     53 k
 php-phpmyadmin-sql-parser      noarch    4.2.4-3.el7.remi       @remi    797 k
Removing for dependencies:
 phpMyAdmin                     noarch    4.8.2-1.el7.remi       @remi     24 M

Transaction Summary
================================================================================
Remove  2 Packages (+1 Dependent package)

Installed size: 25 M
Is this ok [y/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Erasing    : phpMyAdmin-4.8.2-1.el7.remi.noarch                           1/3
warning: /etc/phpMyAdmin/config.inc.php saved as /etc/phpMyAdmin/config.inc.php.rpmsave
warning: /etc/httpd/conf.d/phpMyAdmin.conf saved as /etc/httpd/conf.d/phpMyAdmin.conf.rpmsave
  Erasing    : php-phpmyadmin-sql-parser-4.2.4-3.el7.remi.noarch            2/3
  Erasing    : php-phpmyadmin-motranslator-4.0-1.el7.remi.noarch            3/3
  Verifying  : php-phpmyadmin-motranslator-4.0-1.el7.remi.noarch            1/3
  Verifying  : php-phpmyadmin-sql-parser-4.2.4-3.el7.remi.noarch            2/3
  Verifying  : phpMyAdmin-4.8.2-1.el7.remi.noarch                           3/3

Removed:
  php-phpmyadmin-motranslator.noarch 0:4.0-1.el7.remi
  php-phpmyadmin-sql-parser.noarch 0:4.2.4-3.el7.remi

Dependency Removed:
  phpMyAdmin.noarch 0:4.8.2-1.el7.remi

Complete!

Dependencies ResolvedとDependencies Removedの項目にも書かれているが、phpMyAdminもトランザクションの影響で削除されている。
こういう時、yum -yオプションは避けた方が良いだろう。

必要なパッケージを再度インストールして更新する。

とりあえず、参考にしたサイトに記載されていた内容でインストールしてみた。その手順が以下になる。

# yum install --enablerepo=remi,php71 php-phpmyadmin-sql-parser.noarch php-phpmyadmin-motranslator.noarch
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * epel: ftp.riken.jp
 * extras: ftp.iij.ad.jp
 * remi: ftp.riken.jp
 * remi-safe: ftp.riken.jp
 * updates: ftp.iij.ad.jp
Resolving Dependencies
--> Running transaction check
---> Package php-phpmyadmin-motranslator.noarch 0:4.0-1.el7.remi will be installed
---> Package php-phpmyadmin-sql-parser.noarch 0:4.3.2-1.el7.remi will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package                         Arch       Version              Repository
                                                                           Size
================================================================================
Installing:
 php-phpmyadmin-motranslator     noarch     4.0-1.el7.remi       remi      20 k
 php-phpmyadmin-sql-parser       noarch     4.3.2-1.el7.remi     remi     166 k

Transaction Summary
================================================================================
Install  2 Packages

Total download size: 187 k
Installed size: 915 k
Is this ok [y/d/N]: y
Downloading packages:
(1/2): php-phpmyadmin-motranslator-4.0-1.el7.remi.noarch.r |  20 kB   00:00
(2/2): php-phpmyadmin-sql-parser-4.3.2-1.el7.remi.noarch.r | 166 kB   00:00
--------------------------------------------------------------------------------
Total                                              685 kB/s | 187 kB  00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : php-phpmyadmin-motranslator-4.0-1.el7.remi.noarch            1/2
  Installing : php-phpmyadmin-sql-parser-4.3.2-1.el7.remi.noarch            2/2
  Verifying  : php-phpmyadmin-motranslator-4.0-1.el7.remi.noarch            1/2
  Verifying  : php-phpmyadmin-sql-parser-4.3.2-1.el7.remi.noarch            2/2

Installed:
  php-phpmyadmin-motranslator.noarch 0:4.0-1.el7.remi
  php-phpmyadmin-sql-parser.noarch 0:4.3.2-1.el7.remi

Complete!

やっぱり、phpMyAdminがインストールされていない!
phpMyAdminを明示的に入れる必要があるわけで、以下のコマンドでインストールを行う。

# yum install --enablerepo=remi,php71 phpMyAdmin.noarch
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * epel: ftp.riken.jp
 * extras: ftp.iij.ad.jp
 * remi: ftp.riken.jp
 * remi-safe: ftp.riken.jp
 * updates: ftp.iij.ad.jp
Resolving Dependencies
--> Running transaction check
---> Package phpMyAdmin.noarch 0:4.9.0.1-1.el7.remi will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package           Arch          Version                      Repository   Size
================================================================================
Installing:
 phpMyAdmin        noarch        4.9.0.1-1.el7.remi           remi        5.3 M

Transaction Summary
================================================================================
Install  1 Package

Total download size: 5.3 M
Installed size: 26 M
Is this ok [y/d/N]: y
Downloading packages:
phpMyAdmin-4.9.0.1-1.el7.remi.noarch.rpm                   | 5.3 MB   00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : phpMyAdmin-4.9.0.1-1.el7.remi.noarch                         1/1
  Verifying  : phpMyAdmin-4.9.0.1-1.el7.remi.noarch                         1/1

Installed:
  phpMyAdmin.noarch 0:4.9.0.1-1.el7.remi

Complete!

無事入りました!
ちなみに、こちらはremiを使ってPHP71の事例となっていますが、その他のバージョンに関しては適宜バージョン指定を変えてくださいね。

OpenSceneGraph インストールのyumまとめ!

OpenSceneGraphのインストールで各種パッケージをインストールするのは大変です。
対象OSはCentOS 7です。

一つ一つパッケージを確認しながらインストールしていると、何時間掛かることでしょう?

ということで、私がインストールしたyumコマンドを以下に記録しておきます。

まとめてインストールする手順を以下に記します。
前提として、gccやqtが入っていることとしますが、入っていない人のためにこんな感じです。

# yum install gcc gcc-c++ qt qt-devel qt-settings qt-x11

epel リポジトリをインストールします。

# yum install epel-release.noarch

つづいてnux-dextopをインストールします。
ffmpeg関連のインストールを行うための下準備です。

# rpm -Uvh https://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm

そして最後に以下のコマンドで一気にパッケージをインストールします。
個人個人の好みに合わせてインストール対象を調整してください。

# yum -y install asio* jasper* collada* boost* minizip* giflib* curl* libcurl* libxml2* gdal* libgta* ffmpeg* gstreamer-ffmpeg* SDL SDL-* SDL2 SDL2_image SDL2* gstreamer1* poppler* libtiff* liblas* libvnc* nvidia* librsvg2* gtkglext* OpenEXR* xine-* fltk* wx* cmake cmake-gui

概ね必要そうなライブラリは全てインストールしたつもりです。

これで大分楽になるはず!

あとは、OpenSeceneGraphのソースをダウンロードして、通常どおりにコンパイルとかやれば概ね大丈夫でしょう!

では、ソースをダウンロードします。
今回は、Stable Releaseを利用します。
下記URLでダウンロードします。

https://www.openscenegraph.org/index.php/download-section/stable-releases

gitでインストールするなら、適当なディレクトリへ移動してから以下のコマンドを実行します。今回は、/homeで作業を行うことを前提にします。(cd /home で移動してください)

# git clone --branch OpenSceneGraph-3.4.1 https://github.com/openscenegraph/OpenSceneGraph.git

これで/home/OpenSceneGraphが出来上がっています。
ccmake-guiを起動します。

# cd /home/OpenSceneGraph
# ccmake-gui .

ccmake-gui画面で、「Configure」やって「Generate」を行います。
※エラー内容には注意すること。
※EXSAMPLEを必要とする場合には「BUILD_OSG_EXAMPLES」をチェックすることを忘れずに。

これで準備は完了!山は越えました!!
構築に入ります。

# make
# make install

これで構築は完了しました。
データなどを揃えてお試しください。

足りないライブラリとかパッケージがあれば、どなたかコメントしてください。

このコマンドを書き換えて楽になりたいです(^^;

インストールの詳細は以前に書いた下記の内容をご確認下さい。

OpenSceneGraphをLinuxへインストールする。

OpenSceneGraphをLinuxへインストールする。(2回目)

 

 

Raspberry Pi 3 & CentOS 7でyum updateが出来る様に設定する!

Raspberry Pi 3にCentOSを入れたまでは良かったのですが、yumのアップデートが出来ない!

<<<<<<前回までの記事>>>>>>
Raspberry Pi 3にCentOS 7を入れてみた時にやったこと
Raspberry Pi 3SDメモリの空きを認識させる。
<<<<<<ここまで>>>>>>

アップデートが出来ないと、パッケージをインストールしたりする時に面倒が起こる可能性がありますよね。
それに、セキュリティアップデートが出来ないのも困ってしまいます。
「ラズパイだから攻撃されて壊れたっていいや!?」という訳にも行きません。
ネットワークに侵入を許したことになりますから、何をされるか分かったもんじゃない(-_-メ)

そもそも、バグも修正されないのですから、yum updateを必須だと思っています。

デフォルト状態で何故アップデート出来ないのか?それは、何らかの理由でリンク切れが発生しているためだった様です。

ダウンロードしてインストールを行ったOSイメージに含まれている設定では、リンク先が上手く設定出来ていない様です。多分、イメージを作ったとに変更なったりしたのかも知れませんね。

ということで、実は設定を変更するだけなのです。

対象ファイルを開きます。

# cd /etc/yum.repos.d/
[root@centos-rpi3 yum.repos.d]# ls
CentOS-Base.repo       CentOS-Sources.repo  CentOS-armhfp-kernel.repo
CentOS-CR.repo         CentOS-Testing.repo  CentOS-fasttrack.repo
CentOS-Debuginfo.repo  CentOS-Vault.repo    kernel.repo
[root@centos-rpi3 yum.repos.d]# vi CentOS-armhfp-kernel.repo

CentOS-armhfp-kernel.repoの内容を以下の様に変更します。

[centos-kernel]
name=CentOS Kernels for armhfp
#baseurl=https://mirror.centos.org/altarch/7/kernel/$basearch/kernel-$kvariant
baseurl=https://mirror.centos.org/altarch/7/kernel/$basearch/kernel-rpi2/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
       file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-AltArch-Arm32

この状態で以下のコマンドを実行してみてください。
成功している場合には、少し時間が掛かると思います。
ネット環境にも依りますが、30分以上掛かることを覚悟してください。

# yum update

パッケージのアップデートが開始されます。

この状態でアップデートが出来ない様でしたら、もう一つのファイルを編集します。

/etc/yum.repo.d/kernel.repoを編集します。

[kernel]
name=kernel repo for RaspberryPi 2 and 3
#baseurl=https://mirror.centos.org/altarch/7/kernel/$basearch/kernel-$kvariant/
baseurl=https://mirror.centos.org/altarch/7/kernel/$basearch/kernel-rpi2
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
       file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-AltArch-Arm32

これで再度yum updateコマンドを実行してみてください。

私はこれで上手く動作しました。

ネット上では何人かの方が記載されているので、書かれた時に成功しているという好意的解釈をすると、途中で変更が幾度か行われているのかも知れません。

もし、上手く出来ないという時は、コメント欄に質問してみてください。
答えられれば回答させて頂きたいと思います。

これで一通りの設定が完了しました。
簡単なサーバを構築する下準備までになりますが、ここからはどう使うかによって設定が変わってくると思いますが、ここまでの設定は基本的に共通だと思います。

ここで参考情報です。

1)Raspberry Pi 3用のOSが入ったSDカードが販売されています。
2)出来上がったSDカードはDD for Windowsでパソコン側へイメージファイルとしてバックアップを取ることが出来ます。
3)ご要望がありましたら、ここまでの環境設定を行ったイメージフィルを期間限定でご提供しようと思います。ご要望はコメント欄に記載してください。

 

CentOS 7にGDALとprojを入れる。

CentOS 7にGDALを入れます。

メンテナンス性を考えると、yumで入れたい。

ということで、EPELのリポジトリを登録してGDALをインストールする。

1)EPELリポジトリの登録

まずはyumを使ってepel-releaseのリポジトリをインストールします。

# yum install epel-release
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
Resolving Dependencies
--> Running transaction check
---> Package epel-release.noarch 0:7-9 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package                Arch             Version         Repository        Size
================================================================================
Installing:
 epel-release           noarch           7-9             extras            14 k

Transaction Summary
================================================================================
Install  1 Package

Total download size: 14 k
Installed size: 24 k
Is this ok [y/d/N]: y
Downloading packages:
epel-release-7-9.noarch.rpm                                |  14 kB   00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : epel-release-7-9.noarch                                      1/1
  Verifying  : epel-release-7-9.noarch                                      1/1

Installed:
  epel-release.noarch 0:7-9

Complete!

こんな感じでインストール完了!

epel-releaseリポジトリを明示的に使用する(通常は使用しないで、必要な時だけ使用する)場合は、以下の設定を行う。

# vi /etc/yum.repos.d/epel.repo

[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=https://download.fedoraproject.org/pub/epel/7/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1                        <=== ここを「0」にする。
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

この設定を行った場合には、yumのオプションに–enablerepo=epelを指定していないとEPEL-Releaseリポジトリは参照されません。

試しに、enabled=0の時と1にした時とでインストール対象が変わることを示します。

<EPEL-Releaseが参照されない(enabled=0)場合>

# yum list | grep proj
httpcomponents-project.noarch              6-4.el7                     base
jetty-project.noarch                       9.0.3-8.el7                 base
maven-project.noarch                       2.2.1-47.el7                base
maven-project-info-reports-plugin.noarch   2.6-8.el7                   base
maven-project-info-reports-plugin-javadoc.noarch

 

<EPEL-Releaseを参照する(enabled=1)場合>

# yum list | grep proj
fedora-gnat-project-common.noarch         3.9-1.el7                      epel
geany-plugins-projectorganizer.x86_64     1.28-1.el7                     epel
httpcomponents-project.noarch             6-4.el7                        base
jetty-project.noarch                      9.0.3-8.el7                    base
libprojectM.x86_64                        2.1.0-2.el7                    epel
libprojectM-devel.x86_64                  2.1.0-2.el7                    epel
libprojectM-qt.x86_64                     2.1.0-2.el7                    epel
libprojectM-qt-devel.x86_64               2.1.0-2.el7                    epel
maven-project.noarch                      2.2.1-47.el7                   base
maven-project-info-reports-plugin.noarch  2.6-8.el7                      base
maven-project-info-reports-plugin-javadoc.noarch
mingw32-angleproject.noarch               0-0.13.git.30d6c2.20141113.el7 epel
mingw32-angleproject-static.noarch        0-0.13.git.30d6c2.20141113.el7 epel
mingw64-angleproject.noarch               0-0.13.git.30d6c2.20141113.el7 epel
mingw64-angleproject-static.noarch        0-0.13.git.30d6c2.20141113.el7 epel
pjproject.x86_64                          2.3-6.el7                      epel
pjproject-devel.x86_64                    2.3-6.el7                      epel
proj.x86_64                               4.8.0-4.el7                    epel
proj-devel.x86_64                         4.8.0-4.el7                    epel
proj-epsg.x86_64                          4.8.0-4.el7                    epel
proj-nad.x86_64                           4.8.0-4.el7                    epel
proj-static.x86_64                        4.8.0-4.el7                    epel
projectM-jack.x86_64                      2.1.0-2.el7                    epel
projectM-pulseaudio.x86_64                2.1.0-2.el7                    epel
pyproj.x86_64                             1.9.2-6.20120712svn300.el7     epel

19-23行目でprojが参照されていることを確認できます。
この状態になると、projをyumでインストールすることが出来ます。

以下では、enabled=1(明示的に指定しないで使用する)で作業を進めます。

2)projのインストール

ここまで来たら簡単です!
projをインストールします。

# yum install proj proj-devel proj-epsg
Loaded plugins: fastestmirror
epel/x86_64/metalink                                     | 5.8 kB     00:00
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * epel: ftp.riken.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
Resolving Dependencies
--> Running transaction check
---> Package proj.x86_64 0:4.8.0-4.el7 will be installed
---> Package proj-devel.x86_64 0:4.8.0-4.el7 will be installed
---> Package proj-epsg.x86_64 0:4.8.0-4.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package             Arch            Version                Repository     Size
================================================================================
Installing:
 proj                x86_64          4.8.0-4.el7            epel          181 k
 proj-devel          x86_64          4.8.0-4.el7            epel           16 k
 proj-epsg           x86_64          4.8.0-4.el7            epel           58 k

Transaction Summary
================================================================================
Install  3 Packages

Total download size: 256 k
Installed size: 1.1 M
Is this ok [y/d/N]: y
Downloading packages:
warning: /var/cache/yum/x86_64/7/epel/packages/proj-epsg-4.8.0-4.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY
Public key for proj-epsg-4.8.0-4.el7.x86_64.rpm is not installed
(1/3): proj-epsg-4.8.0-4.el7.x86_64.rpm                    |  58 kB   00:00
(2/3): proj-4.8.0-4.el7.x86_64.rpm                         | 181 kB   00:00
(3/3): proj-devel-4.8.0-4.el7.x86_64.rpm                   |  16 kB   00:00
--------------------------------------------------------------------------------
Total                                              280 kB/s | 256 kB  00:00
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
Importing GPG key 0x352C64E5:
 Userid     : "Fedora EPEL (7) <epel@fedoraproject.org>"
 Fingerprint: 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5
 Package    : epel-release-7-9.noarch (@extras)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
Is this ok [y/N]: y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : proj-4.8.0-4.el7.x86_64                                      1/3
  Installing : proj-epsg-4.8.0-4.el7.x86_64                                 2/3
  Installing : proj-devel-4.8.0-4.el7.x86_64                                3/3
  Verifying  : proj-epsg-4.8.0-4.el7.x86_64                                 1/3
  Verifying  : proj-4.8.0-4.el7.x86_64                                      2/3
  Verifying  : proj-devel-4.8.0-4.el7.x86_64                                3/3

Installed:
  proj.x86_64 0:4.8.0-4.el7              proj-devel.x86_64 0:4.8.0-4.el7
  proj-epsg.x86_64 0:4.8.0-4.el7

Complete!

おしまし!。。。じゃない、まだGDAL入れてないしw

3)GDALのインストール

GDALのインストール手順を書きすれていました(^^;

こんな感じです。

# yum -y install gdal gdal-devel

出力されているコメントを見るとOGRの名前が見当たりませんが、OGRもしっかりと入っています!

試しにこんな感じで確認できます。

# ogrinfo 
Usage: ogrinfo [--help-general] [-ro] [-q] [-where restricted_where]
               [-spat xmin ymin xmax ymax] [-geomfield field] [-fid fid]
               [-sql statement] [-dialect sql_dialect] [-al] [-so] [-fields={YES/NO}]
               [-geom={YES/NO/SUMMARY}][--formats]
               datasource_name [layer [layer ...]]

FAILURE: No datasource specified.

ということで、今度こそおしまい!

 

service iptables save がCentOS 7で出来ない( ゚Д゚)

CentOS 7を使い始めて、iptablesの設定をしようとゴチャゴチャ・・・

# service iptables save
The service command supports only basic LSB actions (start, stop, restart, try-restart, reload, force-reload, status). For other actions, please try to use systemctl.

出来ない!systemctl使えって言ってるよ!!

調べてみたら、なんかこんな感じで使える様になるらしいw

[root@localhost ~]# yum install iptables-services
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: ftp.riken.jp
 * epel: ftp.riken.jp
 * extras: ftp.riken.jp
 * updates: ftp.riken.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ iptables-services.x86_64 0:1.4.21-16.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

================================================================================
 Package                  アーキテクチャー
                                        バージョン            リポジトリー
                                                                           容量
================================================================================
インストール中:
 iptables-services        x86_64        1.4.21-16.el7         base         50 k

トランザクションの要約
================================================================================
インストール  1 パッケージ

総ダウンロード容量: 50 k
インストール容量: 24 k
Is this ok [y/d/N]: y
Downloading packages:
iptables-services-1.4.21-16.el7.x86_64.rpm                 |  50 kB   00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : iptables-services-1.4.21-16.el7.x86_64          1/1
  検証中                  : iptables-services-1.4.21-16.el7.x86_64          1/1

インストール:
  iptables-services.x86_64 0:1.4.21-16.el7

完了しました!
[root@localhost ~]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[  OK  ]
[root@localhost ~]#

無事完了!
結局、コマンドをそのまま使える様に、以下をインストールするだけということですね。

yum install iptables-services

それもあるのですが、centOS 7からfirewalldに移行していますので、なるべくそちらへ移行することが望ましいです。