Главная страница


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : Dmitry A. Mishin                     2:5020/400     13 Apr 2005  12:49:13
 To : All
 Subject : Обновленный quagga.sh
 -------------------------------------------------------------------------------- 
 
 Привет, народ!
 
 Поставил на днях из портов quagga-0.98.2 (сконфигурированы zebra ospfd)
 Соответственно, в /usr/local/etc/rc.d появился quagga.sh
 Все бы ничего, но не совсем информативен запуск этой quagga
 #./quagga.sh start
 Starting quagga.
 Starting quagga.
 
 Решил я это дело поправить :-)
 Вот измененный quagga.sh
 #cat ./quagga.sh
 #!/bin/sh
 #
 # PROVIDE: quagga
 # REQUIRE: netif routing mountcritlocal
 # BEFORE:  NETWORKING
 # KEYWORD: FreeBSD NetBSD
 
 #
 # Add the following line to /etc/rc.conf to enable quagga:
 #quagga_enable="YES"
 #
 # You may also wish to use the following variables to fine-tune startup:
 #quagga_flags="-d"
 #quagga_daemons="zebra ripd ripng ospfd ospf6d bgpd isisd"
 #
 # If the quagga daemons require additional shared libraries to start,
 # use the following variable to run ldconfig(8) in advance:
 #quagga_extralibs_path="/usr/local/lib ..."
 #
 
 . /usr/local/etc/rc.subr
 
 name="quagga"
 rcvar=`set_rcvar`
 stop_postcmd=stop_postcmd
 
 stop_postcmd()
 {
   rm -f $pidfile
 }
 
 # set defaults
 
 quagga_enable=${quagga_enable:-"NO"}
 quagga_flags=${quagga_flags:-"-d"}
 quagga_daemons=${quagga_daemons:-"zebra ospfd"}
 quagga_extralibs_path=${quagga_extralibs_path:-""}
 load_rc_config $name
 
 zebra_flags=${zebra_flags:-"-d"}
 ospfd_flags=${ospfd_flags:-"-d"}
 
 quagga_cmd=$1
 case "$1" in
     force*)
         quagga_cmd=${quagga_cmd#force}
         ;;
     fast*)
         quagga_cmd=${quagga_cmd#fast}
         ;;
 esac
 
 case "${quagga_cmd}" in
     start)
         if [ ! -z ${quagga_extralibs_path} ]; then
             /sbin/ldconfig -m ${quagga_extralibs_path}
         fi
         ;;
     stop)
         quagga_daemons=$(reverse_list ${quagga_daemons})
         ;;
 esac
 
 for daemon in ${quagga_daemons}; do
     command=/usr/local/sbin/${daemon}
     required_files=/usr/local/etc/quagga/${daemon}.conf
     pidfile=/var/run/quagga/${daemon}.pid
 
 #------------------------------
     name=${daemon}
 #    ${name}_flags=${quagga_flags}
 #------------------------------
 
     if [ ${quagga_cmd} = "start" -a ! -f ${required_files} ]; then
                 continue
     fi
     if [ ${quagga_cmd} = "stop" -a -z $(check_process ${command}) ]; then
                 continue
     fi
 
     run_rc_command "$1"
 done
 
 Сейчас запуск выглядит вот так
 #./quagga.sh start
 Starting zebra.
 Starting ospfd.
 
 Вроде красота, омрачает радость одна непонятка
 не могу понять, почему не работает конструкция
 ${name}_flags=${quagga_flags} (она в приведенном выше скрипте
 закомментирована)
 
 Выдается такое
 #./quagga.sh start
 zebra_flags=-d: not found
 ^C
 ospfd_flags=-d: not found
 ^C
 #
 
 Пока  же прописал для каждого демона свои _flags
 zebra_flags=${zebra_flags:-"-d"}
 ospfd_flags=${ospfd_flags:-"-d"}
 С другой стороны, в этом случае можно для каждого демона сои _flags задавать
 :-)
 
 Дима
 --- ifmail v.2.15dev5.3
  * Origin: SDPS Reftinskaya (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Обновленный quagga.sh   Dmitry A. Mishin   13 Apr 2005 12:49:13 
 Re: Обновленный quagga.sh   Max Mukin   14 Apr 2005 10:48:55 
Архивное /ru.unix.bsd/91713ef5c8fc.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional