○ Samba(rpm)インストール

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

**以降はコメントです
*パッケージの取得、削除は省略します
*エディタ、ファイラーの操作は省略します
*Enterキーを省略します

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

○関連サイト

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

○参照ファイル

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

○パッケージビルド環境

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

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



○samba-3.5.4

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

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

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

○ソースの展開・ビルド

# cd /usr/src
# mkdir samba
# tar zxvf samba-3.5.4.tar.gz
# chown -R root:root samba-3.5.4
# cd samba-3.5.4/packaging/RHEL

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

# vi samba.spec

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

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

# cd /usr/src/redhat/SPECS
# cp mv samba.spec /usr/src/samba
# cd ../RPMS/i386

*作成されたパッケージ
 samba-3.5.4-1.C55.i386.rpm
 samba-client-3.5.4-1.C55.i386.rpm
 samba-doc-3.5.4-1.C55.i386.rpm
 samba-common-3.5.4-1.C55.i386.rpm
 samba-swat-3.5.4-1.C55.i386.rpm

# rm *debuginfo*
# mv *.rpm /usr/src/samba
# cd ../../SRPMS

*作成されたパッケージ
 samba-3.5.4-1.C55.src.rpm

# mv *.rpm /usr/src/samba

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

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

*省略

Packager: Samba Team <samba@samba.org>
Name:         samba
Version:      3.5.4
Release:      1.C55
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します

# tdbbackup /etc/samba/passdb.tdb

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

# cd /usr/src/samba
# rpm -Uvh samba-common* samba-client* samba-3.5.4-1.C55.i386.rpm

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