HOME / コンピュータTips / Solaris / IPSと開発 / IPS内容をtar.gzに変換
IPSファイルをtar.gzに変換する †
凄く簡単に作ったスクリプトなので、必要に応じて書き換えてください。
ips2tar.sh pkgname
ただ構成物をコピーするだけなので、うまく行かないものもあると思います。
こんな用途に・・・ †
- publisherを追加することが出来そうもない環境へ、ファイル単位でコピーしたいとき
- 新しいバージョンのOSのパッケージを、古いバージョンにインストールしたい
- しかしそれは多分、動くことがわかっている等
出来たtar.gzをインストールする方法 †
cd / ; gtar zxvf pkgname.tar.gz
インストールしたファイルをアンインストールする方法 †
例です。pkgname.listの内容を確認して、意味をくみ取って下さい。
cd / ; cat pkgname.list | xargs rm
注意 †
こんなのがあったらダメです。
- 基本的には1つ1つ、理解してる人が使うものです。
- 異常系は一切考えていません。
- 問題があって失敗すると、システムに甚大なダメージを与えます。
- IPSやpkgに依存してるものがあると萎えます
- アンインストールはファイルしか消しません。ディレクトリは残ります。
- ディレクトリが残るのは、/usrなどが消えると困るからです。
ソース †
あえて、uploadせずに、貼り付けておきました。
#!/bin/sh
PKGNAME=$1
if [ -z "${PKGNAME}" ];then
echo ips2tar.sh pkgname
exit
fi
mkdir -p /tmp/${PKGNAME}
if ! pkg contents -H ${PKGNAME} > /tmp/${PKGNAME}.list ; then
echo "Contents not found"
exit
fi
cat /tmp/${PKGNAME}.list | cpio -pvdm /tmp/${PKGNAME}
cp /tmp/${PKGNAME}.list /tmp/${PKGNAME}/
cd /tmp/${PKGNAME}
gtar zcf /tmp/${PKGNAME}.tar.gz *
cd ../
rm -r /tmp/${PKGNAME} /tmp/${PKGNAME}.list


