понедельник, 19 октября 2009 г.

dhclient и все-все-все

Как сделать, чтобы dhclient не трогал ваш resolv.conf и default route:

# touch /etc/dhclient-enter-hooks && chmod ug+x /etc/dhclient-enter-hooks
# cat /etc/dhclient-enter-hooks
#!/bin/sh
make_resolv_conf()
{
    return 0
}

is_default_interface()
{
    return 1
}

add_new_routes()
{
    return 0
}

delete_old_routes()
{
    return 0
}

воскресенье, 11 октября 2009 г.

наконец-то починил Kopete

http://bugs.kde.org/show_bug.cgi?id=186688
Edit ~/.kde/share/config/kopeterc:
[ICQVersion]
Build=1042
ClientId=266
ClientString=ICQ Client
Country=us
Lang=en
Major=6
Minor=5
Other=0
Point=0

вторник, 15 сентября 2009 г.

Подключение ntfs с киррилицей в FreeBSD 7.2

Взято отсюда http://www.lissyara.su/?id=1169
только используем koi8-r:
# tail /etc/fstab
/dev/ad11s1 /mnt/C ntfs ro,-Ckoi8-r 0 0

вторник, 25 августа 2009 г.

FreeBSD billing: переключение скоростей

#!/usr/local/bin/bash

DATE4LOG=`date '+%Y/%m/%d %H:%M:%S'`
LOGFILE=/var/log/switchdaynight.log
# ( name dayspeed nightspeed ... )
TARIFS=( unlim 163000 320000 unlim2 307000 600000 \
unlim3 665000 1300000 unlim4 1270000 2000000 )
CNT1=${#TARIFS[@]}
QOSTARIFS=( korp 256000 128000 korp2 512000 128000 \
korp3 1024000 128000 korp4 1500000 128000 )
CNT2=${#QOSTARIFS[@]}

DATE=`date '+%H'`
#day2000
DAY=1
QOSDAY=2
if [ $DATE -lt 8 ]; then
#night
DAY=2
#echo "DAY=2"
elif [ $DATE -lt 20 ]; then
#day
QOSDAY=1
#echo "QOSDAY=1"
fi

function sql {
TARIF=$1
RATE=$2
let BURST=$RATE/5
INSHAPE="update radgroupreply set value='in#2#Inet=all rate-limit \
  $RATE $BURST' where groupname='$TARIF' and left(value,4)='in#2';"
OUTSHAPE="update radgroupreply set value='out#2#Inet=all rate-limit \
  $RATE $BURST' where groupname='$TARIF' and left(value,5)='out#2';"
echo $INSHAPE
echo $OUTSHAPE
}
(
for (( i=0;i<$CNT1;i++, i++, i++)); do
    j=i+$DAY
    sql ${TARIFS[${i}]} ${TARIFS[${j}]}
done
for (( i=0;i<$CNT2;i++, i++, i++)); do
    j=i+$QOSDAY
    sql ${QOSTARIFS[${i}]} ${QOSTARIFS[${j}]}
done
) | /usr/local/bin/mysql -u xxx --password=xxx radius

echo "$DATE4LOG: switchdaynight.sh done" >> $LOGFILE

watchlink.sh для mpd5


#!/bin/sh

mpd_user=xxx
mpd_pass=xxx
mpd_socket="11.1.1.1:5006"
#Если шлюз по умолчанию есть и пинг есть, то выходим
GW=`netstat -rn -f inet |awk '/^default/ {print $2}'`
test "$GW" != "" && PING=`ping -c 1 -t 2 $GW` && exit
#Если mpd5 не запущен, запускаем и выходим
pgrep -x mpd5 > /dev/null || { /usr/local/etc/rc.d/mpd5 start ; exit; }
#Mpd запущен, пытаемся через telnet поднять интерфейс к прову
URI="http://${mpd_socket}/cmd?link%20L1&open"
HTTP_AUTH="basic:*:$mpd_user:$mpd_pass" fetch $URI > /dev/null