Уголок СУ-11 на просторах вселенной

вторник, 30 декабря 2008 г.

Сергей Аракчеев. Перепост.



До Нового Года осталось всего два дня. Этот праздник лейтенант Аракчеев встретит в колонии строгого режима, куда он брошен по несправедливому приговору суда. За его спиной - пять лет изматывающей борьбы с продажным правосудием, два оправдательных приговора, отменённых "по воле чеченского народа", и вот теперь - страшный, нереальный срок в 15 лет за преступление, которого он не совершал.

Он не сломлен. Он будет бороться дальше. Но сейчас ему очень нужна ваша поддержка.

Пусть Сергей знает, что он не одинок в своей борьбе с беззаконием! Если вы возмущены несправедливостью суда, если вам не безразлична судьба русского офицера - найдите несколько минут, зайдите на почту и отправьте Сергею открытку или телеграмму по адресу:

391846, Рязанская область, г. Скопин, мкр. Октябрьский,
ФБУ ИК-3 УФСИН России по Рязанской области,
отряд 9, Аракчееву Сергею Владимировичу.

Не надо объяснять, как важно человеку, брошенному за решётку, услышать слова поддержки, узнать, что его не забыли, за него борются! Распространите это сообщение как можно шире в Интернете и в СМИ, пусть каждый честный человек сможет поддержать русского офицера!


http://users.livejournal.com/_redrat_/135465.html

очень занятный материал по работе с D-Bus из шэла

Для начала разберемся с тем, что такое D-Bus
D-Bus — это система межпроцессного взаимодействия, которая предоставляет приложениям несколько шин для передачи сообщений.
D-Bus является частью проекта freedesktop.org. Он обладает высокой скоростью работы, интегрируется во многие рабочие среды. D-Bus доступен для Glib, Java (GCJ), Mono, Qt, Python и прозрачен для сети.
D-Bus предоставляет системе несколько шин:

1) Системная шина. Создаётся при старте демона D-BUS. С её помощью происходит общение различных демонов, она практически недоступна для пользовательских приложений

2) Сессионная шина. Создаётся для пользователя, авторизировавшегося в системе. Для каждой такой шины запускается отдельная копия демона, посредством неё будут общаться приложения, с которыми работает пользователь.

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

Каждый объект может поддерживать один или более интерфейсов, которые представлены здесь в виде именованных групп методов и сигналов — аналогично интерфейсам Glib, Qt или Java.

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

Сервисы делают доступной ещё одну функцию — запуск необходимых приложений в случае поступления сообщений для них. Для этого должна быть включена автоактивация, а в конфигурации D-BUS за этим сервисом должно быть закреплено одно приложение. Тогда D-BUS сможет его запустить при появлении сообщения.

После закрытия приложения ассоциированные сервисы также разрегистрируются, а D-BUS посылает сигнал о том, что сервис закрыт. Другие приложения могут получать такие сигналы и соответствующим образом реагировать.

После подключения к шине приложение должно указать, какие сообщения оно желает получать, путём добавления масок совпадений (matchers). Маски представляют собой наборы правил для сообщений, которые будут доставляться приложению, фильтрация может основываться на интерфейсах, путях объектов и методах. Таким образом, приложения будут получать только то, что им необходимо, проблемы доставки в этом случае берет на себя D-BUS.

Сообщения в D-BUS бывают четырёх видов: вызовы методов, результаты вызовов методов, сигналы и ошибки. Первые предназначены для выполнения методов над объектами, подключенными к D-BUS; посылая такое сообщение, вы выдаете задание объекту, а он после обработки обязан возвратить вам либо результат вызова, либо ошибку через сообщения соответствующих типов. Сигнальные же сообщения, как им и полагается, ничуть не заботятся о том, что и как делается объектами, они вольны воспринимать их как угодно (равно как и не получать их вовсе).

Чтобы сообщение достигло определённого объекта, необходим способ сослаться на объект. Во многих языках программирования это реализуется с помощью указателя. Однако, эти указатели реализуются как адреса памяти, относящиеся к локальному адресному пространству приложения, и не могут быть переданы от одного приложения другому.

Поэтому в D-Bus у каждого объекта своё, уникальное имя, которое выглядит как путь в файловой системе. Например, объект может быть именован как /org/kde/kspread/sheets/3/cells/4/5. Предпочтительны имена, которые несут какую-либо смысловую нагрузку, тем не менее, разработчики могут выбрать и имя /com/mycompany/c5yo817y0c1y1c5b, если это имеет смысл для их приложения.

Имена объектов находятся в пространствах имён, чтобы обеспечить разграничение разных программных модулей. Пространствам имён обычно даётся префикс, специфичный для разработчика, например /org/kde.


Теперь перейдем к управлению:

Управление десктоп приложениями из shell при помощи D-Bus [исправить]

В качестве консольной утилиты для работы с D-Bus можно использовать "qdbus" из состава Qt4.

При выполнении без аргументов, утилита qdbus выведет список активных шин:

qdbus

org.freedesktop.ScreenSaver
org.freedesktop.Notifications
org.freedesktop.PowerManagement
org.freedesktop.DBus

Отобразим список объектов для шины ScreenSaver:

qdbus org.freedesktop.ScreenSaver

/
/App
/Interface
/KBookmarkManager
/KBookmarkManager/konqueror
/KDebug
/MainApplication
/ManagerIface_contact
/ScreenSaver

Просмотрим методы объекта "/ScreenSaver":

qdbus org.freedesktop.ScreenSaver /ScreenSaver

signal void org.freedesktop.ScreenSaver.ActiveChanged(bool)
method bool org.freedesktop.ScreenSaver.GetActive()
method uint org.freedesktop.ScreenSaver.GetActiveTime()
method bool org.freedesktop.ScreenSaver.SetActive(bool e)
method void org.freedesktop.ScreenSaver.Lock()
method uint org.freedesktop.ScreenSaver.Inhibit(QString application_name, QString reason_for_inhibit)
...

Посмотрим значение текущего счетчика времени неактивности, после которого
активируется хранитель экрана. Просмотрим текущее значение:

qdbus org.freedesktop.ScreenSaver /ScreenSaver org.freedesktop.ScreenSaver.GetSessionIdleTime

0

С момента последнего нажатия клавиши прошло 0 сек. Попробуем ничего не нажимать:

sleep 5 ; qdbus org.freedesktop.ScreenSaver /ScreenSaver org.freedesktop.ScreenSaver.GetSessionIdleTime

4

Попробуем активировать хранитель экрана через метод org.freedesktop.ScreenSaver.SetActive:

qdbus org.freedesktop.ScreenSaver /ScreenSaver org.freedesktop.ScreenSaver.SetActive True

true

Блокируем экран:

qdbus org.freedesktop.ScreenSaver /ScreenSaver org.freedesktop.ScreenSaver.Lock

В случае когда нужно предотвратить запуск хранителя экрана, например, во время просмотра видео, можно использовать:

qdbus org.freedesktop.ScreenSaver /ScreenSaver \
org.freedesktop.ScreenSaver.Inhibit "$$" "Testing D-Bus Interface"

5822

где, "$$" - имя приложения запретившего активацию хранителя экрана,
в нашем случае это PID текущего shell (5822).
второй аргумент - причина сдерживания хранителя экрана.

После того как хранитель экрана можно опять активировать, выполняем:

qdbus org.freedesktop.ScreenSaver /ScreenSaver \
org.freedesktop.ScreenSaver.UnInhibit 5822


Другие примеры.
Просмотрим список заметок из Tomboy.

qdbus org.gnome.Tomboy /org/gnome/Tomboy/RemoteControl org.gnome.Tomboy.RemoteControl.ListAllNotes

note://tomboy/5e900d91-bd77-4f41-89d8-e71baaafd364
note://tomboy/f647c681-b1b9-4eca-bdab-fd4b04cb37f6

Отобразим содержимое одной из них:

qdbus org.gnome.Tomboy /org/gnome/Tomboy/RemoteControl \
org.gnome.Tomboy.RemoteControl.GetNoteContents note://tomboy/5e900d91-bd77-4f41-89d8-e71baaafd364

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

Полезные советы по OpenSSH

Отключение прослушивания IPv6 адресов

По умолчанию sshd(8) слушает как на IPv4 так и на IPv6 адресах. Для того что бы отключить возможность работы по IPv6, необходимо изменить параметр AddressFamily:

AddressFamily inet

Адрес и порт прослушивания

По умолчанию sshd(8) принимает подключения на всех интерфейсах, в чем не всегда есть необходимость. Если не требуется заходить на сервер "из вне", следует ограничить его работу определенным адресом с помощью параметра ListenAddress:

# ListenAddress 0.0.0.0
ListenAddress 192.168.1.2

Дополнительно через двоеточие можно указать и номер порта. В данном примере используется значение порта, заданное глобально параметром Port.
Ограничение доступа суперпользователя

В большинстве дистрибутивов в целях безопасности доступ суперпользователю по SSH закрыт (PermitRootLogin no), и при попытке зарегистрироваться под root получаем сообщение об ошибке. Для выполнения задач, требующих привилегий администратора, приходится заходить под обычным пользователем и использовать su(1) или sudo(8). Красиво выйти из ситуации поможет директива Match. В качестве аргумента ей передается критерий отбора (User, Group, Host, Address), его значение и параметр, который нужно применить. Для примера разрешим подключение под root только с localhost и из доверенной подсети 192.168.5.0/24:

PermitRootLogin no
Match Host 192.168.5.*,127.0.0.1
PermitRootLogin yes

Контроль неудачных подключений

Следующие две директивы позволяют контролировать неудачные подключения к серверу:

LoginGraceTime 60
MaxStartups 2:50:10

Параметр LoginGraceTime определяет, по истечению какого времени простаивающее подключение будет разорвано (в секундах). Значение по умолчанию 120 явно завышено. Количество параллельных неаутентифицированных подключений к серверу контролируется при помощи MaxStartups. Запись параметра имеет форму "start:rate:full". В нашем случае она означает отключение с вероятностью 50% при наличии двух неаутентифицированных связей, с линейным ростом вероятности до 100% при достижении 10.
Контроль за подключениями пользователей

Установки в файлах /etc/ssh/sshrc или ~/.ssh/rc позволяют выполнить некоторые действия при регистрации пользователя. Здесь можно использовать любые команды оболочки. Например, отправим администратору на почту уведомление о том, что в систему по SSH зашел пользователь:

