от Славей Караджов(13-09-2002)

рейтинг (25)   [ добре ]  [ зле ]

Printer Friendly Вариант за отпечатване

Предварителното инсталиране на Линукс по машините беше не по-малко интересно от самия фест. По време на подготовката се сблъскахме с няколко проблема.

º Първият от тях беше, че искахме да настроим добре всяка една Линукс дистрибуция и да я размножим на още няколко компютъра, като нямаше възможност да се местят хард дискове напред-назад. Първоначалната идея беше да се запише дялът с инсталирания Линукс във файл и той да се клонира с помоща на Partition Image по мрежата. Оказа се обаче, че самото клониране отнема повече от час, което е много време и е повече от времето необходимо за инсталиране и настройване на Линуксите. След кратка консултация Стоян Мартинов предложи оптималния вариант състоящ се в използването на 2-3 команди.

По-надолу накратко ще изложа какво представляваше неговото решение.
Изходното положение е вече инсталирания Линукс на машина 1, чакаш да бъде клониран по мрежата на машина 2. На машина 2 създаваме дял, който е с размер точно както и този от машина 1. На машина 2 е стартиран Линукс по мрежата, така че може да пристъпваме към действие.
За примера само, че сложим на на машина1 - IP: 192.168.0.1, а на машина2 - IP: 192.168.0.2

На машина 2 се изпълнява следната команда:
#nc -l -p 22222 | lzop -d > /dev/hda2
(идеята на тази поредица от команди е, че на TCP/IP порт 22222 програмата nc(Network Cаt) чака за информация и я предава на програмата lzop за декомпресиране в реално време, която записва резултата в /dev/hda2)

След което на машина 1 се изпълнява друга команда:
#lzop < /dev/hda2 | nc 192.168.0.2 22222
(тук lzop прочита съдържанието на /dev/hda2 и го предава в компресиран вид на командата nc, която от своя страна го изпраща на порт 22222 на машина 2)
Когато спре дисковата активност на машина 1 командата се прекъсва с Ctrl-C. Може и да се ползва параметър на nc за timeout , но тогава към времето за прехвърляне се добавя и timeout-а.
По този начин на 100Mb-ова мрежа се постига трансфер от 20MBps.

В конкретения случай трябваше да прехвърлим и boot сектора. Това го направихме по следния начин:

На машина 2 се изпълнява следната команда:
#nc -l -p 22222 | dd of=/dev/hda
(отново програмата nc чака информация на порт 22222, която прехвърля към програмата dd и тя я записва на /dev/hda )

А на машина 1 се изпълнява:
#dd if =/dev/hda bs=512 count=1 | nc 192.168.0.2 22222
(прочитат се първите 512 байта от /dev/hda, т.е копира се boot сектора и се предават на командата nc, която ги изпраща към машина2 на порт 22222).

º Вторият проблем, породен от липсата на CD устройства и невъзможност за местене на хард дисковете от една машина на друга, бе липсата на мини-Линукс дистрибуция, която да стартираме по мрежата за нашите нужди. Тук отново Стоян Мартинов се намеси и показа възможностите на последната версия на Knoppix дистрибуцията.

Решението беше следното: Стартирахме Knoppix от PC с CD устройство. След което Кnoppix-a бе настроен така, че да могат другите PC-та да стартират Линукс по мрежата единствено, без да се използва място на хард диска или CD. Това стана и бе демонстрирано на феста, без дори да сте разбрали може би, благодарение вградената на дъното мрежова карта, която позволи да се стартира отдалечено чрез PXE.

По тови начин в една голяма компютърна зала може да се стартира Линукс на всяка машина, като е необходимо да се пусне само един Knoppix от един компютър със CD устройство, а мрежовите карти на другите компютри да поддържат boot-ване по мрежата чрез PXE.

º Третият проблем беше, че имахме проектор, който беше свързан към Debian-a на Явор, но ни трябваше лесно и бързо да демонстрираме десктопа на произволна машина в залата, без да се налага да разнасяме проектора или пък PC-то. Галин Йорданов предложи и в последствие описа, едно елегантно решение, което използва възможностите на X сървъра. Ето какво беше направено:
Накратко това е ръководство, което описва как да покажете вашия XFree86 сървър на друга машина.

I) Нужни са ви две машини, като на една от тях е нужно да имате инсталиран X сървър и графичен мениджър, а на другата е нужно само X сървър и/или програмата, която искате да покажете.

II) Машината на която искаме да се види презентацията ще наречем "клиент", а другата машина на която е инсталиран самия графичен мениджър и/или програмата, която искаме да покажем - "сървър".

Клиента ще е има IP: 192.168.0.1
Сървъра ще има IP: 192.168.0.2

III) Операции извършвани на клиентската машина

1) Трябва ви конзола (не X терминал) на който пишете следното

client:~# X :1 &

2) след като X-а тръгне се върнете в същата конзола ( Ctrl+Alt+F1 - ако е първата конзола) и напишете следното

client:~# export DISPLAY=:1
client:~# xterm &

3) върнете се в X-а и ще видите пусната вече xterm конзола(Ctrl+F7 обикновено), на която напишете

client:~# xhost +

трябва да се появи съобщение от вида:

"access control disabled, clients can connect from any host"

и с това завършва настройката на клиентската част


IV ) Операции извършвани на сървърската машина

1) Отново ви е нужна конзола ( не X терминал).
Влезте като желания потребител и напишете следното

server:~# export DISPLAY=192.168.0.1:1

2) Стартирайте желания графичен мениджър или програмата в същата конзола

-- това стартира KDE-то
server:~# startkde

-- това стартира GNOME (поне под Debian)
server:~# gnome-session

-- това стартира само определена програма
server:~# xdpf

3) Преместете се на клиентската машина (в X-а ) и си работете, както бихте направили ако сте на сървър машината.


V) Това е :)

В следващите части ще опиша как бе пусната уеб камерата, как свързахме Sharp Zaurus към нормално PC и демонстрирахме "наживо" неговите възможности, как принтера бе настроен да позволи печат от произволно PC в залата (и то на кирилица), какво направихме за да работят записвачките под Линукс и как стана възможно отдалечено да се пекат CD-та по мрежата.


<< wireless със prism2.5 linux драйвери и настройки dlinkDWL520 | Да направим повече с SSH: X и пренасочването на портове (por >>