Linux の 302 (Mixed Environment) 試験対策: Samba のインストールとアップグレード

Samba を稼働させる

ほとんどのソフトウェアと同様に、Samba を使用するには、まず Samba をインストールしなければなりません。それにはいくつかの方法がありますが、大きく分けると、ソース・コードをコンパイルしてインストールする方法、そしてビルド済みバイナリー・パッケージをインストールする方法の 2 つに分類することができます。前者は比較的難しい方法ながらも、より柔軟性の高い選択肢です。一方、後者の方法は大抵の Linux ディストリビューションで至って簡単に実行できるものの、サポートするバージョン、適用するパッチ、コンパイル時に指定可能なオプションなどについては、ディストリビューションの保守管理者の決定に従わなければなりません。

Roderick W. Smith, Consultant and author

Roderick Smith author photoRoderick W. Smith はコンサルタントであり、『The Definitive Guide to Samba 3』、『Linux in a Windows World』、『Linux Professional Institute Certification Study Guide』など、UNIX や Linux に関する数々の著作もあります。彼は現在、ロードアイランドのウーンソケットに住んでいます。



2011年 4月 20日

この連載について

この連載は Linux システム管理タスクの学習に役立つだけでなく、LPIC-3 (Linux Professional Institute Certification レベル 3) 試験に備えるための教材にもなります。

連載の各記事についての説明とリンクについては、developerWorks の LPIC-3 ロードマップを参照してください。現在進行中のこのロードマップは、LPIC-3 試験の最新の目標 (2010年 11月) を反映しています。完成した記事はその都度ロードマップに追加されていきます。

この記事で学ぶのは、以下の内容です。

  • Samba パッケージのインストール
  • 自分でコンパイルした Samba バイナリーのインストール
  • 既存の Samba インストール済み環境のアップグレード

この記事は、LPIC-3 (Linux Professional Institute Certification レベル 3) の LPI-302 試験の主題 311 の目標 311.2 の試験対策に役立ちます。この目標の重要度は 1 です。

前提条件

この記事では、読者が Linux コマンドライン関数の実用的な知識を持っていること、そしてソフトウェアの構造 (ソース・コードとバイナリー・コードの違い) およびコンパイル手順について、少なくとも全般的に理解していることを前提とします。この記事で説明するアクションを実行するには、お手持ちのコンピューターで実際にインターネットに接続できること、あるいは Samba パッケージが含まれる Linux インストール・ディスクが必要です。


インストール方法の選択

選択的な LPI-302 試験について

LPIC (Linux Professional Institute Certification) には、さまざまなレベルがあり、レベルが上がるにつれ、より深い知識と経験が必要になってくるという点で、他の多くの認定と似ています。LPI-302 試験は、LPIC レベル階層のレベル 3 に位置する選択的な Specialty 認定試験であり、Linux システム管理に関する高度な知識が求められます。

LPIC レベル 3 (LPIC-3) 認定を取得するには、2 つのレベル 1 試験 (101 と 102)、2 つのレベル 2 試験 (201 と 202)、そして LPIC-3 Core Exam (301) に合格しなければなりません。これらの試験に合格した後、LPI-302 などの選択的な Specialty 認定試験を受けることができます。

どの方法で Samba をインストールするかは、使用する Linux ディストリビューション、使用可能なツール、そして特定の Samba バージョンと機能に関するニーズに依存します。Linux システムによっては、選択できないインストール方法もあります。通常は、RPM (RPM Package Manager) または Debian パッケージを使用してインストールするのが最善かつ最も簡単な方法ですが、すべての Linux システムで例外なく使用できるのは、ソース・コードからインストールする方法だけです。そしてこの方法を使用するには、ソフトウェアを追加でインストールしなければならない可能性があります。

大抵の Linux ディストリビューションは、RPM または Debian パッケージ管理システムのいずれかを使用してビルドされています。Red Hat、Fedora、OpenSUSE、Mandriva、PCLinuxOS、そしてこれらの系統のいくつかでは RPM を使用しています。一方、Debian パッケージを使用しているディストリビューションには、Debian、Ubuntu の他、数種類があります。これらのディストリビューションのいずれかを使用している場合、Samba をインストールする最も簡単な方法は、そのディストリビューションの保守管理者が提供する Samba バイナリー・パッケージをインストールすることであるのはいつでも変わりありません。バイナリー・パッケージは、1 つの単純なコマンド (あるいは、ほんのわずかな数のコマンド) によってインストールすることができます。しかも一般に、このインストール・プロセスには数秒しかかかりません。一部のディストリビューション (Slackware など) ではバイナリー以外のパッケージ・タイプから簡単にインストールできるようになっていますが、インストール方法の細かな点は、この記事で説明する RPM および Debian パッケージの場合とは異なります。

