On Fri, 15 May 2009 11:00:15 -0600
Rich Megginson <rmeggins(a)redhat.com> wrote:
> Ky` Anh, Huy`nh wrote:
>
>> Hi all,
>>
>> I am going to install FDS on a FreeBSD jail. This means that FDS
>> will use FC8 compatibility mode which provided by FreeBSD 7.2. I
>> downloaded the binary version of FDS 1.04
>> (fedora-ds-1.0.4-1.FC6.i386.opt.rpm) and my initial installation
>> worked perfectly. This is only a *test* and now I'd like to
>> install the latest version of FDS. I searched at
>>
>>
http://directory.fedoraproject.org/yum/dirsrv/fedora/
>>
>> but there were so many packages that made me confused. I'd like
>> to know:
>>
>> (1) what are components of FDS 1.2.0 and what files should I
>> download to get FDS worked in FC8? (If FDS binaries work on FC8
>> they should work on a FreeBSD jail ;)
>>
>> (2) is it necessary to start the web interface of FDS? I just
>> like to setup a LDAP database and then run all from command lines
>> without touching the web browsers (yes I hate GUI). If this is
>> the case I will run only FDS service and have nothing to do with
>> Apache/Java requirements of FDS. In fact I don't want to install
>> any web servers on my FDS server.
>>
>> Your helps are highly appreciated. And if you have ever
>> experienced FDS on FreeBSD please give me some advices!
>>
>>
> fedora-ds-base - core directory server, no UI, no admin server - if
> you don't care about admin server or console, you can just install
> this
>
Thank you, Rich.
I've built `fedora-ds-base` successfully on FC8. Then I move all built files to my
FreeBSD machine to test. You can read some details at
http://forums.freebsd.org/showthread.php?p=24826#post24826.
After chroot-ing to Linux inside FreeBSD I run `setup-ds.pl` to create the first instance
of FDS. The script worked very well but it couldnot start the service as below.
/==============================================================================
$ uname -s
FreeBSD
$ chroot /home/fc8/ /bin/bash
# # now i'm in Linux mode
# /opt/fedora-ds/sbin/ns-slapd \
-d 9 \
-D /opt/fedora-ds/etc/dirsrv/slapd-fds2 \
-i /opt/fedora-ds/var/run/dirsrv/slapd-fds2.pid \
-w /opt/fedora-ds/var/run/dirsrv/slapd-fds2.startpid
....
[20/May/2009:13:35:18 +0700] - Fedora-Directory/1.2.0 B2009.139.99 starting up
[20/May/2009:13:35:18 +0700] - Failed to create semaphore for stats
file (/opt/fedora-ds/var/run/dirsrv/slapd-fds2.stats). Error
38.(Function not implemented)
\==============================================================================
FDS tried to create stat file but it failed to do that. So it stopped working.
Is there anyone who experiences this problem?
Yes. I don't know why chroot environments trigger this problem
# in chroot environments, sem_open doesn't work
# gets errno 38 (function not implemented)
# I found some information that says this:
# As sem_open() creates named semaphores, it always tries to share them
between processes.
# Additionally, to support sharing named semaphores with sem_open()
# add a line to /etc/fstab to mount /dev/shm as a tmpfs
# tmpfs /dev/shm tmpfs defaults 0 0
# run mount /dev/shm or reboot
NOTE: you have to mount /dev/shm in the same chroot session as the one
you run the server in - you cannot do something like
chroot "mount /dev/shm"
then in another session
chroot "start-slapd"
The mount does not persist between chroot sessions.