Qiitaとか各種色々なところにもっと分かりやすい形でちゃんとまとまってるんですが、自分のブログに書くことで記憶定着を図りたいのでまとめます。
qiita.com
qiita.com
qiita.com
なお、以下に提示する例はCentOS6を使っているので、色々古いソフトが表示されてますが、気にしないでください。
インストールされたrpmを一覧表示する
rpm -qa
「インストールしたんだけど正確なパッケージ名が思い出せない」といった時にはgrepと組み合わせると効果を発揮。
rpm -qa | grep ruby
ruby-devel-1.8.7.374-4.el6_6.x86_64
ruby-1.8.7.374-4.el6_6.x86_64
ruby-irb-1.8.7.374-4.el6_6.x86_64
ruby-libs-1.8.7.374-4.el6_6.x86_64
ruby-augeas-0.4.1-3.el6.x86_64
ruby-shadow-2.2.0-2.el6.x86_64
ruby-rdoc-1.8.7.374-4.el6_6.x86_64
rubygem-json-1.5.5-3.el6.x86_64
libselinux-ruby-2.0.94-7.el6.x86_64
rubygems-1.3.7-5.el6.noarch
逆にパッケージ名を正確に覚えているときは -q
オプションだけでいいです。
rpm -q ruby-devel
ruby-devel-1.8.7.374-4.el6_6.x86_64
RPMパッケージ経由でインストールされたファイルを一覧表示する
rpm -ql <package name>
rpm -ql ruby-devel
/usr/lib64/libruby.so
/usr/lib64/ruby/1.8/x86_64-linux/config.h
/usr/lib64/ruby/1.8/x86_64-linux/defines.h
/usr/lib64/ruby/1.8/x86_64-linux/digest.h
/usr/lib64/ruby/1.8/x86_64-linux/dl.h
/usr/lib64/ruby/1.8/x86_64-linux/dlconfig.h
/usr/lib64/ruby/1.8/x86_64-linux/dln.h
/usr/lib64/ruby/1.8/x86_64-linux/dtrace.h
/usr/lib64/ruby/1.8/x86_64-linux/env.h
/usr/lib64/ruby/1.8/x86_64-linux/intern.h
/usr/lib64/ruby/1.8/x86_64-linux/missing.h
/usr/lib64/ruby/1.8/x86_64-linux/node.h
/usr/lib64/ruby/1.8/x86_64-linux/re.h
/usr/lib64/ruby/1.8/x86_64-linux/regex.h
/usr/lib64/ruby/1.8/x86_64-linux/ruby.h
/usr/lib64/ruby/1.8/x86_64-linux/rubyio.h
/usr/lib64/ruby/1.8/x86_64-linux/rubysig.h
/usr/lib64/ruby/1.8/x86_64-linux/st.h
/usr/lib64/ruby/1.8/x86_64-linux/util.h
/usr/lib64/ruby/1.8/x86_64-linux/version.h
/usr/share/doc/ruby-devel-1.8.7.374
/usr/share/doc/ruby-devel-1.8.7.374/COPYING
/usr/share/doc/ruby-devel-1.8.7.374/COPYING.ja
/usr/share/doc/ruby-devel-1.8.7.374/ChangeLog
/usr/share/doc/ruby-devel-1.8.7.374/GPL
/usr/share/doc/ruby-devel-1.8.7.374/LEGAL
/usr/share/doc/ruby-devel-1.8.7.374/LGPL
/usr/share/doc/ruby-devel-1.8.7.374/README.EXT
/usr/share/doc/ruby-devel-1.8.7.374/README.EXT.ja
インストールしているパッケージの情報を表示する
rpm -qi <package name>
rpm -qi ruby-devel
Name : ruby-devel Relocations: (not relocatable)
Version : 1.8.7.374 Vendor: CentOS
Release : 4.el6_6 Build Date: Mon 02 Mar 2015 09:12:37 AM UTC
Install Date: Thu 10 Nov 2016 10:08:51 AM UTC Build Host: c6b8.bsys.dev.centos.org
Group : Development/Languages Source RPM: ruby-1.8.7.374-4.el6_6.src.rpm
Size : 1103028 License: Ruby or GPLv2
Signature : RSA/SHA1, Mon 02 Mar 2015 12:21:02 PM UTC, Key ID 0946fca2c105b9de
Packager : CentOS BuildSystem <http://bugs.centos.org>
URL : http://www.ruby-lang.org/
Summary : A Ruby development environment
Description :
Header files and libraries for building a extension library for the
Ruby or an application embedded Ruby.
RPMパッケージの情報を表示する
インストールしているときは rpm -qi <package name>
ですが、まだインストールしてないRPMパッケージの場合は rpm -qpi <package name>
で表示できます。
ls | grep ruby-devel
ruby-devel-1.8.7.374-5.el6.x86_64.rpm
rpm -qpi ruby-devel-1.8.7.374-5.el6.x86_64.rpm
Name : ruby-devel Relocations: (not relocatable)
Version : 1.8.7.374 Vendor: CentOS
Release : 5.el6 Build Date: Wed 22 Mar 2017 05:52:23 AM UTC
Install Date: (not installed) Build Host: c1bm.rdu2.centos.org
Group : Development/Languages Source RPM: ruby-1.8.7.374-5.el6.src.rpm
Size : 1103263 License: Ruby or GPLv2
Signature : RSA/SHA1, Thu 23 Mar 2017 03:00:13 PM UTC, Key ID 0946fca2c105b9de
Packager : CentOS BuildSystem <http://bugs.centos.org>
URL : http://www.ruby-lang.org/
Summary : A Ruby development environment
Description :
Header files and libraries for building a extension library for the
Ruby or an application embedded Ruby.
RPMパッケージに含まれているファイルを一覧表示する
rpm2cpio <package name> | cpio -t
rpm -ql
はインストールしているRPMパッケージの時に使えるが、これはインストールしてなくてwgetなどでダウンロードしてきたRPMパッケージなどについて使える
rpm2cpio ruby-devel-1.8.7.374-5.el6.x86_64.rpm | cpio -t
./usr/lib64/libruby.so
./usr/lib64/ruby/1.8/x86_64-linux/config.h
./usr/lib64/ruby/1.8/x86_64-linux/defines.h
./usr/lib64/ruby/1.8/x86_64-linux/digest.h
./usr/lib64/ruby/1.8/x86_64-linux/dl.h
./usr/lib64/ruby/1.8/x86_64-linux/dlconfig.h
./usr/lib64/ruby/1.8/x86_64-linux/dln.h
./usr/lib64/ruby/1.8/x86_64-linux/dtrace.h
./usr/lib64/ruby/1.8/x86_64-linux/env.h
./usr/lib64/ruby/1.8/x86_64-linux/intern.h
./usr/lib64/ruby/1.8/x86_64-linux/missing.h
./usr/lib64/ruby/1.8/x86_64-linux/node.h
./usr/lib64/ruby/1.8/x86_64-linux/re.h
./usr/lib64/ruby/1.8/x86_64-linux/regex.h
./usr/lib64/ruby/1.8/x86_64-linux/ruby.h
./usr/lib64/ruby/1.8/x86_64-linux/rubyio.h
./usr/lib64/ruby/1.8/x86_64-linux/rubysig.h
./usr/lib64/ruby/1.8/x86_64-linux/st.h
./usr/lib64/ruby/1.8/x86_64-linux/util.h
./usr/lib64/ruby/1.8/x86_64-linux/version.h
./usr/share/doc/ruby-devel-1.8.7.374
./usr/share/doc/ruby-devel-1.8.7.374/COPYING
./usr/share/doc/ruby-devel-1.8.7.374/COPYING.ja
./usr/share/doc/ruby-devel-1.8.7.374/ChangeLog
./usr/share/doc/ruby-devel-1.8.7.374/GPL
./usr/share/doc/ruby-devel-1.8.7.374/LEGAL
./usr/share/doc/ruby-devel-1.8.7.374/LGPL
./usr/share/doc/ruby-devel-1.8.7.374/README.EXT
./usr/share/doc/ruby-devel-1.8.7.374/README.EXT.ja
2164 blocks
RPMパッケージからファイルを取り出す
rpm2cpio <package name> | cpio -id
ls
ruby-devel-1.8.7.374-5.el6.x86_64.rpm
rpm2cpio ruby-devel-1.8.7.374-5.el6.x86_64.rpm | cpio -id
2164 blocks
ls
ruby-devel-1.8.7.374-5.el6.x86_64.rpm usr
正直な話、「今の仕事を始める前にこれらのことをちゃんと知っておけば無駄な時間を使わなかったのにな」と思いながら書きました。