подробности такие: захотел я вот устанавливать sysctl параметр accept_redirects в 0 на интерфейсах. этот параметр не обрабатывается вариантом autocompletion в скрипте (его там просто нет), поэтому при попытке написать send_redirects = 0 accept_redirects = 0 первый работает как autocompeltion, а второй вызывает такое: ERROR: /etc/net/scripts/ifup-common: Can't autocomplete sysctl variable name 'ac cept_redirects' in file '/etc/net/ifaces/ext1kraft/sysctl.conf'. Please fix это логично. нет так нет, укажем полное имя параметра: send_redirects = 0 net.ipv4.conf.ext1kraft.accept_redirects = 0 рассчитывая, что если его нет в autocompletion, то он просто возьмет и применится как есть. ан нет: Starting ext1kraft: ..../proc/sys/net/ipv4/conf/ext1kraft/net.ipv4.conf. ext1kraft.accept_redirects: No such file or directory ...OK конечно, такого параметра нет в proc. выходит - ни так ни так не работает. можно указать его полностью в /etc/net/sysctl.conf, но там : - приходится перечислять имена интерфейсов, которые могут быть потом переименованы - не работает с интерфейсами, которые не onboot, например если ppp поднимается позже - на него указание не действует. почему бы просто не последовать логике "если нет в autocompletion, то делаем на него sysctl -w <параметр>" ? (и не пытаемся записывать значение напрямую в proc)
Если записать строки наоборот, то работать будет? net.ipv4.conf.ext1kraft.accept_redirects = 0 send_redirects = 0
так работает.
Значит, в цикле используется значение переменной, унаследованное от предыдущей итерации. Это и есть ошибка. После исправления вы увидите, что предлагаемая логика автодополнения работает.
я не против любой логики, исправляющей поведение ;)
fixed in 0.9.10-alt2