29 дек. 2009 г.

Металлолом

Пришлось два дня провозиться с железякой 95-го года производства. Точнее с тремя. Какие-то, на то время очень крутые, персоналки. 80 МБ рамы (4 симма по 20, получается, МБ - я таких не встречал никогда, хотя симмы застал); HDD 4GB; Pentium 133, Win 98 (на корпусе - наклеечка "Designed for Windows 95" :) ); 12-x CD-Rom (круть по тем временам). Пока разобрал корпус, придумал пару новых выражений нецензурных - [censored] и [censored][censored][censored][censored]. Позже скину фотки сего дела.
Задача была поставить на машинку какой-нибудь Linux. Для того, чтобы сотворить железяку, которая будет будить сервера, уснувшие в случае отключения света, но не проснувшиеся при его появлении. То есть такая ситуация.



  • На серверах (несколько штук подключены к одному smart-UPS, который, в свою очередь управляется на одном из серверов) поднят apcupsd.

  • Пропадает свет. Сервера корректно тушатся командами от мастера, затем выключается и сам мастер. При этом между выключением первого сервера и выключением самого UPS проходит около 5 минут
  • .
  • UPS отключает питание с выходов.

  • По включении питания UPS заряжается до указанного в настройках заряда батареи, включает питание на выходах, сервера начинают загружаться.



Но если питание в электросети появится до отключения UPS-а и после отключения первого сервера, то последний так и останется выключенным. Для этого было решено поставить какой-нибудь старый тазик, который будет включен прямо в электросеть, чтобы по появлению электричества начинать рассылать нужным серверам сообщения Wake On Lan.
Под руками оказались 3 полусобранные машины с вышеописанной конфигурацией. С загрузочныз компактов грузиться они упорно не хотят - если старт и происходит, то тут же процесс обрывается с разнообразными сообщениями о невозможности правильно сконфигурировать привод. С загрузкой с дискет примерно та же история.

После дня мученний скопировал имевшуюся под руками Slax - Live-дистрибутив Slackware. Скопировал его на диск c:\ одной из машинок. Прописал в autoexec.bat запуск. Без особых проблем он запускается. Но с непонятной периодичностью теряет сделанные настройки. То /root пропадает, то настройки сети... Полдня с ним провозился. Плюнул.

Подошел zipslack. Подключил винт с машинки к донору, распаковал на него пакет zipslack-а. Прописал, опять-таки, в autoexec.bat его запуск. Стартует, конфигурацию запоминает... Всё хорошо. Пришлось, правда скачать perl.tgz и установить его. Для того, что в пакет не входят компиляторы, которыми можно было бы собрать программку для отсылки WOL-пакетов. А perl поставился без компиляции, а перловый скрипт (взятый отсюда) очень даже нормально с этой задачей справляется.


Таким образом получился костыль 15-летнего возраста, который помогает молодым брендовым серверам, лет на 14 младше этого костыля. :)

Каламбурчик

Наше счастье - постоянно
Ешь кокосы, жуй бананы
Ешь кокосы, жуй бананы...
...Хочу МЯСА!

Чунга Чанга.

9 дек. 2009 г.

"iMax Download Manager"

Вчера столкнулся, как, подозреваю, и еще несколько сот тысяч, пользователей, с т.н. "вымогателем". При попытке запуска любого exe-файла приложение тут же закрывалось. Через пару минут после старта системы выскакивало окно с надписью "Вы нарушили правила использования пакета iMax Download Manager." + [куча текста] + "отправьте СМС на номер такой-то с текстом таким-то". Троянец был подхвачен неизвестно когда (пользователь работал с правами админа и что где и как запускал - неизвестно). Но активизировался троян 08/12/2009. Сообщений в форумах - море. С разными кодами и советами. Часа 4 ушло на попытки вычислить откуда происходит запуск и как его вычистить и на выдумывание новых воззваний в адрес пользователей и троянописателей. Ничего не получалось. Кроме воззваний. Потом в одном посте таки подсказали симптом - в windows\system32\ располагаются несколько DLL-файлов с одинаковым размером, признаком системных скрытых файлов и белибердой в имени. Загрузился с LiveCD, выстроил список файлов по размерам. Нашел группу из десятка файлов с одним размером и признаками скрытости. Снес их в архив и перезагрузился. Помогло.

Если это читает кто-то живой! :)
Работайте с учеткой обычного пользователя! Используйте права администратора только при необходимости. Значительно упростите себе жизнь!

3 дек. 2009 г.

Грязные хаки в C++

В блоге "C++ для всех" наткнулся на статейку "Вокруг public, private и protected". В двух словах - 4 метода доступа к private-членам класса. Особенно улыбнуло

1 #define private public
2
3 class some {
4 public:
5 int a;
6 protected:
7 int b;
8 private:
9 int c;
10 };
11
12 void hack(some& obj) {
13 obj.c = 0;
14 }


:)

29 нояб. 2009 г.

Ляпы

Вот. Купли сок. Таки оказался персиковым.

26 нояб. 2009 г.

Коллажик

Вот. (c) - не мой. Идея моя.

20 нояб. 2009 г.

Уроды

Пришло спам-письмо. Просмотрел его. В конце - текстовка (см фото). Ну не уроды?..

18 нояб. 2009 г.

Ubuntu, Pidgin. Слетают Jabber-учетки.

Периодически перестают подключаться к серверу jabber-учетки в Pidgin. Никаких ошибок. А не подключаются. Пока помогает пересоздание учеток в Pidgin. При этом данные никакие не теряются.

Де-то так...

Где-то так и есть :)
Взято с Нонейма.

13 нояб. 2009 г.

Трус не играет, не смотрит, не снимает, не ходит на, не читает про хоккей

Крысиные бега под названием "эпидемия"

Сначала хотел написать, а потом передумал. Одни деньги отмывают, другие в намордниках ходят с умным видом...
Серость.

11 нояб. 2009 г.

Клавиша SysRq

К стыду своему, за много лет работы за компом я ни разу не задумался назначение на клавише Print Scrn второй надписи - SysRq. А вот оказывается, эта клавиша поистине волшебна. В *x системах она выполняет следующие действия на уровне системы (ядра?):
Alt-SysRq-K - снимает все процессы в текущей виртуальной консоли, оставляя только системный процесс login, который не может подменить никакая внешняя утиль. Аналог виндового Ctrl-Alt-Del, выводящего окно логина, которое принадлежит системе и не может быть подменено никакой программой. Нужно для защиты от программ-шпиёнов. В этом окне нажатия клавиш обрабатывают только драйвера.

Alt-SysRq-E - прекращает в системе все процессы кроме init, отправляя им сигнал SIGTERM. При получении этого сигнала программа перед выходом может сохранить нужные данные.

Alt-SysRq-I - прекращает в системе все процессы кроме init, отправляя им сигнал SIGKILL. При получении этого сигнала процесс немедленно убивается - без возможности сохранения данных.

Alt-SysRq-S - сбрасывает все буфера записи на диск. Полезно, если только Reset спасет, чтобы не потерять данных в буферах. Рекомендуют дождаться сообщения "Emergency Sync.... OK" (или подождать секунд 5-6, если вывод на консоль не производится) перед Reset - нужно дать системе время на сброс и запись данных.

Alt-SysRq-U - отмонтирует все примонтированные ФС. Выводится сообщение "Emergency Umounting". Рекомендации по ожиданию - те же. Еще желательно перед этим скинуть буффера командой Alt-SysRq-S.

И на закуску - контрольный в голову
Alt-SysRq-B - reBoot - аналог виндового ресета.
Alt-SysRq-S - Shutdown - аналог виндовой кнопки питания :)

GPG. Пример использвания

Взято отсюда.



GNU Privacy Guard - GPG

GnuPG - программа для шифрования и подписывания информации, совместимая с PGP. Я не буду здесь рассказывать, что такое шифрование и как оно работает, а лишь приведу основные приемы работы с GnuPG.
Исполняемый файл GnuPG называется gpg. Работа с ним производится при помощи параметров командной строки либо в интерактивном режиме (например, редактирование ключа).
Связка открытых ключей хранится в файле ~/.gnupg/pubring.gpg, а закрытых - в ~/.gnupg/secring.gpg.

Создание пары ключей

Пара ключей создается командой gpg --gen-key. При этом вас спросят тип, размер и срок действия ключа. Затем будет предложено ввести идентификатор пользователя и ключевую фразу. После создания ключа можно просмотреть его командой gpg --list-keys <ключ>, где <ключ> - это любая информация о ключе - имя пользователя, почтовый адрес или цифровой идентификатор.

Теперь экспортируем открытый ключ в файл. Это делается следующей командой:

gpg --output pubkey.asc --export <ключ> --armor