皆さん独自のフィードを作成してください

新しい記事が追加された際、あるいは内容が更新された際に通知を受けられるように、RSS、Atom、または HTML によるカスタム・フィードを作成することができます。それには、developerWorks RSS フィードにアクセスしてください。対象のゾーンとしては「Linux」を選択し、情報の種類としては「記事」を選択して、キーワードには「Linux Professional Institute」と入力します。そして最後にフィードの種類を選択します。

ソース・コードからインストールする場合には、特定のコンピューターおよびネットワークの要求に合わせて Samba のオプションをカスタマイズし、コンパイルを最適化することができます。さらに、使用しているディストリビューションにはまだ提供されていない Samba バージョンでも、ソース・コードを使えばインストールすることができます。ただし、ソースからのインストールには追加の手順が必要になるため、バイナリーをインストールする場合よりも時間がかかります。Gentoo ディストリビューションはほとんどのソフトウェアをソース・コードからインストールしますが、その手順は RPM や Debian パッケージを使用してインストールする場合のように合理化されています。詳細については、Gentoo のドキュメンテーションを参照してください。

基本的には、RPM、Debian パッケージ、またはその他のディストリビューション固有のバイナリー・パッケージから Samba をインストールすることをお勧めします。ソース・コードからインストールするしか方法がない場合、あるいは特異な要求を満たすためにビルド・プロセスで通常とは異なるカスタマイズが必要となる場合を除き、ソース・コードから Samba をインストールする意味はありません。


ソース・コードからのインストール

この連載の前回の記事では、Samba のソース・コードをコンパイルする方法について説明しました。Samba をソースからインストールする場合には、コンパイルのプロセスから始める必要があります。この記事では、ソース・コードのコンパイルは完了していて、インストールすればよいだけの状態になっていることを前提とします。

初期インストールを行う

Samba ソース・コードのコンパイルが完了していれば、ソース・コードのビルド・ディレクトリー (通常は、Samba ソースのディレクトリー・ツリー内にある source3) で以下のコマンドを実行すると、Samba をインストールすることができます。

# make install

このコマンドは root ユーザーとして実行する必要があります。

通常、このコマンドは Samba を /usr/local ディレクトリー・ツリーにインストールします。これは、ローカルでコンパイルされたバイナリーの一般的な保管場所です。

ソース・コードから Samba をインストールすると、System V (SysV) または Upstart 起動スクリプトはインストールされないため、コンピューターをリブートしても Samba は自動的に起動しないことに注意してください。この話題については、「Samba の起動」のセクションで簡単に取り上げます。

ソース・コードを使用して新しいバージョンにアップグレードする

以前にソース・コードから Samba をインストールしたことがあるとしたら、ここで説明する手順を実行すると、古いプログラム・ファイルが .old という拡張子の付いたファイル名に変更されます。新しいバージョンが正しく機能していないと判断した場合には、make revert を実行することで、元のバージョンに戻すことができます。

ソース・コードからインストールされた古いバージョンの Samba を完全に削除するには、カレント・ディレクトリーを古いバージョンのソース・コード・ディレクトリーに変更して make uninstall を実行します。このコマンでインストール済みのソフトウェアを削除すれば、新しいバージョンを (ソース・コードからでも、バイナリー・パッケージからでも) インストールしたときに新旧 2 つのバージョンが競合する心配がありません。

以前にバイナリー・パッケージから Samba をインストールしたことがあるとしたら、そのバージョンとローカルにコンパイルされたバージョンは理論的には同じコンピューター上で共存できますが、実行されるのはそのうち一方だけなので、両方ともインストールしたままにしておくと混乱を招きがちです。したがって、新しいソフトウェアをインストールする前に、古いバイナリー・パッケージを削除しておくことが最善の策となります。rpm -e samba を実行すると RPM パッケージがアンインストールされ、dpkg -r samba を実行すると Debian パッケージがアンインストールされます (ディストリビューションの Samba パッケージがどのように作成されたかによっては、パッケージ名を変更したり、複数のパッケージをアンインストールしたりする必要があることも考えられます)。バイナリー・パッケージをアンインストールする前に、SysV または Upstart 起動スクリプトをバックアップしておくことをお勧めします。このスクリプトを修正することで、ローカルにビルドされた Samba バージョンを起動できる場合があります。