# vi /etc/ssh/sshrc
echo $(date) $SSH_CONNECTION $USER $SSH_TTY | mail -s "ssh login" admin@domain.ru

Пример создания резервных копий

Генерируем пару ключей (секретный и публичный):

$ sudo ssh-keygen -t rsa -C 'remote backup'
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):
/home/user/.ssh/id_rsa_backup

Добавляем публичный ключ в список авторизованных ключей на удаленной системе:

$ ssh remotehost "umask 077; cat > .ssh/authorized_keys" < .ssh/id_rsa_backup.pub

Затем редактируем authorized_keys (ключ '-t' следует использовать при запуске программ, требующих для своей работы наличия псевдотерминала):

$ ssh -t remotehost vi .ssh/authorized_keys
from="192.168.0.*,212.34.XX.YY",command="cd /work; tar cvf - ./* | bzip2 -9",
no-pty,no-agent-forwarding,no-X11-forwarding,no-port-forwarding ssh-rsa AAAA[...]

И запускаем процедуру резервного копирования:

$ ssh -i .ssh/id_rsa_backup remotehost > ~/backup/work-`date +%d%m%Y`.tar.bz2 2>/dev/null

Каталог /work, находящийся на сервере remotehost, будет сохранен в архив ~/backup/work-11052008.tar.bz2.
Используем dump в связке с SSH

Используя SSH, можно защитить информацию, передаваемую программами, не имеющими встроенных механизмов шифрования соединения. Например, сделаем бэкап с помощью dump(8) на удаленный сервер:

$ sudo dump -0au -f - /dev/rwd1a | gzip -9 | ssh remotehost 'dd of=cvs_backup.dump.gz'

Поскольку в dump(8) встроена возможность передавать данные по сети с использованием RSH, существует возможность использования и SSH, поскольку его функциональность аналогична:

$ ssh remotehost touch /home/user/cvs.dump
$ env RSH=`which ssh` sudo -E dump 0f remotehost:/home/user/cvs.dump /cvs

Передача файлов и каталогов

Передать файл, используя SSH, можно одним из следующих способов:

$ cat myfile | ssh remotehost 'cat > myfile'
$ tar zcf - ~/coding | ssh remotehost 'cat > coding.tgz'

Чтобы рекурсивно отправить весь каталог, набираем:

$ scp -r mydir user@host.domain.ru:

Вариант копирования каталога с использованием ssh(1) и tar(1) с локального хоста на удаленный:

$ tar cf - source | ssh remotehost "(cd /target; tar xpf -)"

и с удаленного хоста на локальный:

$ ssh remotehost "tar cf - source" | (cd /target; tar xpf -)

Безопасный способ получения почты

Для безопасного получения почты с помощью fetchmail можно использовать SSH. Для этого в конфигурационном файле ~/.fetchmailrc необходимо указать следующее:

poll localhost with protocol pop3 and port 8110:
preconnect "ssh -f -q -C user@213.167.XX.YY \
-L 8110:213.167.XX.YY:110 sleep 10" password noIdea;

Забираем почту:

$ fetchmail
1 message for user at localhost (8062 octets).
reading message user@localhost.domain.ru:1 of 1 (8062 octets)....... flushed

Почтовый шлюз

Настроим 192.168.1.1 на перенаправление входящей и исходящей почты по шифрованному каналу для клиентов из 192.168.1.0/24 на mail.domain.ru:

$ vi .ssh/config
Host mail
Hostname mail.domain.ru
LocalForward 192.168.1.1:8025 mail.domain.ru:25
LocalForward 192.168.1.1:8110 mail.domain.ru:110
LocalForward 192.168.1.1:8143 mail.domain.ru:143
GatewayPorts yes

Открываем туннель:

$ ssh mail

Выполнение заданной команды после подключения

Параметр ProxyCommand позволяет выполнить произвольную команду. Для примера подключимся через шлюз к файловому серверу, который находится за NAT:

$ vi .ssh/config
Host gateway
HostName ns.domain.ru
Host filesrv
HostName 192.168.5.201
ProxyCommand ssh gateway nc -w 180 %h %p

Подключаемся:

$ ssh filesrv

Мультиплексирование ssh-сессий

Использование параметра ControlMaster позволяет ускорить доступ к удаленному серверу за счет того, что в специальном файле сохраняются все параметры предыдущего сеанса, которые и используются при повторном подключении. Для примера создадим две Host-секции:

$ vi .ssh/config
Host srv1
HostName 213.167.XX.YY
ControlMaster yes
# Здесь %r - имя, %h - хост и %p - порт
ControlPath ~/.ssh/ctl-%r-%h-%p
Host srv1fast
HostName 213.167.XX.YY
ControlMaster no
ControlPath ~/.ssh/ctl-%r-%h-%p

Теперь на сервере srv1 выполняем утилиту uptime(1), логинимся на нем (чтобы создать локальный сокет для второго подключения), переходим на другую консоль и снова запрашиваем статистические счетчики:

ttyp0$ time ssh srv1 uptime
5:55PM up 37 days, 9:19, 1 user, load averages: 0.33, 0.32, 0.33
0m0.77s real 0m0.06s user 0m0.01s system

ttyp0$ ssh srv1
ttyp1$ time ssh srv1fast uptime
5:57PM up 37 days, 9:20, 2 users, load averages: 0.37, 0.34, 0.33
0m0.03s real 0m0.00s user 0m0.01s system

Из примера видно, что при использовании мультиплексирования соединений время выполнения команды uptime(1) на удаленном сервере уменьшилось в 25 раз.
Создание SOCKS-сервера

OpenSSH можно использовать как специальный SOCKS-сервер, который поддерживает более гибкое проксирование, чем простое перенаправление портов. Например, команда:

$ ssh -D1080 user@domain.ru

Создает локальный SOCKS5-сервер, который ждет подключения на localhost:1080. Альтернативный вариант - прописать директиву DynamicForward в .ssh/config:

$ vi .ssh/config
Host proxy
HostName ns.domain.ru
DynamicForward 1080

Подключаемся, введя ssh proxy. Протестировать работу SOCKS5-сервера можно такой командой:

$ echo -n "GET / HTTP/1.0\r\n\r\n" | nc -X 5 -x 127.0.0.1:1080 \
www.domain.ru 80 | head -4
HTTP/1.1 200 OK
Date: Sat, 23 Feb 2008 14:27:43 GMT
Server: Apache
X-Powered-By: PHP/4.4.1

Теперь SOCKS-сервер готов к использованию:

$ tsocks thunderbird

Сажаем пользователей в песочницу

В OpenSSH 4.9 появилась долгожданная поддержка chroot(2) для sshd(8), контролируемая с помощью опции ChrootDirectory. К примеру, заставим подключающегося по sftp пользователя worker переходить в измененный корневой каталог data:

# vi /etc/ssh/sshd_config
#Subsystem sftp /usr/libexec/sftp-server
Subsystem sftp internal-sftp

Match User worker
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
ChrootDirectory /data

Пример для хостинговых клиентов:

# vi /etc/ssh/sshd_config
#Subsystem sftp /usr/libexec/sftp-server
Subsystem sftp internal-sftp

Match Group wwwusers
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
ChrootDirectory /var/www/hosting/%u

Теперь зарегистрированные пользователи будут допущены только к "своему" каталогу, при подключении модификатор %u будет заменен именем пользователя. При необходимости можно использовать %h, который соответствует домашнему каталогу юзера.
Скрываем записи о серверах, к которым мы подключались

Некоторые администраторы, возможно, захотят зашифровать все IP и доменные адреса из файла .ssh/known_hosts. Делается это следующим образом:

$ echo 'HashKnownHosts' >> ~/.ssh/config
$ ssh-keygen -H -f ~/.ssh/known_hosts
$ head -1 ~/.ssh/known_hosts
+|1|TJ2SaXGqO8uHYeiA92KuNRIKR7M=|GpQB8Qz0tQPqA+nF+ghe37mpcHA= ssh-rsa AAAA[...]

Управляющие последовательности SSH

Управляющие последовательности SSH станут доступны, если в SSH-сессии сначала нажать , затем управляющий символ сеанса (по умолчанию тильда, задается директивой EscapeChar) и специальную клавишу, которая указывает, какую именно функцию следует выполнить.

Допустим, мы с mail.domain.ru зашли на bastion.domain2.ru и решили, что не плохо было бы открыть обратный шифрованный туннель к почтовому серверу для безопасной загрузки сообщений. С помощью комбинации клавиш "~C" можно интерактивно управлять локальным и удаленным форвардингами (ключи '-L' и '-R'):

bastion$ ~C
ssh> -R 8110:mail.domain.ru:110
Forwarding port.

Проверяем работу созданного почтового туннеля:

bastion$ telnet localhost 8110
+OK Dovecot ready.

В ответ получен баннер от Dovecot, значит, все в порядке.
Кстати, обратившись к подсказке, получим список всех доступных ключей и дополнительных параметров:

bastion$ ~C
ssh> help
Commands:
-L[bind_address:]port:host:hostport Request local forward
-R[bind_address:]port:host:hostport Request remote forward
-KR[bind_address:]port Cancel remote forward

Если в ~/.ssh/config установить значение директивы PermitLocalCommand в yes, то мы сможем выполнять команды в локальном шелле, т.е. на хосте, с которого зашли:

ns$ ssh mx
mx$ ~C
ssh> !uptime # команда выполняется на хосте ns
7:02PM up 100 days, 11 mins, 1 user, load averages: 0.13, 0.21, 0.23

mx$ uptime # команда выполняется на хосте mx
7:02PM up 4 days, 7:34, 1 user, load averages: 0.21, 0.23, 0.19

Если на предыдущем узле требуется выполнить сразу несколько команд, то SSH-сессию лучше временно засуспендить (приостановить выполнение программы ssh):

mx$ ~
[1] + Suspended "ssh" "$@"

Чтобы перевести SSH-сессию из остановленного режима в активный, следует воспользоваться командой fg.
Список текущих SSH-соединений можно просмотреть комбинацией:

mx$ ~#
The following connections are open:
#0 client-session (t4 r0 i0/0 o0/0 fd 5/6 cfd -1)