Здесь --armor указывает на то, что вывод должен быть в текстовом, а не двоичном, формате.

Импорт и подписывание чужих открытых ключей

Допустим, у нас имеется чей-то открытый ключ, полученный по почте, с PGP-сервера или еще как-то и созраненный в файл pubkey.asc. Импортируем его в свою связку:

gpg --import pubkey.asc

Перед тем, как пользоваться этим ключом для шифрования или проверки подписи, надо указать степень доверия к этому ключу, а для этого подписать его своим закрытым ключом. Всё это (как и все операции над ключами, имеющимися в связке) делается в специальном режиме редактирования ключа, запускаемом командой gpg --edit-key <ключ>.
Сначала командой fpr просмотрите отпечаток ключа и обязательно сравните его с отпечатком, полученным от хозяина ключа по надежным каналам (по телефону или при личной встрече). Помните, что подписывая открытый ключ, вы подтверждаете его подлинность. Не проверяя отпечаток, вы можете довериться подмененному ключу, что недопустимо. После проверки отпечатка введите команду sign. Укажите, должна ли будущая подпись быть экспортируемой вместе с открытым ключом, или же только локальной. Выберите степень Вашего доверия к данному открытому ключу. Затем введите ключевую фразу своего закрытого ключа. Ключ подписан. Для проверки можете ввести команду check и увидеть только что сделанную подпись. Для выхода из режима редактирования введите команду q и не забудьте сохранить сделанные изменения.

Шифрование

Для шифрования нам необходим открытый ключ человека, которому предназначена шифруемая информация. Для шифрования самому себе можно использовать и собственный открытый ключ.
Чтобы зашифровать файл 1.txt, введите следующую команду:

gpg --output 1.gpg --encrypt --recipient <ключ> 1.txt

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

gpg --output 1.txt --decrypt 1.gpg

Необходимо будет ввести ключевую фразу используемого ключа.
При необходимости gnupg может шифровать информацию с применением симметричных алгоритмов. Для этого к команде шифрования добавьте опцию --symmetric. Вас попросят ввести ключевую фразу, на основе которой будет зашифрован файл. Для расшифровки необходимо будет ввести эту же фразу.

Подписывание и проверка подписи

Существует 3 типа подписей. Для создания подписи необходим закрытый ключ, для проверки - открытый.

1. Обычная подпись. Команда:

gpg --output 1.gpg --sign 1.txt

При этом сам файл и его подпись будут объединены в отдельный файл. Прочитать этот файл просто так не получится. Для простой проверки подписи выполните

gpg --verify 1.gpg

Для того, чтобы извлечь сам файл, вместо --verify используйте --decrypt. При этом, несмотря на название ключа, закрытый ключ не потребуется.

2. Прозрачная подпись (Clearsign). При таком способе подписывания к исходному файлу добавляется подпись, при этом сам файл можно просматривать без использования gpg. Для создания такой подписи вместо --sign используется --clearsign.

3. Отделенная (detached) подпись. При этом исходный файл вообще не меняется, а подпись сохраняется в отдельный файл. Для этого используется ключ --detach-sign. Чтобы проверить подпись, необходимы и подпись, и сам подписанный файл. В команде проверки надо указывать оба файла:

gpg --verify 1.sig 1.txt


forum.od.ua решил не отставать от Microsoft :)

forum.od.ua решил не отставать от Microsoft :)

10 нояб. 2009 г.

Slackware. Сборка Apache Httpd 2.2.14 поверх 2.2.9

Возился долго со сборкой Apache Httpd 2.2.14 на системе под Slackware с имеющимся httpd 2.2.9. При make возникало:

