Блоги

Динамическое подключение криптованных томов

Предисловие

Понадобилось моему товарищу криптовать его централизованное хранилище. Причины тут описываться не будут, я думаю причин найти можно много для этого. ТЗ простое - воткнул ключ, работает, выткнул не работает.
В связи с тем, что мне это никогда не было актуальным, посредством гугля, я выяснил, что единственный, мне известный в этой области продукт - truecrypt, имеет проблемы в своей лицензии, ну и во многих дистрибутивах его присутствие остаётся под сомнением . Я задал вопрос в конференции на arch@c.j.r, где собственно меня и направили на путь истинный :)

Зри в опенсорс

Мне помог модератор Котэ Бегемот (ник на момент написания заметки), сказав что есть такой dm-crypt и что он(Котэ), им даже пользуется. Чтож, уже хорошо, как минимум программа работает, пол проблемы решено :)

Дальше я обратил свой взор на Википедию:
dm-crypt is a transparent disk encryption subsystem in Linux kernel versions 2.6 and later. It is part of the device mapper infrastructure, and uses cryptographic routines from the kernel's Crypto API. Unlike its predecessor cryptoloop, dm-crypt was designed to support advanced modes of operation, such as XTS, LRW and ESSIV (see disk encryption theory), in order to avoid watermarking attacks. In addition to that, dm-crypt also addresses some reliability problems of cryptoloop.

И даже есть к нему фронтенды:
The dm-crypt device mapper target resides entirely in kernel space, and is only concerned with encryption of the block device — it does not interpret any data itself. It relies on user space front-ends to create and activate encrypted volumes, and manage authentication. At least two frontends are currently available: cryptsetup and cryptmount.

Я решил, проверить первый по списку:

[simplexe@myhost Debug]$ cryptsetup

Веб камера с микрофоном

Решил сделать небольшой вклад в общую копилку. Не судите строго, может кому-то эта заметка сэкономит время и нервы. Предыстория такова. Ноутбук у меня был без вебкамеры и долгое время я считал её ненужной. Но общение мамы с родственниками через скайп заставило приобрести последнюю. Намучившись с вебкамерой на чипе Pixart, которая работала, но с отвратительным качеством, решил взять камеру с поддержкой UVC драйвера. Посмотрел список поддерживаемых камер на linux-uvc.berlios.de. Список сей оказался довольно скудным. Узнав, что нужно брать камеры с поддержкой macos и надписью driver free на упаковке, взял А4tech pk-835mj. Других uvc камер в наличии не было. Камера оказалась на чипе Z-Star, качеством картинки остался доволен. Поигрался с настройками с помощью v4l2ucp. Дефолтные настройки оказались лучшими. Засада оказалась в том, что камера была с микрофоном и система определила её, как usb звуковую карту. Причём alsa упорно определяла её, как дефолтную и, соответственно, звук пропадал при включении ноутбука с подключённой камерой. При подключении камеры к ноутбуку с работающей системой всё было в порядке. Изучил арчвики по dmix:
Здесь
Cоздал файл /etc/asound.conf по рецепту. Ситуация не изменилась. Изучил вики gentoo ALSA Default Sound Device:
Здесь
Это позволило отключить микрофон камеры, создав /etc/asound.conf
pcm.!default { type hw card ICH6 }
ctl.!default { type hw card ICH6 }

Ситуация в принципе устраивала, но не давала покоя мысль, что должно быть простое решение. Нашёл решения для встроенной и pci карты, а также для 2 usb звуковых устройств:
Здесь
Вернул /etc/asound.conf из арчвики и создал алиасы для 2 звуковых карт в /etc/modprobe.d/sound.conf

Обновился, отвалился Deluge.

