Архивы автора: admin

Как с клиента обновить DNS-запись на сервере

Допустим, надо с клиента обновить DNS-запись на сервере. Например если доменный компьютер переехал в другую подсеть, и изменился ip-адрес. Чтобы обновить A-запись этого компьютера на dns-сервере, надо выполнить:

ipconfig /registerdns

Пример алиаса для bash

Пример использования команды alias для bash:

$ alias pingoogle="ping -c3 8.8.8.8"

Теперь по команде pingoogle будут пропингованы dns-серверы google:

pi@raspberrypi ~ $ pingoogle 
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
From 192.168.1.30 icmp_seq=1 Destination Host Unreachable
From 192.168.1.30 icmp_seq=2 Destination Host Unreachable
From 192.168.1.30 icmp_seq=3 Destination Host Unreachable

--- 8.8.8.8 ping statistics ---
3 packets transmitted, 0 received, +3 errors, 100% packet loss, time 2005ms
pipe 3

Всё что нужно для начала работы с Raspberry Pi

Что полезно знать

Для дистрибутива Raspbian по умолчанию логин pi, пароль raspberry

Стандартная консольная программа для изменения настроек малинки — raspi-config

Стандартная консольная команда для запуска оконного менеджера — startx

Максимальна скорость сети по Ethernet на самом деле не 100 Мбит/с, а около 24 Мбит/с (вроде потому что через шину USB)

Для ножек GPIO стандартное напряжение 3.3В, вроде как если превысить, то сгорит

Для удобства работы с ножками GPIO, на них можно одевать фишки с проводами, которые можно надёргать с материнской платы из старого системника (LPT, USB, звук от CDROM, фишки от кулеров и т.п.), ну или можно купить нормальные провода в радиотоварах.

Для подключения светодиодов во всех источниках советуют использовать дополнительное сопротивление, чтобы не спалить.

Как подготовить загрузочную флэшку (под Linux)

Скачать дистрибутив в виде архива zip с файлом img внутри http://downloads.raspberrypi.org/raspbian_latest

Распаковать архив

Залить образ на флэшку командой $ sudo dd if=raspbian.img of=/dev/sdc (вместо sdc подставляйте своё название диска, смотреть например через gparted)

Как включить

Вставить загрузочную флэшку Raspbian

Если надо, подключить клаву, мышь, телевизор, колонки и Ethernet

Подключить к блоку питания microusb с напряжением 5.0 В, малинка включится автоматически

При необходимости набрать логин — пароль pi — raspberry

При необходимости включить оконный менеджер — $ startx

Как подключиться по сети через SSH

Сперва выяснить ip-адрес, который получила малинка:

  • Если зашли локально через телевизор, то в консоли $ ifconfig eth0
  • Через вебморду роутера найти по списку арендованных адресов
  • Любым сканером сети
  • Просто угадать адрес командой ping

Подключиться к командной строке по SSH

  • Из консоли: $ ssh pi@192.168.1.30
  • Через программу PUTTY

Что рекомендуется настраивать в первую очередь

Через программу raspi-config

  • Сменить пароль по умолчанию
  • Расширить основной раздел на всю флэшку

Как присвоить статический ip-адрес

В файле /etc/network/interfaces удаляем строку iface eth0 inet dhcp, вместо неё добавляем строки

iface eth0 inet static
address 192.168.1.30
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1

Получается примерно так:

$ sudo nano /etc/network/interfaces 
auto lo

iface lo inet loopback
# iface eth0 inet dhcp
iface eth0 inet static
address 192.168.1.30
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1

allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

Дальше надо отредактировать адреса DNS-серверов, которыми будет пользоваться малинка. Для этого надо отредактировать файл resolv.conf:

sudo nano /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4

После этого сохраняемся и перезагружаемся

Как из консоли проигрывать звуковые файлы

Решил установкой mplayer:

$ sudo apt-get install mplayer

После успешной установки проигрывать файлы так:

$ mplayer /usr/share/scratch/Media/Sounds/Music\ Loops/HipHop.mp3

Ножки GPIO

Интерактивный справочник по ножкам

Работа с GPIO через файлы

Это пример выдачи напряжения 3.3В на ножку 7 (GPIO4):

pi@raspberrypi ~ $ cd /sys/class/gpio/
pi@raspberrypi /sys/class/gpio $ ls
export  gpiochip0  unexport
pi@raspberrypi /sys/class/gpio $ echo 4 > export 
pi@raspberrypi /sys/class/gpio $ ls
export  gpio4  gpiochip0  unexport
pi@raspberrypi /sys/class/gpio $ cat gpio4/direction 
in
pi@raspberrypi /sys/class/gpio $ echo out > gpio4/direction 
pi@raspberrypi /sys/class/gpio $ cat gpio4/direction 
out
pi@raspberrypi /sys/class/gpio $ cat gpio4/value 
0
pi@raspberrypi /sys/class/gpio $ echo 1 > gpio4/value 
pi@raspberrypi /sys/class/gpio $ cat gpio4/value 
1
pi@raspberrypi /sys/class/gpio $ echo 0 > gpio4/value 
pi@raspberrypi /sys/class/gpio $ echo 1 > gpio4/value

