○ Samba(rpm)インストール

・Windows,Linuxのファイル共有のためのサーバを構築します
・samba-3.5.9のソースからrpmを作成し、インストールします
・smbfsはCentOSではモデュールとして組み込まれていません
・CIFSをモデュールとして組み込んでいます
・smbmountはこのバージョンでは外されています

・パッケージの取得、削除は省略します
・エディタ、ファイラーの操作は省略します
・ソースを展開したら説明文を読みましょう
・Enterキーを省略します

・ログイン端末で "#" はroot、"$" は一般ユーザのプロンプトの記号です
・設定ファイルで "#" で始まる行はコメントとして解釈されます

○関連サイト

:samba-3.5.9.tar.gz (http://www.samba.org/samba/)

○参照ファイル

パッケージの追加
最初の設定 (Xen)

○パッケージビルド環境

:OS CentOS 5.6
:selinux disabled or permissive
:インストール先 
:作業 /usr/src
:言語 LANG=ja_JP.UTF-8
:ユーザー rootで実行

・メンテナンスの場合は一般ユーザから行います



○samba-3.5.9

○Buildに必要な開発パッケージ

・samba.specファイルに記述されているものです

BuildRequires: pam-devel, readline-devel, fileutils, libacl-devel,
openldap-devel, krb5-devel, cups-devel, keyutils-libs-devel

○ソースの展開・ビルド

# cd /usr/src
[root@saturn:/usr/src]
# mkdir samba
# tar zxvf samba-3.5.9.tar.gz
# chown -R root:root samba-3.5.9
# cd samba-3.5.9/packaging/RHEL
[root@saturn:/usr/src/samba-3.5.9/packaging/RHEL]

・samba.specの修正 (下記参照)

# vi samba.spec

# chmod 755 makerpms.sh
# ./makerpms.sh

・rpmパッケージが作られます

# cd /usr/src/redhat/SPECS
[root@saturn:/usr/src/redhat/SPECS]
# mv samba.spec /usr/src/samba
# cd ../RPMS/i386
[root@saturn:/usr/src/redhat/RPMS/i386]

・作成されたパッケージ
 samba-3.5.9-1.C56.i386.rpm
 samba-client-3.5.9-1.C56.i386.rpm
 samba-doc-3.5.9-1.C56.i386.rpm
 samba-common-3.5.9-1.C56.i386.rpm
 samba-swat-3.5.9-1.C56.i386.rpm

# rm *debuginfo*
# mv *.rpm /usr/src/samba
# cd ../../SRPMS
[root@saturn:/usr/src/redhat/SRPMS]

・作成されたパッケージ
 samba-3.5.9-1.C56.src.rpm

# mv *.rpm /usr/src/samba

:samba-3.5.9/packaging/RHEL/samba.spec

・samba-swatのインストール時にxinetdの要求をしない

・省略

Packager: Samba Team <samba@samba.org>
Name:         samba
Version:      3.5.9
Release:      1.C56
Epoch:        0
License: GNU GPL version 3
Group: System Environment/Daemons

・省略

Prefix: /usr
BuildRoot: %{_tmppath}/%{name}-%{version}-root
BuildRequires: pam-devel, readline-devel, fileutils, libacl-devel
BuildRequires: openldap-devel, krb5-devel, cups-devel, keyutils-libs-devel

・省略

%package swat
Summary: The Samba SMB server configuration program.
Group: Applications/System
Requires: samba = %{version}
Provides: samba-swat = %{version}-%{release}

・省略

## always run autogen.sh
./autogen.sh

CC="$CC" CFLAGS="$RPM_OPT_FLAGS $EXTRA -D_GNU_SOURCE" \
./configure \
	--prefix=%{_prefix} \
	--localstatedir=/var \
        --with-configdir=%{_sysconfdir}/samba \

・省略

        --with-acl-support \
	--with-ads \
        --with-automount \
        --with-cifsumount \
        --with-cifsupcall \
        --with-fhs \
	--with-pam_smbpass \
	--with-libsmbclient \

・省略

%attr(755,root,root) /%{_libarch}/libnss_winbind.so*
%attr(755,root,root) /%{_libarch}/security/pam_winbind.so
%attr(755,root,root) /%{_libarch}/security/pam_smbpass.so
/usr/share/locale/de/LC_MESSAGES/net.mo
/usr/share/locale/de/LC_MESSAGES/pam_winbind.mo
/usr/share/locale/ar/LC_MESSAGES/pam_winbind.mo
/usr/share/locale/cs/LC_MESSAGES/pam_winbind.mo

・省略

%{_includedir}/netapi.h
%{_includedir}/wbclient.h
%{_includedir}/wbc_async.h
%{_includedir}/talloc.h
%{_includedir}/tdb.h
%{_libarchdir}/libnetapi.so*

・省略

%{_mandir}/man1/testparm.1*
%{_mandir}/man5/smb.conf.5*
%{_mandir}/man5/lmhosts.5*
%{_mandir}/man5/pam_winbind.conf.5*
%{_mandir}/man8/smbpasswd.8*
%{_mandir}/man7/libsmbclient.7*
%{_mandir}/man8/pam_winbind.8*

・省略


○インストール

・3.3.0以前のバージョンからupdateする場合、passdb.tdbをbackupします

# cd ~
[root@saturn:~]
# tdbbackup /etc/samba/passdb.tdb

・rpmパッケージをインストールします

# cd /usr/src/samba
[root@saturn:/usr/src/samba]
# rpm -Uvh samba-common* samba-client* samba-3.5.9-1.C56.i386.rpm

○ Copyright(c) 528p.com All Rights Reserved.