SambaをRPMパッケージからインストールしてみる。

スポンサーリンク

「LPI-302 Mixed Environment」(LPIC302)試験の学習。 
Linux教科書 LPIC レベル3 」をベースに進める。

学習進捗状況は、以下のエントリを参照。
LPIC302 学習進捗状況: ほぼニートの資格取得日記☆

——————————————————

SambaをRPMパッケージからインストールしてみる。
まだまだ勉強中の身なので、内容の正確性は保証しかねる。

「Linux教科書 LPIC レベル3」では、パッケージからのSamabaのインストールについて
具体的な手順の記載は無い。

インストールは、パッケージ管理ツールに含まれるrpmやdpkg -i といったコマンドで行います。(p.231)

とあるだけだ。
まあ、LPIC302受験者なら、ソフトウェアのインストール方法はこれまでで学んでいるはず。
そんなことに紙面を割くのももったいないか…。

しかし、久しくLinuxに触っていないのでインストール方法を忘れてしまった、
または、テキストや問題集だけの(試験でしか役立たない)勉強ばかりで、実機に一度も触ったことがなく、実際のインストール手順が分からない。
という場合もあるだろう…。

ここでは、RPMパッケージからのSambaのインストールについて、それなりに具体的な手順を記述する。
OSは RedHat系のCentOS 5.5。

パッケージからのインストール方法は2つある。

  1. yumコマンドを使う
  2. RPMパッケージァイルを用意して、RMPコマンドを使う

1. のyumでのインストールは超ラクだ…。
サーバーがインターネットへアクセスできる環境にいるなら、

# yum -y install samba

と打ち込めばSambaがインストールされる。
必要なパッケージを勝手にダウンロードしてくれるので、パッケージを手元に用意する手間もない。
パッケージ間の依存関係を考慮する必要もない…。勝手に依存関係をチェックしてインストールしてくれる。
(※パッケージのダウンロードで接続するサーバーの変更は、/etc/yum.repos.d/以下のファイルを編集すればよい。)

以下、実際にyumでインストールしたところまでの手順。
(パッケージの確認等にもrpmコマンドは使わず、yumコマンドだけを使う。)

# yum list installed samba*
samba-client.i386                        3.0.33-3.28.el5               installed
samba-common.i386                        3.0.33-3.28.el5               installed

CentOS 5.5をインストールした直後。サーバー用ソフトウェアは何も指定せずにCentOSをインストールしたが、Samabaのクライアントプログラムは入っていた。
ついでだ。まずは、クライアント(とSamabaの共通プログラム)を消してしまおう。

# yum -y remove samba-client
# yum -y remove samba-common
(※依存関係の都合で、先にsamba-commonを消せば、samba-clientも勝手に消える。)

で、Sambaをインストールする。その前に、利用可能なパッケージを確認。
3.0系列と3.5系列が利用可能なようだ。

# yum list samba*
~~(omitted)~~
Available Packages
samba.i386                                          3.0.33-3.29.el5_6.2                         updates
samba-client.i386                                   3.0.33-3.29.el5_6.2                         updates
samba-common.i386                                   3.0.33-3.29.el5_6.2                         updates
samba-swat.i386                                     3.0.33-3.29.el5_6.2                         updates
samba3x.i386                                        3.5.4-0.70.el5_6.1                          updates
samba3x-client.i386                                 3.5.4-0.70.el5_6.1                          updates
samba3x-common.i386                                 3.5.4-0.70.el5_6.1                          updates
samba3x-doc.i38
6                                    3.5.4-0.70.el5_6.1                          updates
samba3x-domainjoin-gui.i386                         3.5.4-0.70.el5_6.1                          updates
samba3x-swat.i386                                   3.5.4-0.70.el5_6.1                          updates
samba3x-winbind.i386                                3.5.4-0.70.el5_6.1                          updates
samba3x-winbind-devel.i386                          3.5.4-0.70.el5_6.1                          updates

Samaba 3.0系列と3.5系列については以下を参照。
ちょこっとだけ書いてある。
Sambaの歴史: ほぼニートの資格取得日記☆

