2012-07-30

"Изкувство проффесианального програмирования"

была такая шутка, якобы кусок кода венды, в котором каждая вторая строка имела вид типа while(do_nothing()){ sleep(100) };

так вот, такой стиль написания кода существует.
и применяется ушлепками из canonical.

расследования надоедливой проблемы с двухминутным ожиданием подключения сети вывело на файлик /etc/init/failsafe.conf, который на половину состоит из sleep!

 

cat /etc/init/failsafe.conf | grep -v '^[ ]*(#.*)?$'                                                                                                          <1194]14:02:43 description "Failsafe Boot Delay" author "Clint Byrum " start on filesystem and net-device-up IFACE=lo stop on static-network-up or starting rc-sysinit emits failsafe-boot console output script         # Determine if plymouth is available         if [ -x /bin/plymouth ] && /bin/plymouth --ping ; then                 PLYMOUTH=/bin/plymouth         else                 PLYMOUTH=":"         fi         sleep 20         $PLYMOUTH message --text="Waiting for network configuration..." || :         sleep 40         $PLYMOUTH message --text="Waiting up to 60 more seconds for network configuration..." || :         sleep 59         $PLYMOUTH message --text="Booting system without full network configuration..." || :         sleep 1     exec initctl emit --no-wait failsafe-boot end script post-start exec logger -t 'failsafe' -p daemon.warning "Failsafe of 120 seconds reached."


просто и не заморачиваясь. делаем несколько раз слип. и или появляется сеть, или скипаем этот скрипт.
это гениально.

2012-07-25

вопросы по network-manager

помогите кто-нибудь победить network-manager.
для меня всегда лучшим рецептом было снести его к *беням и делать все самому, но если с проводными интерфейсами мои скрипты работают на несколько порядков лучше и надежнее, то с беспроводкой все печально.

проблема 1:
при выходе из сна эта дрянь не обновляет настройки сети(dhcp), и я могу хоть весь день сидеть как дурак думая где же мой интернет.
нужно или выдернуть кабель и, подождав минуту пока он одуплит что сеть отвалилась, воткнуть обратно, либо сделать откл/вкл мышкой.

проблема 2:
для новых интерфейсов постоянно запускает без спросу dhcp, вешает APIPA адреса, и если не дай боже получит адрес - херит установленые сессии и маршруты.

проблема 3:
я хочу что б он управлял только беспроводкой и ваще не трогал проводный интерфейс. как?