воскресенье, 31 июля 2011 г.

просмотр дисков в системе

# cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: ATA Model: WDC WD3200AAKS-0 Rev: 12.0
Type: Direct-Access ANSI SCSI revision: 05
Host: scsi3 Channel: 00 Id: 00 Lun: 00
Vendor: ATA Model: WDC WD20EARS-00M Rev: 51.0
Type: Direct-Access ANSI SCSI revision: 05
Host: scsi4 Channel: 00 Id: 00 Lun: 00
Vendor: ATA Model: WDC WD1001FALS-0 Rev: 05.0
Type: Direct-Access ANSI SCSI revision: 05
Host: scsi5 Channel: 00 Id: 00 Lun: 00
Vendor: ATA Model: WDC WD1001FALS-0 Rev: 05.0
Type: Direct-Access ANSI SCSI revision: 05
Host: scsi2 Channel: 00 Id: 00 Lun: 00
Vendor: ATA Model: WDC WD3200AAKS-0 Rev: 12.0
Type: Direct-Access ANSI SCSI revision: 05
Host: scsi1 Channel: 00 Id: 00 Lun: 00
Vendor: ATA Model: WDC WD20EARX-00P Rev: 51.0
Type: Direct-Access ANSI SCSI revision: 05

Также есть /proc/ide

пятница, 29 июля 2011 г.

SVN: переименовываем репо

Дело в том, что нельзя просто переименовать директорию. Но и штатных методов "в 1 команду" нет, впрочем, это делается просто:

# cd /var/svn
# svnadmin create newrepo
# svnadmin dump oldrepo > oldrepo.dump
# svnadmin load newrepo < oldrepo.dump

Теперь надо проверить права (у меня работает через svnmanage и я делаю chown svn -R newrepo), скопировать из старой conf, hooks. Возможно, сделать chmod g+w

Теперь делаем в проекте svn switch --relocate и проверяем update, commit.

Можно поймать ошибку
svnadmin: File not found: transaction '0-0', path 'trunk/design'
Она может появиться, если меняли структуру дампа и создали вложенный каталог, тогда надо открыть дамп и добавить туда создание нужного каталога.

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

Стандартные настройки и параметры железа

Хотел составить свой список, но понял, что в сети есть на сотни и тысячи паролей

http://www.phenoelit-us.org/dpl/dpl.html
http://biglan.ru/standart-password.html

Есть ветка http://forum.antichat.ru/thread49481.html но она от 2007 года. Ссылок много, но почти все наверное уже мертвы.

А вот списков стандартных айпи я не нашёл пока.

  марка айпи логин пароль
D-link
  d-link 2100ap 192.168.0.50/24 admin  
Ubiquiti
  UniFi manager 192.168.0.32/24 - -
  UniFi AP dhcp ubnt ubnt

tftp

Поднимаем tftp сервис

Centos
Можно через штатный
#yum -y install tftp-server xinetd
#chkconfig tftp on
#chkconfig xinetd on
#chmod 777 /tftpboot

Дальше описано тут:
http://www.manageserver.ru/2009/09/21/tftp-просто-передать-файл-посети/
Но я не переношу xinetd, так что пока ищу альтернативный вариант.

Теперь надо настроить dhcp (опционально) для загрузки по сети
allow booting;
allow bootp;
class "pxeclients" {
match if substring(option vendor-class-identifier, 0, 9) = "PXEClient";
next-server ;
filename "linux-install/pxelinux.0";
}
where the next-server should be replaced with the IP address of the tftp server.

http://www.centos.org/docs/5/html/5.2/Installation_Guide/ch31s05.html

Или, в случае с циской,
ip dhcp pool ts
import all
network 10.10.6.0 255.255.255.0
! option 67 ascii "thinstation.nbi.0"
bootfile thinstation.nbi.zpxe // Это как 67 опция. Для сетевух, которые не понимают большие загрузчики - .zpxe, как-то так.
option 66 ip 10.10.6.254

interface FastEthernet0/0
ip address 10.10.6.254 255.255.255.0
ip helper-address 10.10.6.254 // Вот! Без этого не прёт.

