среда, 27 июля 2016 г.

xorg evdev for ps/2 keyboard

Для ноута потребовалось сделать разные настройки клавиатуры для встроенной и подключаемой по usb. Так как usb клава может быть любой то матчим её просто по MatchIsKeyboard "on".
А вот со встроенной пришлось изрядно погуглить. Вобщем для evdev она выглядит как usb устройство с vid/pid=0001:0001, так что можно матчить по MatchUSBID "0001:0001". Хотя возможны варианты - идентификаторы можно найти в логе Xorg.
Теперь есть две секции InputClass, где можно прописывать разные настройки раскладки.

среда, 14 января 2015 г.

Установка OpenType шрифтов в LaTeX

конвертим шрифт в Type1
otftotfm --encoding=t2a --feature=kern --feature=liga MinionPro-Regular.otf T2A-MinionPro-Regular
в конце получим строку типа
T2A-MinionPro-Regular MinionPro-Regular "AutoEnc_3ztld4a2mkz7swvjftg7yr4smd ReEncodeFont" <[a_3ztld4.enc
её надо скопировать в .map файл


кодировка для T1 - fontools_t1

дальше полученные .pfb, .tfm, .enc, .map файлы копируем в соответствующие папки:


- *.pfb -> texmf/fonts/type1///
- *.tfm -> texmf/fonts/tfm///
- *.enc -> texmf/fonts/

map файл прописываем в web2c/updmap.map и делаем updmap



kpsewhich -all updmap.cfg

для latex нужен ещё .fd файл:


 \ProvidesFile{t2aminionpro.fd}[2015/01/15 MinionPro Font]
\DeclareFontFamily{T2A}{MinionPro}{}
\DeclareFontShape{T2A}{MinionPro}{m}{n}{
    <-> T2A-MinionPro-Regular}{}
\endinput


файл лежит в tex/latex/adobe/minionpro/t2aminionpro.fd

понедельник, 2 декабря 2013 г.

Installing OpenBSD with softraid

Начиная с 5.2, по-моему, OpenBSD научилась загружаться с корневым разделом в софтовом рейде. Правда при этом загрузчику вместе со всей папкой /boot таки приходится выделять нормальный раздел, который должен быть на каждом диске массива.

понедельник, 6 мая 2013 г.

openssl certs


CA

openssl ecparam -name secp521r1 -out ec521.param

openssl genpkey -paramfile ec521.param -out root-ca.key

openssl ec -in root-ca.key -noout -text

openssl ec -aes-256-ecb -in root-ca.key -out root-ca-aes.key

Генерируем приватный ключ:


openssl genpkey -out some.key -algorithm RSA -pkeyopt  rsa_keygen_bits:2048

создаем кофигурационный файл req.conf:
[req]
default_md  = sha256
utf8        = yes
prompt      = no
distinguished_name  = req_dn

[req_dn]
countryName = UK
organizationName = ECMA Ltd
organizationalUnitName  = WWW
commonName  = www.ecma.com



Генерируем запрос на сертификат: 

 
openssl req -new -key some.key -config req.conf -out some.csr
 
Проверить содержимое:
 
openssl req -in mycsr.csr -noout -text 
 
Конфигурационный файл для подписи ca_serv.conf: 
[default]
default_ca  = ca_root

[x509_extensions]
basicConstraints        = critical,CA:false
keyUsage                = critical,digitalSignature,keyEncipherment
subjectKeyIdentifier    = hash

[ca_root]
home            = .
database        = $home/db/index
serial          = $home/db/serial
crlnumber       = $home/db/crlnumber
certificate     = $home/private/ca-root.crt
private_key     = $home/private/ca-root.key
RANDFILE        = $home/private/random
new_certs_dir   = $home/certs
unique_subject  = no
copy_extensions = copy
default_days    = 365
default_crl_days    = 365
default_md      = sha256
policy          = policy_c_o_match

[policy_c_o_match]
countryName = match
stateOrProvinceName = optional
organizationName    = match
organizationalUnitName  = optional
commonName  = supplied
emailAddress    = optional 
 
подписываем на CA машине: 

openssl ca -out host.crt -in some.csr -config ca_serv.conf -extensions x509_extensions

проверяем

openssl x509 -in host.crt -noout -text

 

http://pages.cs.wisc.edu/~zmiller/ca-howto/




http://www.madboa.com/geek/openssl/#cert-exam

воскресенье, 30 декабря 2012 г.

Проверка сервера через сертификаты

Итак, я пересаживаюсь на новую машину, захожу по ssh на сервер и вижу знакомую надпись:

authenticity of this host is can`t be established
key fingerprint is xxxxxxxxxxxx
are you sure?

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

Можно хранить фингерпринты где-нибудь в интернете, в доступном месте. Можно завести dns-записи, но для этого нужен свой dns-сервер, ибо я еще не видел сервисов умеющих заводить их. И, наконец, можно подписать ключи серверов ключом центра авторизации, и тогда на клиентской машине нужно будет добавить только одну строчку в known_hosts и мы автоматически начинаем доверять всем своим серверам.

создаем ключ CA

ssh-keygen -t ecdsa -f /etc/ssh/ca-key

при этом создается обычная пара ssh ключей: ca-key (приватный) и ca-key.pub (открытый, он нам понадобится на клиентских машинах)

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

ssh-keygen -s /etc/ssh/ca-key -h -I server.com /etc/ssh/ssh_host_ecdsa_key.pub

получаем файл /etc/ssh/ssh_host_ecdsa_key-cert.pub

настраиваем sshd

в файле /etc/ssh/sshd_config добавляем строку

HostCertificate /etc/ssh/ssh_host_ecdsa_key-cert.pub

перезапускаем ssh

настраиваем клиент

содержимое ca-key.pub (это одна строка) копируем в known_hosts. В начале этой строки добавляем @cert-authority server_name

при этом ключи самого сервера добавлять не нужно.

таким образом подписав нашим ca-key ключи всех серверов, мы сможем проверять валидность их ключей без изменения known-hosts

понедельник, 6 августа 2012 г.

загрузочная флешка с линуксом

Вчера встала задача поднять вайфай на ноутбуке. Система стояла openbsd, в которой драйверов на карточку нету даже в планах. Проводная сеть работает. Под линукс нужные дрова есть. Остается загрузить линукс. Сидирома нет - исошки не прокатят. Пытаюсь найти образ загрузочной флешки (кстати, с опенбсд такая нашлась на первой странице гугла), но везде только инструкции, как создать ее самому. Для создания требуются утилиты, которые под опенкой не работают/отсутствуют.

Вобщем, сплошное разочарование :( Вайфая я так и не получил.

Сегодня, придя на работу, первым делом создал загрузочную флешку с установочным образом генты.

выкладываю тут на всякий случай - gentoo_usb.img

для заливки - dd if=gentoo_usb.img of=/dev/sdc

или как там флешка определилась. флешка нужна на 500 мб или больше

и для лучшего поиска - gentoo liveusb flash скачать, без смс, без регистрации :)

вторник, 31 июля 2012 г.

panic in ghc

Написал маленький но полезный скрипт на хаскеле. И он прекрасно компилировался и работал на домашнем буке. Но после копирования на рабочую машину ghc сказал:
$ ghc
ghc: panic! (the 'impossible' happened)
  (GHC version 6.12.3 for i386-unknown-openbsd):
        too few bytes. Failed reading at byte position 10861
 
Оно, конечно, дома то уже 7-ая версия стоит, и я подумал, а не изменился ли синтаксис?
Но попытка скомпилировать программу с одной строчкой и той контстантой не привела к успеху
 
Зато как обычно гугл почти сразу дал ответ - 
надо почистить ~/.ghc
Похоже туда он сваливает временные файлы для ускорения компиляции и после обновления системы формат их изменился