log.c: In function 'piped_log_spawn':
log.c:900: error: 'piped_log' has no member named 'cmdtype'
log.c: In function 'ap_open_piped_log_ex':
log.c:1039: error: 'piped_log' has no member named 'cmdtype'
make[2]: *** [log.lo] Error 1
make[2]: Leaving directory `/home/user/install/httpd/server'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/user/install/httpd/server'
make: *** [all-recursive] Error 1


Поиск по форумам ничего толкового не дал. Обновление библиотек apr и apr-utils тоже.
Сделал так:
Взял последнюю команду сборщика, после которой он выходил с сообщением об ошибке. Посмотрел подозрительные пути в параметре -I (указание на директорию, в которой нужно искать необходимые для компиляции библиотеки), увидел там старую директорию include. Попробовал ее заменить на новую и библиотека log.c скомпилировалась. Далее понял куда двигаться. Нашел все файлы в дистрибутиве httpd, в которых упоминается функция ap_open_piped_log_ex - 4 файла. Посмотрел где находятся найденные файлы *.h. Увидел, что они расположены и в старой (в уже установленном старом httpd), и в новой директориях include (в инсталляции). От старой директории избавился переименованием. Указание --includedir при ./configure тоже почему-то не помогло.

7 нояб. 2009 г.

Драйвера для ноутбуков

Возился с ноутом LG LE50-33SR. Переставил систему, а драйверов под него нет. Поиски в инете всё вермя выкидывают на различные дорвеи типа drivers-notebooks-drivers.com, на которых ничего кроме рекламы и тематических фраз нету. Даже на родном сайте про него нет упоминания. Часа через 2 поисков попал на сайт http://www.notebook-driver.com/, на котором нашел полный набор. Если верить их каталогу, у них имеется набор для 830 моделей.
Так что, рекомендую :)

2 нояб. 2009 г.

Microsoft Office 2003. msgrru32.dll - ошибка.

На одной из машинок начал вылетать Microsoft Word с ошибками в модуле msgrru32.dll. Изыскания привели к выводу, что это модуль проверки орфографии русского языка. Помогло переименование (сиречь удаление) этого файла. На орфографию это не повлияло, а ошибки исправило.

Open Office. Отключить заставку

Взято из блога Tips4Linux.com


If you for whatever reason dislike OpenOffice.org’s logo or want to gain an extra few seconds of speed while the application loads, you can disable OO.o’s logo by editing the

/etc/openoffice/sofficerc

file and modifying the

Logo=1

value into

Logo=0
target="blank"

31 окт. 2009 г.

Sorry, GeoCities has closed.

Какой-то этот год выпался разрушительный. Кризисы, выборы, Oracle купил Sun, Microsoft Encarta закрыли... Теперь вот - "Sorry, GeoCities has closed". GeoCities - такой же старый, как интернет у нас в стране (от 1994 года), - перестал быть интересен Yahoo, купившего его за 3 млрд вечнозеленых. То есть, был интернет, был Yahoo, был GeoCities.
Sad but true.

Сборник нормативных документов МОЗ Украины

Наткнулся на сайт "Нормативно-директивні документи МОЗ України". Нормативных документов я не рассматривал, но обратил внимание на описания лекарственных препаратов. Правда, вся информация - на украинском языке. Предполагаю, что должден быть соответствующий сайт на русском.

В чём разница между операторами «as» и «приведения»?

Никогда не задумывался над этим вопросом. Хотя всегда использовал приведение типов. А вот прочёл в переводном блоге Эрика Липперта, что приведение типов в случае невозможности приведения генерирует исключение. Оператор же as в случае неудачи возвращает NULL. То есть он требует оперирования nullable-типами. В общем - вот копипаст с заметки:


Большинство людей скажут, чт о разница между «(Alpha)bravo» и «bravo as Alpha» в том, что первое бросает исключение при неуспехе преобразования, а последнее возвращает null. Хоть это и правильно, и это самая очевидная разница, дело не только в этом. Здесь есть ловушки, которых нужно остерегаться.

Во-первых, поскольку результатом оператора «as» может быть null, целевым может быть только такой тип, который допускает значение null: либо ссылочный тип, либо Nullable тип-значение. Нельзя сделать «as int», это не имеет никакого смысла. Если аргумент не int, то каким должно быть возвращаемое значение? Выражение «as» всегда возвращает указанный тип, так что он должен быть типом, допускающим null.

Во-вторых, оператор приведения, как я уже обсуждал – странный зверёк. Он имеет два противоречивых смысла: «проверь, что этот объект действительно этого типа, брось исключение, если не так», и «этот объект не этого типа; найди мне эквивалентное значение, которое принадлежит этому типу». Второе значение оператора приведения не поддерживается оператором «as». Если вы написали

short s = (short)123;
int? i = s as int?;

то вам не повезло. Оператор «as» не станет делать изменяющие представление преобразования из short в nullable int, как стал бы оператор приведения. Аналогично, если у вас есть класс Alpha и несвязанный с ним класс Bravo, с пользовательским оператором преобразования из Bravo в Alpha, то «(Alpha)bravo» применит это преобразование, а «bravo as Alpha» – нет. Оператор «as» учитывает только ссылочные преобразования, и упаковку/распаковку типов-значений.

И, в-последних, сценарии использования этих двух операторов, конечно же, имеют поверхностное сходство, но весьма различны семантически. Приведение сообщает читателю «я уверен, что это преобразование законно, и я готов получить исключение при исполнении, если я ошибся» Оператор «as» сообщает «Я не знаю, можно ли провести это преобразование; мы дадим ему шанс, и посмотрим, что получилось».

30 окт. 2009 г.

Онлайновый растровый-редактор

Вот такой вот онлайновый редактор растровых изображений - pixlr. Основные инструменты, слои, набор фильтров... Имхо - довольно серьезная заявка на серьезность. Понятно, что полностью на Flash писан. Понятно, что не Photoshop. Но наряду с другими онлайновыми офисными сервисами - вещь очень полезная.

Пакетная обработка файлов изображений

Пакет ImageMagic позволяет производить разнообразнейшие преобразования файлов изображений. Наиболее часто используемые - изменение размера. Пример скрипта:

#!/bin/bash
for file in *.jpg
do
convert -geometry '1024x768>' -quality 85 "$file" "${file%.???}_thumb.jpg"
done


изменяется размер иллюстрации до размера 1024x768 с сохранением пропорций и качество JPG устанавливается в 85. Обрабатываются все jpg-файлы в текущей директории.

26 окт. 2009 г.

Trud.ua + worksales.comua + work.com.ua

Пришла рассылка от trud.ua. В ней - ссылка на worksales.com.ua. А там - тётенька-близняшка тётеньки с work.com.ua :)

Рабочие места, однако!

Вчера на остановке видел такое вот объявление:
Внимание! Требуются молодые, энергичные люди. Для работы агитаторами. з/п 100грн./день.
Бригадиры (старшие агит группы) з/п 130грн./день.
80971663xxx


Очень показательное объявление в период выборов.

Развивая тему можно будет в ближайшем будущем узреть следующие вакансии:
Требуются коммунисты
Требуются сексменьшинства
Требуются сторонники Ющенко
Требуются фанаты Тимошенко
Требуются борцы за правду
... з/п 100грн/день.

17 окт. 2009 г.

Мысли

Какие люди ценичные... Тут они ухаживают за волосами, а вот тут - борются с ними...

16 окт. 2009 г.

Linux Slackware. Установка Hamachi

Понадобилось на одном сервере под Slackware организовать вход через закрытое подключение. Решил поднять на нем Hamachi. Долго не доходили руки, но вот таки дошли :)
Пошагово:
1. Качаем подходящий пакет отсюда. На данный момент там лежат 2 пакета:
hamachi-0.9.9.9-20-lnx-pentium.tar.gz и hamachi-0.9.9.9-20-lnx.tar.gz. В чем разница кроме размера - я так и не нашел.

2. Распаковываем.
tar zxvf hamachi-0.9.9.9-20-lnx.tar.gz

3. Инсталлируем
sudo make install

4. Hamachi пользует туннелинг, который должен быть в ядре. Либо впёрднут в ядро, либо подключен как модуль. Если туннелинг уже активирован, то будет присутствовать директория
/dev/net/tun
если нет - выполняем с правами рута:
modprobe tun

5. Затем, опять таки, от рута:
/sbin/tuncfg

6. Из под своего пользователя:
hamachi-init

Подготовка закончилась.
Потом можно вводить команды старта, логина, создания сети и т.д. Команды перечислены в README к пакету.

У себя я создал файл /etc/rc.d/rc.hamachi следующего содержания:

#!/bin/bash
###################################
### Start-up script for Hamachi ###
###################################
USER=rettpop
case "$1" in
start)
modprobe tun
/sbin/tuncfg
/bin/su - $USER -c "hamachi start"
/bin/su - $USER -c "hamachi join NetworkName NetworkPass"
/bin/su - $USER -c "hamachi go-online NetworkName"

;;
stop)
hamachi stop
;;
restart|force-reload)
hamachi start
hamachi stop
;;
*)
exit 1
;;
esac
exit 0


Запуск его прописал из rc.local. Работает.

Вот кратки перечень команд:
hamachi-init
Генерирует ключи идентификации для учетной записи

hamachi start
Запуск демона Hamachi

hamachi login
Активизация Hamachi

hamachi join <network>
Подключиться к сети

hamachi go-online <network>
Активизировать сеть

hamachi list
Вывести список участников сети

15 окт. 2009 г.

Бесплатность от Microfost

Все-таки приходится мастодонтом шевелиться под действием общественных движений.
Microsoft объявила (правда уже 23/09/2009, но всё равно актуально) о запуске программы WebsiteSpark. Программа позволяет легально использовать ряд пакетов для web-разработки из Редмода. При этом должно соблюдаться несколько правил: маленький штат компании (до 10 работников), работа на сторонних заказчиков. Выдаются такой софт:

  1. 3 пользовательские лицензии на Visual Studio 2008 Professional Edition
  2. 1 пользовательскую лицензию на Expression Studio 3 (включающую Expression Blend, Sketchflow и Web)
  3. 2 пользовательские лицензии на Expression Web
  4. 3 4 процессорные лицензии на Windows Web Server 2008 R2
  5. 4 процессорные лицензии на SQL Server 2008 Web Edition
  6. Панель управления DotNetPanel (облегчает удаленное управление вашими серверами)


Выдается это всё на 3 года. В конце периода за участие программы предполагается возыметь с участников по $100. Если понравилось, то можно будет приобрести пакет софта за $1000.

Немного раньше Microsoft объявила подобную программу для софтверных стартапов BizSpark. Условия участия примерно те же - малый размер предприятия, трехлетний период.

Антикризисная, так сказать, программа.

14 окт. 2009 г.

Эппл тоже лажает...

Из новосетй uinC.ru:


Из-за ошибки в Mac OS X Snow Leopard пользователи лишаются личных данных
Пользователи Mac OS X столкнулись с серьезной проблемой: из-за странной ошибки в новой операционной системе Apple с кодовым названием Snow Leopard могут быть уничтожены все личные данные. Как сообщается на сайте технической поддержки Apple, проблема проявляется тогда, когда пользователь сначала входит в систему как гость (преднамеренно или случайно), а затем выходит из нее и вновь пытается войти, но уже через собственную учетную запись. В этом случае все настройки ОС и приложений сбрасываются до установок по умолчанию, а содержимое критически важных папок с документами, фотографиями и музыкой уничтожается. По предварительным данным, ошибка проявляется на тех компьютерах, которые были обновлены до Mac OS X Snow Leopard с предыдущей версии операционной системы, известной как Leopard. По словам пользователей, единственный способ вернуть потерянные файлы — восстановить их из резервной копии. Однако многие из пострадавших не копировали файлы в течение нескольких месяцев. «У меня было 250 Гб непродублированных данных, и я потерял всё: годы потраченных трудов на документы, фотографии, видео, музыку! Можно ли хоть что-нибудь восстановить?!» — восклицает одна из жертв. Компания Apple пока не комментирует ситуацию. Пользователям Mac OS X Snow Leopard в качестве временной меры рекомендуется отключить гостевую учетную запись во избежание возможных неприятностей.


Гонка вооружений среди софтописателей не дает писать качественный софт.

13 окт. 2009 г.

Ubuntu. Запуск rdesktop при загрузке

Делал из старой персоналки тонкого клиента для подключения к терминальному серверу.
Поставил Ubuntu (7.10 Festy Favn). Отключил ненужные службы, настроил выключение машины по нажатию кнопки питания. Завел пользователя и поставил его как автологинящегося.
Затем в /usr/share/xsessions создал файл rdesktop.desktop (имя должно быть *.desktop) следующего содержания:
Код

[Desktop Entry]
Encoding=UTF-8
# The names/descriptions should really be better
Name=RDesktop -- название, отображаемое в списке сессий *dm
Comment=RDesktop session
#путь к команде, запускающей наш скрипт
Exec=/usr/share/rdsession
Icon=
Type=Application


Файл /usr/share/rdsession имеет следующий вид:

#!/bin/bash
while [ 1 ]; do
# Запускаем сессию в фуллскрине, с глубиной цветов в 16 бит и клавиатурной раскладкой en-us
/usr/bin/rdesktop -f -k en-us -a 16 [serverIP]
done


Естественно, выставляем ему атрибут +x.

При следующем запуске *dm в его списке сессий должен появиться RDesktop. Логинимся в него и на вопрос о запоминании его как дефолтного даем положительный ответ.

Формат cron-времени

Формат времени демона crontab.
минута час день_месяца месяц день_недели команда
------------------------------------------------

Допустимые значения:
минута от 0 до 59
час от 0 до 23
день_месяца от 1 до 31
месяц от 1 до 12 (можно три буквы из названия месяца,
регистр не имеет значения от jan до dec)
день_недели от 0 до 6 (0 это воскресенье,
можно писать от sun до sat)

7 окт. 2009 г.

Ускорение работы FireFox 3

На Tips4Linux.com опубликовали совет по ускорению работы FireFox 3. Пользую я его не часто, но может пригодится:

1. Открыть Firefox и в адресной строке набрать about:config.
2. Согласиться с “Я обещаю быть осторожным“
3. Найти параметр network.http.pipelining и выставить его в True.
4. Создать новый логический параметр network.http.pipelining.firstrequest и взвести его в True.
5. Параметр network.http.pipelining.maxrequests выставить в 8.
6. network.http.proxy.pipelining установить в True.
7. Создать 2 целочисоленных параметра nglayout.initialpaint.delay и content.notify.interval. Установить их значение в 0.
8. Перезапустить Огнелиса.

4 окт. 2009 г.

В Украине в 2012 году не будет ни одного школьного выпускника

Вот такоя статейка на сайте Министерства Образования Украины:


Відсутність випускників шкіл у 2012 році не зірве вступної кампанії
У Верховній Раді України за участю заступника голови парламенту Миколи Томенка та першого заступника міністра освіти і науки Олександра Гребельника відбувся круглий стіл, присвячений вступу до ВНЗ у 2012 році.

Ректори університетів та директори шкіл й ліцеїв висловлювали свої думки з приводу того, як безболісно для системи освіти пережити 2012 рік. Нинішні дев'ятикласники - перші, хто пройдуть 12-річну шкільну дистанцію, тому саме в 2012 році українські школи не випустять жодного випускника.

"Ситуація неприємна, але не катастрофічна. У 2012 році буде кому вступати до університетів, - вважає Олександр Гребельник. - Планується держзамовлення на рівні 115 тисяч осіб, і всі ці місця будуть зайняті. Хто ще крім випускників шкіл зможе вступати до ВНЗ? Це випускники минулих років. В останньому ЗНО їх брало участь близько 120 тисяч. Стати студентами вищих навчальних закладів можуть випускники ПТУ (з 230 тисяч осіб в університети йде 15-20 тисяч) та молодші спеціалісти (а це ще 15-20 тисяч). Таким чином, набігає 150-160 тисяч при держзамовленні у 115 тисяч. Для державних університетів ситуація не катастрофічна".

Ректори внесли пропозицію збільшити кількість вступників 2012 року завдяки екстернатному випуску. На їхню думку, частина учнів могла б проходити програму, розраховану на чотири роки, за три. Але яким чином тоді визначати, хто має закінчити школу раніше? Також можна заохочувати випускників минулих років вступати до університетів у 2012 році.

"Дванадцятирічна школа уже відбулася, а з наступного року вона стає ще й профільною, - наголосив директор Інституту інноваційних технологій і змісту освіти Олександр Удод. - Уже готуються підручники на профільні класи. І тоді буде видно чи є учні цих класів у перспективі студентами ВНЗ. Нічого страшного у 2012 році не станеться. У нас вже кілька років підряд в країні парадоксальна ситуація - місць в університетах більше, ніж випускників шкіл. Рік без випускників стане періодом "природного" відбору найсильніших ВНЗ".

Прес-служба МОН



В двух словах - в связи с тем, что девятиклассники нынешнео года представляют первое поколение школяров, которые перешли на 12-летнюю систему обучения, и таким образом перескочили через один класс, их выпуск состоится в 2013 году, а не в 2012, как при 11-летней системе. То есть, в 2012 году в Украинских школах не будет выпусков.
На первый взгляд нечего страшного... Но получается, что в этот год и новых абитуриентов в ВУЗах будет значительно меньше. Не знаю точно, чем это грозит ВУЗам, но предполагаю, что ничем хорошим. Паганели собрались по этому поводу и утешают электорат предположениями, что еще же есть выпускники техникумов, профтехучилищ, залётные заочники... Так же предполагают, что ситуацию можно поправить за счет экстернатов - вундеркиндов, проходящих школьную программу значительно быстрее своих убогих ровесников.

Интересно, вот, они только сейчас об этом задумались? Или когда вводили эту систему?

Я отчего-то не слышал подобного при переходе с 10-летней на 11-летнюю систему... Я сам в 7-м классе не учился - года 4 ждал, что у нас в 7-м классе начнется УПК (учбно-производственная практика, на которой можно было и права получить, и какому-то ремеслу научиться), а пока я дошел до окончания 6-го класса, нас сразу перевели в 8-й. И УПК не состоялась.

2 окт. 2009 г.

Гигантская анимация

Я - у захватi!

COMBO a collaborative animation by Blu and David Ellis (2 times loop) from blu on Vimeo.

Поиск родственных сайтов

Наткнулся в инете на интересный поисковик сайтов, схожих по тематике с указанным. Поиск по Google.com выдает список самых известных поисковиков. 90% из которых я не знаю :)

1 окт. 2009 г.

Препресс. Параметр Total Inc

Столкнулся тут с требованием от типографии: Total Inc=300. Кинулся за его расшифровкой, но тщетно. У спецов выяснил - это максимальный суммарный процент краски в каждой точке. То есть, сумма компонентов CMYK не должна превышать это число. Например, C=50, M=50, Y=50, K=50 даёт в результате Total Inc = 200. Превышение этого значения влечет за собой склеивание листов, налипание краски на валы печатной машины, отбиванием на соседние листы... Для газетной печати принято значение в 260-280, для мелованной бумаги - 300-320.

30 сент. 2009 г.

FreeBSD. Блокировка пользователя

Заблокировать пользователя во FreeBSD можно следующим способом:
vipw
Поставить любой символ, например звездочку, во втором поле - перед хешем пароля.

25 сент. 2009 г.

Mint (Ubuntu). VNC-viewer.

До недавних пор пользовал в качестве VNC-клиента программку xtightvncviewer. Сегодня попробовал xvnc4viewer. Понравилось гораздо больше. У первой нагрузка на сервер была больше и был один неприятный глюк. При уменьшении клиентского окна полосы прокрутки работали только в одну сторону. В обратную не хотели.

Linux. Однострочники

Узнать версию дистрибутива Linux:

cat `ls /etc/*{-,_}{release,version} 2>/dev/null | head -n 1`

Утро!

Я знаю, почему человек зевает! Там, где должен быть кофе, образуется вакуум, который всасывает в себя нижнюю челюсть!

18 сент. 2009 г.

Сбор статистики по загрузке линий CO на АТС Panasonic KX TDA-200

На днях понадобилось собрать статистику по CO-линиям АТС Panasonic KX TDA-200. Лог звонков ведется постоянно. Следующей строкой считается количество исходящих звонков по каждой из CO и выводится их количество:

cat capture.txt | grep -v "<I>" | awk '{print $4}' | sort -n | uniq -c | sed -e 's/^\s*//g' | tail -n +3