tftp-server flash:thinstation.nbi
tftp-server flash:thinstation.nbi.zpxe

http://www.anticisco.ru/forum/viewtopic.php?f=2&t=132

пятница, 22 июля 2011 г.

Виды видеовыходов

Интерфейсы мониторов — типы разъемов
Интерфейсы, массово применяемые в настоящее время

VGA(D-Sub) - единственный аналоговый интерфейс подключения мониторов, ещё применяемый в настоящее время. Морально устарел, однако будет активно использоваться ещё длительное время. Главный недостаток связан с необходимостью применения двойного преобразования сигнала в аналоговый формат и обратно, что приводит к потере качества при подключении цифровых устройств отображения (LCD мониторов, плазменных панелей, проекторов). Совместим с видеокартами с DVI-I и аналогичным разъёмом.

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

DVI-I - расширенный вариант интерфейса DVI-D, наиболее часто встречающийся в настоящее время. Содержит 2 типа сигналов - цифровой и аналоговый. Видеокарты можно подключать как по цифровому, так и по аналоговому соединению, видеокарту с VGA(D-Sub)-выходом можно подключить к нему через простой пассивный переходник или специальным кабелем.

Если в документации к монитору указано, что в данной модификации применён вариант DVI Dual-Link, то для полноценной поддержки максимальных разрешений монитора (обычно это 1920*1200 и выше) видеокарта и применяемый DVI кабель также должны поддерживать Dual-Link, как полный вариант интерфейса DVD-D. Если используется кабель из комплекта монитора и относительно современная (на момент написания FAQ) видеокарта, то никаких дополнительных приобретений не требуется.

HDMI - адаптация DVI-D для бытовой аппаратуры, дополненная интерфейсом S/PDIF для передачи многоканального звука. Присутствует фактически для всех современных LCD-телевизорах, плазменных панелях и проекторах. Для подключения к HDMI разъёму видеокарты с интерфейсом DVI-D или DVI-I достаточно простого пассивного переходника или кабеля соотвествующими разъёмами. Видеокарту только с VGA(D-Sub) разъёмом подключить к HDMI невозможно!

DisplayPort - перспективный, но уже применяемый интерфейс "видеокарта-монитор", замена DVI-D/DVI-I, но не HDMI

http://www.nix.ru/support/faq/show_articles.php?number=258&faq_topics=VGA-ADC-DVI-D-HDMI-DVI-I-DFP-DVI-A-DisplayPort

DVI
DVI (Digital Visual Interface) - самый популярный тип интерфейса для подключения мониторов и других устройств отображения информации (проекторов, плазменных панелей) к компьютерам в настоящее время. В будущем будет постепенно вытесняться интерфейсом DisplayPort.

Интерфейс DVI может содержать до двух цифровых каналов и один аналоговый(VGA), что обуславливает существующее разнообразие разъёмов

http://www.nix.ru/support/faq/show_articles.php?number=713&faq_topics=DVI

DisplayPort
DisplayPort – принципиально новый тип цифрового интерфейса для связи видеокарт с устройствами отображения, предназначен для замены как интерфейса DVI, используемого для подключения внешних мониторов, так и LVDS, используемого для подключения встроенных дисплеев портативных устройств (ноутбуков, PDA и т.п.).

Несмотря на большие возможности, DisplayPort не заменит HDMI: эти два стандарта ориентированы на разные сегменты рынка: HDMI – на бытовую аудио-видео аппаратуру, а DisplayPort – на компьютеры и профессиональное оборудование.

http://www.nix.ru/support/faq/show_articles.php?number=691&faq_topics=DisplayPort

USB 3.0

USB 3.0 или USB Super Speed - новое поколение интерфейса USB (Universal Serial Bus).

