Author Archives: root

AutoIt3 – _IEFrameGetObjByName() failure after IE update

Недавняя группа системных обновлений Windows привела к неработоспособности утилиты автоматизации AutoIt в контексте работы с браузером IE и сайтами, представляющими собой группу фреймов, объединенных во FRAMESET. Continue reading

Posted in Софт | Tagged , | Leave a comment

PHP, SQLite и регистронезависимость

Несмотря на объявленную поддержку UTF, встраиваемая СУБД SQLite3 по умолчанию не умеет делать регистронезависимую сортировку, сравнение и операции по преобразованию строк над буквами, не входящими в английский алфавит. Для решения этой проблемы разработчики SQLite рекомендуют использовать расширение ICU, с подключением которого станет возможным выбирать различные кодировки и иметь возможность пользоваться регистронезависимыми операциями сравнения любых символов кроме латиницы. Вот только описаний, как это сделать для php-mod-sqlite3, найти толком нельзя, да и объем ICU превышает размер самой библиотеки SQLite! Для embedded-применений – например, в OpenWrt – такое не годится. Continue reading

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

Редактирование реестра Windows из среды восстановления

В далеком прошлом мы описывали, как можно за считанные минуты переключать жесткие диски из режима “IDE Compatible” в AHCI и обратно, не потеряв работоспособности установленной операционной системы (Windows). Но этот способ требует, чтобы операционная система была работоспособна. А иногда может случиться так, что система уже не запускается и вернуть аппаратную конфигурацию к исходному рабочему состоянию затруднительно или невозможно. Continue reading

Posted in Софт | Tagged , , | 3 Comments

Windows Server 2008 R2 – раскладка клавиатуры в RDP-сеансе

После ввода в эксплуатацию терминального сервера под управлением, прости господи, Windows Server 2008 R2, обнаружилась следующая проблема: периодически у подключающихся по протоколу RDP (удаленный рабочий стол) пользователей перестает переключаться раскладка клавиатуры. В системном трее язык переключается как обычно (к примеру, с RU на EN), но при этом ввод продолжает оставаться в раскладке RU, а рядом со значком EN появляется значок в форме клавиатуры, кликнув на который мышью можно уже вручную в появившемся контекстном меню изменить язык ввода – и вот тогда он действительно заменится на выбранный. Continue reading

Posted in Софт | Tagged , | 7 Comments

WindowsUpdate – ошибка 0x800b0001

Однажды на одном из подконтрольных компьютеров, работающих под управлением Windows 7 Pro, перестал работать поиск обновлений системы, выводя ошибку 0x800b0001 почти сразу после инициализации поиска. По косвенным свидетельствам, поводом тому явилось обновление модуля Windows Update с версии 7.6.7600.256 на 7.6.7600.320, хотя до исходных причин проблемы докопаться пока так и не удалось. Continue reading

Posted in Софт | Tagged , , | 10 Comments

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

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

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

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

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

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

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

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

WordPress и длинные “ярлыки”

При эксплуатации WordPress на одном из сайтов был обнаружен неприятный дефект – некоторые автоматически сгенерированные ярлыки (“slug”) для категорий имели покоцанные последние символы, вследствие чего перейти по ссылкам на такие категории не представлялось возможным. Однако при ручном их указании все сохранялось корректно. Continue reading

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

RDP и черный экран

Если после подключения к удаленному рабочему столу и успешной авторизации по реквизитам пользователя вы видите черный экран, не реагирующий ни на какие действия – не стоит отчаиваться (сразу). Вполне вероятно, что удаленная система все-таки жива, а черный экран – всего лишь результат одного из разнообразных MS-багов. Continue reading

Posted in Разное | Tagged , | 3 Comments

Ошибка при запуске make menuconfig в OpenWrt Buildroot

После переноса OpenWrt Buildroot с одного хоста на другой можно столкнуться с тем, что команда make menuconfig не работает и возвращает ошибку следующего вида:

[erinome@shuttle trunk]$ make menuconfig V=s
scripts/config/mconf: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by scripts/config/mconf)
make: *** [menuconfig] Error 1

Вызов make dirclean в данном случае не помогает. Дело в том, что скомпилированный в другой системе бинарник mconf автоматически не пересобирается. Для решения этой проблемы просто соберем его заново вручную:

[erinome@shuttle trunk]$ cd scripts/config
[erinome@shuttle trunk]$ make clean && make
[erinome@shuttle trunk]$ cd ../../

После этого make menuconfig снова станет работоспособен.

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