15 заметок с тегом

Tips&Tricks

Ctrl + ↑ Позднее

Ошибка при обращении к компу по SMB, указав его DNS-псевдоним, а не NetBIOS-имя

28 апреля 2010, 23:26
Создаём в DNS псевдоним mega-comp.domain.tld для компьютера \\comp, пишем в командной строке: ping mega-comp.domain.tld и видим, что всё чотко пингуется. Затем пытаемся обратиться к нему по NetBIOS: \\mega-comp.domain.tld, и получаем облом в виде сообщения: «Не удалось подключиться к сети из-за существования совпадающих имен. Измените имя компьютера на Панели управления и повторите попытку

Это официальная бага, признана Microsoft'ом, и они божатся, что исправили её ещё начиная в Win2k SP3. Однако эти грабли всплыли и на сервере с Win2k8. Лечится прописыванием у компа \\comp в реестре следующего параметра:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters\DisableStrictNameChecking=1


Если параметра нет, его нужно создать.

После этого можно перезагрузить сервер, ну или перезапустить службы «Сервер» и «Рабочая станция».

Ошибки при опросе демоном hald некоторых устройств

7 января 2010, 6:13
Камрад мой один, живущий в США, передал мне с оказией свой старый-старый ноут — IBM ThinkPad 600X. Запихал в него 512 метров памяти помимо встроенных 64 метров. Решил я этот ноут приспособить для смелых экспериментов по организации десктопа не фре. Ну, заодно в качестве медиа-центра его использовать, а то таскать нетбук, являющийся сейчас основным рабочим компом между рабочим столом и «мультимедийным» — на котором стоит усилитель, колонки и большой монитор для просмотра фильмов — с определённого момента стало ломать. Поставил фрю 7.2, всё настроил — работает вроде. При просмотре фильмов на некоторых сценах изображение подёргивается, что неудивительно — процессор-то всего 500 MHz. Но это редко бывает, так что не напрягает.

Но лучшее — враг хорошего. С выходом FreeBSD 8.0 я подумал, что не грех было бы перевести всю наличную технику на неё — сервак и этот самый ноут. Поставил 8-ку на ноут, и обнаружил, что при включении hald ноут постоянно с интервалом примерно в секунду ругается на первой консоли, что acd0: FAILURE — unknown CMD (0x03) ILLEGAL REQUEST asc=0x20 ascq=0x00. И приводит это к невозможности смонтировать диски в CDROM. Полез в интернет, копался там дня три — ничего толком нет, кроме совета убрать драйвер atacdrom из ядра и воткнуть вместо него atapicam.

Я эту операцию немедленно проделал. Налицо эффект, надпись сменилась на:

unknown: FAILURE — unknown CMD (0x03) ILLEGAL REQUEST asc=0x20 ascq=0x00

Короче, не помогло. Полез рыться в районе конфигов hald. Оказывается, ему можно запретить опрос определённых устройств. Кровавые подробности можно вкурить тут.

Описаный по ссылке способ помог, ошибки перестали сыпаться. Создал файл /usr/local/share/hal/fdi/preprobe/20thirdparti/10-ignore-acd0.fdi следующего содержания:

<?xml version=«1.0» encoding=«UTF-8»?>

<deviceinfo version=«0.2»>
<device>
<match key=«freebsd.driver» string=«acd»>
<match key=«freebsd.unit» int=«0»>
<merge key=«info.ignore» type=«bool»>true</merge>
</match>
</match>
</device>
</deviceinfo>

Перезапустил hal, вроде ему полегчало, болезному. Посмотреть, какой freebsd.driver и freebsd.unit нужен, чтобы вписать в файл, можно с помощью утилиты lshal.

CryptoPro и ошибка c000021a

11 октября 2009, 21:54
Клиент поведал страшную историю про то, как к кабелю от мобильника с разъмом mini-USB попытались подключить флэшку. У него там два кабеля торчало — USB-удлинитель и этот самый кабель от мобильника, и девачка-бухгалтер их перепутала и вместо удлинителя попыталась вонзить mini-USB в разъём флэшки. Винда сказала «Кря!», а может даже и «Гав!», и повисла. После перезагрузки все увидели красивый синий экран с надписью:

STOP: c000021a { ****
Windows Logon Process ****

0x0000005 (0x000000000x00000000)


Там где звездочки — непечатное. Не в смысле матерное, а в смысле кодировка битая :-) При этом в безопасном режиме винда грузилась.

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

Ну то есть, понятно было, что падает winlogon.exe, и что падает он из-за сбоя в каком-то драйвере или библиотеке, которые он пытается всосать при загрузке. Но каком? Это вопрос.

В результате выяснилось, что виной всему драйвер КриптоПро — CProCtrl. Отключение его посредством загрузки в безопасном режиме и выносом этого драйвера из системы с помощью Autoruns от Руссиновича дало совершенно магический эффект — винда стала грузиться в нормальном виде.

Что снесло крышу до этого нормально работавшему драйверу — вопрос архи-тёмный. На этот счёт существуют разные мнения. Тут вот перечислены некоторые из них. Часть камрадов предполагает, что оно конфликтует с NOD32, часть утверждает, что на томах FAT32 драйвер КриптоПро без SP3 не работает. Я разбираться особо не стал, времени-то уже 4-ый час утра. Поэтому вынес NOD32, всё равно он не обновлялся, и сконвертил диски в NTFS, затем вернул предварительно экспортированную ветку с параметрами драйвера в реестр обратно. Всё заработало. Хотя это архи-странно, факт.

subversion hooks

21 декабря 2008, 2:43
Потребовалось тут неожиданно исправить сообщение после свершившегося коммита изменений в subversion. Нашёл в клиенте TortoiseSVN чудесную опцию Edit log. Но при попытке её заюзать получил большой облом в виде сообщения: «svnadmin: Repository has not been enabled to accept revision propchanges; ask the administrator to create a pre-revprop-change hook».

Курение интернета показало, что для этого потребны некие subversion hooks, каковые могут представлять собой скрипты или даже бинарники, используемые subversion при различных событиях. Некий аналог триггеров в БД, в общем.

Как утверждает методичка, лежать они должны в каталоге path_to_svn_repository/hooks. Я полез на сервак смотреть, лежит ли там что-нибудь, в этом каталоге. Оказалось, что лежит. Некий набор файлов с расширениями *.tmpl. Курение методички на предмет как же эти скрипты заюзать, показало, что нужно дать им права на исполнение. Я дал им право на исполнение, перезапустил svnserve, однако нужного эффекта это не принесло — всё равно получал вышеуказанное сообщение. Методичка умолчала о самом главном — у файла нужно убрать расширение .tmpl.

Конкретно для правки свойства svn:log, каковое и является собственно комментарием при коммите, необходимо наличие хука pre-revprop-change. Таким образом переименовываем файл path_to_svn_repository/hooks/pre-revprop-change.tmpl в path_to_svn_repository/hooks/pre-revprop-change, даём ему права на исполнение, перезапускаем svnserve, и вуаля — можем редактировать каменты коммита либо через Edit log в TortoiseSVN, либо вот такой командой:

svnadmin setlog /usr/local/svn -r 103 /usr/local/svn/log.txt

где 103 — это номер ревизии, которая должна подвергнуться редактированию, а /usr/local/svn/log.txt — это файл с сообщением, которое должно стать новой версией комментария к 103-ей ревизии. У меня не настроен русский в серверной консоли, поэтому я решил сделать комментарий в виде файла в нужной кодировке.

Убрать пользователя из списка на экране приветствия

22 ноября 2008, 22:26
В Windows XP при включенном экране приветствия выводится список пользователей, которыми можно зайти в систему. Иногда, чтобы не смущать рядовых юзеров лишними учётными записями, требуется какие-то учётные записи из списка убрать. Чтобы это сделать, можно воспользоваться следующим рецептом:

Для этого нужно в разделе реестра
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList добавить dword-параметр, соответствующий имени пользователя, и присвоить ему значение 0.