После сегодняшнего обновления отказался запускаться bit-torrent клиент deluge. Говорит:
"
[ERROR ] 22:28:39 config:424 Error backing up old config..
[ERROR ] 22:28:39 ui:146 No module named chardet
Traceback (most recent call last):
File "/usr/lib/python2.6/site-packages/deluge/ui/ui.py", line 127, in __init__
from deluge.ui.gtkui.gtkui import GtkUI
File "/usr/lib/python2.6/site-packages/deluge/ui/gtkui/__init__.py", line 1, in
from gtkui import start
File "/usr/lib/python2.6/site-packages/deluge/ui/gtkui/gtkui.py", line 79, in
from connectionmanager import ConnectionManager
File "/usr/lib/python2.6/site-packages/deluge/ui/gtkui/connectionmanager.py", line 49, in
import deluge.ui.common
File "/usr/lib/python2.6/site-packages/deluge/ui/common.py", line 45, in
import chardet
ImportError: No module named chardet
[ERROR ] 22:28:39 ui:147 There was an error whilst launching the request UI: gtk
[ERROR ] 22:28:39 ui:148 Look at the traceback above for more information.
"
В расстройствах порыскал по форуму (не русскоязычному), порадовался, опять я не один такой. Умные люди там говорят поставить python-chardet. Помогло, но сам бы не догадался.. :)
Ссылка:
http://bbs.archlinux.org/viewtopic.php?id=88561

arch как хост для vmware-server2

Устанавливаем 08.2009
Апдейтимся до 2.6.32-2, обязательно нужны хидеры и фирмваре (под этим работает точно)
Читаем последний пост на http://aur.archlinux.org/packages.php?ID=26256
Идем по ссылке на форум vmware - http://communities.vmware.com/thread/236262
Скачать в первом посте архив для PKG
поставить libxi libxrender libxt libxtst perl zlib для разрешения зависимостей.

ВАЖНО! у меня пакет собирался, но vmware-server2 не работал до тех пор пока не нашел, что в скриптах выполняют проверку-загрузку модулей через вызов /sbin/lsmod а у меня в системе /bin/lsmod
Править скрипты не стал, предпочел переписать в /sbin

после сборки пакета можно выполнить установку и после копирования приступить к конфигурированию vmware-server
бла бла бла
если все настроено правильно и присутствует /sbin/lsmod то можно приступать )

ВАЖНО! НЕ ЗАГРУЖАЙТЕ каким либо образом модули для vmware - пусть /etc/rc.d/vmware start сделает это самостоятельно, не разобрался почему, но если включить модули в mkinitcpio или rc.conf или еще куда - начнет ругаться и предлагать переустановить-переконфигурить пакет
если такое все же случилось выгрузите модули vmci vmmon vmnet vsock и удалите /etc/vmware/not_configured дабы не пришлось пересобирать модули снова.

если был создан пользователь для работы с vmware-server2 (отличный от root) следует добавить root в группу администраторов на vmware-server2 иначе из консоли работать не выйдет, а веб морда жутко тормозная.

рекомендую почитать http://communities.vmware.com/thread/146002?tstart=15 для тюнинга хоста и vmware-server

там две части - оптимизация работы с памятью для хоста и оптимизация для виртуальных машин.

следует обратить внимание, что предложенный вариант отключает для виртуалок memory плюшки (типа свопинга, оверкоммита и шаринга страниц)
вообще самый критичный параметр для быстродействия винтов виртуалок - отключить непрерывную запись в файл-копию виртуальной памяти для виртуалки.
mainMem.useNamedFile = "FALSE"

ARCH на Lenovo S12

Пишу для себя, чтобы не забыть. Другим может тоже пригодится. Рассматриваю как статью в вики, пока пишу что в голову взбредет, черновик.

Все девайсы, за исключением wifi и видеокарты работают из коробки (08.2009)
Под x86_64 видео в формате 720p дропает больше кадров (тестил сам, 3-4 процента разница), но быстрее жмет-распаковывает (сам не тестил, доверился обзорам).
Выбрал x86_64 - под высокой нагрузкой система у меня более отзывчива чем под i686, чисто субъективно.

Подготовка флешки.
Заливаем согласно мануалу имидж core install (net install в момент конфигурирования системы через /etc/rc.conf и так далее сходит с ума, файлы пустые, рутовский пароль не установить, разбираться лень)
Если на флешке осталось место и комп с Arch - создать партицию и залить туда подготовленный для сборки PKG yaourt и broadcom-wl, скачать архивы с AUR, распаковать и makepkg - понятно что соберет для вашей системы, но при этом скачает все необходимые исходники и сразу после установки не будет нужны

Загружаемся, настраиваем, устанавливаем.
Имеет смысл ставить base и openssh, wireless-tools - все остальное подтянется по необходимо

