понедельник, 12 января 2009 г.

NetInstall iso image SLES\SLED\OpenSuSe

Чтоб не забыть.


# mkdir /tmp/boot_cd
# cd /tmp/boot_cd
# cp -a /where_is_distrib/opensuse11.1/CD1/boot/i386/loader/* .
# mkisofs -o ../netinst_11.1.iso -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -b isolinux.bin .

вот и все...

подробней тут и тут в плане сетевой установки и еще про pxe

все это и многое другое на официальных howto

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

Logitech - китайцы

Хитрые эти китайцы :)
Гарнитура Clear Chat Pro USB настолько криво сделана, что в ней постоянные шумы.
Форум лоджитека пестрит сообщениями о шумах как при записи, так и при воспроизведении звука. Суппорт говорит -нет такой проблемы, я первый.
Долго мучался, оказалось все просто- гарнитура не заземлена.
Если все проделывать на ноуте, то при подключенном блоке питания фонит сильно. Блок питания отключаешь - фон резко уменьшается. Если коснуться рукой корпуса, например vga разъема, фон вообще пропадает :)

upd: проверено на 5-10 компьютерах, как стационарных, так и ноутах
Один раз поменяны в магазине на такие же. Потом заменены на USB Desktop Microphone

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

Netgear и сервис

07 nov. 2008

Замечательная контора Netgear
http://netgear.ru/ или http://netgear.com/
что в принципе не важно

В Санкт-Петербурге сервис осуществляет CPS-Neva - единственный сервис центр. Причем все отправляют в Москву.

Собственно сама история - был куплен adsl-wifi роутер DG834G v4, который не заработал на adsl wplus. Netgear предложил заменить устройство. Замечательно!
Но сдав устройство в сервис я его не могу получить уже более 30 дней, в гарантийке написано - максимум у них 45 дней.
При условии замены устройства - в течении недели можно доставить в Москву и обратно, поменяв его там.

Короче - если не хотите ждать - не берите Netgear в России!
Воть.

upd 02 dec.2008

на прошлой недели прислали замену из москвы, аж пони-экспресс. Спасибо самому сервису нетгира.
Однако вместо DG834G v4 прислали DG834G v4 но с русской прошивкой :)
йа ссусь, он естественно с теми же ошибками :)

Ежи кололись, плакали, но продолжали жрать кактус...

А сам сервис-центр CPS до сих пор молчит. Роутер у меня, но у меня и квитанция...

upd: конец декабря

dsl маршрутизатор продан
614 отправлен в нетгир-москва. Совесть моя чиста :)
Сервис переехал к метро Озерки, теперь находятся в незаметном подвале одной из новомодных новостроек. Хрен найдешь. А работнеги опаздывают как сволочи... Почему клиенты должны ждать когда они соизволят прийти на работу? Жуть, совок, кака...

pps: теперь у меня на руках аж 2 квитанции, что сервис мне должен 2 роутера :)

VMware server 2.0 & SLES\SUSE & Mac

1. однако при работе, для корректного запуска сервера необходимо в /etc/sysconfig/boot
выключать параллельный запуск

# Run all scripts or rather start/stop all services
# which are independent from each other in parallel.
#
RUN_PARALLEL="no"


2. однако кросс-платформенность и прочая чушь, оказалась действительно чушью...
кросс-платформенно работает все, кроме консоли управления
смотрим сюда

# ls /usr/lib/vmware/webAccess/tomcat/apache-tomcat-6.0.16/webapps/ui/plugin/
build_doNotErase.txt
vmware-vmrc-linux-x64.xpi
vmware-vmrc-linux-x86.xpi
vmware-vmrc-win32-x86.exe
vmware-vmrc-win32-x86.xpi


Плагин будет работать только под win\lin
мак-ось опять обошли стороной... не в первый раз
жаль

как вариант можно пользоваться vnc, но это уже начинает раздражать
для vnc нужно подправить vmx файл

remotedisplay.vnc.enabled= "TRUE"
remotedisplay.vnc.port = _port_number
remotedisplay.vnc.password = password