RPM のインストール

RPM は、よく使用されている強力なパッケージ管理システムです。ソフトウェアをインストールするには、RPM ファイルをダウンロードし、ダウンロードしたファイルを rpm コマンドでインストールします。あるいは別の方法として、依存関係のインストールやアップグレードといった面倒な詳細の一部を処理させるために、YUM (Yellowdog Updater, Modified) などのメタパッケージング・システムを利用することもできます。

YUM を使用してパッケージをインストールする

YUM は、Red Hat と Fedora の他、いくつかの RPM 系のディストリビューションに標準装備されています。RPM 系のディストリビューションの一部では、YUM 以外のツールで同様の機能を提供している場合もあります。

YUM を使用してパッケージをインストールする場合は、root として、install サブコマンドとインストールするパッケージの名前を渡して yum コマンドを実行します。

# yum install samba

注: Samba パッケージの名前は、ディストリビューションによって異なります。パッケージをインストールするのに、samba 以外の名前 (samba-server など) を使用しなければならない場合もあります。Fedora Linux では、パッケージ名として samba を使用することができます。

上記のコマンドを実行すると、YUM はそのリポジトリーをチェックし、最新のパッケージ (複数の場合もあります) をダウンロードしてインストールします。場合によっては、このコマンドが複数の Samba パッケージをインストールしたり、Samba パッケージ以外の依存関係パッケージをインストールしたりすることもあります。例えば Fedora システムでは、samba パッケージをインストールすると、samba だけでなく samba-commonsamba-client もインストールされます。

Yumex (別名、Yum Extender。コマンド名は yumex) などのグラフィカル YUM ユーティリティーを使用して、Samba や関連するパッケージを検索、およびインストールすることもできます (図 1 を参照)。Yumex とその他のグラフィカル・ユーザー・インターフェース (GUI) ツールは、Samba に関連するパッケージを検索する際に特に役立ちます。図 1 にはその例として、SWAT (Samba Web Administration Tool。コマンド名は samba-swat) などのパッケージが示されています。

図 1. 一部の RPM 系システムでパッケージ管理用 GUI フロント・エンドとして使用できる Yumex
一部の RPM 系システムでパッケージ管理用 GUI フロント・エンドとして使用できる Yumex

rpm を使用してパッケージをインストールする

場合によっては、ディストリビューションがサポートしていないために、YUM を使用できないことがあります。あるいは、ディストリビューションの保守管理者から提供されたバージョンよりも新しいパッケージが見つかった場合など、サイトから取得した、YUM がサポートしていない RPM パッケージをインストールしたいという場合もあります。そのような場合には、rpm ユーティリティーを使用してソフトウェアをインストールする必要があります。

連載の前回の記事で説明したように、できることならソフトウェア・パッケージをインストールする前に gpg を使って、そのパッケージが本物であることを確認してください。これを確認した後 (あるいは、このテストを実行できないか、実行しないことに決めた場合)、rpm--install (または -i) オプションを指定してパッケージをインストールします。このコマンドに --verbose (-v) および --hash (-h) オプションを追加すれば、パッケージのインストール状況を表示することもできます。この場合、最終的には以下のようなコマンドになります。

# rpm -ivh samba-3.5.6-69.fc13.x86_64.rpm

もちろん、Samba パッケージのファイル名は、ダウンロードしたファイルの名前に変更してください。ソフトウェアをインストールしようとしてエラー・メッセージが出た場合は、問題を手作業で解決する必要があります。ほとんどの場合、問題を解決するには前提条件ソフトウェアをインストールしなければなりません。それには、YUM を使用することができます。あるいは手動で必要なソフトウェアを見つけてダウンロードし、Samba パッケージをインストールする前にインストールするのでも構いません。手動でインストールする場合には、単一の rpm コマンドラインに複数のファイル名参照を含めることで、Samba パッケージと同時にインストールすることもできます。

RPM を使用して新しいバージョンにアップグレードする