Его ключевым отличием от предыдущей версии USB 2.0 (или High Speed) является возросшая с 480Мбит/сек до 5Гбит/cек максимальная теоретическая скорость передачи данных.
Менее очевидный, но столь же принципиальный момент - с версией 3.0 USB не только разгонится, но и станет изохронным и полнодуплексным, т.е. обретёт возможность независимо передавать данные в обе стороны с максимальной скоростью. Более ранние версии USB были полудуплексными, и заявленная максимальная скорость достигалась только при передаче данных в одном направлении. Это усовершенствование крайне важно для будущих высокоскоростных USB 3.0 SSD и прочих устройств хранения данных, поскольку интерфейс не будет ограничивать потенциальные возможности устройства при одновременном выполнении операций чтения и записи.
На практике между контроллером и устройством достигается максимальная устоявшаяся скорость передачи данных около 380Мбайт/cек, что например, быстрее, чем фактическая скорость SATA-II (около 250Мбайт/cек), и более чем на порядок превышает аналогичный параметр для USB2.0 и IEEE1394.

Для того чтобы достичь таких характеристик, в USB 3.0 SuperSpeed впервые серьёзно была изменена конструкция разъёмов и кабелей с сохранением максимальной совместимости с предыдущими версиями стандарта там, где это возможно.
В дополнение к имеющимся в предыдущих версиях стандарта линиям питания, земли и дифференциальной пары для передачи данных добавлено ещё две дифференциальные пары для SuperSpeed-режима и отдельный экран, из-за чего сам кабель конструкцией и диаметром стал напоминать экранированную витую пару (STP) категории 6, а SuperSpeed часть USB 3.0 производительностью и использованными методами передачи информации очень напоминает PCI-E 2.0 1x во внешнем исполнении, к сожалению, являясь с ним полностью несовместимой.

....

http://www.nix.ru/support/faq/show_articles.php?number=736&faq_topics=USB

Intel Z68 Express: SSD-кэширование и Quick Sync

http://www.thg.ru/mainboard/intel_z68_express/print.html

четверг, 21 июля 2011 г.

Установка ffmpeg

Во фре всё как всегда просто:
cd /usr/ports/graphics/php5-ffmpeg
make install clean

В центоси как всегда нужны танцы с бубном.
Для начала, надо поставить репы epel, rpmforge.
Потом ставится ffmpeg. Причём 99% мануалов в сети говорят "а теперь ставим компилер, кучу левых библиотек и собираем руками". А это совсем не linux-way с его пакетами. То, что в gentoo и freebsd -- штатные методы, тут - полный изврат. И то, по хорошему говоря надо сначала собрать пакет и потом уже его ставить. За тупой make install в сорцах надо отрывать руки.
yum install -y ffmpeg ffmpeg-devel
зависимостями подтянет около 30-40 пакетов.

После этого ставим компилятор (уже без тучи попутного мусора) и руками собираем модуль.
yum install -y gcc
mkdir ~/php-ff
svn co -r 676 https://ffmpeg-php.svn.sourceforge.net/svnroot/ffmpeg-php/trunk/ffmpeg-php ~/php-ff/
cd ~/php-ff/
phpize
./configure
make

Да, на офсайте можно просто скачать версию 0.6.0, она вполне рабочая хоть и 2008 года. Только всё-равно нужно будет делать замену RGBA на RGB (см ниже).

Дальше надо собрать пакет через rpmbuild, но у меня не было времени, пришлось ставить так.
make install
Installing shared extensions: /usr/lib64/php/modules/
(этот шаг можно сделать вручную, там просто копируется 1 файл)

Там появился файл ffmpeg.so
Подключим
cd /etc/php.d/
vi ffmpeg.ini
extension=ffmpeg.so

Перезапустим apache, проверим.
php -i|grep ffmpeg


Если phpize нету - не забываем доставить пакет php-devel
phpize: command not found
yum -y install php-devel

configure: error: ffmpeg headers not found. Make sure ffmpeg is compiled as shared libraries using the --enable-shared option
Надо доставить ffmpeg-devel
yum install --enablerepo=rpmforge,rpmfusion-free-updates-testing ffmpeg-devel ffmpeg
Смотрим на это полотно зависимостей, ужасаемся, ставим.