Выводится примерно такая табличка:

36 01
37 02
37 03
40 04
38 05
37 06
43 07
41 08
31 09
31 10
38 11
43 12
40 13
41 14
41 15
238 16
35 20
41 21
232 22
218 24
38 25
42 26
42 27

, где первый столбец - количество звонков, второй - номер CO. Собрав такую статистику за несколько дней получаем визуальную нагрузку CO-шек исходящими звонками.

16 сент. 2009 г.

Оказывается, Килобайт (КБ) не равен 1024 байт!

О как... Оказывается, Килобайт (КБ) не равен 1024 байт! Ну, и, соответственно, МБ, ГБ, ТБ и т.д. В этой статье Википедии подробно рассказывается почему и как правильно писать двоичные килобайты, мегабайты и т.д. В двух словах - приставки кило, мега, тера, пета и т.д. указывают на разрядности десятичных чисел, то есть кило = 103, мега = 106, гига = 109. А для описания двоичных величин существует ГОСТ 8.417-2002, согласно которому должны использоваться двоичные приставки КиБ (кибит), МиБ (мибит) и т.д. Причина необходимости данного стандарта - погрешности при использовании десятичных разрядностей в двоичных размерностях. На гигабайтах она составляет 7.37%.

Желейные окошки KDE

Я знаю откуда появились желейные окошки в KDE. Точнее, откуда появилась мысль их сделать :).

В Opera Browser встроен поиск по сайту ВКонтакте.ру

В штатном поиске в Опере появился поиск по ВКонтакте. Подохреваю, что в англоязычной локализации там размещен FaceBook, но и это, имхо, знаковый показатель.

15 сент. 2009 г.

Anti-SSH Brootforce

Простые правила для защиты от брутфорса по SSH:

iptables -I INPUT -i eth0 -p tcp -m tcp --dport 22 -m state --state NEW -m recent --set --name DEFAULT --rsource
iptables -I INPUT -i eth0 -p tcp -m tcp --dport 22 -m state --state NEW -m recent --update --seconds 180 --hitcount 5 --name DEFAULT --rsource -j DROP


Взято отсюда.

14 сент. 2009 г.

Скрипт резервного копирования файлов

Вот такой скрипт наваял, чтобы быстро и удобно бакапить файлы перед их изменением:
#!/usr/bin/bash
BKPDIR=`date +"%Y-%m-%d"`
BKPPREFIX=`date +"%Y-%m-%d_%H-%M-%S_"`
myhome=`echo ~`
curdir="$myhome/backups/$BKPDIR"
echo "making $curdir"
mkdir -p $curdir
echo "copy $1 to $curdir/$BKPPREFIX`basename $1`.bkp"
cp $1 $curdir/$BKPPREFIX`basename $1`.bkp


Скрипт копирует переданный ему файл в ~/backups/[текущая дата]/[текущая дата+время]_[имя файла].bkp текущего пользователя.

Добавил его в /usr/local/bin и пользую перед каждым изменением конфигов.

Panasonic TDA-100/200. Мануал по программированию

Хороший мануал по программированию АТС Panasonic TDA-100/200 выложен на сайте компании Амитек. Понятно написано, с картинками, разукрашками :)
На всякий случай - вот:
Часть 1
Часть 2
Часть 3

12 сент. 2009 г.

Баннизмы

Я всегда подозревал что-то подобное про IBM :) Не зря их называют BigBlue...

10 сент. 2009 г.

Robtex - швейцарский нож для интернет-информации

Наткнулся на сервис "Robtex swiss army knife". Сервис позволяет получить разнообразную информацию о заданном адресе - многих параметров я просто не знаю и не имел о них представления...

Удобности для меня:

  • Shared - с какими доменами введенный адрес/домен соседствует.
  • Graph - графическое отображение взаимосвязей записи домена.
  • Whois - whois, собственно...
  • Contacts - отображаются контактные данные, присутствующие в описании домена.
  • BlackList - информация о наличии домена в черных списках всияких спам-листов.


В общем, действительно почти полный набор для анализа домена. Вкупе с www.nwtools.com, imho, составляют очень удобный наборчик интернетовских утилит.

9 сент. 2009 г.

8 сент. 2009 г.

Укртелеком меняет правила набора междугородних и международных номеров

Вот:


Новий порядок набору міжміських та міжнародних номерів
Згідно з Наказом Міністерства транспорту та зв’язку України від 29.09.2008 №1200 "Про затвердження Плану переходу на перспективну систему нумерації телефонної мережі загального користування України" 14 жовтня 2009 року змінюється порядок набору міжміських та міжнародних номерів для абонентів мобільного та фіксованого зв’язку. Щоб вийти на міжміську телефонну мережу, потрібно замість міжміського префікса "8" набирати префікс "0", а для виходу на міжнародну телефонну мережу замість міжнародного префікса "8-10" – префікс "0-0".

Наприклад, щоб зателефонувати на міський телефон до Маріуполя, слід набирати номер наступним чином:
0 – Код міста (без першої цифри "0" в існуючому коді ) – Номер телефону абонента (0-629-123456).

Аналогічний порядок набору діє при здійсненні дзвінків на номери абонентів мобільних операторів України:
0 – Код мережі оператора (без першої цифри "0" в існуючому коді ) – Номер телефону абонента (0-67-1234567).
Для абонентів мобільного зв’язку порядок набору міжміських номерів у міжнародному форматі (через "+380") зберігається.

За кордон (міжнародний дзвінок):
0 – 0 – Код країни – Код міста/Мережі оператора – Номер телефону абонента

Наприклад, телефонуючи на міський телефон до Москви, слід набирати 0-0-7-495-1234567.
Для абонентів мобільного зв’язку порядок набору міжнародних номерів через "+" зберігається.
Зверніть, будь ласка, увагу: для Київської області вводиться новий власний код 45 замість коду 044. Наприклад, телефонуючи до м. Бровари, слід набирати 0-4594 та номер телефону абонента.



Вообще, как по мне - это жопа. Это ж сколько работы людям по исправлению телефонных книг в телефонах, наладонниках, компах?!...

Linux, FreeBSD. Установка MRTG

На нескольких машинах уже поставил MRG - удобный набор Perl-скриптов для построения графиков по некоторым данным. Данные могут быть любыми: входящий/исходящий траффик сетевого интерфейса, процент загрузки процессора, количество пользователей в системе, объемы данных на дисках и все, что только придет в голову. Главное, чтобы эти данные выводились четырьмя числами - значения входящего и исходящего траффика (не сетевого, а траффика данных в данном потоке) и uptime контролируемой системы. Данные преобразуются в настраиваемые графики из двух потоков (входящий и исходящий). Данные отображаются в разрезе суток, недели, месяца и года.
В общем, про MRTG написано много. Но я при его установке столкнулся с тремя сложностями.

1. Установка в Slackware Linux. Сборка пакета на всех машинах оканчивалась сообщением об отсутствии JPG-библиотек. Бился, пока не нашел описание проблемы... в документации :). Не, мануал по инсталляции я читал перед установкой. Но этот момент пропустил. Этой ошибки не возникает, если собирать пакет и необходимые библиотеки именно так, как указано в документации. То есть библиотеки собираются, но не инсталлируются. Конечное дефолтное конфигурирование происходит командой

./configure --prefix=/usr/local/mrtg-2 \
--with-gd=/usr/local/src/gd \
--with-z=/usr/local/src/zlib \
--with-png=/usr/local/src/libpng

, если, конечно, не нужны другие опции...

2. Установка во FreeBSD. Там всё решилось установкой из портов.

3. Ну, и регулярно возникала ошибка при запуске indexmaker (построитель index.html для начальной страницы просмотра графиков), говорящая о невозможности найти модуль Pod, которая разрешилась удалением соответствующей директории из etc/mrtg-2/ и доустановкой оного пакета по примеру этой заметки.

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

7 сент. 2009 г.

Perl. Инсталляция модулей

Модули в Perl добавляются следующим образом:

# perl -MCPAN -e shell


Затем:

cpan> install Bundle::CPAN

6 сент. 2009 г.

Дети глаголят.

Сидим на кухне. По кухне летает муха и мешает спокойно есть.
Жена:
- Вот эта муха надоедливая...
Малый (6 лет):
- Она прилетела к братику. А он сдох.
Мы в отпаде...
Малый после непродолжительной паузы
- ...Сдох!

Занавес.

Навеяло...

Вот. Навеяло ветром.

5 сент. 2009 г.

LetMeGoogleThisForYou.com - отмазка от дятлов

Наткнулся на интересный сервис http://lmgtfy.com - анимированный генератор запроса к Google. Нужен в тех случаях, когда задан какой-то тупой простой вопрос, ответов на который у всемирного разума - море. Например, что такоее авокадо? Ответ - ВОТ.

А сервис http://live.lmgtfy.com/ выводит в онлайне запросы, вводимые пользователями. Правда, своего запроса я там не увидел, но как точно работает система - не написано.




Дети глаголят

Жена с сыном (6 лет) читают сказку "Колосок". Вкратце сюжет: живут петушок (безымянный) и два мышонка (Круть и Верть). Петушок - трудяга, мышата - бездельники.
Прочитали. Жена просит пересказать сказку. Малый рассказывает, доходит до описания мышат:
- Мышата пели, плясали, были ленивые, потому что у них небыло телевизора...
(долгий продолжительный смех)
Жена начинает объяснять:
- Открою тебе секрет - если у человека даже есть телевизор и он постоянно лежит и смотрит его, то он тоже ленивый.
- Папе не рассказывать? - заговорческим шепотом спрашивает Малый.
(долгий продолжительный хохот)
- Мышата пели и плясали, вместо телевизора! - понял Малый.
(LOL :) )

4 сент. 2009 г.

FreeBSD. MRTG. Загрузка сетевого интерфейса

После долгих мучений настроил таки (вроде) отображение загрузки сетевых интерфейсов. Прописал следующий скрипт для съема статистики:

#!/bin/sh
/usr/bin/netstat -inb -I $1 > /tmp/nettraff.tmp
sleep 1
/usr/bin/netstat -inb -I $1 >> /tmp/nettraff.tmp
cat /tmp/nettraff.tmp | /usr/bin/awk '\
function abs(x){return x<0 ? -x : x}
NR==3 {in_beg = $7}\
NR==3 {out_beg = $10}\
NR==6 {in_end = $7}\
NR==6 {out_end = $10}\
END { print abs(in_beg-in_end) "\n" abs(out_beg-out_end) "\n0\n0" }'