では、インストール。(とりあえず3.0系列を入れてみよう)
Samba 3.0系列をインストールしたい場合は、

#  yum -y install samba-*

Samba 3.5系列をインストールしたい場合は、

# yum -y install samba3x*

(※クライアントプログラムsamba-clientやSWAT関連samba-swatもインストールしたかったので、
ワイルドカード付きのsamba-*、samba3x*とした。サーバープログラムだけなら、samba、samba3xでよい。)

# yum list installed samba*
~~(omitted)~~
Installed Packages
samba.i386                                    3.0.33-3.29.el5_6.2                             installed
samba-client.i386                             3.0.33-3.29.el5_6.2                             installed
samba-common.i386                             3.0.33-3.29.el5_6.2                             installed
samba-swat.i386                               3.0.33-3.29.el5_6.2                             installed

Sambaがインストールされていることを確認した。
yumでのインストールは以上。

————————————————————————-

続いて、RPMコマンドでのインストールを行う。
(インストール済みパッケージの確認等にもyumコマンドは使わず、rpmコマンドだけを使う。)
RPMファイルを用意し、依存関係を考慮した順でインストールしていかなければならない。

まずは、Samabaがインストールされていないかを確認。

# rpm -qa samba*
samba-swat-3.0.33-3.29.el5_6.2
samba-common-3.0.33-3.29.el5_6.2
samba-3.0.33-3.29.el5_6.2
samba-client-3.0.33-3.29.el5_6.2

先程のyumでインストールしていたままだ。消そう。

RPMコマンドで削除するときも依存関係を考慮しなければならない。
(面倒くさくなったら、–nodepsオプションを使えるが…。)
まずは、依存関係を確認。

# rpm -q –whatrequires samba
samba-swat-3.0.33-3.29.el5_6.2
# rpm -q –whatrequires samba-common
samba-client-3.0.33-3.29.el5_6.2
samba-3.0.33-3.29.el5_6.2
# rpm -q –whatrequires samba-client
samba-client を必要とするパッケージは存在しません。
# rpm -q –whatrequires samba-swat
samba-swat を必要とするパッケージは存在しません。

以上から、削除する順番は

  1. samba-client か samba-swat
  2. samba
  3. samba-common

となる。

# rpm -e samba-client
# rpm -e samba-swat
# rpm -e samba
# rpm -e samba-common

アンインストールできた。

次に、RPMパッケージを用意する。
RPMパッケージは配布サイト(yumのリポジトリに登録されているダウンロードサイトなど)から持ってきてもよい。
yumdownloaderコマンドを使えば、カレントディレクトリにRPMパッケージがダウンロードされる。(yum-utilsのインストールが必要)

# yumdownloader samba-*
~~(omitted)~~
samba-3.0.33-3.29.el5_6.2.i386.rpm                                              |  16 MB     00:05
samba-common-3.0.33-3.29.el5_6.2.i386.rpm                                       | 6.7 MB     00:01
samba-swat-3.0.33-3.29.el5_6.2.i386.rpm                                         | 8.2 MB     00:03
samba-client-3.0.33-3.29.el5_6.2.i386.rpm       &
#160;                               | 5.7 MB     00:06
# ls -l
合計 37808
-rw-r–r– 1 root root 17018505  4月  2 00:07 samba-3.0.33-3.29.el5_6.2.i386.rpm
-rw-r–r– 1 root root  5940522  4月  2 00:07 samba-client-3.0.33-3.29.el5_6.2.i386.rpm
-rw-r–r– 1 root root  7050705  4月  2 00:07 samba-common-3.0.33-3.29.el5_6.2.i386.rpm
-rw-r–r– 1 root root  8632457  4月  2 00:07 samba-swat-3.0.33-3.29.el5_6.2.i386.rpm

しかし、ここではyumは使わない。また、インターネットにも接続されていない場面を想定する。
どこからRPMを持ってくるのか。CentOS 5.5のインストールメディアから…。

CentOSのインストールメディアが /media/にマウントされているとして、SambaのRPMを確認する…。

