さいの です
たいしたことじゃないんですが。。。
HDDにrpmファイルを展開するためのスクリプトを作りました。 :)
作業用ディレクトリは /home/user1以下 とします。作業の流れは、
1) rpmファイルを保存するディレクトリと、展開後インストールされた
rpmファイルと区別するため、移動するディレクトリを作成します。
% mkdir /home/user1/OBS <-- ダウンロードしたrpmファイルを保存
% mkdir /home/user1/OBS-OK <-- 展開後に移動(保存)
2) ぷらっとホームのftpサイトからrpmファイルをダウンロードする。
% cd /home/user1/OBS
% ftp ftp://ftp.plathome.co.jp/
bin
cd pub/OpenBlockS/devel/packages/RPMS/noarch
mget *
.......
cd pub/OpenBlockS/devel/packages/RPMS/ppc
mget *
.......
(PC等でFTPソフトを使った方が楽かもしれない。。。)
3) 下に添付したシェルスクリプトを実行形式で保存する。
(ここでは、シェルスクリプト名をRunとする)
% vi Run
添付のシェルスクリプトをコピーしてセーブする
% chmod 744 Run
4) su(スーパーユーザ)になってRunを実行する。
# ./Run
4’)rpm展開時のログが欲しければ実行時にscript等を走らせると良い。
但しデフォルトではscriptコマンドが存在しないのでppcLinuxから
バイナリだけを移植してしまうのが楽です。(問題なく動きました)
# script rpm.log ; ./Run
# exit
シェルの内容:
----ここから----
#/bin/sh
PATH=./:/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin
export PATH
cd /
for flist in `ls /home/user1/OBS/*.rpm`
do
echo $flist
rpm2cpio $flist | cpio -uid
mv $flist /home/user1/OBS-OK/
done
----ここまで----
注意)cpio は "u" オプションで強制上書きさせてます。
上記を実行させた結果、現在以下のエラーが出ております。
/home/user1/OBS/grep-2.3-2obs.ppc.rpm
error reading header from package
cpio: premature end of archive
/home/user1/OBS/openssl-0.9.6-1obs.ppc.rpm
error reading header from package
cpio: premature end of archive
/home/user1/OBS/perl-5.00503-6obs.ppc.rpm
error reading header from package
cpio: premature end of archive
上記の3つのrpmファイルにについては、ftpダウンロード時に
壊れたのか、元のrpmファイルが壊れているのか不明です。
これからHDDへの展開をされる方へ、ご参考に。
では、でわ。