プロジェクト

全般

プロフィール

RPMパッケージ管理

はじめに

RPMパッケージのインストール、更新、削除といった管理についてのメモです。

手順メモ

インストール先を変えたい

再配置可能なパッケージのインストール先を変更する

--prefixオプションでインストール先ディレクトリを指定します。

# rpm -ivh --prefix=/opt/pkgs netcdf-4.3.2-2.el6.x86_64.rpm

この場合、デフォルトでは/usr下にインストールされるパッケージを/opt/pkgs下にインストールします。

再配置可能なパッケージとは、SPECファイルでPrefix属性が定義されているものです。
再配置不可能な場合、

# rpm -ihv --prefix=/opt/local netcdf-4.3.2-1.el6.x86_64.rpm
エラー: パッケージ netcdf は再配置できません
#

とエラーになります。

再配置不可能なパッケージのインストール先を変更する

# rpm -ihv --relocate /usr=/opt/local --badreloc netcdf-4.3.2-1.el6.x86_64.rpm

再配置可能でないパッケージも--relocateオプションと--badrelocオプションでインストール先を変更することができます。

依存関係

依存関係を調べる(rpmコマンド)

$ rpm -qpR ruby-2.1.4-1.el6.x86_64.rpm
/usr/bin/env
/usr/bin/pkg-config
/usr/bin/ruby
coreutils
db4
gdbm
glibc
ld-linux-x86-64.so.2()(64bit)
  :

依存関係を調べる(yumコマンド)

$ yum deplist 
パッケージ    : ruby.x86_64 1.8.7.374-4.el6_6
  依存性      : ruby-libs = 1.8.7.374-4.el6_6
   provider: ruby-libs.i686 1.8.7.374-4.el6_6
   provider: ruby-libs.x86_64 1.8.7.374-4.el6_6
  依存性      : libdl.so.2()(64bit)
   provider: glibc.x86_64 2.12-1.166.el6
   provider: glibc.x86_64 2.12-1.166.el6_7.1
   provider: glibc.x86_64 2.12-1.166.el6_7.3
  依存性      : libruby.so.1.8()(64bit)
   provider: ruby-libs.x86_64 1.8.7.374-4.el6_6
:(以下略)

依存関係を調べる(repoqueryコマンド)

yum-utilsパッケージで提供されるrepoqueryを使う例です。

$ repoquery --requires ruby
libc.so.6(GLIBC_2.2.5)(64bit)
libcrypt.so.1()(64bit)
libdl.so.2()(64bit)
libm.so.6()(64bit)
libpthread.so.0()(64bit)
librt.so.1()(64bit)
libruby.so.1.8()(64bit)
rtld(GNU_HASH)
ruby-libs = 1.8.7.374-4.el6_6

クリップボードから画像を追加 (サイズの上限: 1 GB)