от Славей Караджов(13-09-2002)
рейтинг (26)
[ добре ]
[ зле ]
Вариант за отпечатване
Предварителното инсталиране на Линукс по машините беше не по-малко интересно
от самия фест.
По време на подготовката се сблъскахме с няколко проблема.
º Първият от тях беше, че искахме да настроим добре
всяка една Линукс дистрибуция и да я размножим на още няколко компютъра,
като нямаше възможност да се местят хард дискове напред-назад. Първоначалната
идея беше да се запише дялът с инсталирания Линукс във файл и той да се клонира
с помоща на 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 >>
|