# ls /media/CentOS_5.5_Final/CentOS/samba*
/media/CentOS_5.5_Final/CentOS/samba-3.0.33-3.28.el5.i386.rpm
/media/CentOS_5.5_Final/CentOS/samba-client-3.0.33-3.28.el5.i386.rpm
/media/CentOS_5.5_Final/CentOS/samba-common-3.0.33-3.28.el5.i386.rpm
/media/CentOS_5.5_Final/CentOS/samba-swat-3.0.33-3.28.el5.i386.rpm
/media/CentOS_5.5_Final/CentOS/samba3x-3.3.8-0.51.el5.i386.rpm
/media/CentOS_5.5_Final/CentOS/samba3x-client-3.3.8-0.51.el5.i386.rpm
/media/CentOS_5.5_Final/CentOS/samba3x-common-3.3.8-0.51.el5.i386.rpm
/media/CentOS_5.5_Final/CentOS/samba3x-doc-3.3.8-0.51.el5.i386.rpm
/media/CentOS_5.5_Final/CentOS/samba3x-domainjoin-gui-3.3.8-0.51.el5.i386.rpm
/media/CentOS_5.5_Final/CentOS/samba3x-swat-3.3.8-0.51.el5.i386.rpm
/media/CentOS_5.5_Final/CentOS/samba3x-winbind-3.3.8-0.51.el5.i386.rpm
/media/CentOS_5.5_Final/CentOS/samba3x-winbind-devel-3.3.8-0.51.el5.i386.rpm

Samba 3.0系列と3.3系列がある。
yumの時よりもバージョンは古くなるが、このRPMを使ってSamba 3.0系列をインストールする。

依存関係を考慮した順にインストールする。
アンインストールしたときとは逆の順番でパッケージをインストールする。
が、面倒なのでワイルドカード(*)を使って指定する。
(依存関係にあるパッケージを同時にインストールすると、RPM が依存関係を判断してインストールしてくれる。)

# cd /media/CentOS_5.5_Final/CentOS/
# rpm -ivh samba-*
エラー: 依存性の欠如:
       libsmbclient = 0:3.0.33-3.28.el5 は samba-common-3.0.33-3.28.el5.i386 に必要とされています

samba-commonを入れる前に、libsmbclient を入れなきゃいけなかった。
ん?libsmbclientは本当に入っていないのか?yumの時に入っていないのか?

# rpm -qa | grep libsmb
libsmbclient-3.0.33-3.29.el5_6.2

バージョンが違うようだ。ibsmbclientを一回消して入れ直す。

# rpm -e libsmbclient-3.0.33-3.29.el5_6.2
エラー: 依存性の欠如:
       libsmbclient.so.0 は (インストール済み)gnome-vfs2-smb-2.16.2-6.el5.i386 に必要とされています

あー、うざい。もう、–nodepsで依存関係なんか無視して消してやる。
(※依存関係を無視すると、まともに動作しなくなる場合がある。)

# rpm -e –nodeps libsmbclient-3.0.33-3.29.el5_6.2
# rpm -ivh –test libsmbclient-3.0.33-3.28.el5.i386.rpm
準備中…                ########################################### [100%]
# rpm -ivh libsmbclient-3.0.33-3.28.el5.i386.rpm
準備中…                ########################################### [100%]
  1:libsmbclient           ########################################### [100%]
# rpm -ivh –test samba-*
準備中…                ########################################### [100%]

よし。では、Sambaのインストール。

# rpm -ivh samba-*
準備中…                ########################################### [100%]
  1:samba-common           ########################################### [ 25%]
  2:samba                  ########################################### [ 50%]
  3:samba-client           ########################################### [ 75%]
  4:samba-swat             ########################################### [100%]
# rpm -qa | grep samba
samba-swat-3.0.33-3.28.el5
samba-common-3.0.33-3.28.el5
samba-3.0.33-3.28.el5
samba-client-3.0.33-3.28.el5

Samba 3.0系列がインストールされたことを確認。
RPMコマンドでのSambaのインストールは以上。

スポンサーリンク

 

SNSシェアボタン

  • このエントリーをはてなブックマークに追加