С первого и по тринадцатое с песнями, шутками, танцами…
Чем же еще заниматься-то с первого и по тринадцатое?
Несчастный случай
Отгремели корпоративы, и неумолимо приближался Новый Год. Мы не сделали исключения и устроили корпоратив с традиционным возлиянием в Максимилианс.
После него технари компании решили, что в праздновании не хватает IT, и был проведён второй — IT — корпоратив с применением X-Box 360, Kinect и метрового телевизора. Во время него в голову приходило множество весёлых и, главное, реализуемых идей. Возможно, по-настоящему оценить их смогут только те, кто когда-либо пользовался Kinect.
Одной из мыслей было соорудить некий необычный и полезный агрегат с возможностью ежедневного использования.
Вспомнив недавние приключения со сканированием чего-то и беготней по кабинетам, мы решили сделать наш сканер более мобильным.
Под это дело была произведена ревизия заскладированных по всему офису «железок».
Нашлось:
Intel DN2800MT
2 x SO-DIMM DDR3 4Gb Patriot
OCZ mSATA SSD 60Gb
блок питания от ноута ASUS 19V (сейчас заменён на менее мощный FPS)
D-Link DWA-125
Сканер HP ScanJet G2410
Офисный стул на колёсиках с отломанной саппортерами спинкой.
Из необходимых подручных средств были использованы Zalman VE200, Debian 6.0.5 amd64 netinst вариант в виде iso, usb-клавиатура, ethernet патчкорды, Olympus FE-115.
Десятого вроде заняться нечем…
Отлично! Десятого лечим печень
Несчастный случай
Собираем всё это в кучку и получаем нечто такое:
Конструкция абсолютно бесшумная после установки Debian на SSD и отключения VE200.
Debian ставим в минимальном варианте + ssh (он понадобится для второго/запасного/прямого варианта доступа к сканеру).
Теперь подготовим Debian для работы с ssd в режиме read-only. Поскольку «тележка» — агрегат мобильный, то восстанавливать fs будет совершенно неинтересно.
Для работы os потребуется запись в /tmp, /var/tmp, /run и всякие /var/* (типа lock и log). Перенесём их в память.
cd /var rm -rf tmp run lock log ln -s /dev/shm ln -s /dev/shm lock ln -s /dev/shm run ln -s /dev/shm log
cd /etc/network rm -rf run ln -s /dev/shm run
cd /var/lib rm -rf urandom ln -s /dev/shm urandom
Отключаем ненужные нам, но включенные по умолчанию сервисы:
update-rc.d cron remove
update-rc.d exim4 remove
update-rc.d nfs-common remove
update-rc.d port map remove
Для того, чтобы можно было использовать перенесённые в память каталоги, нужно при каждой загрузке создавать там структуры каталогов. Сделаем это через initd скрипт /etc/init.d/tmpfs, в т.ч. и для не особо нужных каталогов.
#!/bin/bash
### BEGIN INIT INFO
# Provides: tmpfs
# Required-Start:
# Required-Stop:
# X-Stop-After: sendsigs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
### END INIT INFOmount tmpfs -t tmpfs /tmp
cd /tmp
mkdir exim4 sshd log
chmod 750 exim4
chown Debian-exim:Debian-exim exim4
touch utmp
chmod 660 utmp
chgrp utmp utmpcd log
mkdir apt exim4 fsck installer news
chmod 2750 exim4
chown Debian-exim:adm exim4
touch dmesg wtmp lastlog
chmod 660 wtmp lastlog
chgrp utmp wtmp lastlogexit 0
И подключим его к загрузке:
chmod 755 /etc/init.d/tmpfs
update-rc.d tmpfs defaults
Теперь надо добавить /tmp в /etc/fstab.
echo «tmpfs /tmp tmpfs defaults 0 0» >> /etc/fstab
Поскольку логов в случае чего не будет, можно на всякий случай настроить удалённое логирование:
echo "*.*;auth,authpriv.none @10.0.0.21" >> /etc/rsyslog.conf /etc/init.d/rsyslog restart
Здесь 10.0.0.21 — IP адрес сервера, который принимает наши логи.
Перезагружаемся… Редактируем параметры монтирования / на noatime,ro.
sed -ir 's//s+ext4s+defaults// ext4 noatime,ro/' /etc/fstab
И мы получили девайс, который не боится внезапного отключения питания и загружается за 20 секунд. Но нам быстрее и не надо.
Теперь займёмся собственно сканером. Установим нужный пакет, включим автозапуск и добавим сеть, для которой он будет работать:
aptitude install -y sane
sed -i 's/RUN=no/RUN=yes/' /etc/default/saned
echo «10.0.0.0/24» >> /etc/sane.d/saned.conf
HP 2400 не поддерживается в sane, и в Debian нет ничего для него. Но зато есть такой репозитарий для Ubuntu. Подключим его к нашей тележке:
echo «deb ppa.launchpad.net/lion-simba/hp2400/ubuntu karmic main» >> /etc/apt/sources.list
aptitude update
Установим найденные hp2400 пакеты:
aptitude install -y libsane-hp2400x64 xsane
Сканер готов. Проверим:
# scanimage -L
device `net:10.0.0.3:genesys:libusb:004:002' is a Hewlett Packard ScanJet 2400c flatbed scanner
Здесь 10.0.0.3 — это IP тележки по проводной сети.
Теперь сделаем тележку чуть более мобильной. Для этого подключимся к сети по wifi, тем более, что у нас есть DWA-125.
aptitude install -y wireless-tools firmware-ralink wpasupplicant
В /etc/network/interfaces вписываем следующее для назначения статичного IP адреса:
auto wlan0
iface wlan0 inet static
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
address 10.0.0.241
netmask 255.255.255.0
gateway 10.0.0.1
dns-nameservers 10.0.0.1 10.0.0.2
Шлюз и DNS, конечно, можно не указывать, но вдруг что-то понадобится обновить или доставить?
При этом не забываем удалить allow-hotplug eth0 или auto eth0 из того же конфига:
sed -ir 's/allow-hotplug eth0//' /etc/network/interfaces
sed -ir 's/auto eth0//' /etc/network/interfaces
Поскольку wifi сеть с WPA, то нам понадобится еще и конфиг для wpasupplicant на который мы уже сослались: /etc/wpa_supplicant/wpa_supplicant.conf:
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=root
network={
ssid=«наша точка»
key_mgmt=WPA-PSK
psk=«наш ключ»
}
Одиннадцатого решаем задачу
Как не поехать к друзьям на дачу.
Но все же едем. Итог известен:
Включая двенадцатое куролесим.
Несчастный случай
Теперь сделаем нашу тележку физически мобильной. Для начала возьмём стул, открутим от него ручки и крепёжные винты, вскроем и оценим внутреннее пространство:
Места более чем достаточно для размещения mATX платы, блока питания, пары шнуров и wifi usb карты. Но контакты с платы не должны касаться металлических частей стула. Для этого, порывшись в шкафах, находим нечто, что можно использовать для крепежа к стулу и в качестве стоек для платы.
И неплохо получилось:
Собранный стул выглядит вполне естественно:
Но если заглянуть снизу, то становятся заметны высокие технологии.
Сканер потом поставим сверху, но сначала надо решить вопрос с питанием. Лишнего UPS’а под рукой не оказалось, поэтому решили задействовать обычный электрический удлинитель на 3 посадочных места. Длина шнура более 10 метров, что опять же даёт ощутимую мобильность. К стулу удлинитель прикреплён пластиковыми стяжками.
Вот так выглядит законченный вариант «сканирующей тележки».
В качестве окончательного хулиганства водрузили на эту же конструкцию еще и шредер. Отсканировал документ и тут же уничтожил не отходя от кассы.
Как же хочется на работу!
К станку, к прилавку, куда угодно!
Несчастный случай
С прошедшими праздниками! Надеюсь, вы улыбнулись, читая это.
Автор: webnames