作成開始 : 平成22年12月12日(日) 最終更新 : 平成22年12月17日(金)

Samba 3の設定 (FreeBSD 8.1 RELEASE)


※ports_dir = /usr2/ports にしています。

gnome をパッケージからインストールした時に依存関係からか知らないうちに samba4-devel-4.0.0.a11 がインストールされていた。
これは、次世代版ということで安定版としては samba3 がお勧めらしい。
調べてみると、Active Directory とかでドメインコントローラとしての機能が主のようで、ファイル共有だけ使いたい人にとってはただ面倒なだけの感じがする。
それに、設定もやたらと面倒な感じ・・・

なので、samba4-devel-4.0.0.a11 はやめて samba3 を ports から入れてみたい。

1.samba4-devel-4.0.0.a11 の確認と削除

fmv645# pkg_info | grep samba
samba34-libsmbclient-3.4.8 Shared libs from the samba package
samba4-devel-4.0.0.a11 A free SMB and CIFS client and server for UNIX
パッケージの依存関係は・・・
fmv645# pkg_info -rR samba4-devel-4.0.0.a11
Information for samba4-devel-4.0.0.a11:

Depends on:
Required by:
libmapi-0.9_2
samba4-devel-4.0.0.a11 を pkg_delete しても大丈夫かな?

 ↑
なんか、エラー出ているけどこれで良かったんだろうか?

2.samba3 の確認

/usr2/ports/japanese/samba3 にありました。

3.インストール前の確認

