 |
Guides, HowTos and Tips for Technology Geeks - The Geek Stuff |
サーバシステムを管理する場合、アプリケーションをインストールする前にどういったファイルがどこにインストールされるのかを調べたいケースがある。インストールすることでシステムの一貫性がなくなったり、意図とは違う動作をされることを防ぐためだ。GUIで提供されているパッケージマネージャが使えればよいが、サーバシステムにはGUIがインストールされていないケースもある。またsshで遠隔ログインして操作する場合など、基本的にコマンドで作業する必要がある。
LinuxやUNIXといってもパッケージ管理システムは異なることが多く、たとえばRed Hat Enterpriseサーバで使えたコマンドは、Debianサーバでは使えない、ということはままある。そうした場合に役立つまとめがHow to View and Extract Files from rpm, deb, depot and msi Packagesに掲載されている。rpm、deb、depot、msiのパッケージファイルのそれぞれの簡単な説明と、内容を表示するコマンドと展開するコマンドが紹介されている。紹介されている内容をまとめると次のとおり。
パッケージ |
説明 |
rpm |
Red Hatパッケージマネージャ。Red Hat系のLinuxディストリビューションで採用されている。rpmコマンドで操作できるほか、cpioのアーカイバに近いためrpm2cpioで変換してcpioコマンドで展開可能。 |
deb |
Debianソフトウェアパッケージフォーマット。Debian系のLinuxディストリビューションで採用されている。dpkgコマンドで操作できるほか、基本的にarアーカイバであるためarコマンドで展開可能。arアーカイバの中にtar.gzファイルが入っているため、arコマンドで展開する場合にはtarコマンドも合わせて利用する。 |
depot |
HP-UX Software Distributor Catalog Depotファイル。基本的にtarファイルであるためtarコマンドで操作可能。操作はswlistコマンドやswcopyコマンドからも実施できる。 |
msi |
Microsoftインストーラ。lessmsi.exeコマンドやMsiexec.exeコマンドから操作可能。 |
パッケージ |
パッケージの内容を一覧するコマンド |
rpm |
rpm -qlp target.rpm |
deb |
dpkg -c target.deb |
depot |
tar -tf target.depot |
depot |
swlist -l file -s target.depot |
msi |
lessmsi.exe |
パッケージ |
パッケージを展開するコマンド |
rpm |
rpm2cpio target.rpm | cpio -idmv |
deb |
dpkg -x target.deb /pathto/output/ |
deb |
ar -vx target.deb && tar -xvzf data.tar.gz |
depot |
swcopy -x uncompress_files=true -x enforce_dependencies=false -s target.depot \* @ /pathto/output/ |
depot |
tar -xvf target.depot |
msi |
msiexec /a target.msi /qb TARGETDIR="C:\pathto\output" |