RPM を使用すると、ソフトウェアをいとも簡単にアップグレードすることができます。YUM を使用する場合のプロセスは、ソフトウェアをインストールするときとほとんど同じです。ただし、install サブコマンドの代わりに、オプションで update サブコマンドを使用することもできます。rpm を直接使用する場合には、--install (-i) ではなく、--upgrade (-U) オプションを使用してください。実際、--upgrade/-U は新規ソフトウェアをインストールする場合にも使用できるので、一部の管理者は、このコマンドを --install/-i の代わりに使用して新規インストールを行っています。

RPM を使用してソフトウェアをアップグレードする際には、RPM のユーティリティーが古いソフトウェアをアンインストールしてから新しいバージョンをインストールするため、古いファイルは必ずすべて自動的に削除されます。試しに、/etc/samba/smb.conf などの構成ファイルをチェックしてみてください。通常、既存の構成ファイルはそのまま変更されずに残され、更新後のサンプル構成ファイルが元の構成ファイルと同じような名前 (例えば、/etc/samba/smb.rpmnew など) で作成されます。したがって、万が一構成ファイルに変更が生じて構成を調整しなければならない場合には、元の構成ファイルを参照することができます。安全対策として、アップグレードする前に元の構成ファイルをバックアップしておくことをお勧めします。


Debian パッケージのインストール

Debian パッケージは概念的には RPM パッケージと同様ですが、パッケージを操作するために必要なユーティリティーの詳細は異なります。Debian パッケージを使用する主要なディストリビューションは Debian および Ubuntu です。その他、いくつかのディストリビューションでもこのパッケージ・タイプが使用されています。

APT を使用してインストールする

多くの RPM 系ディストリビューションで使用されている YUM スイートと同じく、APT (Advanced Package Tools) スイートは依存性の解決を含めたネットワーク対応パッケージ管理を行います (少なくともデフォルトで APT を使用する PCLinuxOS をはじめ、APT を使用できる RPM 系ディストリビューションも多数あります)。

Samba をインストールする前に、あらかじめ APT に最新のパッケージ・リストを取得させておくのが最善です。それには、コマンド apt-get とそのサブコマンド update を使用します。

# apt-get update

このコマンドを実行すると、APT は構成済みリポジトリーにアクセスし、入手可能なパッケージの最新リストを取得し、システムで使用可能な最新バージョンの Samba をインストールできるようにします。コマンドライン API ツールを使ってパッケージをインストールするには、apt-get ユーティリティーと install サブコマンドを使用することができます。

# apt-get install samba

上記のコマンドを実行すると、インストールされるパッケージ、削除されるパッケージ、そしてアップグレードされるパッケージの要約と、オプションでインストールできるパッケージの推奨案が表示されます。変更内容に同意する場合は、プロンプトに対して「Y」と入力します。すると、ユーティリティーは下位レベルの Debian パッケージ管理ツールを使用して必要なパッケージをダウンロードし、インストールします。

GUI ツールを使用したいという場合には、図 2 に示す Synaptic ユーティリティー (コマンド名 synaptic) がその役目を果たします。Yumex と同様、Synaptic は、インストールしたいパッケージの正確な名前がわからない場合や、補助パッケージを見つける必要がある場合に特に重宝します。

図 2. ほとんどの Debian系システムおよび一部の RPM 系システムでパッケージ管理用 GUI フロント・エンドとなる Synaptic
ほとんどの Debian系システムおよび一部の RPM 系システムでパッケージ管理用 GUI フロント・エンドとなる Synaptic

dpkg を使用してインストールする

Samba をインストールするのに APT を使用できない場合、あるいは使用したくない場合には、下位レベルの dpkg ユーティリティーを使ってインストールすることができます。dpkg ユーティリティーは、インターネットからダウンロードできる Debian パッケージ・ファイル (ファイル名拡張子が .deb のファイル)、またはその他の手段を使ってコンピューター間で転送できる Debian パッケージ・ファイルで動作します。できれば、前回の記事で説明したように、gpg を使ってパッケージが本物であることを検証してください。新しいパッケージをインストールするには、以下のように --install (-i) オプションを使用します。

# dpkg -i samba_2:3.5.4~dfsg-1ubuntu8.1_i386.deb

依存するすべてのパッケージがインストール済みであれば、このコマンドは指定された Samba パッケージをインストールします。依存関係がすべて揃っていない場合、dpkg はエラーを出します。その場合には、該当するパッケージを API を使用してインストールするか、dpkg を使って手動でインストールする必要があります (お望みであれば、1 つの dpkg コマンドで複数のパッケージをインストールすることも可能です)。