Сразу запретите в /etc/rc.conf загрузку модулей ssb и b43 (не работающие модули вайфая, вроде обещали починить, но пока без изменений, хотя на форумах мелькало что как то оживили, но у меня пока не вышло)
в mkinitcpio.conf можно добавить lib80211_crypt_tkip для шифрования
После ребута оживляем вайфай. Текущая сборка broadcom-wl не поддерживает low power и hidden ssid
Если есть подготовленный пакет broadcom-wl - makepkg -f -i -s соберет и установит для нетбука и текущего ядра.
выполнить depmod -a для того чтобы сообщить системе о новом модуле

загружаем модуль шифрования (если не добавляли в модули mkinitcpio.conf) и драйвер вайфай
modprobe lib80211_crypt_tkip wl

затем подключаемся к сети, пока что осилил wpa_supplicant - опишу как делал сам.

ifconfig -a для просмотра существующих в системе интерфейсов

Kernel 2.6.32x vs Vmware Workstation 7.0.x

Несмотря на яростные призывы "свободолюбителей" активно пользуюсь виртуальной машиной Vmware. И не какой-нибудь, а именно Workstation, замечу - не Server. Нужно по работе. Так вот, обновил я после бурного празднования НГ систему. Конечно предварительно посмотрел что там обновляется. Зело обрадовался наличию нового ядра 2.6.32-2. Как известно VMware (сокращённо VW) довольно нервно реагирует на новые версии ядер, приходится искать патчи, причём патчей выкладывают много и не все они срабатывают. Что расстраивает. Обновившись обнаружил, что чуда не произошло и накладывать патч на VW таки придётся. После некоторых усилий, патч таки обнаружился:

http://communities.vmware.com/message/1401588#1401588

Суть патча довольно проста, архивы:

/usr/lib/vmware/modules/source/vmnet.tar
/usr/lib/vmware/modules/source/vmci.tar

Поочерёдно распаковываются, а в модули:

vmet-only/vnetUserListener.c
vmci-only/linux/vmciKernelIf.c

Добавляется строка:

#include “compat_sched.h”

после чего всё опять архивируется и вертается на место. Затем модули VMware заново пересобираются. Всё это делается автоматически. Для любителей нудной и плодотворной работы "ручками" смотреть:

http://blog.chmouel.com/2009/12/05/vmware-vmplayer-and-kernel-2-6-32/
http://communities.vmware.com/message/1387993#1387993,

И вроде как всё довольно просто, ан нет. Провозился без малого 3 часа. Сначала в ответ на выпавшую ошибку:

gcc and kernel headers must be installed

пришлось догадываться и устанавливать kernel26-headers (да-да, я типа гуру), а затем таки переустанавливать саму виртуалку, ибо вирт. машина запускаться отказывалась категорически. Затем опять патчить.. Тьфу (3 раза), вроде как завелось и работает. Пока что, дальше посмотрим :)
Принимаю исправления и дополнения от местных гуру.

Gnome 2.28.2 login screen problem..

Обновившись сегодня, при входе в систему обнаружил, что окошко logon'а, где обычно вводится логин/пароль, какое-то странное, отсутствует список пользователей, кнопки Restart, Shutdown не реагируют на нажатие. Зайти в систему смог только выйдя из GUI в консоль и перезагрузив GDM
/etc/rc.d/gdm restart
Радости от регулярных таких действий не много, поэтому стал гуглить. Первое что я выснил, так это то, что такая проблема не только у меня:
http://archlinux.org.ru/forum/viewtopic.php?f=12&t=3098&p=23494&hilit=#p23494
Начал гуглить дальше, обнаружил, что у заморских коллег такая же проблема, правда ребята там поактивнее, причину проблемы обнаружили.
http://bbs.archlinux.org/viewtopic.php?id=87122
Оказалось что в данной проблеме виноват
consolekit-0.4.1-1
И бага пофиксена в:
consolekit-0.4.1-2
В mirrorlist у мну указаны только наши зеркала, а на том же Яндексе, данного обновления не нашлось.
----------------------------------------
sudo pacman -Ss consolekit-0.4.1-2
sudo pacman -Ss consolekit
extra/consolekit 0.4.1-1
A framework for defining and tracking users, login sessions, and seats
-----------------------------------------
Пришлось искать на других зеркалах, ткнулся в первый попавшийся официальный:
http://mirrors.kernel.org/archlinux/
Обнаружил то что мне было нужно, зело обрадовавшись, немедленно установил:
pacman -U http://mirrors.kernel.org/archlinux/extra/os/x86_64/consolekit-0.4.1-2-x86_64.pkg.tar.gz
Проблема решилась.