А для быстрого завершения SSH-сессии ставим точку:

mx$ ~.
Connection to 213.167.XX.YY closed.

Сокращенный набор

Чтобы в консоли не вводить полное доменное имя, порт и учетную запись для подключения к удаленной системе, стоит заручиться поддержкой директивы Host:

$ vi ~/.ssh/config
Host mx
Hostname mx.domain.ru
Port 2022
User admin

Таким образом, достаточно ввести ssh mx, чтобы соединиться с нужным хостом.
Получение доступа к закрытому сервису

Многие администраторы в целях безопасности скрывают свои сервера в демилитаризованной зоне, либо за NAT'ом, и разрешают входящие соединения только с доверенных IP-адресов и по определенными портам. Поэтому доступ ко многим полезным ресурсам получить напрямую нельзя. Это как раз тот случай, когда использование SSH-форвардинга может исправить ситуацию.

$ vi ~/.ssh/config
Host gate
Hostname gate.domain.ru
# Для ускорения соединений включаем мультиплексирование SSH-сессий
ControlMaster auto
ControlPath ~/.ssh/ctl-%r-%h-%p
# Перенаправляем локальный порт на файловый сервер (Win2k3 с поднятым VShell)
LocalForward 8022 192.168.1.101:22

# Подключаясь к localhost:8022, мы будем попадать на файловый сервер
Host fileserver
Hostname localhost
Port 8022
ControlMaster auto
ControlPath ~/.ssh/ctl-%r-%h-%p
HostKeyAlias fileserver

Соединяемся с узлом gate и проверяем возможность подключения к локальному порту 8022:

$ ssh -N -f gate
$ telnet localhost 8022
SSH-2.0-VShell_3_0_4_656 VShell

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

$ ssh fileserver
Microsoft Windows [Version 5.2.3790]
C:\Documents and Settings\Username\My Documents>

Ограничение возможностей перебора паролей с помощью Pf

Сервис SSH является любимой мишенью злоумышленников, поэтому следует принять некоторые меры безопасности. Одна из них - ограничение количества подключений, чтобы избежать DoS-атаки и перебора паролей.

# vi /etc/pf.conf
table persist
block in log quick on $ext_if inet from
pass in log on $ext_if inet proto tcp to $ext_if port ssh keep state \
(max-src-conn-rate 5/60, overload flush global)

Данный набор правил инструктирует фильтр пакетов не допускать более 5 одновременных соединений к 22 порту за 60 секунд.
Перенаправление X11-подключений

Для перенаправления X11-подключений следует использовать ключ '-Y':

$ ssh -Y user@domain.com

Причем в конфигурационном файле /etc/ssh/sshd_config параметр X11Forwarding должен быть установлен в "yes". Если X-сервер запущен на локальной системе, то необходимо включить и X11UseLocalhost.

кусочек родины из 1986ого года


суббота, 27 декабря 2008 г.

шикарный перепост

оригинал тут http://www.ee.ryerson.ca/~elf/hack/recovery.html
перевод от сюда http://magic2lantern.blogspot.com/2008/12/unix.html
Легенда о восстановлении Unix

Сейчас много мыслей о том, что ждёт нас в будущем, в 2009 году, да и после. Но почему бы на мгновение не вернутсья в прошлое и не восхититься тем, как хардкорные юниксоиды того времени выкручивались, восстанавливая систему?

Это — перевод статьи Mario Wolczko, опубликованной в Usenet в 1986.

