Tag Archives: linux

Автоматизация загрузки файлов на WebDav

Ранее на страницах этого сайта рассматривалась возможность монтирования облачных WebDav-хранилищ при помощи fuse-системы davfs2. Одним из ее недостатков был тот факт, что при любых операциях над файлами они неминуемо копировались сначала во временную директорию, а лишь затем перемещались в целевой каталог.

Альтернативой davfs2 для прямого получения или загрузки файлов в облачное хранилище является утилита cadaver. Однако, она предполагает интерактивное взаимодействие с пользователем, и использование ее в автоматизированных скриптах не представляется возможным. Обойти эту проблему можно при помощи утилиты empty, аналога expect для создания и взаимодействия с псевдотерминалами. Continue reading

Posted in Сеть и интернет | Tagged , , , | 1 Comment

empty-expect и сборка под архитектуру PowerPC

Некоторые консольные приложения несмотря на интуитивную предрасположенность к скриптовой автоматизации предполагают интерактивное взаимодействие с пользователем, что напрочь убивает любые попытки составления простых скриптов для автоматического выполнения тех или иных действий с их помощью.

Для исправления ситуации существуют немногочисленные программы, позволяющие создавать своего рода псевдотерминалы, отслеживающие появление на консоли того или иного текста и позволяющие задать текст, автоматически отправляемый в ответ на данный текст. Типовым примером является утилита expect, требующая для работы интерпретатора tcl, или значительно более легкая и значительно менее известная утилита empty, заметно более подходящая для OpenWrt-роутеров. Continue reading

Posted in Сеть и интернет | Tagged , , | Leave a comment

Archlinux, ntpd и VMware Player

Одно время мне никак не удавалось заставить работающую внутри VMware систему типа Arch заставить показывать корректное время сразу после загрузки. В системе был указан корректный московский часовой пояс и был запущен и настроен ntpd. Вот только, по всей видимости, VMware подставляет виртуальной машине системное время под видом UTC, и в итоге после запуска мы получаем в виртуалке время, сдвинутое на +4 часа. А ntpd не торопился его выправлять, в итоге получить точное время можно было лишь спустя 5-10 минут после запуска системы. Continue reading

Posted in Сеть и интернет | Tagged , , , | Leave a comment

Борьба с DHCPINFORM в dnsmasq

В отдельных ситуациях на OpenWrt (и других Linux-системах) с установленным dnsmasq, функционирующем в роли DHCP-сервера, можно обнаружить флуд сообщениями DHCPINFORM в системном логе:

May 16 15:01:20 OpenWrt daemon.info dnsmasq-dhcp[2451]: DHCPINFORM(br-lan) 172.16.10.30 90:e6:ba:dc:2e:c3
May 16 15:01:20 OpenWrt daemon.info dnsmasq-dhcp[2451]: DHCPACK(br-lan) 172.16.10.30 90:e6:ba:dc:2e:c3 avalanche

Происходит это из-за того, что у встроенного в ОС Windows 7 (и некоторых других творений Microsoft) DHCP-клиента есть маниакальное желание получить настройки прокси-серверов с DHCP, и он продолжает эти попытки и в том случае, когда DHCP никак не реагирует на подобные запросы. В стандартной конфигурации dnsmasq не рассылает никакой информации о прокси-серверах, и Windows-системы продолжают запрашивать эти данные снова, и снова, и снова… и снова.

Заставить их заткнуться можно простым добавлением опции в /etc/dnsmasq.conf:

dhcp-option=252,"\n"

Эта опция недвусмысленно дает понять Windows-системам, что здесь НЕТ никаких прокси-серверов, и что пора уже перестать о них спрашивать.

Posted in Сеть и интернет | Tagged , , | 3 Comments

Обновление пакетов OpenWrt

Обновлен ряд поддерживаемых проектом erinome.net пакетов для OpenWrt, которые отсутствуют в официальных репозиториях, либо существенно устарели в оных.

Continue reading

Posted in Сеть и интернет | Tagged , , | Leave a comment

Настройка screen в OpenWrt

Утилита screen позволяет создавать виртуальные пользовательские сессии, каждая из которых может включать несколько виртуальных терминалов с возможность переключения между ними. При завершении фактической сессии (отключении от консоли) все виртуальные сессии продолжат работать. За счет этого можно легко запускать в “фоновом” режиме программы, не имеющие встроенной поддержки работы в фоне, либо запускать и оставлять работать скрипты и приложения, ко вводу-выводу которых впоследствии будет возможность вернуться. Continue reading

Posted in Сеть и интернет | Tagged , , | Leave a comment

Запуск скриптов в фоновом режиме

Для возможности выполнения bash-подобных скриптов в Linux в с целом и в OpenWrt-версии оболочки busybox в частности существует легкая в применении инфраструктура: необходимо лишь добавить к строке запускаемого скрипта символ “&“. Но есть и менее очевидные частности. Continue reading

Posted in Сеть и интернет | Tagged , , | 3 Comments

Восстановление программного RAID1 в CentOS

В случае, если после смерти и замены одного из винчестеров в RAID1 система внезапно отказывается загружаться и зависает на “Verifying DMI pool data… Update success!”, либо вовсе пишет “Hard drive error”, то данная краткая инструкция по восстановлению поможет вернуть сервер к жизни. Continue reading

Posted in Разное | Tagged | Leave a comment

Исключение зеркал в yum

При обновлении CentOS на серверах мы неоднократно натыкались на такое малоприятное зеркало как mirror.majorhost.net. На нескольких различных хостингах, пользующихся услугами нескольких различных провайдеров, картина всегда одна и та же:

http://mirror.majorhost.net/centos/6.4/os/i386/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 403 Forbidden"
Trying other mirror.

Этих утомительных ошибок можно избежать, добавив данное зеркало в исключения. Continue reading

Posted in Сеть и интернет | Tagged , | Leave a comment

Обработка последовательного нажатия кнопок в hotplug.d

В OpenWrt при необходимости добавления нескольких разных действий при нажатии на одну и ту же аппаратную кнопку обычно принято варьировать длительность нажатия. Для этого есть встроенная переменная $SEEN, позволяющая максимально упростить этот процесс. Пример скрипта с ее использованием был показан ранее. Но иногда может быть удобнее отличать не длительность нажатий, а их количество. Continue reading

Posted in Сеть и интернет | Tagged , | Leave a comment