Синхронизация контактов и календаря Gooogle с KAddressbook и KOrganaizer

Синхронизация контактов и календаря Gooogle с KAddressbook и KOrganaizer
Для осуществления этой задачи нам необходимо иметь:
KDE 4.3.4
akonadi 1.2.1
пакет akonadi-googledata-svn
В Archlinux akonadi-googledata-svn можно найти в Aur.
yaourt -S akonadi-googledata-svn
Уверен в других дистрибутивах он так же легко может быт установлен. В любом случае вот ссылка на страничку проекта
libgcal project

После установки всего необходимого жмем Alt+F2 и пишем akonadi, затем выбираем и запускаем Akonadi Tray Utility.

Щелкаем на появившемся значке правой клавишей и запускаем Аконади сервер.

Затем вновь правый клик по значку и запускаем настройку. А там выбираем вкладку Настройка сервера Аkonadi и жмем на кнопку Проверка

Убеждаемся что сообщений об ошибках нет.

Далее во вкладке Настройка источников Akonadi нажимаем кнопку добавить и выбираем Добавить Akonadi Google Calendar Resource

Далее вас попросят ввести логин и пароль вашей учетной записи Google

Вновь нажимаем кнопку добавить и теперь выбираем Akonadi Google Contacts Resource
И вводим вновь данные учетной записи

Оффтопик. Нео-демократия.

Она же демократия-онлайн, hi-tech-демократия и т.п.
Концепция заключается в том, что сегодя, в эпоху когда не выходя из дома заключаются договора, делаются банковские транзакции на миллионы обидно как-то ходить раз в 4-7 лет на выборы.
Давно уже можно организовать выборы из дома, через любимый броузер, либо в любой кабинке через WiMAX подключённой к интернету. Естественно, с помощью ЭЦП, чтобы не было злоупотреблений и подтасовок. Вся система, естественно, открытая, код доступен для аудита всем желающим.
Мало того, что это существенно повысит явку, так ещ и открывает огромные перспективы, для реализации изъявления истиной народной воли. Выборы не обязательно делать разово, однократно в период. Можно сделать всё практически в real-time. Например, побил депутат другого депутата, женщину? Сразу же теряет голоса существенной доли избирателей и отправляется отдыхать. На его место встаёт следующий из списка партии. Ну и в таком духе.
Онлайн, прямое волеизъявление, основанное на мажоритарности мнения.
Можно пойти дальше. Тот, кто активно участвует в выборах, кто стремится влиять на власть получает бонусные баллы. Его голос становится "весомее", чем голос новичка, только что достигшего избирательного возраста и ничерта ещё не смыслящего в деле. Плюс системы в том, что можно делать бальную систему, можно не делать. Можно делать для какие-то выборов и не делать для других.
В целом система позволяет практически в любой момент "спросить" реальных людей их мнение. Дать им возможность самим принимать важные решения, касающиеся их.
Сделать из чиновника просто технического сотрудника, реализующего желания народа.
Цена вопроса - не минус системы. Лишь оправданные инвестиции. В конце концов, система будет не на много сложнее, чем то, что есть сейчас.
Реальных же минуса два.
1. Отсутствие анонимности, как прямая необходимость сохранения проверяемости результатов, а следовательно, ответственность за волеизъявление. Но даже этот минус можно обойти компромиссом.

Проблемы с Xorg

Вся система полностью обновлена посредством установки с ftp сервера.
Залил пакеты для xorg.
При выполнении команды startx появлются окна login и xterm и система жестко виснет,никакие действия по переключению на виртуальную консоль и убийство X'ов hot keys не помогает.
При загрузке в графическом режиме пишет что ему не хватает каких-то файлов в папке xdm и выкидывает в консоль(ее кстати там тоже нет).
Попробовал найти конфигурационный файл xorg.conf,но в системе я его не обнаружил.

P.S. Кто-нибудь может чем-нибудь помочь.