потом перезапустить гостя

воскресенье, 24 августа 2008 г.

DNS \ Microsoft Zones и SLES\Suse с LDAP

Небольшое вступление

Сейчас рассмотрим связку DNS и LDAP.
Отдельный вопрос Microsoft zones - они нужны при использовании не-мелкосовтовского DNS сервера в домене. Отличительная особенность, как и всего мелкософтовского - игнорирование стандартов rfc. О рекомендациях мелкософта можно прочитать у них-же на сайте тут.
Еще один интересный момент - Novell SLES (ну и скорее всего SLED\OpenSuSe). Интересоваться сегодня будем идущем в комплекте bind9, а так-же отсутствием документации о наложенных патчах :)

Файлы конфигураций

Конфигурации bind9 (named) штатно расположены так:
/etc/named.conf - основной файл конфигурации
/etc/sysconfig/named - файл конфигурации демона
/etc/named.conf.include и /etc/named.d/* - доп. файлы конфигураций
/var/lib/named - директория chroot
/usr/share/bind/ - тут лежат 2 интересных скрипта, идущих в пакете сервера (ldapdump и createNamedConfInclude)

ldap: будем считать, что ldap сервер и клиент у нас запущены и расположены на этом-же сервере.

Домен, для примера, обзовем domain.ru
Хосты: пусть у нас есть следующие сервера
spbdc00.domain.ru - сервер домена
spbdc01.domain.ru - наш сервер с LDAP & DNS
spbca00.domain.ru - сервер CA

DNS классически, без привязки к LDAP

Рассмотрим для примера что-же должно быть без всякого ldap.

Нам нужно описать в /etc/named.conf наши зоны:

# domain.ru zone declaration
#################################################
zone "domain.ru" in {
type master;
file "master/domain.ru";
};

# Reverse 1.168.192.in-addr.arpa zone declaration
#################################################
zone "1.168.192.in-addr.arpa" {
type master;
file "dyn/domain.ru.reverse";
};

# Active Directory Declarations
#############################################
zone "_tcp.domain.ru" IN {
type master;
file "master/_tcp.domain.ru";
check-names ignore;
};
zone "_msdcs.domain.ru" IN {
type master;
file "master/_msdcs.domain.ru";
check-names ignore;
};
zone "_sites.domain.ru" IN {
type master;
file "master/_sites.domain.ru";
check-names ignore;
};
zone "_udp.domain.ru" IN {
type master;
file "master/_udp.domain.ru.db";
check-names ignore;
};

Теперь создадим сами файлы зон в /var/lib/named/master/ и обратную в /var/lib/named/dyn/

/var/lib/named/dyn/1.168.192.in-addr.arpa

$TTL 172800
@ IN SOA spbdc01.domain.ru. root.spbdc01.domain.ru. (
2008082201
10800
3600
604800
86400)
IN NS spbdc01.domain.ru.
15 IN PTR spbdc00.domain.ru
16 IN PTR spbdc01.domain.ru
17 IN PTR spbca00.domain.ru

/var/lib/named/master/_msdcs.domain.ru

$TTL 172800
@ IN SOA spbdc01.domain.ru. root.spbdc01.domain.ru. (
2008082201
10800
3600
604800
432000)
IN NS spbdc01.domain.ru.
_ldap._tcp.dc IN SRV 0 0 389 spbdc01.domain.ru.
_kerberos._tcp.dc IN SRV 0 0 88 spbdc01.domain.ru.

/var/lib/named/master/_sites.domain.ru

$TTL 172800
@ IN SOA spbdc01.domain.ru. root.spbdc01.domain.ru. (
2008082201
10800
3600
604800
432000)
IN NS spbdc01.domain.ru.

/var/lib/named/master/_tcp.domain.ru

$TTL 172800
@ IN SOA spbdc01.domain.ru. root.spbdc01.domain.ru. (
2008082201
10800
3600
604800
432000)
IN NS spbdc01.domain.ru.
_ldap IN SRV 0 0 389 spbdc01.domain.ru.
_kerberos IN SRV 0 0 88 spbdc01.domain.ru.

/var/lib/named/master/_udp.domain.ru

$TTL 172800
@ IN SOA spbdc01.domain.ru. root.spbdc01.domain.ru. (
2008082201
10800
3600
604800
432000)
IN NS spbdc01.domain.ru.

/var/lib/named/master/domain.ru

$TTL 172800
@ IN SOA spbdc01.domain.ru. root.spbdc01.domain.ru. (
2008082201
10800
3600
604800
86400)
IN NS spbdc01.domain.ru.
spbca00 IN A 192.168.1.17
spbdc01 IN A 192.168.1.16
spbdc00 IN A 192.168.1.15

Теперь рестартуем демон и проверяем работоспособность...
Мы сделали всю конфигурацию (более-менее).

DNS с хранением данных в LDAP

Теперь мы перенесем все в наш LDAP. Но будем делать не штатными средствами (Yast) а вручную.
Погуглив, можно найти упоминание патча, который похоже Novell и стала использовать, однако ничего ни в документации, ни в аннотации к пакету не указано.
На самом деле это действительно этот патч и мы будем пользоваться его мануалом.

Нам нужно сделать ldif измененийи влить его в ldap.
Экспериментально стало ясно, что bind ищет в каталоге по ZoneName и relativeDomainName.
По нашему же желанию создадим следующую структуру (навеяно интернет-статьями):


# Zone domain.ru
dn: zoneName=domain.ru,ou=DNS,dc=domain,dc=ru
objectClass: top
objectClass: dNSZone
zoneName: domain.ru
relativeDomainName: domain.ru

# SOA-record for zone domain.ru
dn: relativeDomainName=@,zoneName=domain.ru,ou=DNS,dc=domain,dc=ru
objectClass: top
objectClass: dNSZone
zoneName: domain.ru
relativeDomainName: @
NSRecord: spbdc01.domain.ru.
SOARecord: spbdc01.domain.ru. root.spbdc01.domain.ru. 2008080101 3H 1H 1W 1D

# spbdc01 A 192.168.1.15
dn: relativeDomainName=spbdc01,zoneName=domain.ru,ou=DNS,dc=domain,dc=ru
objectClass: top
objectClass: dNSZone
zoneName: domain.ru
relativeDomainName: spbdc01
DNSClass: IN
ARecord: 192.168.1.16

# ns CNAME spbdc01
dn: relativeDomainName=ns,zoneName=domain.ru,ou=DNS,dc=domain,dc=ru
objectClass: top
objectClass: dNSZone
zoneName: domain.ru
relativeDomainName: ns
DNSClass: IN
CNAMERecord: spbdc01

# Revers Zone 1.168.192.in-addr.arpa
dn: zoneName=1.168.192.in-addr.arpa,ou=DNS,dc=domain,dc=ru
objectClass: top
objectClass: dNSZone
zoneName: 1.168.192.in-addr.arpa
relativeDomainName: 1.168.192.in-addr.arpa

# SOA-record for zone 1.168.192.in-addr.arpa
dn: relativeDomainName=@,zoneName=1.168.192.in-addr.arpa,ou=DNS,dc=domain,dc=ru
objectClass: top
objectClass: dNSZone
zoneName: 1.168.192.in-addr.arpa
relativeDomainName: @
NSRecord: spbdc01.domain.ru.
SOARecord: spbdc01.domain.ru. root.spbdc01.domain.ru. 2008080101 3H 1H 1W 1D

# 15 PTR spbdc01.domain.ru.
dn: relativeDomainName=16,zoneName=1.168.192.in-addr.arpa,ou=DNS,dc=domain,dc=ru
objectClass: top
objectClass: dNSZone
zoneName: 1.168.192.in-addr.arpa
relativeDomainName: 16
PTRRecord: spbdc01.domain.ru.

# Zone _tcp.domain.ru
dn: zoneName=_tcp.domain.ru,ou=DNS,dc=domain,dc=ru
objectClass: top
objectClass: dNSZone
zoneName: _tcp.domain.ru
relativeDomainName: _tcp.domain.ru

# SOA-record for zone
dn: relativeDomainName=@,zoneName=_tcp.domain.ru,ou=DNS,dc=domain,dc=ru
objectClass: top
objectClass: dNSZone
zoneName: _tcp.domain.ru
relativeDomainName: @
NSRecord: spbdc01.domain.ru.
SOARecord: spbdc01.domain.ru. root.spbdc01.domain.ru. 2008080101 3H 1H 1W 5D

# _ldap._tcp.domain.ru. SRV 0 0 389 spbdc01.domain.ru.
dn: relativeDomainName=_ldap,zoneName=_tcp.domain.ru,ou=DNS,dc=domain,dc=ru
objectClass: top
objectClass: dNSZone
zoneName: _tcp.domain.ru
relativeDomainName: _ldap
DNSClass: SRV
SRVRecord: 0 0 389 spbdc01.domain.ru.

#_kerberos._tcp.domain.ru. SRV 0 0 88 spbdc01.domain.ru.
dn: relativeDomainName=_kerberos,zoneName=_tcp.domain.ru,ou=DNS,dc=domain,dc=ru
objectClass: top
objectClass: dNSZone
zoneName: _tcp.domain.ru
relativeDomainName: _kerberos
DNSClass: SRV
SRVRecord: 0 0 80 spbdc01.domain.ru.

# Zone _udp.domain.ru
dn: zoneName=_udp.domain.ru,ou=DNS,dc=domain,dc=ru
objectClass: top
objectClass: dNSZone
zoneName: _udp.domain.ru
relativeDomainName: _udp.domain.ru

# SOA-record for zone
dn: relativeDomainName=@,zoneName=_udp.domain.ru,ou=DNS,dc=domain,dc=ru
objectClass: top
objectClass: dNSZone
zoneName: _udp.domain.ru
relativeDomainName: @
NSRecord: spbdc01.domain.ru.
SOARecord: spbdc01.domain.ru. root.spbdc01.domain.ru. 2008080101 3H 1H 1W 5D

# Zone _sites.domain.ru
dn: zoneName=_sites.domain.ru,ou=DNS,dc=domain,dc=ru
objectClass: top
objectClass: dNSZone
zoneName: _sites.domain.ru
relativeDomainName: _sites.domain.ru

# SOA-record for zone
dn: relativeDomainName=@,zoneName=_sites.domain.ru,ou=DNS,dc=domain,dc=ru
objectClass: top
objectClass: dNSZone
zoneName: _sites.domain.ru
relativeDomainName: @
NSRecord: spbdc01.domain.ru.
SOARecord: spbdc01.domain.ru. root.spbdc01.domain.ru. 2008080101 3H 1H 1W 5D

# Zone _msdcs.domain.ru
dn: zoneName=_msdcs.domain.ru,ou=DNS,dc=domain,dc=ru
objectClass: top
objectClass: dNSZone
zoneName: _msdcs.domain.ru
relativeDomainName: _msdcs.domain.ru

# SOA-record for zone
dn: relativeDomainName=@,zoneName=_msdcs.domain.ru,ou=DNS,dc=domain,dc=ru
objectClass: top
objectClass: dNSZone
zoneName: _msdcs.domain.ru
relativeDomainName: @
NSRecord: spbdc01.domain.ru.
SOARecord: spbdc01.domain.ru. root.spbdc01.domain.ru. 2008080101 3H 1H 1W 5D

# _ldap._tcp.dc._msdcs.domain.ru. SRV 0 0 389 spbdc01.domain.ru.
dn: relativeDomainName=_ldap._tcp.dc,zoneName=_msdcs.domain.ru,ou=DNS,dc=domain,dc=ru
objectClass: top
objectClass: dNSZone
zoneName: _msdcs.domain.ru
relativeDomainName: _ldap._tcp.dc
DNSClass: SRV
SRVRecord: 0 0 389 spbdc01.domain.ru.

#_kerberos._tcp.dc._msdcs.domain.ru. SRV 0 0 88 spbdc01.domain.ru.
dn: relativeDomainName=_kerberos._tcp.dc,zoneName=_msdcs.domain.ru,ou=DNS,dc=domain,dc=ru
objectClass: top
objectClass: dNSZone
zoneName: _msdcs.domain.ru
relativeDomainName: _kerberos._tcp.dc
DNSClass: SRV
SRVRecord: 0 0 80 spbdc01.domain.ru.

теперь добавим эти изменения в каталог (ou=DNS у нас уже д.б. создан, учетная запись администратора - Admin )

# ldapadd -W -x -D "cn=Admin,dc=domain,dc=ru" -f наш_файл.ldif

Теперь изменим конфигурацию DNS в /etc/named.conf

все строки содержащие указание хранения зоны file "директория/имя_зоны";
изменим на

database "ldap ldap://127.0.0.1/ou=DNS,dc=domain,dc=ru 178600";

где говорится, что зоны лежат в базе данных, путь до которой - в LDAP в ou=DNS и по умолчанию TTL выставить в 178600
Имя зоны, как видно здесь не указано.

Дополнительно - необходимо включить схему dnszones.schema и индексирование в /etc/openldap/slapd.conf

include /etc/openldap/schema/dnszone.schema

index zoneName eq
index relativeDomainName eq

Перезапускаем, проверяем, смотрим лог.
Все работает.
Мы переделали конфигурацию на хранение данных в LDAP.
НО! это не правильный путь :)
Правильный рассмотрим далее...

Правильный DNS и LDAP

Итак, почему-же предыдущий способ не правильный? Все просто - изменения не правильны, и разработчиками дистрибутива предусмотрена другая схема работы.
Рассмотрим подробнее.

У на средствами Yast настроены LDAP сервер и LDAP клиент, теперь мы настоем DNS сервер.

/sbin/yast2 dns-server &




На первой вкладке включаем запуск, открываем порт на firewall и включаем поддержку ldap.
на вкладке DNS Zones создаем зоны.
Однако ни Microsoft зоны, ни revers зону с PTR записями так создать не получится.

MS зоны не соответствуют rfc т.к. содержат символ "_", а PTR записи через Yast просто нельзя создать (сразу).
Создадим только прямую зону domain.ru и изучем её :)

Теперь берем и создаем файл изменений:

dn: zoneName=_tcp.domain.ru,ou=DNS,dc=domain,dc=ru
objectClass: dNSZone
dNSClass: IN
dNSTTL: 172800
nSRecord: spbdc01.domain.ru.
relativeDomainName: @
sOARecord: spbdc01.domain.ru. root.spbdc01.domain.ru. 2008080101 3H 1H 1W 5D
zoneName: _tcp.domain.ru

dn: relativeDomainName=_ldap,zoneName=_tcp.domain.ru,ou=DNS,dc=domain,dc=ru
SRVRecord: 0 0 389 spbdc01.domain.ru.
dNSClass: SRV
dNSTTL: 172800
objectClass: dNSZone
relativeDomainName: _ldap
zoneName: _tcp.domain.ru

dn: relativeDomainName=_kerberos,zoneName=_tcp.domain.ru,ou=DNS,dc=domain,dc=ru
SRVRecord: 0 0 88 spbdc01.domain.ru.
dNSClass: SRV
dNSTTL: 172800
objectClass: dNSZone
relativeDomainName: _kerberos
zoneName: _tcp.domain.ru

dn: zoneName=_udp.domain.ru,ou=DNS,dc=domain,dc=ru
objectClass: dNSZone
dNSClass: IN
dNSTTL: 172800
nSRecord: spbdc01.domain.ru.
relativeDomainName: @
sOARecord: spbdc01.domain.ru. root.spbdc01.domain.ru. 2008080101 3H 1H 1W 5D
zoneName: _udp.domain.ru

dn: zoneName=_sites.domain.ru,ou=DNS,dc=domain,dc=ru
objectClass: dNSZone
dNSClass: IN
dNSTTL: 172800
nSRecord: spbdc01.domain.ru.
relativeDomainName: @
sOARecord: spbdc01.domain.ru. root.spbdc01.domain.ru. 2008080101 3H 1H 1W 5D
zoneName: _sites.domain.ru

dn: zoneName=_msdcs.domain.ru,ou=DNS,dc=domain,dc=ru
objectClass: dNSZone
dNSClass: IN
dNSTTL: 172800
nSRecord: spbdc01.domain.ru.
relativeDomainName: @
sOARecord: spbdc01.domain.ru. root.spbdc01.domain.ru. 2008080101 3H 1H 1W 5D
zoneName: _msdcs.domain.ru

dn: relativeDomainName=_ldap._tcp.dc,zoneName=_msdcs.domain.ru,ou=DNS,dc=domain,dc=ru
SRVRecord: 0 0 389 spbdc01.domain.ru.
dNSClass: SRV
dNSTTL: 172800
objectClass: dNSZone
relativeDomainName: _ldap._tcp.dc
zoneName: _msdcs.domain.ru

dn: relativeDomainName=_kerberos._tcp.dc,zoneName=_msdcs.domain.ru,ou=DNS,dc=domain,dc=ru
SRVRecord: 0 0 88 spbdc01.domain.ru.
dNSClass: SRV
dNSTTL: 172800
objectClass: dNSZone
relativeDomainName: _kerberos._tcp.dc
zoneName: _msdcs.domain.ru

внесем изменения в каталог

# ldapadd -W -x -D "cn=Admin,dc=domain,dc=ru" -f /etc/openldap/наш_файл.ldif


теперь добавим в /etc/named.conf записи о зонах

zone "domain.ru" in {
file "master/domain.ru";
type master;
};
zone "_tcp.domain.ru" in {
file "master/_tcp.domain.ru";
type master;
};
zone "_udp.domain.ru" in {
file "master/_udp.domain.ru";
type master;
};
zone "_sites.domain.ru" in {
file "master/_sites.domain.ru";
type master;
};
zone "_msdcs.domain.ru" in {
file "master/_msdcs.domain.ru";
type master;
};
zone "1.168.192.in-addr.arpa" in {
file "master/1.168.192.in-addr.arpa";
type master;
};

перезапустим Yast и вуаля - все встало на свои места.
НО! у Yast есть несколько недостатков, во первых работа с обратными зонами мне показалась очень странной (SLES 10SP2 i386), во вторых он производит изменения в конфигах без предупреждений и бэкапов, т.е. с легкостью уберет такие директивы, как например "check-names ignore;"
И еще в таком методе есть нюанс - DNS записи хранятся в LDAP и в файлах одноврименно, каждый раз когда из Yast нажимается кнопка применить и сохранить в конфигурации DNS - будет произведена запись в LDAP и дамп в файлы.

На этом вроде все. Главное - пользуйтесь последним, правильным способом, но не забывайте о первых двух :)



четверг, 17 января 2008 г.

Установка NX сервера FreeNX 0.7.1 на Ubuntu Linux 7.10

Для установки мы воспользуемся бинарными пакетами NoMachine NX сервер.
Текущая версия 3.1.0, скачать можно с сайта

Мы скачаем NX Free Edition for Linux в формате tgz для платформы i386 - 3 пакета - node, client, server
полученные пакеты распакуем в /usr/

# tar -C /usr -zxf nxserver-3.1.0-2.i386.tar.gz
# tar -C /usr -zxf nxnode-3.1.0-3.i386.tar.gz
# tar -C /usr -zxf nxclient-3.1.0-2.i386.tar.gz

Так же нам потребуются NX Open Source Components , которые мы скачаем опять-же с сайта
Их текущая версия соответствуетсобранным пакетам и является 3.1.0
скаченные пакеты поместим в /usr/NX/source/

FreeNX мы возьмем с официального сайта. Текущая версия - 0.7.1

На нашу систему Ubuntu Linux 7.10 потребуется так-же доустановить ряд пакетов
#apt-get install zlib1g-dev libX11-dev libjpeg-dev libpng12-dev x11proto-xext-dev libxdamage-dev libxrandr-dev libxtst-dev libaudiofile-dev expect g++ patch smbfs


Сборка NX Open Source Components

переходим к нашим пакетам
# cd /usr/NX/source/

распаковываем все пакеты в текущею директорию:
# find . -name "*tar.gz" -exec tar -zxf {} \;

у нас должны появиться следующие директории:
nx-X11 nxcomp nxcompext nxcompsh nxcompshad nxesd nxkill nxproxy nxscripts nxsensor nxservice nxspool nxssh nxuexec

собираем основные библиотеки компресии

# cd /usr/NX/source/nxcomp
# ./configure --prefix=/usr/NX
# make
# cp -P libXcomp.so* /usr/NX/lib

# cd /usr/NX/source/nxcompext/
# ./configure --prefix=/usr/NX
# make
# cp -P libXcompext.so* /usr/NX/lib

# cd /usr/NX/source/nxcompsh
# ./configure --prefix=/usr/NX
# make
# cp -P libXcompsh.so* /usr/NX/lib/

# cd /usr/NX/source/nxcompshad/
# ./configure --prefix=/usr/NX
# make
# cp -P libXcompshad.so* /usr/NX/lib/

# cd /usr/NX/source/nxesd/
# ./configure --prefix=/usr/NX
# make
# make install

Установка FreeNX

# tar -C /usr/NX/ -zxf freenx-0.7.1.tar.gz
# cd /usr/NX/freenx-0.7.1/

т.к. у нас все компоненты распологаются в директориях /usr/NX/
нам необходимо провести соответствующие изменения, которые находятся в gentoo-nomachine.diff

# patch -p0 < gentoo-nomachine.diff

заменим в /usr/NX/bin/
следующие исполняемые файлы

# cp -f nxkeygen nxloadconfig nxnode nxnode-login nxserver nxsetup nxcups-gethost /usr/NX/bin/

теперь соберем nxserver-helper
# cd nxserver-helper/
# make
# cp -f nxserver-helper /usr/NX/bin/

Сделаем ссылок

# ln -s /usr/NX/bin/nxserver /usr/bin/nxserver
# ln -s /usr/NX/bin/nxsetup /usr/sbin/nxsetup
# ln -s /usr/NX/bin/nxloadconfig /usr/sbin/nxloadconfig
# ln -s /usr/NX/bin/nxagent /usr/NX/bin/nxdesktop
# ln -s /usr/NX/bin/nxagent /usr/NX/bin/nxviewer
# ln -s /sbin/mount.cifs /sbin/smbmount
# ln -s /sbin/umount.cifs /sbin/smbumount
отсутствующая ссылка
# ln -s /usr/NX/lib/libXrender.so.1.2.2 /usr/NX/lib/libXrender.so.1.2
Специфично для Ubuntu
# ln -s /etc/X11/xinit /etc/X11/xdm

Финальная часть

# nxsetup --install --setup-nomachine-key

Копируем пример файла конфигурации
# cp node.conf.sample /usr/NX/etc/node.conf

на время тестирования можно включить логирование (по умолчанию - выключено)
NX_LOG_LEVEL=7

теперь проверяем статус сервера
# nxserver --status
NX> 100 NXSERVER - Version 2.1.0-71 OS (GPL)
NX> 123 Service stopped
NX> 999 Bye

и запускаем его
# nxserver --start
NX> 100 NXSERVER - Version 2.1.0-71 OS (GPL)
NX> 122 Service started
NX> 999 Bye

Подключение к терминальному серверу FreeNX

для подключения нам понадобится клиент от Nomachine, который можно скачать с сайта

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

Ну вот и начало...

Поздравлю себя с открытием :)