openSUSE-12.2 で .ymp をコンソールから登録する方法
CUIでも software.opensuse.org: Search などから目的のパッケージを探し openSUSE にリポジトリーを登録し yast または zypper したい場合のメモ。
1. .ymp を探す
w3m "http://software.opensuse.org/search?q=darkhttpd"
darkhttpdにはもちろん自分が探したい何かに対し適当な検索キーワードを入れましょう。
など適当な手段で.ympを探す。手作業でダウンロードする必要はないので、 .ymp のURLをクリップボード的なものにコピーしておく…でも良いのだけど、コンソールでは少し厄介なのでここは素直にファイルを保存しておく事に。w3mで.ympを開きsキーで保存します。
おまけ1
obs-search(){ if [ $# != 0 ]; then w3m "http://software.opensuse.org/search?q=$*"; fi; }
とか .zshrc なんかに仕込んで置くとCUIからもさっくり探せていいんじゃないかと思います。
2. OCICLI
httpなURLをコマンドに渡せる状態の場合は OCICLI、 まさかの全部大文字コマンドですが実在します。
OCICLI "http://software.opensuse.org/ymp/home:USAGI-WRP/openSUSE_12.2/darkhttpd.ymp"
.ympを拾ってある場合は、
OCICLI file://`pwd`/darkhttpd.ymp
とか。OCICLIに渡すパラメーターはURL形式でなければならないので注意。
.ympのロードに成功するとGPG鍵のインポートについてYaSTから尋ねられる。自己判断でTrustしましょう。
なお、OCICLIは基本的にユーザーが直接叩くコマンドとしては整備状況が悪く、エラーメッセージ等は出ません。GPG鍵のインポートについて訪ねて来る事も無く処理が戻って来たならばパラメーターが無効であるなどの理由で失敗している可能性が高いです。
おまけ3
OCICLIはOneClickInstallCLIの略。
file `which OCICLI` /sbin/OCICLI: symbolic link to `OneClickInstallCLI'
追いかける。
file `which OneClickInstallCLI`
/sbin/OneClickInstallCLI: POSIX shell script, ASCII text executable
中身は22行の簡単なshスクリプト。
cat `which OneClickInstallCLI`
#!/bin/sh if [ $# -ne 1 -o "$1" = "-h" -o "$1" = "--help" ] then echo "Usage: <YMP URL>" exit 1 fi TEMPFILE=$(mktemp) /sbin/YaST OneClickInstallCLI prepareinstall url=$1 targetfile=$TEMPFILE if [ $? -ne 0 ] then exit $? fi echo "Continue? y/N" read continue continue=${continue:="N"} if [ $continue == "Y" ] || [ $continue == "y" ] then su -c "/sbin/YaST OneClickInstallCLI doinstall instructionsfile=$TEMPFILE" else exit 2 fi
yast2コマンドにモジュールOneClickInstallCLIを指示してprepareinstallとdoinstallをオプション付きで呼んでいるだけ。この中身を見てdoinstallだけでもローカルの.ympを処理できるのかなーと思ったけれどprepareinstallも必要らしく、素直にURL形式で渡すのが良いという結論となりました。ちなみにopenSUSE-12.2のyastとYaSTはyast2へのシンボリックリンクです。
3. zypper したりで目的のパッケージをインストール
zypper se darkhttpd
リポジトリのデータを読み込んでいます... インストール済みのパッケージを読み込んでいます... S | 名前 | 概要 | 種類 --+-----------+----------------------------------------+----------------- | darkhttpd | When you need a web server in a hurry. | ソースパッケージ
出てきましたねー^-^
zypper in darkhttpd
...
めでたしめでたし。これでGUIなんてコストを掛けたくない環境でも設定ファイル直接いじらずとも楽にあっさりリポジトリーの追加とパッケージの導入ができるようになりました。