Подключение лампочки

Чтоб лампочка загорелась, она должна быть подключена к 2 ножкам GPIO, между которыми есть разность потенциалов, то есть на одной напряжение должно быть 3.3В (соответствует единице в примере выше), а на другой 0. Если используем не лампу, а светодиод, то нужно ещё и соблюсти полярность. Если лампа расчитана на более низкое напряжение, то нужно к ней последовательно подключить подходящее сопротивление, чтобы не сгорела.

Подключение реле

Реле — это такой выключатель, который срабатывает при подаче на него управляющего сигнала.

Малинка отлично работает в связке с вот такой штуковиной 4 Channel 5V Relay Module BK_RL4_01 (4 реле, расчитанные на напряжение до 250В)

Питание на эту штуку можно подать от второго блока питания на 5В (например от телефона), предварительно распоров и оконцевав фишками жилы. Ножки GND на плате с релюшками и на малинке нужно скомутировать между собой, без этого сигнал с малинки не придёт. Нужные ножки каналов на плате с реле соединяем с нужными ножками портов GPIO на малинке. Теперь при подаче единицы на нужный порт GPIO, реле со щелчком переключится, и например, заработает какой-нибудь электроприбор с напряжением 220В.

Подключение кнопки

Для реакции малинки на кнопки, которые хотим подключить к портам GPIO, для порта direction должен быть in, скрипт, отвечающий за реакцию на нажатие, должен работать в цикле (bash, perl, C) и следить за состоянием порта (0 или 1)

Заключение

Приведённого выше материала в принципе хватит даже на создание простенького робота. Например, по команде из консоли «vpered» заставил ездить детскую машинку на пульте упавления.

Что такое Shellshock для BASH, и как провериться

Shellshock (CVE-2014-6271, CVE-2014-6277, CVE-2014-6278, CVE-2014-7169, CVE-2014-7186, CVE-2014-7187)  — это уязвимость в командной строке bash, которая позволяет атакующим удалённо запускать произвольные команды на уязвимой системе. Если BASH в последний раз обновлялся до 1 октября, то скорее всего уязвима. Уязвимы версии BASH начиная с версии 1.14 (1994 года выпуска) по последнюю версию 4.3.

Код для проверки системы на наличие уязвимости:

env x='() { :;}; echo vulnerable' bash -c "echo this is a test"

Если в результате выполнения будет написано «vulnerable», значит система уязвима.

Outlook: где меняется путь по умолчанию к .PST

Где меняется путь по умолчанию к .PST (для старых версий Outlook):

Ветка реестра: HKEY_CURRENT_USER\Software\Microsoft\Office\<version>\Outlook

Параметр: ForcePSTPath

Тип значения: REG_EXPAND_SZ

Значение: Путь к нужной папке

BAT-скрипт для включения английского по умолчанию в окне входа

BAT-скрипт для включения английского по умолчанию в окне входа в Windows:

 Reg Add "HKU\.Default\Keyboard Layout\Preload" /V "1" /T Reg_Sz /D "00000409" /F
 Reg Add "HKU\.Default\Keyboard Layout\Preload" /V "2" /T Reg_Sz /D "00000419" /F
 echo "Сейчас компьютер будет перезагружен"
 pause
 shutdown /r /t 5

Решено: База MSSQL переходит в Recovery_Pending

База MSSQL переходит в Recovery_Pending раз в неделю в одно и то же время
в журнале windows событие 17204
http://support.microsoft.com/kb/2015754
Причина – файлы базы данных блокировались при резервном копировании содержимого диска командой robocopy по расписанию
Решение – переделать резервное копирование на встроенные в MSSQL средства, исключить папки с базами данных из бэкапа через robocopy

Решено: отключились клавиатура и мышь после установки Касперского

Если после установки Касперского отключились клавиатура и мышь, подключенные через USB, но компьютер продолжает работать. Варианта два (может кто-то третий придумает) — либо заходим на компьютер через удалённый рабочий стол (RDP), либо подключаем к компьютеру клавиатуру PS/2 и перезагружаемся. Теперь компьютером можно управлять.

Если войти в диспетчер устройств Windows, то напротив мыши и клавиатуры будут восклицательные знаки, в свойствах этих устройств будет ошибка «Код 19. Windows не удалось запустить это устройство, поскольку сведения о его конфигурации (в реестре) неполны или повреждены.»

Решение: Открываем с правами администратора редактор реестра (regedit), исправляем в ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96F-E325-11CE-BFC1-08002BE10318
UpperFilters должен иметь значение «mouclass»
и в ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96B-E325-11CE-BFC1-08002BE10318
параметр UpperFilters должен иметь значение «kbdclass«. Всё лишнее в этих ключах, что там касперский напрописывал, стираем. Осторожно: при редактировании реестра можно убить windows!

