Публикую его ниже, если кому-то будет полезен:
- #!/bin/bash
- # Файлы, которые контролирует скрипт
- FILES="/etc/rc.d/rc.inet1.conf /etc/resolv.conf"
- print_help () {
- echo To use print
- echo
- echo switch_net.sh location
- echo
- for file in $FILES; do
- echo File $file under control
- done
- }
- if [ -z $1 ];
- then
- print_help
- exit
- fi
- for file in $FILES; do
- if [ ! -f $file.$1 ]; then
- echo File $file.$1 not exists, please point to existing one
- exit
- fi
- done
- for file in $FILES; do
- ln -sfv $file.$1 $file
- done
- echo Restarting inet
- /etc/rc.d/rc.inet1 restart
Пользоваться им очень просто. Он перебрасывает линки на файлы, в которых хранится фактическая конфигурация. Я отслеживаю только /etc/rc.d/rc.inet1.conf и /etc/resolv.conf. В этом случае, они уже будут не файлами, а линками на /etc/rc.d/rc.inet1.conf.location и /etc/resolv.conf.location. Я их создаю вручную, потом делаю switch_net, потом netconfig, когда прихожу на «новое место». Чтобы переключиться с одного на другое достаточно с правами суперпользователя выполнить switch_net:
bash-4.1$ sudo switch_net home
Password:
«/etc/rc.d/rc.inet1.conf» -> «/etc/rc.d/rc.inet1.conf.home»
«/etc/resolv.conf» -> «/etc/resolv.conf.home»
Restarting inet