Бывало ли когда-нибудь, что ты оставлял терминал залогиненным, просто чтобы вернуться и увидеть, как (предполагаемый) друг написал в нём rm -rf ~/* и стоит возле клавиатуры: — Одолжи мне пятёрку до четверга, или я нажимаю «энтер».

Без всякого сомнения, этот человек не понимает, какую травму он может нанести, и воспринимает всё как милую шутку.

Это была тихая среда. Если быть точным — среда 1-го октября, 15:15 по британскому летнему времени. Питэр, мой коллега, отошёл от своего терминала и сказал мне: — Марио, у меня тут небольшая проблема с отправкой почты.

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

В терминале было странное сообщение об ошибке, примерно такое (я уже не помню всех деталей): cannot access /foo/bar for userid 147

Сначала я подумал: у кого userid 147? Отправитель сообщения, получатель или ещё что-то? Тогда я перешёл к другому, уже залогиненному терминалу, и набрал

grep 147 /etc/passwd



просто, чтобы получить ответ

/etc/passwd: No such file or directory.




Тут же я предположил, что чего-то нет. Всё подтвердилось, в ответ на

ls /etc



Я получил

ls: not found.




Я посоветовал Питэру, что хорошей идеей будет ничего сейчас не трогать, и пошёл искать нашего системного администратора.

Когда я пришёл к нему в офис, его дверь была приоткрыта, и в течение 10 секунд я понял, что у нас за проблема. Джэймс, наш менеджер, сидел с головой в руках, руками между коленями, как человек, мир которого только что рухнул. Наш недавно назначенный системный программист, Нэйл, стоял сзади него и пристально, вяло наблюдал за терминалом у него на экране. А я подсмотрел вверху экрана следующее:

# cd
# rm -rf *




Вот дерьмо, подумал я. И это ведь всё объясняет.

Я даже не помню, что происходило в следующие минуты; моя память словно размыта. Я помню только, что мы пробовали ls (снова), ps, who и, может, ещё несколько команд — всё бесполезно. Следующее, что я помню: я снова у моего терминала (многооконный графический терминал), набираю

cd /
echo *



Я должен выразить благодарность Дэвиду Корну, ведь он сделал echo встроенной внутрь командной оболочки; не нужно и говорить, что бинарный файл /bin/echo за компанию со всем /bin был удалён. Что прояснилось в следующие несколько минут, так это то, что /dev, /etc и
/lib неразлучимо исчезли, но, к счастью, Нэйл прервал rm в тот момент, когда она была где-то между /news и /tmp; /usr и
/users остались нетронуты.

Тем временем Джэймс добрался до нашего шкафа с кассетами и вытащил что-то с надписью о том, что это бэкап корневой файловой системы, сделанный четыре недели назад. В воздухе витал вопрос: — Как же нам восстановить содержание кассеты?

Мы ведь потеряли не только /etc/restore — все файлы устройств контроллера ленточных накопителей были стёрты. А где живёт mknod? Правильно, /etc. Как насчёт восстановить любой из них по Ethernet с другого VAX? Понятное дело, /bin/tar пропал, а rcp люди из Беркли заботливо положили в
/bin в дистрибутиве 4.3. Кроме того, для работы сети нам нужен как минимум /etc/hosts. Версию cpio мы нашли в /usr/local, но без контроллера ленточных накопителей это, к сожалению, бесполезно.

В качестве альтернативы мы могли бы вытащить загрузочную ленту и пересобрать корневую файловую систему, но ни Джэймс, ни Нэйл никогда не делали этого прежде, и мы не были уверены, что это и есть то, что нам нужно — полностью переформатированный диск и потеря всех наших пользовательских файлов (мы делаем бэкапы пользовательских файлов каждый четверг; по закону Мёрфи всё и должно было случиться именно в среду).
Ещё решение — позаимствовать диск от другого VAX, загрузиться с него, и уже потом разбираться; но тогда бы пришлось звать DEC-инженера — это в самом лучшем случае. У нас было много пользователей, в муках завершающих свои кандидатские диссертации, и потеря возможно недельной работы была немыслима.

Так что же делать? Следующей идеей было написать программу, которая бы создала дескриптор устройства для контроллера ленточных накопителей, но все мы знаем, где живут cc, as и ld. Или, может, сделать минимального вида /etc/passwd, /etc/hosts и прочее, чтобы /usr/bin/ftp смог работать. По счастливой случайности, у меня оказался всё ещё открытый в одном из моих окон gnuemacs — мы могли бы воспользоваться им, чтобы создать passwd и всё остальное, но первым шагом нужно создать директорию, чтобы поместить их туда. Разумеется, был удалён /bin/mkdir, то же самое произошло с /bin/mv, так что мы не могли переименовать /tmp в /etc. Однако это явно была правильная линия для атаки.

К тому моменту к нам присоединился Alasdair, наш местный UNIX-гуру, как оказалось, знающий ассемблер VAX. Так что наш план стал таким:


1. написать на ассемблере программу, которая бы могла либо переименовать /tmp в /etc, либо создать /etc;

2. заассемблировать её на другом VAX, сделать uuencode;

3. записать её в в uu-закодированный файл, используя мой GNU, и сделать uudecode (какой-то умный человек догадался поместить uudecode в /usr/bin).


Остаётся запустить программу. Ещё одно чудо: терминал, который использовался для нанесения ущерба, всё ещё был суперпользовательским после su (достаточно вспомнить, что su находится в /bin), так что у нас хотя бы появился шанс, что всё это заработает.

И вот, мы уже стоим на очаровательном пути к успеху. Потратив всего час, мы состряпали примерно дюжину строчек на ассемблере для создания /etc. Обрезанный бинарный файл оказался длиной всего 76 байт, так что мы сконвертировали его в HEX (читается немного лучше, чем вывод uuencode), и записали, используя мой редактор. Если у вас вдруг когда-нибудь возникнет такая проблема, вот HEX на будущее:



070100002c000000000000000000000000

0000000000000000000000000000000000

dd8fff010000dd8f27000000fb02ef0700

0000fb01ef070000000000bc8f88000400

00bc012f65746300



У меня была подручная программа (а что, у кого-то не было?) для конвертирования ASCII HEX в двоичный код, и вывод /usr/bin/sum совпадал с нашим оригинальным бинарным файлом. Но стоп, секундочку — как же ты установишь права на выполнение без /bin/chmod? За несколько секунд сформированная мысль (которая, как обычно, завершает пару минут раздумий) принесла решение проблемы: нужно записать бинарный файл поверх уже существующего файла, для которого я являюсь владельцем. Вот и хорошо.

Мы вернулись к терминалу с правами суперпользователями, с осторожностью вспомнили поставить umask на 0 (чтобы я мог создавать внутри файлы, используя свой GNU), и запустили бинарный файл. Теперь у нас был /etc, с доступом на запись для всех. Теперь оставалось всего несколько шагов: нужно было создать passwd, hosts, services, protocols, (etc), после чего ftp был готов к работе. Потом мы восстановили содержимое /bin по сети (это невероятно, как тебе начинает жутко не хватать ls после всего нескольких коротких часов без него) и взяли файлы из /etc. Ключевым файлом был /etc/rrestore, с его помощью мы восстановили /dev с бэкап-кассеты. Тут и сказочке конец.

А вот теперь мы задаём себе вопрос, в чём же мораль этой истории. Ну, для начала, стоит хорошо запомнить вечные слова: не паниковать. Мы ведь сначала и хотели просто перезагрузить компьютер и попробовать всё как single-пользователь, но, к сожалению, система при загрузке не нашла бы /etc/init и /bin/sh. Здравое мышление спасло нас от таких действий.

Следующая вещь, которую стоит запомнить, это то, что утилиты UNIX могут использоваться с действительно нетипичными для них целями. Даже без моего gnuemacs мы бы могли выжить, используя, скажем, /usr/bin/grep как замену для /bin/cat.

И последняя вещь. Это невероятно, насколько громадную часть системы можно удалить, не загубив её окончательно. Несмотря на тот факт, что никто бы не смог войти в систему (/bin/login?), и почти все нужные команды пропали, всё остальное выглядело нормально. Естественно, некоторые вещи не могут оставаться живы без, скажем, /etc/termcap, /dev/kmem или /etc/utmp, но, в конечном итоге, всё работает в мире и согласии.

Я оставляю вопрос: оказавшись в такой же ситуации, с возможностью мыслить, учитывая приобретённый теперь опыт, можно было бы решить эту проблему проще?

пятница, 26 декабря 2008 г.

Перепост

Сегодня в Москве подвозил молодую маму с ребенком. Мальчику на вид примерно 5-6 лет, сегодня у него был День Рождения. Дело было 25 декабря примерно в 16 часов MSK. Ехали они с картинга, где вдвоем вместе с мамой катались. И как на грех, малец забыл у меня в машине свой красивый (новый? подарок?) детский рюкзачок со сменной обувью. Как отец двух малолетних дочерей, я легко представляю то горе (без преувеличения!), которое испытал ребенок, да еще и в такой день.
Пожалуйста, если кто-нибудь знает эту семью, помогите им связаться со мной. Лучше всего написать мне на rebsys@gmail.com. Я даже готов подвезти утерянную вещь, знать бы только куда.
Давайте вместе под Новый Год поможем исправить такое мелкое недоразумение, ведь это так легко! :)

http://micaele.livejournal.com/2807.html

четверг, 25 декабря 2008 г.

кому нужно - поймет :)

http://www.ecs.com.tw/ECSWebSite/Products/ProductsDetail.aspx?detailid=864&CategoryID=1&DetailName=Driver&MenuID=123&LanID=0

php подключение к microsoft sql server

потребовалось подключится к MS SQL базе, лезу в php, расширений mssql не вижу
лезу в apt-get - ничего нету
начал было собирать из исходников, да умный гугл подсказал что в пакете php5 в ubuntu intrepid
mssql включен в sybase, т.е. ставим php5-syabse и будет счастье
далее обычный конекшен стринг
$link = sybase_connect('сервер', 'пользователь', 'пароль');
sybase_select_db('база', $link);
syabse_* алиас на mssql_*

Ржач!

среда, 24 декабря 2008 г.

я и дядя "Джаббер"

завел себе джаббер аккаунт, зачем не знаю (знакомые не используют, все сидят на аське)
но тем не менее
skonev752@jabber.ru
пишите :)

к предыдущему посту

в конфиге в двух местах закоментирован ssl, нужно раскоментить (если вы конечно будете его использовать и вы сгенерили сертификат)

поднятие ejabberd на slackware 12.0

Поднял на работе джаббер на слаке. Поднимал на Slackware 12.0
наткнулся на некоторые грабли, по этмоу опишу процес установки тут (сильно углубляться не буду - лень)
у кого возникнут вопросы - пишите, распишу подробнее
первые грабли на которые я наткнулся - отсутствие в слаке odbc
выкачиваем сорцы от сюда http://www.unixodbc.org
далее все просто configure,make,make install destdir=..., makepkg, installpkg
далее траблы были с отсутсвием jdk, лечется установой трех пакетов от сюда
http://packages.slackware.it/search.php?v=current&t=1&q=jdk
там jdk, jre + от туда еще выкачиваем gcj компилятор
далее от сюда выкачиваем http://erlang.org/download.html, без него ejabberd работать не бдует, т.к. написано именно на erlang'е
далее опять конфигур и мэйк
далее я все завязал на mysql (если ставить лень) то можете использовать базу поставляемую с ejabberd
далее качаем сам ejabberd, конфигур я делал с флажком --enable-odbc=yes, дабы потом подцепить mysql
когда все собралось беремся за конфиги дяди "джаббера"
я правил два - оснойвной и с разрешением доменных имен, в конечном итоге мои выглядят так:
root@srv-pdc:~/jabber develop/ejabberd/src# cat /etc/ejabberd/ejabberd.cfg
%%%
%%% ejabberd configuration file
%%%

%%% The parameters used in this configuration file are explained in more detail
%%% in the ejabberd Installation and Operation Guide.
%%% Please consult the Guide in case of doubts, it is included in
%%% your copy of ejabberd, and is also available online at
%%% http://www.process-one.net/en/ejabberd/docs/

%%% This configuration file contains Erlang terms.
%%% In case you want to understand the syntax, here are the concepts:
%%%
%%% - The character to comment a line is %
%%%
%%% - Each term ends in a dot, for example:
%%% override_global.
%%%
%%% - A tuple has a fixed definition, its elements are
%%% enclosed in {}, and separated with commas:
%%% {loglevel, 4}.
%%%
%%% - A list can have as many elements as you want,
%%% and is enclosed in [], for example:
%%% [http_poll, web_admin, tls]
%%%
%%% - A keyword of ejabberd is a word in lowercase.
%%% The strings are enclosed in "" and can have spaces, dots...
%%% {language, "en"}.
%%% {ldap_rootdn, "dc=example,dc=com"}.
%%%
%%% - This term includes a tuple, a keyword, a list and two strings:
%%% {hosts, ["jabber.example.net", "im.example.com"]}.
%%%


%%% =======================
%%% OVERRIDE STORED OPTIONS

%%
%% Override the old values stored in the database.
%%

%%
%% Override global options (shared by all ejabberd nodes in a cluster).
%%
%%override_global.

%%
%% Override local options (specific for this particular ejabberd node).
%%
%%override_local.

%%
%% Remove the Access Control Lists before new ones are added.
%%
%%override_acls.


%%% =========
%%% DEBUGGING

%%
%% loglevel: Verbosity of log files generated by ejabberd.
%% 0: No ejabberd log at all (not recommended)
%% 1: Critical
%% 2: Error
%% 3: Warning
%% 4: Info
%% 5: Debug
%%
{loglevel, 4}.

%%
%% watchdog_admins: If an ejabberd process consumes too much memory,
%% send live notifications to those Jabber accounts.
%%
%%{watchdog_admins, ["bob@example.com"]}.


%%% ================
%%% SERVED HOSTNAMES

%%
%% hosts: Domains served by ejabberd.
%% You can define one or several, for example:
%% {hosts, ["example.net", "example.com", "example.org"]}.
%%
{hosts, ["srv-pdc"]}.

%%
%% route_subdomains: Delegate subdomains to other Jabber server.
%% For example, if this ejabberd serves example.org and you want
%% to allow communication with a Jabber server called im.example.org.
%%
%%{route_subdomains, s2s}.


%%% ===============
%%% LISTENING PORTS

%%
%% listen: Which ports will ejabberd listen, which service handles it
%% and what options to start it with.
%%
{listen,
[

{5222, ejabberd_c2s, [

%%
%% If TLS is compiled and you installed a SSL
%% certificate, put the correct path to the
%% file and uncomment this line:
%%
%% {certfile, "/etc/ssl/ejabberd/ssl.pem"}, starttls,

{access, c2s},
{shaper, c2s_shaper},
{max_stanza_size, 65536}
]},

%%
%% To enable the old SSL connection method in port 5223:
%%
{5223, ejabberd_c2s, [
{access, c2s},
{shaper, c2s_shaper},
%% {certfile, "/etc/ssl/ejabberd/ssl.pem"}, tls,
{max_stanza_size, 65536}
]},

{5269, ejabberd_s2s_in, [
{shaper, s2s_shaper},
{max_stanza_size, 131072}
]},

%%
%% ejabberd_service: Interact with external components (transports...)
%%
%%{8888, ejabberd_service, [
%% {access, all},
%% {shaper_rule, fast},
%% {ip, {127, 0, 0, 1}},
%% {hosts, ["icq.example.org", "sms.example.org"],
%% [{password, "secret"}]
%% }
%% ]},

{5280, ejabberd_http, [
http_poll,
web_admin
]}

]}.

%%
%% s2s_use_starttls: Enable STARTTLS + Dialback for S2S connections.
%% Allowed values are: true or false.
%% You must specify a certificate file.
%%
{s2s_use_starttls, true}.

%%
%% s2s_certfile: Specify a certificate file.
%%
{s2s_certfile, "/etc/ssl/ejabberd/ssl.pem"}.

%%
%% domain_certfile: Specify a different certificate for each served hostname.
%%
%%{domain_certfile, "example.org", "/path/to/example_org.pem"}.
%%{domain_certfile, "example.com", "/path/to/example_com.pem"}.

%%
%% S2S whitelist or blacklist
%%
%% Default s2s policy for undefined hosts.
%%
%%{s2s_default_policy, allow}.

%%
%% Allow or deny communication with specific servers.
%%
%%{{s2s_host, "goodhost.org"}, allow}.
%%{{s2s_host, "badhost.org"}, deny}.


%%% ==============
%%% AUTHENTICATION

%%
%% auth_method: Method used to authenticate the users.
%% The default method is the internal.
%% If you want to use a different method,
%% comment this line and enable the correct ones.
%%
%%{auth_method, internal}.

%%
%% Authentication using external script
%% Make sure the script is executable by ejabberd.
%%
%%{auth_method, external}.
%%{extauth_program, "/path/to/authentication/script"}.

%%
%% Authentication using ODBC
%% Remember to setup a database in the next section.
%%
{auth_method, odbc}.

%%
%% Authentication using PAM
%%
%%{auth_method, pam}.
%%{pam_service, "pamservicename"}.

%%
%% Authentication using LDAP
%%
%%{auth_method, ldap}.
%%
%% List of LDAP servers:
%%{ldap_servers, ["localhost"]}.
%%
%% LDAP attribute that holds user ID:
%%{ldap_uids, [{"mail", "%u@mail.example.org"}]}.
%%
%% Search base of LDAP directory:
%%{ldap_base, "dc=example,dc=com"}.
%%
%% LDAP manager:
%%{ldap_rootdn, "dc=example,dc=com"}.
%%
%% Password to LDAP manager:
%%{ldap_password, "******"}.

%%
%% Anonymous login support:
%% auth_method: anonymous
%% anonymous_protocol: sasl_anon | login_anon | both
%% allow_multiple_connections: true | false
%%
%%{host_config, "public.example.org", [{auth_method, anonymous},
%% {allow_multiple_connections, false},
%% {anonymous_protocol, sasl_anon}]}.
%%
%% To use both anonymous and internal authentication:
%%
%%{host_config, "public.example.org", [{auth_method, [internal, anonymous]}]}.


%%% ==============
%%% DATABASE SETUP

%% ejabberd uses by default the internal Mnesia database,
%% so you can avoid this section.
%% This section provides configuration examples in case
%% you want to use other database backends.
%% Please consult the ejabberd Guide for details about database creation.

%%
%% MySQL server:
%%
%%{odbc_server, {mysql, "server", "database", "username", "password"}}.
%%
%% If you want to specify the port:
%% {odbc_server, {mysql, "srv-file", 1234, "database", "username", "password"}}.
{odbc_server, {mysql, "srv-pdc", "ejabberdb", "ejabberd", "ТУТ ВАШ пароль юзера которому даны права на базу"}}.

%%
%% PostgreSQL server:
%%
%%{odbc_server, {pgsql, "server", "database", "username", "password"}}.
%%
%% If you want to specify the port:
%%{odbc_server, {pgsql, "server", 1234, "database", "username", "password"}}.
%%
%% If you use PostgreSQL, have a large database, and need a
%% faster but inexact replacement for "select count(*) from users"
%%
%%{pgsql_users_number_estimate, true}.

%%
%% ODBC compatible or MSSQL server:
%%
%%{odbc_server, "DSN=ejabberd;UID=ejabberd;PWD=ejabberd"}.

%%
%% Number of connections to open to the database for each virtual host
%%
%%{odbc_pool_size, 10}.

%%
%% Interval to make a dummy SQL request to keep alive the connections
%% to the database. Specify in seconds: for example 28800 means 8 hours
%%
%% {odbc_keepalive_interval, undefined}.
{odbc_keepalive_interval, 3600}.

%%% ===============
%%% TRAFFIC SHAPERS

%%
%% The "normal" shaper limits traffic speed to 1.000 B/s
%%
{shaper, normal, {maxrate, 1000}}.

%%
%% The "fast" shaper limits traffic speed to 50.000 B/s
%%
{shaper, fast, {maxrate, 50000}}.


%%% ====================
%%% ACCESS CONTROL LISTS

%%
%% The 'admin' ACL grants administrative privileges to Jabber accounts.
%% You can put as many accounts as you want.
%%

{acl, admin, {user, "skonev", "srv-pdc"}}.

%%{acl, admin, {user, "aleksey", "localhost"}}.
%%{acl, admin, {user, "ermine", "example.org"}}.

%%
%% Blocked users
%%
%%{acl, blocked, {user, "baduser", "example.org"}}.
%%{acl, blocked, {user, "test"}}.

%%
%% Local users: don't modify this line.
%%
{acl, local, {user_regexp, ""}}.

%%
%% More examples of ACLs
%%
%%{acl, jabberorg, {server, "jabber.org"}}.
%%{acl, aleksey, {user, "aleksey", "jabber.ru"}}.
%%{acl, test, {user_regexp, "^test"}}.
%%{acl, test, {user_glob, "test*"}}.

%%
%% Define specific ACLs in a virtual host.
%%
%%{host_config, "localhost",
%% [
%% {acl, admin, {user, "bob-local", "localhost"}}
%% ]
%%}.


%%% ============
%%% ACCESS RULES

%% Maximum number of simultaneous sessions allowed for a single user:
{access, max_user_sessions, [{10, all}]}.

%% This rule allows access only for local users:
{access, local, [{allow, local}]}.

%% Only non-blocked users can use c2s connections:
{access, c2s, [{deny, blocked},
{allow, all}]}.

%% For C2S connections, all users except admins use "normal" shaper
{access, c2s_shaper, [{none, admin},
{normal, all}]}.

%% All S2S connections use "fast" shaper
{access, s2s_shaper, [{fast, all}]}.

%% Only admins can send announcement messages:
{access, announce, [{allow, all}]}.

%% Only admins can use configuration interface:
{access, configure, [{allow, admin}]}.

%% Admins of this server are also admins of MUC service:
{access, muc_admin, [{allow, admin}]}.

%% All users are allowed to use MUC service:
{access, muc, [{allow, all}]}.

%% Everybody can create pubsub nodes
{access, pubsub_createnode, [{allow, all}]}.

%% In-band registration allows registration of any possible username.
%% To disable in-band registration, replace 'allow' with 'deny'.
{access, register, [{deny, all}]}.

%% By default frequency of account registrations from a the same IP
%% is limited to 1 account every 10 minutes. To disable put: infinity
%%{registration_timeout, 600}.

%%
%% Define specific Access rules in a virtual host.
%%
%%{host_config, "localhost",
%% [
%% {access, c2s, [{allow, admin}, {deny, all}]},
%% {access, register, [{deny, all}]}
%% ]
%%}.


%%% ================
%%% DEFAULT LANGUAGE

%%
%% language: Default language used for server messages.
%%
{language, "en"}.

%%
%% Set a different default language in a virtual host.
%%
%%{host_config, "localhost",
%% [{language, "ru"}]
%%}.


%%% =======
%%% MODULES

%%
%% Modules enabled in all ejabberd virtual hosts.
%%
{modules,
[
{mod_last_odbc, []},
{mod_offline_odbc, []},
{mod_privacy_odbc, []},
{mod_private_odbc, []},
{mod_roster_odbc, []},
{mod_vcard_odbc, [{search, false}]},
{mod_adhoc, []},
{mod_announce, [{access, announce}]}, % recommends mod_adhoc
{mod_caps, []},
{mod_configure,[]}, % requires mod_adhoc
{mod_disco, []},
%%{mod_echo, [{host, "echo.localhost"}]},
{mod_irc, []},
{mod_muc, [
%%{host, "conference.@HOST@"},
{access, muc},
{access_create, muc},
{access_persistent, muc},
{access_admin, muc_admin}
]},
%%{mod_muc_log,[]},
%%{mod_proxy65,[]},
{mod_pubsub, [ % requires mod_caps
{access_createnode, pubsub_createnode},
{plugins, ["default", "pep"]}
]},
{mod_register, [
%%
%% After successful registration, the user receives
%% a message with this subject and body.
%%
{welcome_message, {"Welcome!",
"Hi\nWelcome to this Jabber server."}},
%%
%% When a user registers, send a notification to
%% these Jabber accounts.
%%
%%{registration_watchers, ["admin1@example.org"]},
{access, register}
]},
%%{mod_service_log,[]},
{mod_shared_roster,[]},
{mod_stats, []},
{mod_time, []},
{mod_archive_odbc, [{database_type, "mysql"},
{default_auto_save, true},
{enforce_default_auto_save, false},
{default_expire, infinity},
{enforce_min_expire, 0},
{enforce_max_expire, infinity},
{replication_expire, 31536000},
{session_duration, 1800},
{wipeout_interval, 86400}]},
{mod_version, []}
]}.

%%
%% Enable modules with custom options in a specific virtual host
%%
%%{host_config, "localhost",
%% [{{add, modules},
%% [
%% {mod_echo, [{host, "mirror.localhost"}]}
%% ]
%% }
%% ]}.


%%% $Id: ejabberd.cfg.example 1437 2008-07-11 13:47:15Z badlop $

%%% Local Variables:
%%% mode: erlang
%%% End:
%%% vim: set filetype=erlang tabstop=8:

а тут конфиг с разрешением доменных имен:
root@srv-pdc:~/jabber develop/ejabberd/src# cat /etc/ejabberd/inetrc
{lookup,["file","native"]}.
{host,{127,0,0,1}, ["localhost","srv-pdc"]}.
{file, resolv, "/etc/resolv.conf"}.

у меня джабер смотрит в резолв файл, в котором прописан мой локальный bind
собственно после этого запускаем дядю:
ejabbrctl start
далее регистрируем админ пользователя джабера, которого мы прописали в конфиге
ejabberdctl register skonev srv-pdc мой_мега_пароль

вот и все :)
далее полезные посты, которые я нашел в инете и они мне сильно пригодились
XAKEP.RU: Союз тети Аси и дяди Джаббера
http://samueladam.net/2008/03/19/install-ejabberd-xmpp-server-mysql

удачи :)

суббота, 20 декабря 2008 г.

без момментариев

50 фактов о московском метро, читаем далее, много интересного.




50 фактов о московском метро, читаем далее, много интересного.


1
Крысы-мутанты
Они размером с собаку. Живут в тоннелях метро и перегрызают кабели. Спецназовцы охотятся на них с огнеметами. Слух родился во время перестройки,но оказался на редкость живуч. В Алматы метро только строится,а легенды о крысах-мутантах уже тревожат горожан.

2
Метро-2
С начала 90-х появились слухи о существовании секретного метро. Якобы три или четыре ветки ведут от Кремля к военным объектам в Подмосковье (Подольск, Чехов, Внуково-2). Если американцы сбросят на Москву атомную бомбу, правительство сможет эвакуироваться в безопасное место. По одним сведениям, эта система получила название "Метро-2",по другим - "Д-6".

3
Собаки в метро
В метрополитене живет порядка 500 особей. Здесь они греются зимой и попрошайничают. Одни собаки толкутся в вестибюлях станций, другие ездят в поездах. Насколько хорошо ориентируются животные в системе линий ипересадок московского метро,неизвестно.Однако ходят упорные слухи, что многие псы живут на одних станциях, а "на работу" ездят на другие.

4
Станция "Советская"
Эту станцию Замоскворецкой линии планировалось построить прямо под зданием Моссовета (ныне мэрии). Говорят, ее и впрямь построили,но почти сразу закрыли, засекретили, и теперь даже следов не найти: тоннель как тоннель. Несомненно одно: с 1938 до 1979 года,пока не открыли "Тверскую", между "Маяковской" и "Театральной" был длинный перегон без остановок.

5
Загадочный переход на "Ленинском Проспекте"
В середине станции находится закрытый переход. Он ведет на уже построенную пассажирскую станцию "Площадь Гагарина" Малого кольца Московской железной дороги. Когда-нибудь здесь организуют пассажирское движение,и переход пригодится.

6
Закрытый выход на "Битцевском Парке"
Закрытый выход в город находится тоже на Калужско-Рижской линии - конечной станции "Битцевский Парк". В конце 80-х годов в Битце планировали построить гигантский зоопарк c отдельным выходом к нему, но не построили. Есть только портик, и на портике - железный флюгер с изображениями зверей и птиц.

7
Исчезнувшие станции
Две станции метро закрыты для пассажиров навсегда. "Первомайская" (не путать с действующей современной одноименной станцией) и "Калужская" раньше были конечными и располагались на поверхности одноименных депо.Потом линии продлили, построили новые подземные станции,а старые закрыли.

8
Метро при царе
Первые проекты строительства метро в Москве относятся к 1890 году. Линии планировалось проложить в тоннеляхи по эстакадам. Любопытно, что метровокзал должен был располагаться на Красной площади, примерно в том месте, где сейчас находится Мавзолей. Постройке помешали извозчики и духовенство.

9
Метро в Мытищах и Бирюлеве
Разговоры о появлении метро в этих районах ведутся так давно, что стали похожи на злую шутку.Глава московского метро Дмитрий Гаев признается, что метро еще не скоро придет в Мытищи и Бирюлево. Мытищинцам особенно обидно, ведь одно время в вагонах висели карты с запланированной станцией "Челобитьево".

10
Подземный Кремль
В 1934 году был разобран белокаменный Серпуховский кремль. Камень, из которого он был построен,пошел на отделку станций первой очереди - Сокольнической линии от "Сокольников" до "Парка Культуры" и нескольких станций Филевской линии.Говорят,что несколько камней досталось и открытой в 1983 году станции "Серпуховская".

11
Потопы
В 84-м сразу после открытия движения на участке "Каширская" - "Орехово" в один из тоннелей прорвались воды Царицынского пруда. На восстановление участка ушло два месяца. Крупные прорывы происходили здесь в 2001 и 2003 годах.

12
Бодрая корова
Это сейчас метро не хватает,а в 1960-е годы оно прокладывалось с опережением: так, в 1963 году открылось движение по участку "Университет" - "Юго-Западная". Во время строительства тоннелей случился казус: в котлован упала корова.

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

14
Бюро находок
За забытыми в метро вещами отправляйтесь на "Университет". Склад забытых вещей находится в южном вестибюле (выход из центра зала). Если ваше имущество не украли бомжи,есть шанс получить его назад.

15
Падение на рельсы
Если вы оказались на путях, ложитесь в специальный лоток между рельсами - здесь поезд вас не заденет.Не лезьте на платформу: вы рискуете наступить на контактный рельс,по которому проходят 850 вольт.

16
Музей метро
Музей находится в южном вестибюле станции "Спортивная" по адресу: улица Хамовнический Вал, д. 36. Самые интересные экспонаты - макеты поездов и станций.

17
Как первым войти в вагон
Если присмотреться к перрону станций, то за белой полосой обнаружатся протоптанные дорожки к дверям вагонов. Состав всегда останавливается в одном и том же месте. Встаньте посередине светлого промежутка,и двери откроются перед вами.

18
Секс в метро
Чтобы избежать посторонних глаз, лучше выбрать утренние или ночные часы, когда некоторые вагоны пустуют. Оптимальный вариант - ответвление Филевской линии в сторону "Международной". От "Киевской" до "Делового Центра" поезд идет 6 минут. Подождите конца года: на новых участках Арбатско-Покровской линии будут длинные перегоны - 5,7 км от "Парка Победы" до "Кунцевской" и 6,1 км от "Крылатского" до "Строгино".Тогда у вас будет 7-8 минут.

19
Доисторические животные в метро
Их можно встретить в любое время на тридцати станциях - тех, что выложены мрамором. Аммониты и наутилусы, морские ежи и брюхоногие моллюски - все чувствуют себя в безопасности, навечно вмурованные в мрамор. Отыскивать их на станциях занимательно, особенно если вы кого-то ждете. Подсказки на сайте www.paleometro.ru.

20
Ноутбук и мобильный на "Киевской"
Станция "Киевская" Кольцевой линии покрыта мозаичными панно, прославляющими дружбу русского и украинского народов. В 2004-м во время "оранжевой революции" иные остроумцы заметили, что на панно "Борьба за советскую власть на Украине" изображен красноармеец с ноутбуком, разговаривающий по мобильному телефону. Зануды утверждают, что речь идет всего лишь об армейской рации.

21
Фонтан в метро
В переходе между станциями "Римская" и "Площадь Ильича" находится действующий фонтан.

22
Рекордсмены по переименованиям
Больше всех не повезло "Александровскому Саду". Станция называлась и "Коминтерн", и"Имени Коминтерна", и "Улица Коминтерна", с 1946 по 1990 год носила название "Калининская". В 1990 году станция буквально несколько дней называлась "Воздвиженкой".

23
Станция "Римская"
В Москве есть станция метро "Римская", а вот в Риме "Московской" нет. Зато станция "Mosсova" есть в Милане. Названа она в память о миланских солдатах, участвовавших в Бородинской битве, естественно, на стороне Наполеона.

24
Кино в метро
Практически вся реклама,где действие происходит в метро, а также кино и сериалы снимаются на неработающем втором перроне "Полежаевской". Также нуждам кино пару раз служили тоннели центрального участка Люблинской линии. В тоннелях между будущими станциями "Марьина Роща" и "Достоевская" снимали сцену фильма "Мужской сезон. Бархатная революция".

25
Русские горки
На Кольцевой линии перед станцией тоннель идет немного вверх, на выезде - немного вниз.Так сделано,чтобы поездам было проще тормозить и разгоняться.

26
Станция "Физтех"
В 1996-м в некоторых вагонах появились схемы линий,на которых была отмечена строящаяся станция "Физтех". Она располагалась сразу за станцией "Алтуфьево". Меж тем тянуть ветку через леса и поля к МФТИ, в город Долгопрудный, никто не собирался. Это была просто шутка студентов Физтеха. Подобрали соответствующий шрифт и цвет, на дорогом принтере распечатали "усовершенствованные" схемы и отправились их расклеивать по вагонам. По самым хвастливым оценкам, в акции участвовали 600 человек, по более реалистичным - 40. Еще несколько лет станция всплывала на самых различных ветках метро.

27
Как поезда оказываются в метро
Поезда для московского метро делают в Мытищах на заводе "Метровагонмаш". Готовые вагоны прицепляют к тепловозу и везут сперва по Ярославской железной дороге до станции "Северянин", оттуда по окружной до пересечения с веткой Рижского направления и дальше до станции "Подмосковная". Отсюда есть ветка в депо "Сокол". Схему путей можно посмотреть по адресу: www.metro.molot.ru/img/metro_all.gif.

28
Грузовые поезда
Часто днем в метро можно встретить грузовые поезда. В непиковые часы они перевозят из одного депо в другое электромоторы и запасные колеса. Грузовые поезда делают из обычных составов, с вагонов снимают крышу, чтобы помещать туда габаритные грузы.

29
Число вагонов
На Таганско-Кpаснопpесненской, Калужско-Рижской, Замосквоpецкой, Серпуховско-Тимирязевской - в поездах по восемь вагонов. На Филевской, Кольцевой, Каховской - по шесть, на остальных - по семь. На Бутовской иФилевской линиях ходят новые поезда типа "Скиф", состоящие из трех двойных вагонов.

30
Рекорды строительства
Долгое время рекорд скорости в прокладке тоннелей в Москве составлял 460 метров в месяц. Он был установлен в 1965 году на строительстве перегона "Кузьминки" - "Рязанский Проспект". Этот результат удалось улучшить: при строительстве тоннелей от "Парка Победы" к "Кунцевской" рабочие за месяц прошли 650 метров. Абсолютный же мировой рекорд принадлежит метростроевцам Петербурга. Там в 1970-е годы проходили до 1200 метров в месяц. Скорость строительства определяется многими факторами, из которых главные - качество оборудования, подготовка рабочих и инженеров, состав грунта, через который пробивают тоннель, и, разумеется, финансирование строительства.

31
Близнецы Арбатско-Покровская и Филевская линии
Многих пассажиров удивляет, что Арбатско-Покровская и Филевская линии дублируют друг друга. Дело в том, что сначала был построен радиус мелкого заложения. От "Площади Революции" поезда шли к "Александровскому Саду", после "Арбатской" и "Смоленской" пересекали Москву-реку по метромосту и прибывали на "Киевскую". Однако во время войны тоннель пробила бомба. Сталин велел прорыть радиус глубокого заложения. В 1953 году был открыт новый участок. Теперь от "Площади Революции" поезда следовали к новым "Арбатской" и "Смоленской", пересекали реку по тоннелю и приходили на новую, глубокую, "Киевскую". Старый участок был закрыт, и здесь устроили склад для сломанных вагонов. Но в 1958-м начали строить наземную ветку в сторону Филей, и вот тогда пригодился участок от "Александровского Сада" до "Киевской". С тех пор линии дублируют друг друга, путая приезжих.

32
Монеты, жетоны и билеты
В 1935 году в метро проходили по специальным картонным талонам, которые действовали всего 35 минут,а проезд стоил 50 копеек. Турникеты появились в 1959-м, а в 1960-м, в связи с денежной реформой, проезд стал стоить 5 копеек.Так продолжалось до 1991 года, когда цену подняли до 15 копеек. В 1992-м появились пластиковые жетоны, в ноябре - железные, которые действовали до февраля 1999-го. Вышедшие из употребления московские жетоны используются в метро других городов, например в Екатеринбурге и Нижнем Новгороде. В Москве же теперь используются только магнитные билеты (с 1993 года) и бесконтактные карты (с 1998-го).

33
Метромосты
Иногда линии метро выходят на поверхность - чаще всего для того,чтобы пересечь реку. Три моста пересекают Москву-реку: Киевский на Филевской линии, Автозаводский на Замоскворецкой и Лужнецкий со станцией "Воробьевы Горы" - на Сокольнической. На севере Сокольнической линии есть также небольшой мост через Яузу. Во всех остальных случаях метротоннели проходят под реками и каналами.

34
"Воробьевы Горы"
Эта станция, расположенная на двухэтажном Лужнецком метромосту, открылась в 1959 году и стала любимым местом для встреч влюбленных: парочки шли гулять по парку или поднимались по построенным рядом эскалаторам наверх, на самую вершину Воробьевых (в те времена Ленинских) гор. Строилась станция в спешке, торопились к Международному фестивалю молодежи: в результате и станция, и мост начали осыпаться. К 80-м годам ситуация стала критической. В 1983 году станцию закрыли, а в 1986-м поезда пустили по специально проложенным временным обходным путям. Реконструкция станции затянулась, и лишь в 2002 году ее открыли заново.А эскалаторы так и не восстановили; впрочем, их остатки и сейчас можно увидеть слева от южного выхода.

35
"Площадь Революции"
В нишах-арках станции "Площадь Революции" установлены 76 бронзовых фигур, изображающих советских героев. У статуи красноармейца периодически воруют револьвер:в среднем оружие пропадает 3-4 раза в год. А студенты предпочитают скульптурную группу "Пограничник с собакой". Поверье гласит, что, если потереть нос сторожевого пса, экзамен будет непременно сдан успешно. В итоге собачий нос блестит, как хорошо начищенный самовар.

36
Самые-самые линии
Самая длинная линия - Серпуховско-Тимирязевская (41 км),а самая короткая - Каховская (всего 3,3 км). Самая загруженная линия - Таганско-Краснопресненская, с северо-запада по ней попадают в центр Москвы жители районов Строгино и Митино,а с юго-востока - жители Люберец, Жуковского и Раменского. Самая старая линия - Сокольническая, ее центральный участок открылся в 1935-м. Самая новая линия - "Бутовская", она открылась в 2003 году.

37
Кросс-платформенные пересадки
В Москве есть три станции с удобными кросс-платформенными пересадками, когда поезда разных линий приходят на одну и ту же платформу. Это "Китай-город", "Третьяковская" и "Каширская". Для пересадок удобно, а вот для встреч - не очень: многие путаются, назначая свидания "у первого" или "у последнего" вагона.

38
Обмен поездами
Такие же, как в Москве, метропоезда работают в метро всего СНГ, а также в Софии, Будапеште, Варшаве, Праге и Тегеране.

39
"Парк Победы"
Это самая глубокая станция в Москве - 84 м до поверхности. Однако в мире есть станции и глубже: например, киевская "Днiпро" - 100 м. У "Парка Победы" два зала и четыре пути - здесь должны были пересекаться Арбатско-Покровская линия и хорда, ведущая из Митина в Бутово. Также была запланирована отдельная третья станция для линии в Солнцеве.Но недополучающий финансирования метрострой с трудом осилил нынешние два зала, а проекты хорд отпали сами собой.

40
Проект "Большого кольца"
На станции "Курская" висит табличка "Курская Большого кольца". Дело в том, что в конце 1940-х годов, когда появился проект нынешней Кольцевой линии, была также задумана и Малая Кольцевая, проходящая под бульварами. Однако проект так и не был осуществлен. Сейчас Большим кольцом называют линию, которая, возможно, когда-нибудь свяжет между собой спальные районы. В нее войдут современная Каховская линия и участок Сокольнической линии от "Черкизовской" до "Преображенской Площади".

41
Московский монорельс
Монорельс в Москве планировали построить давно. Сперва собрались провести ветку от "Каширской" в район Орехова, потом хотели построить линию от "ВДНХ" вдоль Ярославского шоссе, но поняли, что монорельс просто не справится с пассажирскими потоками. Однако идея монорельса воплотилась в жизнь в 2004 году. Линия от метро "Тимирязевская" до улицы Сергея Эйзенштейна представляет собой довольно бессмысленный аттракцион.Проезд на нем стоит 50 рублей, составы ходят раз в 25 минут, пассажиров считаные единицы, а линия и вагончики сконструированы таким образом, что в случае внезапной остановки посередине перегона или аварии люди не смогут выбраться из поезда самостоятельно и вынуждены будут ждать помощи на высоте 6-10 метров. Линию должны были продлить до метро "Ботанический Сад", но об этих проектах пока ничего не слышно.

42
Пригородные поезда в метро
В конце 40-х существовал проект пустить пригородные поезда от Ярославского вокзала в тоннели под центром Москвы и состыковать их,выведя на поверхность в районе Таганки, то есть создать систему городских электричек типа немецкого S-Bahn. Этот проект остался неосуществленным.

43
Трехпутные станции
В Москве есть две станции с тремя путями: "Партизанская" и "Полежаевская". Это остатки неосуществленных замыслов. В районе нынешней "Партизанской" планировалось построить колоссальный стадион, и третий путь сделали, чтобы увеличить пропускную способность станции и исключить давку после окончания матчей. Также здесь планировали организовать вилочное движение, южное ответвление должно было идти вдоль Измайловского проспекта (так же, как оно идет и сейчас), северное - под Измайловским бульваром. От "Полежаевской" тоже планировали строить ветку - в Серебряный Бор и Строгино, в районе улицы Берзарина можно найти остатки этого строительства.

44
Хордовые линии
В конце 1980-х появился оригинальный проект строительства в Москве хордовых линий. С целью обеспечить жителям удаленных районов быстрый проезд, не перегружая пересадки в центре города.Были запланированы четыре хорды: первая должна была идти из Митина через "Парк Победы" в Бирюлево и Бутово, вторая - из Химок через "Рижскую" в Жулебино, третья - из Солнцева через "Парк Победы" и "ВДНХ" в Мытищи, четвертая - из Балашихи через "Ленинский проспект" в Дудкино. По линиям предполагалось пустить десятивагонные экспрессы. Сейчас от хорд практически отказались, в Митино должна прийти Арбатско-Покровская линия, а в Бутове построили наземное легкое метро. Лишь Солнцевская линия иногда еще появляется в планах на отдаленное будущее. Она начнется в Новопеределкине, пройдет через Солнцево, Олимпийскую деревню, Мичуринский проспект, Мосфильмовскую улицу и "Парк Победы". Дальше через "Международную", "Беговую", "Савеловскую" и "Марьину Рощу" линия пойдет к "ВДНХ", а оттуда под Ярославским шоссе - в Мытищи.Или не пойдет.

45
Новые станции на Кольцевой
На Кольцевой линии появятся еще две станции: "Суворовская" в районе Театра Российской армии (между "Проспектом Мира" и "Новослободской") и "Российская" в районе Белого дома (между "Краснопресненской" и "Киевской").

46
Люблинская линия
В этом году обещают открыть станции "Трубная" и "Сретенский Бульвар", а через пару лет - "Достоевскую" в районе Театра Российской армии и "Марьину Рощу" около кинотеатра "Гавана".

47
Калининская линия
Эта линия пока не строится, однако у нее радужные перспективы. После "Третьяковской" запланирована станция "Кадашевская" под островом на Москве-реке, дальше будут станции "Остоженка" с пересадкой на "Кропоткинскую", "Смоленская" с пересадкой на две другие "Смоленские", а затем линия придет в "Сити" к "Международной". Потом тоннели пойдут через Филевскую пойму и Серебряный Бор в Строгино.

48
Новые выходы старых станций
Помимо новых линий в Москве строятся также новые выходы из старых станций. К 2010 году планируют открыть новые выходы из станций "Бауманская" и "Арбатская",а к 2012-му - третий выход из "Комсомольской".

49
Метро в Строгине и Митине
Схема метро на западе Москвы претерпит сильные изменения. К концу года обещают построить тоннели от "Парка Победы" до "Кунцевской". Станции "Молодежная" и "Крылатское" отойдут к Арбатско-Покровской линии, а "Кунцевская" станет конечной для Филевской линии. Из "Крылатского" поезда по новым тоннелям пойдут вСтрогино.Если верить московскому правительству, всего через полгода строгинцы смогут быстро добираться до центра. В 2008 году между "Парком Победы" и "Кунцевской" откроют станцию "Славянский Бульвар", а к 2010-му обещают построить еще три станции.

50
Новая наземная станция
На наземном участке между "Автозаводской" и "Коломенской" планируют построить станцию "Технопарк".

вторник, 16 декабря 2008 г.

ан-нет, Google earth не пошел

зато удалось запустить Eclipse+PHP :)

нашел отличный англо язычный блог

http://blog.irwan.name/

счастье! Google earth на x64 платформе

для запуска делаем так:
ставим утилиту для сборки deb пакета с google earth
apt-get install googleearth-package
make-googleearth-package
dpkg -i googleearth_4.1.7076.4458+0.4.3-1_amd64.deb
чесно говорю, придумал не сам - подсмотрел тут

софт который я все еще не смог запустить на x64

Google Earth
Skype
Eclipse
Eclipse PDT
пока ни в какую не встают

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

установка флеша x64

Обновив в отпуск свой компьютер установил систему x64, тут описано небольшое руководство по установке альфа версии флеша для 64ёх разрядных систем
sudo apt-get remove flashplugin-nonfree nspluginwrapper
cd ~/Desktop
tar -zxvf libflashplayer-10.0.d20.7.linux-x86_64.so.tar.gz
mkdir ~/.mozilla/plugins
cp libflashplayer.so ~/.mozilla/plugins
а вот таким образом можно откатиться назад к x32:
rm ~/.mozilla/plugins/libflashplayer.so
sudo apt-get install flashplugin-nonfree

пятница, 28 ноября 2008 г.

Пять наиболее распространенных заблуждений в отношении Linux

1. Linux безнадёжно отстала

Часто приходится слышать: “Linux на пять лет отстала от XP и на 10 - от Vista”!
Хорошо, вот факты:

*
* Windows начала различать учетные записи рядового пользователя и администратора по умолчанию лишь в Vista, отстав от Linux на 15 лет.
*
* Windows применила файрволл в 2001, свыше семи лет спустя после того, как в 1994 Linux обзавелась ipchains.
* Linux стала первой операционной системой, поддерживающей архитектуру x86_64, опередив Windows XP Pro x64 на два года.
*
* Windows получила привлекательный графический интерфейс с 3D-ускорением в Vista, на целый год позже появления XGL для Linux.
*
* Система управления пакетами Linux “умеет” инсталлировать, деинсталлировать и обновлять программы с помощью одного интерфейса. Любую инсталлированную программу, от Apache до OpenOffice и Quake 4, можно обновить одним нажатием клавиши. Windows ничего подобного даже не планирует.

При этом Linux непрерывно развивается. Проект Xen вывел виртуализацию в Linux на невиданный уровень, и разработчики ядер продолжают работу над встроенными возможностями виртуализации корпоративного уровня . Microsoft обещала включить встроенную виртуализацию - подобие Xen - в Windows Server 2008, в следующем году, но затем сообщила о том, что включение функции задерживается и, скорее всего, будет реализовано после выпуска нового сервера , возможно в SP1, что обеспечит лидерство Linux в области встроенной виртуализации на протяжении ещё как минимум двух лет, прежде чем Windows спохватится.

2. Linux слишком сложна

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

Ладно, возьмем современный Linux-дистрибутив (например, Ubuntu). Ubuntu обладает удобным графическим интерфейсом, фанатам Macintosh он напоминает OS X. Но этот интерфейс не единственный, возможна установка как дубликатов Windows XP, так и интерфейсов специального назначения (например, предназначенных для слабых машин или, наоборот, приправленных сверхсовременными графическими эффектами). Кроме того, многие обычные задачи и функции, от обновления системы до полной индексации, осуществляются автоматически по умолчанию.

И все это характерно для любого уровня использования Linux. Например, Yast от Novell предоставляет простой и удобный графический интерфейс для выполнения практически любой административной операции, от инсталляции и обновления софта до управления DNS, почтой и веб-сервером. Если нет желания, то можно вообще не заглядывать в командную строку или файлы конфигурации.

Завершает все это первоклассный процесс инсталляции. Инсталляция Ubuntu происходит из полноценной рабочей среды, которая позволяет выходить в Интернет, играть в компьютерные игры и отправлять сообщения, так как мастер инсталляции гарантирует не только безупречную установку, но и полную автоматизацию процесса, причем от пользователя требуется только знать, как нажать кнопку “Далее” (конечно, если он сам не захочет узнать больше).

3. У Linux проблемы с совместимостью

Любые программы, от Maya и Oracle до Opera и Firefox, есть и на Linux. Есть на Linux и компьютерные игры, от Doom, Quake и серии Unreal Tournament до малых игр вроде Darwinia.

Наряду с “родными” приложениями, свободный (не)эмулятор WINE, а также коммерческие CrossOver и VMWare, позволяют запускать практически любую программу, от iTunes до MS Office и Photoshop; а за $5 в месяц Cedega снабжает любителей компьютерных баталий эмуляцией нескольких сотен Windows-игр, от Battlefield 2042 до World of Warcraft.

В итоге, альтернативы Windows-программ могут заменить существующую систему либо с минимальными усилиями, либо вообще без них. Apache может работать с ASP-кодом, OpenOffice читает и сохраняет форматы Microsoft, а любой известный дистрибутив способен без проблем присоединиться к домену или просто просматривать Windows-файлы и принтеры общего доступа.

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

4. Корпорации не доверяют Linux / Никто не пользуется Linux

Amazon и Google будут не согласны - ведь их технологии основаны на Linux. PSA Peugeot Citroen, второй по величине производитель автомобилей в Европе, объявил в этом году о переводе не только своих 2 500 серверов, но и 20 000 десктопов, на Linux . Известные компании ранга IBM и Novell пережили второе рождение, взяв за основу Linux, а планы по переоснащению правительственных учреждений Бразилии, Индии , Китая и других стран предвещают вступление в Linux-сообщество десятков миллионов новых пользователей.

И это не считая бесчисленных малых учреждений вроде городской администрации Мюнхена

5. Linux разрабатывается и поддерживается любителями

Да, ядро Linux в одиночку написал студент колледжа, но с тех пор многое изменилось. Сегодня Linux - это технология глобального уровня ценой в миллиарды долларов. Подавляющее большинство кода пишут теперь профессиональные программисты. В течение прошлого года большинство модификаций кода было сделано IBM, Intel, Novell, VMware и другими крупными компаниями, всех не перечесть. Помимо активной разработки кода другие фирмы, такие как Dell, побуждают производителей к разработке высококачественного софта для Linux. И это без учета деятельности образовательных и правительственных учреждений: пример - патч безопасности, разработанный и примененный Национальным Агенством Безопасности для внутреннего пользования, но доступный любому желающему, - SELinux.

Уровень поддержки также высокопрофессионален. Само собой, бесчисленные форумы, IRC-каналы и wiki доступны по-прежнему. Кроме того, помощь можно найти в многочисленных книгах, технических описаниях или в обращении к известным компаниям, от IBM и Oracle до Novell и Red Hat. Круглосуточная помощь на любом из десятков поддерживаемых языков доступна наряду с поддержкой сообщества свободного софта. , школьной системы штата Индиана и американской армейской программы “Land Warrior”. Добавив к этому миллионы пользователей, охваченных инициативой “One Laptop per Child” (ноутбук - каждому ребенку) и массивное присутствие в образовательных учреждениях, вы поймете, что за пределами Соединенных Штатов мир рассматривает Linux как основу компьютерной грамотности подрастающего поколения.

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

Кроме того, за Linux числится примерно 70% рынка суперкомпьютеров [25]. Все это означает, что Linux занимает надежные позиции на рынке встраиваемых систем, серверов и новейшей аппаратуры, не упуская из виду и десктоп.

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

Оригинал статьи: http://linux-digg.ru

четверг, 20 ноября 2008 г.

среда, 12 ноября 2008 г.

свежее из новостей

Глава Калмыкии Кирсан Илюмжинов попал в Москве в ДТП, он госпитализирован, сообщил источник в столичных правоохранительных органах РИА «Новости».
По его словам, около 11.30 на пересечении Рублевского и Подушкинского шоссе сотрудники Госавтоинспекции перекрывали движение для проезда Илюмжинова. «В это время по Подушкинскому шоссе проезжала девушка за рулем автомашины Ford Focus. Не подчинившись требованиям инспекторов ДПС, она выехала на перекресток и столкнулась с Mercedes, пассажиром которого был Илюмжинов», – сказал источник. По его словам, после аварии глава Калмыкии направлен в больницу.
В ГИБДД Москвы «Газете.Ru» официально подтвердили эту информацию. «Газета.Ru»
взято от сюда
Вот так мы жили, так мы и живем.

Eclipse - глюкавое поделье

После трёх дней непрерывной работы Eclipse всетаки рухнул.
Глюкавое поделье.
VIM рулит.
Все остальные педалят позади.

среда, 5 ноября 2008 г.

названия релизов убунты

вычитал на ЛОР'е, кто в теме - поймет
Re: Расписание релиза Ubuntu 9.04
Ubuntu __.04 Masturbating monkeys
Ubuntu __.04 Zelenaja Zebra

среда, 29 октября 2008 г.

Пушкинцы меня поймут

Парк в городе Пушкино, летний театр.
Фотографии более ста лет.


Тоже самое место, 1980'ые


Дату точно не помню, но примерно 92ой год


Сейчас там "пусто".
Каждый раз проходя по парку в Пушкино ловлю себя на мысле о том как же низко мы пали и все никак не пойму кто виноват. К сожалению не в домашних архивах не в сети не могу найти фотографий парка конца 80ых. Все осталось только в памяти: Сюрприз, Качели на цепях, Карусель, КОЛЕСО ОБОЗРЕНИЯ (его снесли, кстати, относительно недавно), тиры, советские электронные игровые автоматы, детские лесенки, каток... сейчас не осталось НИЧЕГО. Не менее грустные мысли вызывает пляж "золотые пески" на серебрянке, к слову и песка там уже совсем не осталось... Пройдя по берегу реки можно наблюдать остатки рыбацких мостков и труб с кольцами для "крепежа" лодки у берега. Недавно увидил в воде у берега гараж ракушку, какието идиоты его туда притащили и выбросили в воду.
Где живут там и срут.

понедельник, 27 октября 2008 г.

тихо ржу :)


фото от 20.07.2008
подземный переход на станции Заветы Ильича, перебраться через железную дрогу можно только с аквалангом
странно как пути еще не размыло, честно говорю что сейчас не знаю
предполагаю что на 27 октября 2008 года вода уже откачена :)))

:)

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

четверг, 23 октября 2008 г.

штуки с X server

xrandr --orientation inverted
xrandr -x
xrandr -y
вернуть все к прежнему виду: xrandr --orientation normal
в случае если кривая игрушка сбила вам ваше активное рзрешение, например с 1024*768 на 800*600, нам поможет xrandr -s 1280x1024

понедельник, 20 октября 2008 г.

настройка firefox - url

неплохой топик по настройке Firefox
http://fotoleto.ru/seamonkey/about-config.html

среда, 15 октября 2008 г.

Апргейд бубунты

Вот решил проапргрейдиться до беты убунты 8.10
sudo update-manager -d
все ради гнома 2.24, надеюсь в нем пофиксили vfs для монтирования samba шар под nt4
еще поставил амарок новый и очень доволен, qt4 стал значительно приятнее

понедельник, 13 октября 2008 г.

Софт для анализа профайлинг-логов в Unix

KCachegrind (есть билд под QT4)
GraphViz
Valgrind - дебагер - не обязателен

воскресенье, 12 октября 2008 г.

копилка из папье-маше

Сделали подарок отцу на день Рождения - копилку :)
это прямо перед покраской :)

к сожалению после покраски сфотографировать забыл :(

домашняя серверная

Вчера решил, что настало время обустроить дома "серверный" угол. Вынул все из под стола и слепил такую красивую штуку :)

продолжаю вооружаться - теперь сигнальный Наган




среда, 8 октября 2008 г.

ужин


...из ТРЁХ яиц