Здесь 2 раза с перерывом в 1 секунду снимаются показания входящего и исходящего трафика на указанном интерфейсе и выводятся модули их разницы.

3 сент. 2009 г.

FreeBSD. MRTG. Загрузка процессора

Обнаружил, что на одном из серверов под FreeBSD MRTG некорректно показывает информацию о загрузке процессора. Выяснил, что виной тому неправильный скрипт снятия данных. Вместо него поставил строку:
/usr/sbin/iostat -w 1 -c 2 -t proc | tail +4 | awk '{print $3"\n"$5""\n0\n0}'

Должно теперь показывать корректно - первый выводимый параметр загрузка процессами пользователя (us), второй - системы (sys).

upd: 2009-09-04
P.S. Путь к утилите iostat указывать обязательно, иначе при запуске из крона она не будет найдена и, соответственно, данные не выведутся.

Онлайн-тренинги от Артура Крюкова

Наткнулся на сайт Артура Крюкова. На сайте находится множество информации по Linux-у, сетям и прочим IT-шным темам. Мне очень понравилась простота и доступность объяснения. Из материалов к его онлайн-курсам я таки понял что есть что в структуре DNS-серверов.
Хочется, чтобы подобных ресурсов было побольше... :)

Linux. Samba. Cups. Тонкие клиенты. Расшаривание принтеров

Возникла задача подключения терминальных пользователей с тонких клиентов на географически удалённый сервер с обеспечением печати на принтер в локальной с тонкими клиентами сети. Тонкие - Hp Compaq T5125 и T5135.
У T5125 с прошивкой Windows CE проблем не возникло:

  1. В настройках тонкого добавляется принтер, установленный на Windows-машине.

  2. В настройках RDP-сессии указывается использование установленного принтера.

  3. В настройках пользователя на терминальном сервере (Windows 2003) разрешается использование принтера пользователя в его сессии.


С Linux-тонкими возникли сложности. Пришлось поднять на Samba-сервере Cups и завести настроенные в нем принтеры через Samba. Инструкций по настройке Cups и Samba - океан и маленькая лужица. Единственное, с чем мне пришлось столкнуться, так это с непониманием того, как Samba получает список принтеров и как ей указать на расшаривание определенного принтера вместо полного списка. Нашел-таки в одном из мануалов по настройке Red Hat разъяснение. Samba получает список из файла /etc/printcap, генерируемого CUPS-ом при добавлении принтеров (естественно, всё это перенастраивается и файл может быть в другом месте, вообще не файлом, и не от CUPS-а). Фомрат этого файла и методы работы с ним подробно описаны в инете.
Далее. Samba ищет в своем конфигурационном файле раздел с параметром printer, который она рассматривает, как описание расшариваемого принтера. Параметр printer должен содержать имя или псевдоним одного из принтеров в списке /etc/printcap. Если этот раздел существует, в списке ресурсов Samba (ессно, если разрешено) отображается новый ресурс с именем раздела и описанием из параметра comment. Если же такого раздела в smb.conf не найдено, но присутствует раздел [printers], то последний дублируется для каждой записи в /etc/printcap, применяя для каждого принтера общие параметры. Ну, а на "нет" - и суда нет :).
Кусок моего smb.conf, относящийся к принтерам имеет теперь следующий вид:

load printers = no # Отключаем загрузку полного списка установленных принтеров, если нам нужны шары только некоторых.
printing = cups # Печать вдется через установленный CUPS
printcap name = cups

[HPLJ1320]
comment = HP Laser Jet 1320
printable = yes
path = /var/spool/samba
public= yes
guest ok= yes
printer admin= root
printer = HPLJ1320 #Это и есть имя принтера из /etc/printcap, который расшаривается
browseable = yes # Выводить ли принтер в списке ресурсов сервера.

Особых разъяснений, думаю, не требуется.
В такой конфигурации принтера подхватываются и Windows-, и Linux-десктопами, и тонкими клиентами. Единственное, что стоит дополнительно настроить, - это расшаривание пакета драйверов для разных операционок с самого Samba-сервера. Но мне это пока не нужно, а процедура описана в сети достаточно подробно.

После настройки печати через Samba осталось настроить Linux-тонкие. В обеих моделях были добавлены Samba-принтера. Сервер = [ip], Принтер = [имя ресурса принтера на Samba-сервере], login и pass - в соответствии с требованиями - на момент тестирования это может быть guest/guest. Так же необходимо выставить флаг Translate, значение которого я пока не понял. Ну, и в настройках RDP-сессии разрешить использование этого принтера.

В процессе настройки столкнулся с собственной ошибкой, когда тонкие клиенты получают IP от DHCP в подсети, отличной от подсети Samba-сервера. При этом, естественно, принтер не находится и печать на него идет в пустоту. После добавления тонкому адреса в нужной подсети печать пошла.

29 авг. 2009 г.

Подарки от слуг народа

Сегодня возле рынка от имени не безызвестной Юлии Тимошенко бесплатно раздавали школьные дневники и плакаты с именем и портретами оной.
Приятно, что бесплатно. Приятно, что в них довольно много, по сравнению со старыми советскими дневниками, справочной информации: карта Украины и Евразии, справочники по геометрии, тригонометрии, алгебре, истории, правописанию (всё на украинском языке).
По качеству... Проживут дай Бог месяц. Ибо они не сшиты, как старые, а склеены. И, к тому же, довольно паршиво.
Порадовало, что в заботах о географических границах Украины Одессу выбрали посланцем украинизации всего мира :) У Великiй Британi решили город Данди (Dundee) заменить Одессой.












И, конечно, остался осадок от того, что выглядит (а скорее и есть) как подачка перед выборами, сделанная паршивенько за наши же деньги и преподносимая, как подарок.

ЗЫЖ Верстальщик даже не удосужился на чёрном цвете поставить оверпринт...

UPD: 2009-09-08
Еще фотки агит-сумок.



Asus P526 с новой прошивкой 6.1

Почти две недели мой Asus P526 живет с обновленной прошивкой 6.1. Глюков и сбоев не замечено. Работать стал заметно быстрее - процентов на 20. Немного изменились шрифты. Субъективно - в лучшую сторону. В инете активно ведутся разговоры про установку на эту модель Win Mobile 6.5. Но я пока не рискую. На официальном сайте Asus-a про нее пока молчат. Подожду новостей.

Western Digital Raptor для секретарш?

Пришел к нам новый WD Raptor (HDD на 10 000 оборотов). Так у него прозрачная верхняя крышка. Понятно, функционал от этого никак не изменяется. Видимо просто для увеличения продаж тинейджерам и секретаршам сделали. Иначе не совсем понятны напряги с производством этого окошка в мир высоких технологий, ибо толку от них после установки винта в стойку ровно ноль.

Internet-радио

Недавно, после определенных сложностей, захотелось мне под Linux послушать Internet-radio. Выход нашелся быстро и просто. Amarok, который я использую как основной проригрыватель, отлично воспроизводит аудио-поток из сети. В сети нашел ссылку на сайт Mike's RadioWorld, на котором с первого клика выбрал радиостанцию http://ru.ah.fm:80, которую сейчас и слушаю - очень ненадоедливый транс, который не мешает работать и читать.

Linux, Mnt (Ubuntu), информация о батареях и термодатчиках ноутбука

Для получения информации о состоянии батарей ноутбука можно использовать утилиты набора ACPI.

$ acpi -t
Battery 0: Discharging, 22%, 00:00:23 remaining
Thermal 0: ok, 38.1 degrees C
Thermal 1: ok, 54.0 degrees C
Thermal 2: ok, 56.0 degrees C

$ acpi -b
Battery 0: Discharging, 20%, 00:00:21 remaining

$ acpi -c
Battery 0: Discharging, 19%, 00:00:20 remaining
Cooling 0: Processor 0 of 10
Cooling 1: Fan 0 of 1
Cooling 2: Fan 0 of 1
Cooling 3: Fan 0 of 1
Cooling 4: Fan 0 of 1

27 авг. 2009 г.

Баннизмы

Вот такой чёрный двойной юмор.

Microsoft в своём репертуаре

Сегодня решил с утра послушать интернет-радио. Обычно слушаю его через Windows Media Player. А недавно обновил его до 11-й версии по требованию самой системы для того, чтобы она смогла синхронизироваться с моим наладонником. В принципе, уже достаточно абсурдная заява, ну да бах с ней - всё равно бесплатно...