Как вариант, эти же ключи можно экспортировать с другого заведомо рабочего компьютера и применить полученные reg-файлы на испорченном компьютере.

После перезагрузки клавиатура и мышь заработают как раньше.

Для справки:
Коды ошибок и решения диспетчера устройств Windows

Коды ошибок и решения диспетчера устройств Windows

Код ошибки Описание ошибки Рекомендуемое разрешение
Это устройство настроено неправильно.
  • Обновите драйвер устройства
Код 3 Драйвер для этого устройства поврежден, или системе недостаточно памяти или других ресурсов.
  • Закройте некоторые приложения
  • Удалите и переустановите драйвер
  • Установите дополнительный модуль оперативной памяти
Код 10 Запуск этого устройства невозможен.
Код 12 Не найдены свободные ресурсы, которые устройство может использовать. Если вы хотите использовать это устройство, необходимо отключить одно из других устройств в системе.
  • Отключите конфликтующее устройство
Код 14 Устройство не может работать некорректно после перезапуска компьютера. (Код 14)
  • Перезагрузить компьютер
Код 16 Не удалось определить все ресурсы, используемые устройством.
  • Назначение дополнительных ресурсов для устройства
Код 18 Переустановите драйверы для этого устройства.
  • Обновите драйвер устройства
  • Удалите и переустановите драйвер
Код 19 Windows не удалось запустить это устройство, поскольку сведения о его конфигурации (в реестре) неполны или повреждены.
  • Удалите и переустановите драйвер
  • Вернуться к последней удачной конфигурации реестра
Код 21 Это устройство будет удалено.
  • Обновить представление диспетчер устройств
  • Перезагрузить компьютер
Код 22 Это устройство отключено.
  • Включите устройство
Код 24 Это устройство отсутствует, работает неправильно или не все драйверы установлены.
  • Обновите драйвер устройства
  • Удаление устройства
Код 28 Драйверы для этого устройства не установлены.
  • Установить драйвер устройства
Код 29 Это устройство отключено, поскольку микропрограмма устройства, не предоставить необходимые ресурсы.
  • Включите устройство в BIOS
Код 31 Это устройство работает неправильно, поскольку не удалось загрузить драйверы для этого устройства.
  • Обновите драйвер устройства
Код 32 Драйвер (служба) для данного устройства была отключена.
  • Удалите и переустановите драйвер
  • Изменение типа запуска в реестре
Код 33 Windows не может определить, какие ресурсы требуются для данного устройства.
  • Настройка или замена оборудования
Код 34 Не удается определить параметры для этого устройства.
  • Настроить устройство вручную
Код 35 Аппаратные средства не содержит достаточно сведений для правильной настройки и использования этого устройства.
  • Обратитесь к изготовителю компьютера для обновления BIOS
Код 36 Это устройство запрашивает прерывание PCI, но настроено на прерывание ISA (или наоборот).
  • Изменения настроек резервирования IRQ
Код 37 Windows не может инициализировать драйвер устройства для данного оборудования.
  • Удалите и переустановите драйвер
Код 38 Не удалось загрузить драйвер устройства для данного оборудования, поскольку предыдущая версия драйвера устройства все еще находится в памяти.
  • Запуск мастера устранения неполадок
  • Перезагрузить компьютер
Code 39 Windows не может загрузить драйвер устройства для данного оборудования.
  • Удалите и переустановите драйвер
Код 40 Нельзя получить доступ к оборудованию, поскольку сведения о его службе в реестре отсутствуют или введены неправильно.
  • Удалите и переустановите драйвер
Код 41 Успешно загружен драйвер устройства для данного оборудования, но не удается найти устройство.
  • Обновите драйвер устройства
  • Удалите и переустановите драйвер
Код 42 Не удалось загрузить драйвер устройства для данного оборудования, поскольку дубликат устройства уже установлен в системе.
  • Перезагрузить компьютер
Код 43 Windows остановило это устройство, поскольку оно сообщило о проблемах.
  • Запуск мастера устранения неполадок
  • Обратитесь к документации оборудования
Код 44 Приложение или служба завершил работу данного устройства.
  • Перезагрузить компьютер
Код 45 В настоящее время данное устройство не подключено к компьютеру.
  • Подключите устройство к компьютеру
Код 46 Windows не может получить доступ к данному устройству, поскольку операционная система находится в процессе завершения работы.
  • Разрешение не требуется
Код 47 Windows не может использовать это устройство, поскольку оно было подготовлено для безопасного извлечения, но не было извлечено из компьютера.
  • Подключите устройство к компьютеру
  • Перезагрузить компьютер
Код 48 Программное обеспечение для этого устройства был заблокирован запуск, поскольку известно, что проблемы с Windows.
  • Обновите драйвер устройства
Код 49 Windows не может запустить новые устройства, поскольку системный куст слишком велик (превышает предельный размер реестра).
  • Удаление устройств, которые больше не используются
Код 52 Windows не удается проверить цифровую подпись для драйверов, необходимых для данного устройства.
  • Запуск мастера устранения неполадок
  • Обновите драйвер устройства