[CentOS] rpmリポジトリ管理ツール群 リリースしました


みなさんこんにちは。CentOSで標準リポジトリにないパッケージをインストールするため、 rpmforge や dag 、 epel リポジトリをインストールするのですが、まれによくやる作業なので、ついつい手順を忘れがちです。作業するたびにGoogle先生にお伺いをたててリポジトリのURLを探してインストールするのに飽きてきました(メモれよ)。

特に、CentOSの異種バージョンで検証環境を作るのに、わざわざリポジトリファイルを探すのが面倒くさいので、次のような仕様でツールを作ってみました。もしよろしければ、githubからダウンロードして使ってみてください。

  • rpmforgeは、rpmファイルをまとめてダウンロードするようにした
  • dagとepelは、各々のアーキテクチャに合ったリポジトリファイルを作成するようにした

githubは以下になります。

[ rpmforge rpmファイルダウンローダ - FORGEGET ] https://github.com/nullpopopo/FORGEGET
[ dagリポジトリメンテナンスツール - DAGMAINTE ] https://github.com/nullpopopo/DAGMAINTE
[epelリポジトリメンテナンスツール - EPELMAINTE ] https://github.com/nullpopopo/EPELMAINTE

それぞれのツールの使い方について説明します。

[ FORGEGET ]
gitからソースを取得し、 src/FORGEGET を ${HOME}/bin などのPATHが通ったディレクトリにコピーし、実行権をつけてください。リポジトリからgetする機能と、一度getした内容をリストにしてメール通知する機能があります。

初回実行前に、変数「MAILTO」のメールアドレスを、ご自身のメールアドレスに変更してください。

実行時の引数は次の通りです。

[cc lang='text' ]
$ FORGEGET get #rpmforgeリポジトリからrpmファイルを取得しメール通知する
$ FORGEGET list # /home/ユーザ名/REPOS/rpmforge 内の一覧をメール通知する
[/cc]

※ 注意
rpmforgeリポジトリそのものをインストールするものではありません。あくまでリポジトリのrpmファイルを取得するだけになります。rpmforgeをインストールする場合は、 /home/ユーザ名/REPOS/rpmforge から各々のアーキテクチャに合ったrpmファイルをインストールしてください。

[ DAGMAINTE ]
gitからソースを取得し、 src/DAGMAINTE を ${HOME}/bin などのPATHが通ったディレクトリにコピーし、実行権をつけてください。リポジトリをインストール、アンインストールする機能と、デフォルトで有効化、無効化する機能があります。

実行時の引数は次の通りです。

[cc lang='text' ]
$ DAGMAINTE install # dagリポジトリをインストールする
$ DAGMAINTE uninstall # dagリポジトリをアンインストールする
$ DAGMAINTE enable # デフォルトでdagリポジトリを有効化する
$ DAGMAINTE disable #デフォルトでdagリポジトリを無効にする
[/cc]

DAGMAINTEでリポジトリをインストールした後は、リポジトリは無効となっています。これは既存のパッケージをdagで誤って上書きしないようにするためです。もしdagからパッケージをインストールする場合、「 yum --enablerepo=dag hogehoge 」といったように、都度リポジトリを有効化してインストールするか、DAGMAINTE enableでリポジトリを有効化してください。

[ EPELMAINTE ]
gitからソースを取得し、 src/EPELMAINTE を ${HOME}/bin などのPATHが通ったディレクトリにコピーし、実行権をつけてください。リポジトリをインストール、アンインストールする機能と、デフォルトで有効化、無効化する機能があります。

実行時の引数は次の通りです。

[cc lang='text' ]
$ EPELMAINTE install # epelリポジトリをインストールする
$ EPELMAINTE uninstall # epelリポジトリをアンインストールする
$ EPELMAINTE enable # デフォルトでepelリポジトリを有効化する
$ EPELMAINTE disable #デフォルトでepelリポジトリを無効にする
[/cc]

EPELMAINTEでリポジトリをインストールした後は、リポジトリは無効となっています。これは既存のパッケージをEPELで誤って上書きしないようにするためです。もしEPELからパッケージをインストールする場合、「 yum --enablerepo=epel hogehoge 」といったように、都度リポジトリを有効化してインストールするか、EPELMAINTE enableでリポジトリを有効化してください。

いかがでしょうか。これでリポジトリ管理が少しでも楽になれば幸いです。