Может быть ошибка
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/ffmpeg.so' - /usr/lib64/php/modules/ffmpeg.so: undefined symbol: php_gd_gdImageSetPixel in Unknown on line 0
В общем, надо, чтобы gd.so грузился раньше. Проблема в том, что даже вписав строку extension=gd.so перед ff -- не заработало...
Может быть как из-за selinux
-rwxr-xr-x root root user_u:object_r:lib_t ffmpeg.so
-rwxr-xr-x root root system_u:object_r:textrel_shlib_t fileinfo.so
fix: chcon -u system_u -t textrel_shlib_t ffmpeg.so
так и просто проблем в загрузке, когда система считает себя слишком "умной".
Из-за порядка загрузки (сначала GD)
Или просто из-за глючной SVN-версии. Решение: НЕ использовать svn, а взять архив с 0.6.0, пропатчить (:%s/PIX_FMT_RGBA32/PIX_FMT_RGB32), собрать.
Говорят, это что-то не то с centos.
Линки по проблеме: 1 2 3
Возможно, данная проблема затронула 5.3+ версии, на 5.2 не проверялось. Также попробовать ревизии 676 и ниже (677 битая)
UPD 676 собралась нормально.

офсайт ffmpeg-php
http://unixblog.org.ua/php/install-php-ffmpeg-on-centos-5/

Apple выпустила первый в мире монитор с интерфейсом Thunderbolt

Thunderbolt основан на технологиях PCI Express 2.0 и DisplayPort. Он обладает пропускной способностью 10 Гб/с, позволяет осуществлять подключение мониторов с высоким разрешением, а также осуществлять высокоскоростную передачу данных на внешние накопители или периферийные устройства при помощи одного порта. Также данный интерфейс обеспечивает возможность передачи энергии мощностью 10 Вт периферийным устройствам, что позволяет осуществлять их питание.

http://itc.ua/news/apple_vypustila_pervyj_v_mire_monitor_s_interfejsom_thunderbolt_54640

PCI Express 2.1

По физическим характеристикам (скорость, разъём) соответствует 2.0, в программной части добавлены функции которые в полной мере планируют внедрить в версии 3.0. Так как большинство системных плат продаются с версией 2.0, наличие только самой видеокарты с 2.1, не даёт задействовать данный режим.

http://ru.wikipedia.org/wiki/PCI_Express

среда, 20 июля 2011 г.

Боремся с blank screen (черный экран)

Я знаю 2 варианта:
1) acpi=ht в параметры ядра
2) setterm

Второй метод удобнее тем, что он может не просто показать "пустоту", но и перевести монитор в сберегающий режим.

У меня заработало в таком варианте:
setterm -blank 0
setterm -powerdown 0

Если же хочется, чтобы монитор не просто очищался, но полностью отключался:
setterm -blank 1
setterm -powerdown 2
setterm -powersave powerdown

Но вводится это с настоящей консоли (не ssh сессия). Как указать настоящий монитор, не разобрался - не было времени. (echo $TERM показывает linux, но не проверял)
Можно теперь вписать эту строку в /etc/rc.local. Опять же не знаю, есть ли более "правильный" путь.

-blank [0-60] (virtual consoles only)
Sets the interval of inactivity, in minutes, after which the screen will be
automatically blanked (using APM if available). Without an argument, defaults
to 0 (disable console blanking).

-powersave powerdown
Puts the monitor into VESA powerdown mode.

-powerdown [0-60]
Sets the VESA powerdown interval in minutes. Without an argument, defaults to 0
(disable powerdown). If the console is blanked or the monitor is in suspend
mode, then the monitor will go into vsync suspend mode or powerdown mode respec-
tively after this period of time has elapsed.

Также можно посмотреть в сторону terminfo

Один из примеров
http://rus-linux.net/MyLDP/hard/linux-energi.htm

Про режимы:
http://lna.org.ru/book/export/html/64

SVN: изменение параметров хранилища

Во FreeBSD всё просто и логично: открываем /etc/rc.conf и вписываем:

svnserve_enable="YES"
svnserve_flags="-d --listen-port=3690"
#svnserve_data="/usr/local/repositories"
#svnserve_data="/backup/SVN"
svnserve_data="/var/svn"
svnserve_user="svn"
svnserve_group="svn"

В CentOS всё сильно хуже: чтобы понять, что куда вписывать, пришлось гуглить часа 3, а дальше методом перебора...
Для начала, создать файл /etc/sysconfig/svnserve

cat /etc/sysconfig/svnserve
#OPTIONS="svnserve_data=/var/svn"
#svnserve_data=/var/svn
#SVNREPO=/var/svn
#root=/var/svn
#SVNSERVE_OPTIONS="-d -r /var/svn/"
OPTIONS="--root=/var/svn"

Проверять, что получилось, можно через
ps auxwww|grep svn

Вдобавок, надо будет создать пользователя svn и прописать его
useradd -u 1006 -d /var/svn svn

Создав тестовый репозитарий, нас будет ждать неприятный сюрприз: владелец-рут. Исправим.
нужен wrapper

Одинаковые пути для svn:// и svn+ssh://
http://blog.stranadurakov.com/2009/08/26/how-to-remove-absolute-path-in-svn-ssh/
mv /usr/bin/svnserve /usr/bin/svnserve.bin
vi /usr/bin/svnserve

#!/bin/sh
umask 002
exec /usr/bin/svnserve.bin -r /path-to-repos "$@"

Выставим права на исполнение.
chmod 755 /usr/bin/svnserve

Вариант через xinetd (надо бы проверить, но я этот демон не признаю)
http://en.gentoo-wiki.com/wiki/Subversion/Install
Актуально для gentoo, но тут подогнать будет просто.

Шифрованные пароли
Штатно они открытым текстом. Можно подключить sasl
http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-serversetup-svnserve.html

Но шифроваться они будут только при передаче или и на сервере тоже?...

Если что -- про настройку в OpenSUSE
http://index01d.com/?p=9

пятница, 15 июля 2011 г.

X100P clone

http://www.voip-info.org/wiki/view/X100P+clone

The X100P is a single port fxo (foreign exchange office) card whose job it is to interface an analog line from the phone company to your linux box. There are two variations of this card. The first consists of a Motorola chip and two small chips from Silicon Laboratories. The second card, also known as the x101p, consists of a Tiger Jet 320 chip and an updated Silicon Labs chip or chipset.

среда, 13 июля 2011 г.

SPF: разбираемся с include

Что такое SPF, уже было. Что значат a mx в начале записей там тоже можно найти.

Когда нужен include? Представим, что у нас много своих айпи или просто много доменов и мы хотим при переезде 1 сервера на новые айпи менять не все домены, что там сидели (а это может быть даже 1500 доменов), а 1 общий. В этом случае на этих доменах создается TXT запись вида
@ TXT "v=spf1 a mx include:OurMainDomain.ru -all"
Теперь достаточно поменять запись только для OurMainDomain.ru и всё.
Могут быть варианты и сложнее, с несколькими include, хотя тут уже лучше не увлекаться.
А что если для самого OurMainDomain.ru также нужна SPF запись? В этом случае надо вынести нашу служебную TXT на отдельный поддомен.

Для начала, посмотрим на include:_spf.google.com

host -a _spf.google.com
Trying "_spf.google.com"
;; ->>HEADER<<- data-blogger-escaped-25361="25361" data-blogger-escaped-br="br" data-blogger-escaped-id:="id:" data-blogger-escaped-noerror="noerror" data-blogger-escaped-opcode:="opcode:" data-blogger-escaped-query="query" data-blogger-escaped-status:="status:"> ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 4

;; QUESTION SECTION:
;_spf.google.com. IN ANY

;; ANSWER SECTION:
_spf.google.com. 300 IN TXT "v=spf1 ip4:216.239.32.0/19 ip4:64.233.160.0/19 ip4:66.249.80.0/20 ip4:72.14.192.0/18 ip4:209.85.128.0/17 ip4:66.102.0.0/20 ip4:74.125.0.0/16 ip4:64.18.0.0/20 ip4:207.126.144.0/20 ip4:173.194.0.0/16 ?all"

