DAGリポジトリを一時的に有効にする
CentOSでは標準のyumリポジトリに入ってるソフトがあまり多くありません。「あれ、yumでサクっと入らねーのかな」という時にはDAG(rpmforge)のお世話になるわけですが、普段は無効にしておいて、いざという時だけ使いたい人向けの小物ツールです。
まず、前提となるDAGリポジトリを使うための設定は、以下の内容を/etc/yum.repos.d/dag.repoで保存。
[dag] name=Dag RPM Repository for RHEL5/CentOS5 baseurl=http://ftp.riken.jp/Linux/dag/redhat/el5/en/$basearch/dag/ enabled=1 gpgcheck=1
んで、GPG鍵のrpmをインポート。
rpm --import http://ftp.riken.jp/Linux/dag/packages/RPM-GPG-KEY.dag.txt
riken.jpのミラーを使ってるけど、別にどこでもいいです。
リポジトリの有効/無効を切り替えるには、repoファイルのenabledを0にしてもいいけど、ファイル名を変えてしまうのが手っ取り早いです。拡張子.repoになっていないと読み込まないようなので、
DAG使う | ファイル名をdag.repoに |
DAG使わない | ファイル名をdagに |
というポリシーで運用することにします。
んで、/usr/local/bin/dagreposとか好きなところに以下を保存。
#!/bin/sh ONFILE="/etc/yum.repos.d/dag.repo" OFFFILE="/etc/yum.repos.d/dag" usage() { echo "Usage: dagrepos {on|off}" echo -n " DAG repository:" if [ -e $ONFILE ]; then echo "ON" elif [ -e $OFFFILE ]; then echo "OFF" else echo "ERROR: no repository file" fi exit 1 } if [ $1 ] then case "$1" in on) if [ -e $ONFILE ]; then echo "DAG repository already ON" elif [ -e $OFFFILE ]; then sudo mv $OFFFILE $ONFILE echo "DAG repository switched ON" else echo "ERROR: no repository file" fi ;; off) if [ -e $OFFFILE ]; then echo "DAG repository already OFF" elif [ -e $ONFILE ]; then sudo mv $ONFILE $OFFFILE echo "DAG repository switched OFF" else echo "ERROR: no repository file" fi ;; *) usage esac exit 0 else usage fi
これで、コマンドラインから
$ dagrepos on $ dagrepos off
とかすればDAGリポジトリを使うか否かを簡単に制御出来ます。単にdagreposとだけ打てばDAGが有効なのかどうかも確認可能。
小物だけど、書いたら意外と便利だったのでお披露目です。