Debian パッケージを使用して新しいバージョンにアップグレードする

Samba をアップグレードするには、Samba を初めてインストールする場合とまったく同じように、apt-get または dpkg ユーティリティーを使用することができます。RPM ツールとは異なり、ソフトウェアをアップグレードする場合に別途指定するオプションはありません。RPM を使用するときと同じく、構成ファイルをチェックして、その内容が変更されていないこと、そして利用できる新たなオプションが新規バージョンに含まれている場合に備え、新しいサンプル・ファイルがあるかどうかを確認します。

APT を使用する際には、install サブコマンドを使用する前に必ず apt-get update を実行して、使用可能なソフトウェアのデータベースをアップグレードする必要があります。apt-get upgrade または apt-get dist-upgrade を実行することで、コンピューター上のすべてのソフトウェアをアップグレードすることもできます (後者のコマンドは依存関係の解決のより高度な確認を行うため、古いパッケージを削除することができます)。


Samba の起動

ディストリビューション用に設計されたバイナリー・パッケージを使って Samba をインストールすると、コンピューターの再起動時に Samba を起動するための SysV または Upstart 起動スクリプトが組み込まれます。ただし、この起動スクリプトは、パッケージを初めてインストールする時点でアクティブになっている場合も、そうでない場合もあります。Samba がどのランレベルで起動するかを判別するには、ローカル起動管理ツールを使用するか (Fedora および Fedora 関連のディストリビューションでは chkconfig を使用し、Debian 系のシステムでは rc-update を使用するのが一般です)、あるいは手動で SysV 起動リンクまたは Upstart 構成ファイルを検査する必要があります。

注:inetdxinetd などのスーパーバイザーによって Samba を実行することも可能ですが、そのような構成はめったになく、パフォーマンス問題の原因となります。

ソース・コードから Samba をインストールした場合は、独自の SysV または Upstart 起動スクリプトを作成するか、ローカル起動スクリプト (/etc/rc.d/rc.local または /etc/init.d/rc.local など) のエントリーによってサーバーを起動する必要があります。通常は、smbd サーバーと nmbd サーバーを起動し、この両方に -D オプションを渡すことによってサーバーをデーモンとして動作させなければなりません。したがって、最小構成は以下のようになります。

/usr/local/sbin/nmbd -D
/usr/local/sbin/smbd -D

もちろん、上記のバイナリーのパスは、それぞれの構成に合わせて変更する必要があります。関連するサーバー (例えば SWAT など) についても同様の方法で起動してください。


次回の予告

LPIC-3 の目標 312.1 (そして連載の次回の記事) では、Samba 構成の基本として、Samba 構成ファイルの構造、基本的な Samba オプションの設定、一般的な問題のデバッグなどを取り上げています。

参考文献

学ぶために

製品や技術を入手するために

  • Samba Web サイトで、Samba をダウンロードしてください。このサイトでは、詳細情報についても調べられます。
  • ご自分に最適な方法で IBM 製品を評価してください。評価の方法としては、製品の試用版をダウンロードすることも、オンラインで製品を試してみることも、クラウド環境で製品を使用することもできます。また、SOA Sandbox では、数時間でサービス指向アーキテクチャーの実装方法を効率的に学ぶことができます。

議論するために

  • My developerWorks コミュニティーに加わってください。ここでは他の developerWorks ユーザーとのつながりを持てる他、開発者が主導するブログ、フォーラム、グループ、ウィキを調べることができます。

コメント

developerWorks: サイン・イン

必須フィールドは(*)で示されます。


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


お客様が developerWorks に初めてサインインすると、お客様のプロフィールが作成されます。会社名を非表示とする選択を行わない限り、プロフィール内の情報(名前、国/地域や会社名)は公開され、投稿するコンテンツと一緒に表示されますが、いつでもこれらの情報を更新できます。

送信されたすべての情報は安全です。

ディスプレイ・ネームを選択してください



developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

必須フィールドは(*)で示されます。

3文字から31文字の範囲で指定し

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


送信されたすべての情報は安全です。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Linux
ArticleID=660381
ArticleTitle=Linux の 302 (Mixed Environment) 試験対策: Samba のインストールとアップグレード
publish-date=04202011