вынесение путей в конфиг
-
- Site Admin
- Сообщения: 5746
- Зарегистрирован: Пт янв 28, 2005 3:11 pm
- Контактная информация:
Код: Выделить всё
#!/bin/sh
list='/bin/sh
/bin/bash
/usr/local/bin/somefuckingscarybinary
/usr/local/bin/sh' # Enter the list of files that ABiLLS wants
for file in $list
do
if [ -f $file ]; then
echo "OK: $file"
else
name=`basename $file`
if [ `which $name` ]; then
newfile=`which $name | tail --lines=+1`
echo "Found alternative for $file at $newfile"
# I know that is tricky; But I'm too lazy to do better
mkdir -p $file
rmdir $file
ln -s $newfile $file
else
echo "ERROR: No alternative for $file found!"
fi
fi
done
Таксь. Начинаю собирать список.
На всякий случай пихаю даже то, что в 99% случаев должно лежать на своём месте, а также дублирующиеся записи (как mysqldump, например; sudo же, например, встречается дважды в двух разных местах) и записи из дефолтного конфига.
2~AsmodeuS~:
IMHO имеет смысл заменить все пути на что-то типа /usr/abills/bin/some_command, а туда уже подобным методом позапихать симлинки. Вызывать, естественно, оттуда же. Тогда уж точно будет видно, что, где и чего не хватает.
EDIT: Для работы шейпера в моей конфигурации нужны awk и tc. awk вообще лежит в /usr/bin/awk, а в скрипте на вики вызывается из /bin. Добавил в список.
На всякий случай пихаю даже то, что в 99% случаев должно лежать на своём месте, а также дублирующиеся записи (как mysqldump, например; sudo же, например, встречается дважды в двух разных местах) и записи из дефолтного конфига.
Код: Выделить всё
/usr/bin/perl
/usr/bin/tail
/usr/bin/ssh
/usr/bin/scp
/usr/local/bin/sudo
/sbin/route
/usr/bin/grep
/usr/bin/awk
/usr/sbin/sendmail
/usr/local/bin/snmpwalk
/usr/local/bin/snmpset
/usr/bin/gzip
/usr/bin/tar
/usr/local/bin/mysqldump
/usr/local/mysql/bin/mysqldump
/usr/bin/rsh
/bin/echo
/usr/local/bin/radclient
/usr/bin/sudo
/sbin/vconfig
/sbin/ifconfig
/usr/libexec/pppoed
/usr/local/bin/curl
/usr/local/bin/flow-cat
/usr/local/bin/flow-print
/usr/local/bin/ipcad
/usr/local/bin/trafsave
/usr/local/bin/traflog
/usr/bin/uname
/usr/bin/netstat
/usr/sbin/pppctl
/usr/local/bin/sudo
/bin/sleep
/usr/sbin/ipfw
/usr/abills/misc/pppd_kill
/bin/awk
/sbin/tc
IMHO имеет смысл заменить все пути на что-то типа /usr/abills/bin/some_command, а туда уже подобным методом позапихать симлинки. Вызывать, естественно, оттуда же. Тогда уж точно будет видно, что, где и чего не хватает.
EDIT: Для работы шейпера в моей конфигурации нужны awk и tc. awk вообще лежит в /usr/bin/awk, а в скрипте на вики вызывается из /bin. Добавил в список.
Последний раз редактировалось Abram Вс мар 29, 2009 2:48 am, всего редактировалось 3 раза.
Да, и в догонку: у меня на Debian Lenny с этим скриптом и этим списком получилось так:
OK: /usr/bin/perl
OK: /usr/bin/tail
OK: /usr/bin/ssh
OK: /usr/bin/scp
Found alternative for /usr/local/bin/sudo at /usr/bin/sudo
OK: /sbin/route
Found alternative for /usr/bin/grep at /bin/grep
OK: /usr/bin/awk
OK: /usr/sbin/sendmail
Found alternative for /usr/local/bin/snmpwalk at /usr/bin/snmpwalk
Found alternative for /usr/local/bin/snmpset at /usr/bin/snmpset
Found alternative for /usr/bin/gzip at /bin/gzip
Found alternative for /usr/bin/tar at /bin/tar
Found alternative for /usr/local/bin/mysqldump at /usr/bin/mysqldump
Found alternative for /usr/local/mysql/bin/mysqldump at /usr/bin/mysqldump
OK: /usr/bin/rsh
OK: /bin/echo
Found alternative for /usr/local/bin/radclient at /usr/bin/radclient
OK: /usr/bin/sudo
ERROR: No alternative for /sbin/vconfig found!
OK: /sbin/ifconfig
ERROR: No alternative for /usr/libexec/pppoed found!
ERROR: No alternative for /usr/local/bin/curl found!
ERROR: No alternative for /usr/local/bin/flow-cat found!
ERROR: No alternative for /usr/local/bin/flow-print found!
ERROR: No alternative for /usr/local/bin/ipcad found!
ERROR: No alternative for /usr/local/bin/trafsave found!
ERROR: No alternative for /usr/local/bin/traflog found!
Found alternative for /usr/bin/uname at /bin/uname
Found alternative for /usr/bin/netstat at /bin/netstat
ERROR: No alternative for /usr/sbin/pppctl found!
Found alternative for /usr/local/bin/sudo at /usr/bin/sudo
OK: /bin/sleep
ERROR: No alternative for /usr/sbin/ipfw found!
OK: /usr/abills/misc/pppd_kill