Hi Tom, Ok, I've just tested a step-by-step procedure, please see below. Let me know if you find any issues.
Cheers, Everton # install GNU awk sudo aptitude install gawk # create work dir cd ;# get back to home dir mkdir quagga cd quagga # get software wget http://www.quagga.net/download/quagga-0.99.17.tar.gz wget http://download.savannah.gnu.org/releases/qpimd/qpimd-0.162.tar.gz # unpack software tar xzf quagga-0.99.17.tar.gz tar xzf qpimd-0.162.tar.gz # apply patch patch -p1 -d quagga-0.99.17 < qpimd-0.162/pimd-0.162-quagga-0.99.17.patch # enter source tree cd quagga-0.99.17 # configure source tree ./configure --prefix=/usr/local/quagga --enable-pimd --enable-tcp-zebra # compile make # remove previous installation binaries from way (if any) sudo mv /usr/local/quagga /usr/local/quagga.old # install binaries (under /usr/local/quagga) sudo make install # copy sample configuration sudo cp /usr/local/quagga/etc/zebra.conf.sample /usr/local/quagga/etc/zebra.conf sudo cp /usr/local/quagga/etc/pimd.conf.sample /usr/local/quagga/etc/pimd.conf # tell zebra daemon to send logging to stdout (ease debugging) sudo echo 'log stdout' >> /usr/local/quagga/etc/zebra.conf # we will run daemons as user "quagga" # then, we now create group and user "quagga" # (any user would do, but be consistent referencing it afterwards) sudo groupadd quagga sudo useradd quagga -g quagga # give "quagga" user permissions to config files sudo chown -R quagga:quagga /usr/local/quagga/etc # start zebra daemon sudo /usr/local/quagga/sbin/zebra -u quagga -g quagga -i /usr/local/quagga/etc/zebra.pid 2011/08/22 19:58:17 ZEBRA: Zebra 0.99.17 starting: vty@2601 # start pimd daemon sudo /usr/local/quagga/sbin/pimd -i /usr/local/quagga/etc/pimd.pid 2011/08/22 20:02:08 PIM: Boot logging temporarily directed to stdout - begin 2011/08/22 20:02:08 PIM: Quagga 0.99.17 pimd 0.162 starting 2011/08/22 20:02:08 PIM: Boot logging temporarily directed to stdout - end 2011/08/22 20:02:08 PIM: Loading configuration - begin 2011/08/22 20:02:08 PIM: pim_if_add_vif: ifindex=0 < 1 on interface eth0 % Interface eth0 does not exist 2011/08/22 20:02:08 PIM: Loading configuration - end 2011/08/22 20:02:08 PIM: Quagga 0.99.17 pimd 0.162 starting, VTY interface at port TCP 2611 2011/08/22 20:02:08 PIM: PIM_MOTD_VERSION: adding pimd version to default MOTD 2011/08/22 20:02:08 PIM: PIM_ZCLIENT_DEBUG: zclient debugging is supported, mode is OFF (see option -Z) 2011/08/22 20:02:08 PIM: PIM_CHECK_RECV_IFINDEX_SANITY: will match sock/recv ifindex 2011/08/22 20:02:08 PIM: PIM_USE_QUAGGA_INET_CHECKSUM: using Quagga's builtin checksum 2011/08/22 20:02:08 PIM: PIM_GETTIME_USE_GETTIMEOFDAY: work-around improper monotonic clock 2011/08/22 20:02:08 PIM: HAVE_CLOCK_MONOTONIC 2011/08/22 20:02:08 PIM: zclient update contacting ZEBRA daemon at socket TCP 127.0.0.1,2600 2011/08/22 20:02:08 PIM: zclient_init cleared redistribution request 2011/08/22 20:02:08 PIM: pim_zebra_init: requesting redistribution for system (0) 2011/08/22 20:02:08 PIM: pim_zebra_init: requesting redistribution for kernel (1) 2011/08/22 20:02:08 PIM: pim_zebra_init: requesting redistribution for connected (2) 2011/08/22 20:02:08 PIM: pim_zebra_init: requesting redistribution for static (3) 2011/08/22 20:02:08 PIM: pim_zebra_init: requesting redistribution for rip (4) 2011/08/22 20:02:08 PIM: pim_zebra_init: requesting redistribution for ripng (5) 2011/08/22 20:02:08 PIM: pim_zebra_init: requesting redistribution for ospf (6) 2011/08/22 20:02:08 PIM: pim_zebra_init: requesting redistribution for ospf6 (7) 2011/08/22 20:02:08 PIM: pim_zebra_init: requesting redistribution for isis (8) 2011/08/22 20:02:08 PIM: pim_zebra_init: requesting redistribution for bgp (9) 2011/08/22 20:02:08 PIM: pim_zebra_init: requesting redistribution for hsls (10) 2011/08/22 20:02:08 PIM: pim_zebra_init: requesting default information redistribution 2011/08/22 20:02:08 PIM: pim_zebra_init: zclient update socket initialized 2011/08/22 20:02:08 PIM: zclient_lookup_sched_now: zclient lookup immediate connection scheduled 2011/08/22 20:02:08 PIM: zclient_lookup_new: zclient lookup socket initialized 2011/08/22 20:02:08 PIM: zclient_lookup_connect: FIXME blocking connect: zclient_socket() ### the logging above shows a healthy boot from pimd ### On Mon, Aug 22, 2011 at 6:13 PM, Tom M <[email protected]> wrote: > Everton, > I really appreciate your help so far, but I'm still confused... > I tried to start all over and reconfigure everything but I wasn't sure what > steps I should do (and shouldn't) and in which order now. > When I started over I did > ./configure --prefix=/usr/local/quagga > --enable-pimd --localstatedir=/var/run/quagga > and it looked like there were a lot of errors... > and by the time I got to the > when I did sudo /usr/local/quagga/sbin/pimd step the file wasn't even > found... > Is there anyway to get a simple step by step instruction on how one might > install qpimd from a vanilla start. > I don't understand why they haven't just implemented all of these changes > directly into quagga :). > Thanks, > > On Thu, Aug 18, 2011 at 4:29 PM, Everton Marques <[email protected]> > wrote: >> >> On Thu, Aug 18, 2011 at 5:01 PM, Tom M <[email protected]> wrote: >> > I tried the dirty solution first and got this: >> > tom@tom-laptop:~$ sudo /usr/local/quagga/sbin/zebra -i /tmp/zebra.pid >> > [sudo] password for tom: >> > 2011/08/18 15:52:26 ZEBRA: Can't bind to unix socket /var/run/zserv.api: >> > Permission denied >> >> Ouch. I think the cleanest way to overcome this is by recompiling zebra, >> either pointing the state file directory to a more amicable place: >> ./configure --prefix=/usr/local/quagga --enable-pimd >> --localstatedir=/var/run/quagga >> or instructing zebra to use TCP sockets instead: >> ./configure --prefix=/usr/local/quagga --enable-pimd --enable-tcp-zebra >> Then, make, sudo make install. >> >> The ugly and simple way is to allow anyone to write to /var/run: >> sudo chown a+w /var/run. >> >> > 2011/08/18 15:52:26 ZEBRA: zebra can't provide full functionality due to >> > above error >> > 2011/08/18 15:52:26 ZEBRA: Zebra 0.99.17 starting: vty@2601 >> > As far as the "proper" solution is concerned. Does this have to do with >> > that >> > initial warning: >> >> > state file directory : /var/run >> > config file directory : /usr/local/quagga/etc >> > example directory : /usr/local/quagga/etc >> > user to run as : quagga >> > group to run as : quagga >> > The above user and group must have read/write access to the state file >> > directory and to the config files in the config file directory. >> >> Yes, it is telling you what default user and group are defined in the >> daemons, if you don't specify them in the command line. >> >> > ------------------ >> > Is it possible to get it to work with my current username somehow >> > without >> > making a new username and group? I'm not too familiar with linux >> > users/groups. >> >> Sure, use something similar to: >> mkdir /home/tom/quagga >> sudo /usr/local/sbin/pimd -u tom -g tom -i /home/tom/quagga/pimd.pid >> >> > After everything is setup I'm still confused why everything is different >> > from the "default" install of quagga as referenced in this >> > tutorial: http://openmaniak.com/quagga_tutorial.php >> >> The instructions from that tutorial suppose you are starting from a >> precompiled Debian package. >> >> Instructions from qpimd start earlier, by compiling the source code. >> >> Cheers, >> Everton > >