samba で windowsマシンとのファイル共有をする場合には、libiconv で CP932 と eucJP-ms が無いと、まれにで文字化けがおこるらしい。(全角のローマ数字とか普段使わないような文字が対象)
UTF-8 を使うのであれば必要無いのかもしれないが、あってもまぁいいかなって感じなので確認をする。
fmv645# iconv -l | grep -i -e cp932 -e eucjp
EUC-JP EUCJP EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE CSEUCPKDFMTJAPANESE CP932
・・・gnomeをpackageでインストールした時に入っていましたね。CP932はあったけど EUC-JP-MS , EUCJP-MS が無い。
インストール済みのバージョンは?
fmv645# pkg_info | grep libiconv
libiconv-1.13.1_1 A character set conversion library
では、これをアンインストールして ports からインストールしてみます。
かなり依存関係があるけど、大丈夫かな?
fmv645# pkg_delete libiconv-1.13.1_1
このまま、pkg_delete だと依存関係があってアンインストールできないとのこと。
では、強制的にアンインストールしてみます。
fmv645# pkg_delete -f libiconv-1.13.1_1
pkg_delete: package 'libiconv-1.13.1_1' is required by these other packages
and may not be deinstalled (but I'll delete it anyway):
libxml2-2.7.7
dbus-1.2.24_1
gettext-0.18_1
xkeyboard-config-1.8_1
glib-2.24.1_1
gamin-0.1.10_4
gio-fam-backend-2.24.1_1
dbus-glib-0.86_1
policykit-0.9_6
eggdbus-0.6_1
bison-2.4.1_1,1
gobject-introspection-0.6.14
polkit-0.96_2
consolekit-0.4.1_3
hal-0.5.14_8
xorg-server-1.7.5,1
xf86-video-vesa-2.3.0
xf86-video-radeonhd-1.3.0_3
xf86-video-r128-6.8.1
xf86-video-openchrome-0.2.904_2
xf86-video-nv-2.1.17
xf86-video-mach64-6.8.2
xf86-video-intel-2.7.1_3
xf86-video-ati-6.13.0
xf86-input-mouse-1.5.0
xf86-input-keyboard-1.4.0
xorg-drivers-7.5
xorg-7.5
p5-Text-Iconv-1.7
p5-XML-SAX-Writer-0.52
p5-XML-Twig-3.35
sdl-1.2.14_1,2
unixODBC-2.3.0
ptlib-2.6.5_2
apr-ipv6-devrandom-gdbm-db42-1.4.2.1.3.9_1
apache-2.2.15_9
samba34-libsmbclient-3.4.8
exempi-2.1.1
py26-libxml2-2.7.7
poppler-0.12.4
p5-Net-DBus-0.33.6
neon29-0.29.3_1
guile-1.8.6_4
gnome-backgrounds-2.30.0_1
iso-codes-3.17
libidn-1.15_1
aspell-0.60.6_3
bash-4.1.7
libexif-0.6.18_1
libgphoto2-2.4.9.1
popt-1.14_1
gnome-mime-data-2.18.0_4
libgpg-error-1.7_1
libassuan-2.0.0
libksba-1.0.7
libgcrypt-1.4.5_1
gnupg-2.0.15
gpgme-1.3.0
libggz-0.0.14.1_6
ggz-client-libs-0.0.14.1_2
gnutls-2.8.6_1
libxslt-1.1.26_1
getopt-1.1.4_2
rarian-0.8.1
gnome-doc-utils-0.20.1_1
gnome-user-docs-2.30.1
libxklavier-5.0,1
enchant-1.4.2
loudmouth-1.4.3_3
glibmm-2.24.2_2,1
libxml++-2.30.0
cairomm-1.8.4_1
libcroco-0.6.2_1
py26-gobject-2.21.1
py26-papyon-0.4.6
gmime-24-2.4.15
desktop-file-utils-0.15_2
libgtop-2.28.1_3
gnome-menus-2.30.0_1
gstreamer-0.10.29_1
gstreamer-plugins-0.10.29,3
gstreamer-plugins-gio-0.10.29,3
libnice-0.0.12_1
gstreamer-plugins-good-0.10.23,3
gstreamer-plugins-v4l2-0.10.23,3
gstreamer-plugins-libpng-0.10.23,3
gstreamer-plugins-bad-0.10.19,3
gstreamer-plugins-dts-0.10.19,3
gstreamer-plugins-xvid-0.10.19,3
gstreamer-plugins-ugly-0.10.15,3
gstreamer-plugins-mpeg2dec-0.10.15,3
gstreamer-plugins-dvd-0.10.15,3
gstreamer-ffmpeg-0.10.10
pango-1.28.0_1
pangomm-2.26.2_1
gstreamer-plugins-pango-0.10.29,3
libgnomeprint-2.18.7_1
telepathy-glib-0.10.5
libtelepathy-0.3.3_1
telepathy-idle-0.1.6
py26-dbus-0.83.1_1
py26-telepathy-python-0.15.17
py26-telepathy-butterfly-0.5.9
avahi-app-0.6.25_3
ap22-mod_dnssd-0.6_8
system-tools-backends-2.10.0
upower-0.9.4_1
hal-info-20091130
gstreamer-plugins-hal-0.10.23,3
liboobs-2.30.1
shared-mime-info-0.71_1
PackageKit-0.6.3_1
libIDL-0.8.14_1
ORBit2-2.14.18_1
libbonobo-2.24.3_1
py26-orbit-2.24.0
gstreamer-plugins-theora-0.10.29,3
libmusicbrainz3-3.0.2_3
libcddb-1.3.2_1
gstreamer-plugins-ogg-0.10.29_1,3
gstreamer-plugins-vorbis-0.10.29,3
gstreamer-plugins-mad-0.10.15,3
gstreamer-plugins-mp3-0.10.0_1
gstreamer-plugins-a52dec-0.10.15,3
gstreamer-plugins-core-0.10_12
freedesktop-sound-theme-0.7_1
flac-1.2.1_2
gstreamer-plugins-flac-0.10.23,3
libsndfile-1.0.21_2
libsamplerate-0.1.7_1
opal3-3.6.6_7
gstreamer-plugins-cdparanoia-0.10.29,3
libcdio-0.82_1
gtar-1.23_2
gnome-speech-0.4.25
atk-1.30.0_1
gtk-2.20.1_2
libxul-1.9.0.17_2
libsexy-0.1.11_5
gtkglext-1.2.0_8
vte-0.24.1
gtkmm-2.20.3_1
polkit-gnome-0.96_4
gtkimageview-1.6.4_2
clutter-1.2.8_1
clutter-gtk-0.10.4_1
unique-1.1.6_1
gtk-engines2-2.20.1_1
libnotify-0.4.5_4
zenity-2.30.0_1
libglade2-2.6.4_3
xscreensaver-gnome-hacks-5.10_2
avahi-gtk-0.6.25_3
py26-gtk-2.17.0_4
gtk-vnc-0.3.10_3
py26-gstreamer-0.10.18
farsight2-0.0.19_1
telepathy-farsight-0.0.13_2
libgnomecanvas-2.30.1_1
gconf2-2.28.1_1
yelp-2.30.1_1
gnome-nettool-2.30.0_1,1
gucharmap-2.30.1_1
gir-repository-gconf2-0.6.5_4
gtksourceview2-2.10.3
py26-gtksourceview-2.10.1
libgnomekbd-2.30.1_1
gcalctool-5.30.1_1,2
telepathy-mission-control-5.3.2
ekiga3-3.2.6_5
gnome-desktop-2.30.0
libgsf-1.14.18_1
librsvg2-2.26.3_1
libcanberra-0.24_1
gnome-packagekit-2.30.0_1
metacity-2.30.1_1
gnome-themes-2.30.1_1
gstreamer-plugins-gconf-0.10.23,3
gnome-vfs-2.24.3_1
totem-pl-parser-2.30.1_1
libgnome-2.30.0_1
gnome-terminal-2.30.1_1
libbonoboui-2.24.3_1
policykit-gnome-0.9.2_5
libgnome-keyring-2.30.1_1
gnome-keyring-2.30.1_2
gnome-screensaver-2.30.0_1
gnome-mount-0.8_6
libsoup-2.30.1_1
swfdec-0.8.4_3
swfdec-gnome-2.30.0_1
seahorse-2.30.1_1
gstreamer-plugins-soup-0.10.23,3
gedit-2.30.2_1
gir-repository-libsoup-0.6.5_4
libgdata-0.6.4_1
webkit-gtk2-1.2.1_1
seed-2.30.0_2
epiphany-2.30.2_1
telepathy-gabble-0.8.13
gvfs-1.6.2_1
nautilus-2.30.1_1
gnome-user-share-2.30.0_2
gnome-system-tools-2.30.1_1
file-roller-2.30.1.1_1,1
brasero-2.30.1_1
pulseaudio-0.9.21_4
gnome-settings-daemon-2.30.1_1
totem-2.30.2
gnome-session-2.30.0_1
gnome-media-2.30.0_1
sound-juicer-2.28.2_1
gnome-icon-theme-2.30.3
gtkhtml3-3.30.1_1
eog-2.30.1_1
libgnomeui-2.24.3_1
gconf-editor-2.30.0_1,1
gnome-spell-1.0.8_6
py26-gnome-2.28.1_1
py26-clutter-1.0.2_1
py26-cluttergtk-0.10.0
libchamplain-0.4.6_1
libgnomeprintui-2.18.5_1
gtksourceview-1.8.5_7
libgweather-2.30.0_1
evolution-data-server-2.30.1_2
gnome-control-center-2.30.1_1
evolution-webcal-2.28.1_1
evolution-2.30.1.2_3
libwnck-2.30.0_1
gnome-panel-2.30.0_1
gdm-2.30.2_1
vino-2.28.2_1
fmv645# pkg_info -rR libiconv-1.13.1_1
pkg_info: can't find package 'libiconv-1.13.1_1' installed or in a file!
fmv645#
とりあえず削除できましたね。
■libiconv のインストール
cd /usr/ports/converters/libiconv
make config-recursive


 ↑
config画面が出るので「EXTRA_PATCHES」 にチェックを付けてOK

make install clean

iconv -l | grep -i -e cp932 -e eucjp で確認!
fmv645# iconv -l | grep -i -e cp932 -e eucjp
EUC-JP EUCJP EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE CSEUCPKDFMTJAPANESE
EUC-JP-MS EUCJP-MS EUCJP-OPEN EUCJP-WIN EUCJPMS
CP932 MS932 SHIFT_JIS-MS SJIS-MS SJIS-OPEN SJIS-WIN WINDOWS-31J WINDOWS-932 CSWINDOWS31J

今度はきましたね。
fmv645# pkg_info -rR libiconv-1.13.1_1
Information for libiconv-1.13.1_1:

Depends on:
依存関係が無くなってしまいました。またまた、これで良かったのかなー?
再起動してみます。
  ↓
gnomeの動きには問題無かったので続行することにした。

3.samba3 のインストール

これも ports からインストールしてみます。
fmv645# cd /usr2/ports/japanese/samba3
make config-recursive

 ↑
config 画面です。あれっ SWAT のチェックが無い!

 ↑
このまま「OK」しました。

 ↑
このまま「OK」しました。

 ↑
このまま「OK」しました。

 ↑
このまま「OK」しました。
fmv645# make install clean
===> NOTICE: This version of port has changed location of Samba password
===> NOTICE: (smbpasswd) directory. Files in '/usr/local/private'
===> NOTICE: have moved to '/usr/local/etc/samba'.

===> ja-samba-3.0.35_1,1 conflicts with installed package(s):
tdb-1.2.0

They install files into the same place.
Please remove them first with pkg_delete(1).
*** Error code 1

Stop in /usr2/ports/japanese/samba3.
*** Error code 1

Stop in /usr2/ports/japanese/samba3.


あれっ!! どういうこと?
先に tdb-1.2.0 を削除しろってか!
fmv645# pkg_delete tdb-1.2.0
fmv645# make install clean
しかし、/usr2 の容量が「0」になってしまったのでコンパイルが stop した。
なので、手持ちの USBメモリを挿して/usr4 としてマウントした。ここに /usr2/ports を追い出すことにする。
fmv645# cd /usr4/ports/japanese/samba3
fmv645# make install clean
途中まで順調だったけど、コンパイルで以下のエラーで止まってしまった。なんで?
Linking bin/net
libaddns/dnsrecord.o(.text+0x10b): In function `dns_create_rrec':
: undefined reference to `_talloc_free'
libaddns/dnsrecord.o(.text+0x1da): In function `dns_create_tsig_record':
: undefined reference to `_talloc_free'
libaddns/dnsrecord.o(.text+0x352): In function `dns_create_tkey_record':
: undefined reference to `_talloc_free'
libaddns/dnsrecord.o(.text+0x64e): In function `dns_unmarshall_tkey_record':
: undefined reference to `_talloc_free'
libaddns/dnsrecord.o(.text+0x70e): In function `dns_create_a_record':
: undefined reference to `_talloc_free'
libaddns/dnsrecord.o(.text+0x8a5): more undefined references to `_talloc_free' follow
*** Error code 1

Stop in /usr4/ports/tmp/usr4/ports/japanese/samba3/work/samba-3.0.35/source.
*** Error code 1

Stop in /usr4/ports/japanese/samba3.
*** Error code 1

Stop in /usr4/ports/japanese/samba3.
*** Error code 1

Stop in /usr4/ports/japanese/samba3.
これって、sambaのオプションモジュールかな?
調べると、「devel/tallocが入っていると以下のようにjapanese/samba3のコンパイルが失敗する。/usr4/ports/japanese/samba3/work/samba-3.*/source/lib/talloc/のものでなく、/usr/local/lib/libtalloc.aを見に行っちゃうのがまずいようだ」
・・・っていうのがあった。
ひとまず、次で対処とした。
fmv645# pkg_info | grep talloc
talloc-2.0.1 Hierarchical pool based memory allocator
fmv645# pkg_delete -f talloc-2.0.1
pkg_delete: package 'talloc-2.0.1' is required by these other packages
and may not be deinstalled (but I'll delete it anyway):
tevent-0.9.8
samba34-libsmbclient-3.4.8
gnome-vfs-2.24.3_1
totem-pl-parser-2.30.1_1
libgnome-2.30.0_1
gnome-terminal-2.30.1_1
libbonoboui-2.24.3_1
gvfs-1.6.2_1
nautilus-2.30.1_1
gnome-user-share-2.30.0_2
gnome-system-tools-2.30.1_1
file-roller-2.30.1.1_1,1
brasero-2.30.1_1
totem-2.30.2
sound-juicer-2.28.2_1
libgnomeui-2.24.3_1
gconf-editor-2.30.0_1,1
gnome-spell-1.0.8_6
py26-gnome-2.28.1_1
py26-clutter-1.0.2_1
py26-cluttergtk-0.10.0
libchamplain-0.4.6_1
gtksourceview-1.8.5_7
evolution-webcal-2.28.1_1
evolution-2.30.1.2_3
gnome-panel-2.30.0_1
gdm-2.30.2_1
vino-2.28.2_1
fmv645# pkg_info | grep talloc
fmv645# cd /usr4/ports/japanese/samba3
fmv645# make install clean
あれぇー、これでもダメ!
どうやら ja-samba 3.0.35_1 はダメなようです。
あきらめて、net/samba34 をインストールすることにします。
(rm -rf /usr4/ports/tmp/usr4/ports/japanese と rm -rf /usr4/ports/tmp/usr4/ports/print しました。)
fmv645# cd /usr4/ports/net/samba34
fmv645# make config-recursive

 ↑
とりあえず、ディフォルトに「SWAT」を追加しました。
fmv645# make install clean
===> Cleaning for talloc-2.0.1
===> Cleaning for samba34-3.4.8
pkg_delete した talloc-2.0.1 も依存関係でコンパイルしたようです。
では、/etc/rc.conf に samba_enable="YES" を追加して OS 再起動してみます。
そして、swat が動くか確認します。
しかし、この時点では swat は動いていません。
やはり、/etc/inetd.conf に書かないといけないようです。
#swat stream tcp nowait/400 root /usr/local/sbin/swat swat
    ↓
swat stream tcp nowait/400 root /usr/local/sbin/swat swat
そして、kill -HUP `cat /var/run/inetd.pid` で inetd を再起動します。
その後、http://fmv645.takaq.jp:901 で接続します。

 ↑
きましたね♪

 ↑
無事に接続できました。
swat で環境設定を1からしてもいいし、/usr/local/etc/smb.conf に直接書いてもいいでしょう。
私の場合、メインのWebサーバーでも samba3 が動いていますので、そこからGETしました。
自宅LAN内でとりあえずWindows共有できればいいので下記のとおりです。
[global]
dos charset = UTF8
display charset = EUCJP-MS
workgroup = SENDAI
security = SHARE
encrypt passwords = No
ldap ssl = no
hosts allow = 192.168.0.0/16

[www]
comment = Html Root
path = /usr3/httpd/html
read only = No
guest ok = Yes
swat から smbd, nmbd を再起動します。

 ↑
どうやらOKですね。

戻る

サイトトップへ