Так вот сегодня, приняв от жены кружку кофе, запустил WMP и в очередной раз почувствовал себя дураком. Разобраться где что практически невозможно. Кроме конечно воспроизведения локальных видео- и аудио-файлов. Может я действительно туплю? Но иного способа как зайти в Internet Explorer, выбрать в избранном Radio Station Guide, заботливо помещенный туда большим братом, я не нашел!

Народ, для кого вы делаете работу? Почему-то сейчас это становится тенденцией.

26 авг. 2009 г.

Рекурсия, однако

Очень информативное объявление на сайте www.rabota-i-trud.com.ua, взятое с сайта www.rabota-i-trud.com.ua :)

Почтовая система среднего офиса на базе Postfix

Занимался настройкой почтовой системы под Linux. Вот список литературы :):

В блоге SergeySL размещена хорошая инструкция "Почтовая система среднего офиса на базе Postfix". Большая. поэтому я здесь ее не размещаю.

На сайте Svsnnah - статья "Настройка почтовой системы в Linux"

На сайте OpenNet - статья Корпоративный почтовый сервер (linux centos mail postfix mysql imap dovecot)

STunnel - ssl-оболочка для *x систем

Для организации безопасного соединения с различными серверами на *x системах можно использовать утилиту STunnel. Она представляет собой оболочку, которая реализует SSL-туннель между внешним подключением и локальным сервисом. К примеру, сервер POP3 (popa3d), который не имеет функции шифрования трафика, вполне может использоваться для внешних подключений, если к нему устанавливать подключение через оболочку (wrapper) stunnel. Stunnel открывает указанный ей порт на прослушивание, обеспечивает SSL-шифрование данных для входящих подключений и пробрасывает данные между пользователем и сервером, который прослушивает указанный же порт на локальной машине.
Утилита проста в использовании и настройке. Ниже приведен пример поднятия pop3-сервера, защещенного stunnel. Пример взят с сайта Антона Крюкова.


Описание
Stunnel очень простая программа. Она слушает запрос на одном порту, передача данных на который шифруется при помощи SSL. Полученные данные извлекаются из SSL и в незашифрованном виде передаются на локальный порт.

При помощи stunnel можно шифровать любой траффик. Даже у тех программ, которые в принципе не поддерживают SSL, например сервер popa3d. Как раз на его примере и рассмотрим как использовать stunnle. Наша задача сделать так, что бы все пакеты с 995 (spop3) порта доставлялись на локальный порт 110.

Конфигурационный файл
Конфигурационный файл разместим в директории /etc/stunnel и назовем его stunnel.conf.

В файле сначала указывают глобальные параметры. И в первую очередь, параметры определяющие ключи и сертификаты, которыми будет пользоваться stunnel. По традиции, возьмем ключи, сгенерированные нами для работы OpenVPN.
CApath = /etc/openvpn/keys

Параметр CApath определяет путь к директории, где находятся ключи центров сертификации.
CAfile = /etc/openvpn/keys/ca.key

CAfile определяет ключ центра сертификации, которым подписаны серификаты нашего сервера.
cert = /etc/openvpn/keys/kryukov.ru.crt

Cert определяет сертификат нашего сервера.
key = /etc/openvpn/keys/kryukov.ru.key

Key определяет ключ, которым подписан сертификат сервера.
setuid = nobody
setgid = nogroup

Параметры setuid и setgid определяют пользователя и группу, с правами которых будет работать stunnel.
pid = /var/run/stunnel/stunnel.pid

Pid определяет файл, в котором после запуска будет храниться PID программы stunnel. Обратите внимание на то, что директории /var/run/stunnel по умолчанию не существует. Ее необходимо создать и передать пользователю, с правами которого запускается программа.
socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1

Socket определяет параметры сетевых соединений.

После глобальных параметров, необходимо описывать конкретные сервисы. Название сервиса помещается в квадратные скобки.

Параметр accept определяет порт на котором слушает запросы stunnel и куда должен подключаться клиент. По умолчанию порт открывается на всех сетевых интерфейсах. Если хотите, что бы stunnel слушал только на определенном интерфейсе, напишите его IP адрес перед номером порта. Например так:
192.168.0.1:995

Параметр connect определяет порт на локальной машине, куда будет передаваться информация. По умолчанию stunnel подключается к порту на lo интерфейсе и его IP указывать не надо. Для определения сервера pop3 необходимо добавить следующие три строки.
[pop3s]
accept = 995
connect = 110

В результате содержимое конфигурационного файла будет выглядеть следующим образом:
CApath = /etc/openvpn/keys
CAfile = /etc/openvpn/keys/ca.key
cert = /etc/openvpn/keys/kryukov.ru.crt
key = /etc/openvpn/keys/kryukov.ru.key
setuid = nobody
setgid = nogroup
pid = /var/run/stunnel/stunnel.pid
socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1
[pop3s]
accept = 995
connect = 110

Запуск программы

Запуск программы происходит следующим образом:
stunnel /etc/stunnel/stunnel.conf

К сожалению в Slackware Linux в стартовых скриптах не предусмотрен запуск stunnel. Поэтому мы сами напишем стартовый скрипт. Разместим его в директории /etc/rc.d и назовем rc.stunnel.
#! /bin/bash

start()
{
if [ -f /var/run/stunnel/stunnel.pid ]; then
if ps xa | grep ^$(head -1 /var/run/stunnel/stunnel.pid) > /dev/null; then
echo "Stunnel working!"
exit 1
else
rm -r /var/run/stunnel/stunnel.pid
fi
fi
echo "Sarting stunnel"
/usr/sbin/stunnel /etc/stunnel/stunnel.conf
}

stop()
{
echo "Stunnel stop"
kill -9 $(head -1 /var/run/stunnel/stunnel.pid)
}

case $1 in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo "Usage: rc.stunnel start|stop|restart"
exit 88
esac

Сделаем его исполняемым:
# chmod a+x /etc/rc.d/rc.stunnel
#

Допишем его вызов в файл /etc/rc.d/rc.local.
if [ -x /etc/rc.d/rc.stunnel ]; then
/etc/rc.d/rc.stunnel start
fi

Не забудьте создать директорию в которой будет создаваться файл stunnel.pid и переадть ее пользователю, с правами которого будет работать программа:
# mkdir /var/run/stunnel
# chown nobody /var/run/stunnel
#
Firewall

Если Вы следуете моим рекомендациям по созданию правил firewall (этотматериал я выложу на сайт позднее), то доступ к lo интерфейсу с локальной машины у Вас открыт. Поэтому осталось открыть доступ к 995 порту.
iptables -A INPUT -p tcp --dport 995 -j ACCEPT

Заключение

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

При использовании stunnel с sendmail возникает очень неприятная проблема. По умолчанию sendmail принимает на пересылку (RELAY) почту, пришедшую с локальной машины (localhost). С точки зрения sendmail трафик, передаваемый ему stunnel считается посланным с локальной машины и поэтому sendmail не потребует аутентификации и просто перешлет письмо! Вообщем, получаеи open ralay.

Решение проблемы очень простое. Требуется заставить sendmail при отсылке почты с локальной машины требовать аутентификацию. Для этого надо изменить параметры в файле sendmail.mc:
DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0,Name=MTA,M=a')dnl

M=a -- заставляет спрашивать аутентификацию.

Правда возникает другая проблема, теперь всем локальным процессам, для отсылки писем требуется вводит логин и пароль. Так что, для того что бы использовать SSL с sendmail рекомендуется использовать внутренние возможности этой программы.

Простейший POP3/POP3S-сервер на базе popa3d и stunnel

Взято из блога SergeySL
Описание пошаговой настройки POP3-сервера. Статья ориентирована на FreeBSD, но с некоторыми изменениями может быть использована и для Linux.


Постановка задачи

Необходимо быстро и без лишних заморочек настроить не требовательный к ресурсам и простой в администрировании POP3-сервер для обслуживания среднего офиса (до 50-100 клиентов) с возможностью безопасного использования из-за пределов корпоративной сети (другими словами, с поддержкой протокола POP3S). Описанный в данной статье POP3/POP3S-сервер более двух лет работал совместно с почтовой системой среднего офиса на базе Postfix, однако его можно использовать в составе любых других почтовых систем с небольшим количеством клиентов. При всей своей простоте сервер достаточно надежен и стабилен.

Исходные данные

Имеется сервер с FreeBSD, находящийся на входе подсети центрального офиса. Главным звеном описанной конфигурации является POP3-сервер popa3d, использующий базу данных паролей операционной системы и запускаемый суперсервером inetd. Шифрование трафика обеспечивает утилита stunnel, использующая средства OpenSSL и самоподписной доверенный сертификат X.509. Все перечисленное программное обеспечение будет устанавливаться из портов, поэтому я настоятельно рекомендую Вам обновить их перед выполнением действий, описанных ниже (я использовал FreeBSD 4.10 и последние версии портов для нее). Ссылки на источники информации будут приводиться применительно к конкретным разделам статьи.