;; AUTHORITY SECTION:
google.com. 324838 IN NS ns2.google.com.
google.com. 324838 IN NS ns4.google.com.
google.com. 324838 IN NS ns1.google.com.
google.com. 324838 IN NS ns3.google.com.

;; ADDITIONAL SECTION:
ns1.google.com. 206645 IN A 216.239.32.10
ns2.google.com. 206645 IN A 216.239.34.10
ns3.google.com. 206645 IN A 216.239.36.10
ns4.google.com. 140190 IN A 216.239.38.10

Похоже, что для такого подключения сейчас стандарт _spf.domain, типа TXT
Таким образом, на нашем OurMainDomain.ru надо добавить запись
_spf IN TXT "v=spf1 ip4:x.x.x.x ?all"
?all нужен: если у нас после этого include идёт ещё (можно писать больше 1 include), чтобы проверка почтовиком не остановилась и проверяла записи дальше.
Означает "если адрес не подошёл ни к одному правилу, считать, что проверка не проводилась".

Важный нюанс: не стоит делать include, который показывает на нестабильный dns: если не удалось получить эти данные, почта перестанет ходить. Во всяком случае, так пишут во всех мануалах. Как я понимаю, ошибка подключения фактически выдаст "-all".

mysql 5.5

Во фре есть штатно уже
/usr/ports/databases/mysql55-*

В центоси надо подключить remi
Но проверить, что для remi enabled=0 -- можно нарваться на нестабильные версии софта. Ставить через
yum --enablerepo=remi install mysql mysql-server
Есть remi-test ещё, но это только если для тест-систем.

вторник, 12 июля 2011 г.

kde4

Если ставить КДЕ4, первым дело надо выпилить Akonadi, Nepomuk и прочие Virtuoso, тогда тормозить будет сильно меньше, расход памяти уменьшится в разы.

Полный вынос возможен только до версии 4.3, дальше эти поделия встроены в ядро и не выпиливаются, только отключаются.

Сначала отключить неугодные сервисы в настройках. Поскольку после этого мусор еще продолжает запускаться, добавить в автозагрузку после логина
sleep 5
akonadictl stop
qdbus org.kde.NepomukServer /nepomukserver org.kde.NepomukServer.quit

Только без этого всего PIM кде начинают жаловаться на ошибки (мол непомук не рапущен ахтунг!). А это пне последний компонент кед.

О программах:
strigi - теоретически должен индексировать содержимое ваших файлов.
Практически алгоритм действий таков: пилить диск, жрать процессорное время, сдохнуть от SIGSEGV, смыть, повторить.

nepomuk - центральный компонент этого самого семантического десктопа, создан похоже инопланетянами на Марсе, что и как делает жалким людишкам не понять.
Практическое назначение: жрать память пока не прибили.

akonadi - демон-хранитель почтовой и прочей PIM информации, вроде как даже и работает, но требует nepomuk и MySQL чем и вызывает лютую ненависть к себе.
Практическое назначение: висеть в памяти, запуская nepomuk'и и MySQL'и, до тех пор пока озверелый пользователь не перейдет на mutt.

Вот как-то так.

По мотивам и комментам опеннета

sorbs

Ни в коем случае не используйте sorbs! Отвратительная система. Проверить айпи в списке без регистрации невозможно, удалиться тем более. "проверить без регистрации" ведет на страницу регистрации. Автоматической отписки по неактивности (нет больше спама) нету. Для регистрации перекидывает на https, самоподписанный. Для регистрации требуется: личный телефон (!), рабочий (!!), мобильный (!!!), полная информация о нахождении, почта не на бесплатном хостинге... Кем они себя возомнили, хозяевами мира? Осталось только брать деньги за удаление из бана и будет стандартная система жуликов.. не знаю, как таких называть. Это как псевдоантивирусы, которые не только ничего не лечат, но и сами троянов засылают.
Может у кого есть идеи, как бойкотировать такие системы?