Установка и настройка popa3d

Установку popa3d необходимо выполнить из портов:
1. cd /usr/ports/mail/popa3d
2. make install

Popa3d не требует наличие каких-либо файлов конфигурации. Для того, чтобы сервер запускался при обращении клиента, необходимо добавить в файл конфигурации суперсервера inetd /etc/inetd.conf строку:
1. pop3 stream tcp nowait root /usr/local/libexec/popa3d popa3d

Popa3d поддерживает механизм TCP Wrappers, поэтому в файл /etc/hosts.allow перед правилом, запрещающим доступ ко всем службам со всех хостов, необходимо добавить правило, разрешающее доступ к POP3-серверу с любых хостов:
1. popa3d : ALL : allow
2. ALL : ALL : deny

Это не опечатка, именно с любых. Если разрешить доступ только с хостов, входящих в состав доверенных сетей, POP3S-сервер, реализованный на базе stunnel, не будет работать. Т.к. протокол POP3 не относится к числу защищенных, Ваш брандмауэр не должен разрешать установку входящих TCP-соединений c адресом интерфейса, подключенного к Интернет, портом 110, поэтому добавьте соответствующие правила, если они отсутствуют. На этом настройка popa3d заканчивается. Остается перезапустить суперсервер inetd командой killall -HUP inetd. О том, как проверить работоспособность POP3-сервера, подключившись к 110 порту локального хоста с помощью клиента telnet, можно прочитать в статье Создаем почтовую систему среднего и малого офиса на основе FreeBSD Postfix + dr.web + popa3d + pflogsumm.

Установка и настройка stunnel

Установку stunnel необходимо выполнить из портов:
1. cd /usr/ports/security/stunnel
2. make install

Далее необходимо сгенерировать самоподписной доверенный сертификат X.509. Данная процедура описана в статье Почтовая система среднего офиса на базе Postfix (в моем случае файл, содержащий сертификат, называется popa3d.pem). Далее необходимо создать в папке /usr/local/etc/stunnel файл конфигурации popa3d.conf:
1. cd /usr/local/etc/stunnel
2. touch popa3d.conf

Содержимое файла popa3d.conf имеет следующий вид:
1. cert = /usr/local/etc/stunnel/popa3d.pem
2. exec = /usr/local/libexec/popa3d
3. execargs = popa3d
4. pid = /var/run/popa3d-stunnel.pid

Указанные параметры имеют следующие значения: cert – местонахождение самоподписного доверенного сертификата, exec – местонахождение запускаемой программы, execargs – аргументы запускаемой программы, pid – местонахождение файла, содержащего идентификатор процесса stunnel. Для того, чтобы сервер запускался при обращении клиента, необходимо добавить в файл конфигурации суперсервера inetd /etc/inetd.conf cтроку:
1. pop3s stream tcp nowait root /usr/local/sbin/stunnel stunnel /usr/local/etc/stunnel/popa3d.conf

Stunnel поддерживает механизм TCP Wrappers, поэтому в файл /etc/hosts.allow перед правилом, запрещающим доступ ко всем службам со всех хостов, необходимо добавить правило, разрешающее доступ к POP3S-серверу с любых хостов:
1. stunnel : ALL : allow
2. ALL : ALL : deny

Не забудьте, что Ваш брандмауэр должен разрешать прохождение TCP-трафика на адреса нужных интерфейсов сервера порт 995, поэтому добавьте соответствующие правила, если они отсутствуют. На этом настройка POP3S-сервера заканчивается. Остается перезапустить суперсервер inetd командой killall -HUP inetd.

Заключение

Выполнив действия, описанные в статье, Вы получите полнофункциональный POP3/POP3S-сервер, который, скорее всего, удовлетворит большую часть Ваших потребностей. Я не стал экспериментировать с запуском popa3d в режиме демона, т.к. даже в описанной конфигурации не было каких-либо тормозов и заметных нагрузок на процессор слабенького сервера.

Обзор: Появление USB-модемов стало причиной воскрешения вирусов-диалеров

Опять uink.ru:


Появление USB-модемов стало причиной воскрешения вирусов-диалеров
Несколько пользователей кавказского филиала «Мегафона», использующих USB-модемы, столкнулись со случаями несанкционированных международных вызовов с установленных в модемах sim-карт, сообщила пресс-служба оператора. Причиной стали так называемые диалеры — вредоносные программы, без ведома пользователя подключающиеся к одному из зарубежных интернет-провайдеров. По словам пресс-секретаря «Мегафона» Татьяны Зверевой, обращения в службу поддержки поступили только в одном регионе, но потенциальной опасности подвержены любые компьютеры, подключенные к Интернет через USB-модемы, вне зависимости от модели и производителя.
С аналогичными проблемами сталкивались и абоненты МТС в южных регионах России, признается представитель этого оператора Ирина Осадчая, но это были единичные случаи. Проблема не в модемах, а во вредоносных программах на компьютерах пользователей, подчеркивает она.
«Вымпелком», по словам его представителя Ксении Корнеевой, не сталкивался с подобными жалобами, поскольку продает модемы в комплекте со специальным тарифным планом. Они предназначены исключительно для интернет-доступа, а голосовые услуги для владельцев таких sim-карт недоступны, объясняет она.
Речь идет о троянских программах, которые запускают дозвон на платные номера, объясняет руководитель центра глобальных исследований и анализа угроз «Лаборатории Касперского» Александр Гостев. В результате таких звонков со счета пользователя списываются серьезные суммы. Сами по себе такие программы известны давно, они используют любые установленные на компьютере модемы, в том числе и беспроводные, отмечает Гостев.
Действию таких вирусов могут быть подвержены не только USB-модемы, но и любые другие, подтверждает представитель «Скай линка» Ольга Пестерева (этот CDMA-оператор начал продавать услуги в комплекте с USB-модемами еще до того, как этим занялись GSM-компании). Защититься от таких программ пользователи «Скай линка» могут, уже заключая контракт, если подключат услугу «запрет международных вызовов», говорит она. Кроме того, каждый абонент «Скай линка» может бесплатно скачать антивирусную программу, добавляет Пестерева.
Вредоносные программы-диалеры часто использовали dial-up модемы, но по мере отказа пользователей от этих модемов в пользу широкополосных технологий проблема этих вирусов пошла было на спад. Распространение USB-модемов возвращает проблему к жизни, считает аналитик IDC Петр Городецкий.
По статистике - за последние 12 месяцев российские операторы мобильной связи продали около 2 млн USB-модемов, следует из данных самих сотовых компаний и аналитической компании iKS-Consulting. По оценке AC&M-Consulting, провайдеры фиксированного доступа в интернет за тот же период увеличили клиентскую базу в России на 2,9 млн человек.



Так и хочется сказать - а вот в наше время... :)) Хрен бы оно прокотило с моим Курьером... Да еще и с импульсным набором.

Зафиксирован второй взрыв iPhone во Франции

Новости на uinc.ru:


Зафиксирован второй взрыв iPhone во Франции
Француз Буади Ясин заявил сегодня, что был ранен осколками стекла в результате взрыва коммуникатора iPhone. Это уже второй подобный случай во Франции. 26-летний сторож супермаркета в городке Вильвьей на юго-востоке страны, сказал, что инцидент произошел вчера примерно в три часа дня, когда он набирал текстовое сообщение. Г-н Ясин заметил, что он очень зол и намерен подать иск о возмещении ущерба. «Я требую объяснений насчет этого проклятого телефона!» — заявил потерпевший. Популярный гаджет был приобретен три месяца назад за 600 евро. Пострадавший намерен по меньшей мере вернуть эти деньги.
Напомним, что несколько дней назад французский подросток едва не лишился глаза после того, как взорвался iPhone его подруги. Чуть раньше то же самое случилось с плеером iPod 11-летней британской девочки. Производитель iPhone и iPod американский технологический гигант Apple заверил Евросоюз, что это были единичные случаи и подобные происшествия, скорее всего, связаны с перегревом ионно-литиевых батарей.


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

Продам недорого мотоциклетные шлемы и строительные каски :)

24 авг. 2009 г.

Баннизмы

Вот такой баннизм. "Одноклассники задолбали" :)

21 авг. 2009 г.

Телефонный справочник некоторых украинских городов

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

20 авг. 2009 г.

Google продался!

Похоже, конечно, на прикол, но меня эта ситуация как-то напрягла.
1. Открываем http://translate.google.com/
2. Переводим с русского на китайский фразу: Голосуйте за Януковича!
3. Полученный результат переводим обратно с китайского на русский
4. ...
5. читаем результат