|
0. Wprowadzenie
Opracowanie to napisane zostało w lecie 2003 r. na zamówienie Fundacji Pomocy
Matematykom i Informatykom Niepełnosprawnym Ruchowo w Warszawie. Autorem jest
Zbigniew Lisiecki (http://zbyszek.evot.org). Tekst jest przeznaczony dla osób,
które nie zetknęły się głębiej z systemem Linux, jednak chciałyby zainstalować
go na swoim komputerze osobistym. Warto pobieżnie zapoznać sie z tym tekstem w
całości przed rozpoczęciem instalacji. Opracowanie jest pomocą w instalacji i
nie wystarcza do nauki Linuxa bez samodzielnych praktycznych prób z komputerem.
Tekst może być dowolnie rozprowadzany w celach niekomercyjnych z uwzględnieniem
tego akapitu. Kolejne wersje będą dostępne na tej stronie internetowej. Za
uwagi, lub życzenia dopisania czegoś będę bardzo wdzięczny. Proszę przysyłać je
na adres podany na mojej stronie osobistej.
1. Co to jest Linux ? UNIX, model Dijkstry, Co to jest GPL ?
Linux to stworzona przez Linusa Torwaldsa bezpłatna odmiana, lub następca (?)
systemu UNIX, przemysłowego systemu operacyjnego sprzedawanego od końca lat
70-tych, a stworzonego w Bell Laboratories. Rozwiązania UNIX-u/Linuxa są
wielokrotnie pierwowzorem dla oferowanego przez firmę Microsoft systemu Windows.
W odróżnieniu od Windows Linux oferuje pełną kontrolę nad każdym szczegółem
instalacji - nic nie jest ukryte, każdy szczegół można dopasować do własnych
potrzeb, szkieletem nie jest nieczytelny dla człowieka kod, lecz podane
publicznie normy (tzw. systemy Open Source).
UNIX/Linux jest zbudowany w oparciu o model warstw, które jak cebula oplatają
hardware, potem jądro i następujące dalej warstwy oferując wyższym warstwom, a w
końcu użytkownikowi coraz bardziej skomplikowane funkcjonalności (usługi). Model
został stworzony przez Dijkstrę i był kamieniem milowym w tworzeniu systemów
operacyjnych.
UNIX/Linux rozwiązuje oprócz tego problem współużytkowania zasobów systemowych
(jak. moc procesora, pamięć, peryferie, itp.) przez wiele instancji
jednocześnie. Osobne zadanie z przydzieloną częścią zasobów, np. RAM-u nazywane
jest procesem. Procesy "współżyją" ze sobą w pamięci komunikując się między
sobą, lecz nie przeszkadzając sobie nawzajem. W Linuxie jeden z nich dba o
obsługę dysku, inny zajmuje się obsługą drukarki, jeszcze inny dba o wygląd
okien na monitorze. Jeden z procesów to np. edytor, przy pomocy którego
użytkownik pisze swój tekst. Taki podział pracy umożliwiał w systemach UNIX
jednoczesną obsługę przez jeden hardware/procesor wielu użytkowników z wieloma
podłączonymi monitorami i jest oznaczany pojęciem multiuser/multitasking.
Systemy UNIX rozdawane z początku darmowo dla wyższych uczelni stały się jednak
szybko dość drogie. Aby ominąć licencje i zaoferować system za darmo student
Linus Torwalds musiał napisać swój Linux od nowa. Szybko dołączyła do niego
armia chętnych oferując swoje programy za darmo pod tzw. GNU Public Licence (GPL).
Obecnie oprogramowanie do Linuxa "ściąga się z Internetu" z wielu stron jak
choćby http://sourceforge.net czy http://freshmeat.net czytając opisy i
dokumentację w poświęconych konkretnym problemom tzw. howtos ("jak to zrobić")
pod http://www.tpld.org. W RedHat specjalny program rpmfind sam szuka
oprogramowania w sieci. W Internecie istnieje także wiele stron w językach
narodowych jak http://www.linuxpub.pl w języku polskim.
2. Co trzeba wiedzieć przed rozpoczęciem instalacji ?
2.1 Jaki sprzęt do jakich celów
Przed rozpoczęciem instalacji zaleca się oszacowanie do jakich celów ma służyć
komputer z Linuxem. Na tzw. bramkę do Internetu nie będzie potrzeba dużo
zasobów. Serwer sieciowy będzie zależnie od usług wymagał szybszego procesora i
więcej pamięci na dysku. Systemy graficzne jak dtp. będą wymagały lepszej karty
graficznej i lepszego monitora. Na cele powszechnego "domowego użytku", chcąc
przyjrzeć się wielu programom powinniśmy przeznaczyć przynajmniej 2 GB na sam
system, bez danych użytkowych.
Choć Linux wspomaga wiele nowego sprzętu i do każdego zastosowania prawie zawsze
znajdzie się sterownik (moduł systemu umożliwiający współpracę z danym
urządzeniem) są jednak także wyjątki. Były nimi do niedawna np. tzw. Winmodems -
modemy wewnętrzne współpracujące co prawda z MS-Windows, lecz nie oferujące
pełnego interfejsu modemu.
Dlatego przed kompletowaniem sprzętu należy sprawdzić, czy będzie on działał po
Linuxem. Odsyłam w tym celu na strony danej dystrybucji - o tym nieco dalej -
lub na grupy dyskusyjne np. pl.comp.os.linux.
2.2 Wybór dystrybucji
Druga sprawa to wybór dystrybucji. Dystrybucje to nieco odmienne zestawy
oprogramowania do Linuxa oferowane przez różne firmy rozprowadzające (dlatego
"dystrybucja"). Wszystkie one zawierają prawie to samo jądro, oraz różne zestawy
pakietów prawie tego samego oprogramowania z kilkoma własnymi dodatkami. W sumie
różnice nie powinny być aż tak decydujące dla osób ze stałym dostępem do
Internetu, bo i tak można doinstalować brakujące oprogramowanie z sieci.
Z łatwej instalacji słynie dystrybucja Red Hat. Największą ilość oprogramowania
(SID 12 000 pakietów) oferuje Debian. Są także Slackware, Mandrake. U podstaw
tego opracowania leży SuSE (http://www.suse.com) - dystrybucja firmy o tej samej
nazwie z okolic Norymbergi, choć jest już także polski SuSE. W tym miejscu
wspomnę, że każda dystrybucja, niezależnie od kraju pochodzenia oferuja łatwe
przełączanie na polskie litery, lub polską klawiaturę. SuSE jest warta wyboru,
bo oferuje na sześciu CD ogromny zasób ponad 1500 pakietów programowych. Warta
wspomnienia jest też pld (Polska Dystrybucja Linuxa) http://pld.org.pl.
Po nazwie dystrybucji łatwo znaleźć jej stronę w Internecie, która zawiera jej
dokładniejszy opis. np http://www.suse.com.
2.3 Skąd wziąć Linux ?
Red Hat najłwatwiej dostać jest w Polsce kupując czasopismo informatyczne z
załączoną CD. Pełna Red Hat Enterprise Edition kosztuje od 30 $ (Standard
Edition) do 150 $ (Professional Server). SuSE oferuje swój 8.2 Linux za 80 Euro.
Jest w tej cenie dobry podręcznik oraz 90 dni supportu instalacji. Oczywiście
SuSE Linux można też mieć za darmo, choć procedura nie jest wtedy trywialna, bo
trzeba ściągnąć go (3.7 GB) gdzieś na wolny dysk, wypalić CD z zaczątkiem
instalacji i zainicjować z niego instalację podając jako źródło ten wolny dysk.
W celu pobieżnego tylko przyjrzenia się Linuxowi można ściągnąć gotową do
wypalenia tzw. evaluation CD, nie zawierająca pełnego systemu, lecz z ułatwioną,
prawie natychmiastową instalacją.
Zdecydowaną przewagę daje stały szybki dostęp do Internetu. Kopiowanie Linuxa
jest w pełni dozwolone.
Warto instalować tylko najnowsze wersje, bo w przypadku szukania pomocy przy
jakichś błędach pierwsza rada brzmi zawsze: "spróbuj nowszą wersję".
3. Rozpoczynamy instalację
Przed rozpoczęciem instalacji warto znać podstawowe parametry komputera, choć
wiele systemów same je odczytuje. Dla nas decydujące będzie
1. wolne miejsce na dyskach,
2. wielkość RAM-u
Instalację rozpoczyna załadowany z instalacyjnej CD uproszczony Linux. Aby go
uruchomić potrzebne jest oczywiście wcześniejsze ustawienie w Setupie BIOS-u
umożliwiające startowanie systemu (tzw. bootowanie) z napędu CD.
Odpytywane następnie ustawienie typu klawiatury i języka obowiązuje jedynie na
czas instalacji i można je potem zmienić np. na język polski, którego sam proces
instalacji może nie oferować.
Proces instalacji jest u SuSE prowadzony przez yast (lub yast2) - program
służący następnie do administracji systemu. Przy instalacji zastartowana np. z
CD część yast-u prowadzi nas po kolei przez wszystkie kroki.
3.1 Z jakiego źródła instalujemy
1.
Zródłem instalacji będzie najczęściej ten sam CD, lecz np. SuSE oferuje dla
komputera już działającego w LAN-ie jako źródło także
2. adres ftp w Internecie (ftp://ftp.suse.com). Aktualny adres najbliższego
mirror należy zdobyć wcześniej ze stron SuSE. Warto przy tym zwrócić uwagę, że
że względu na szybkość nowych serwerów uniwersyteckich w USA z Warszawy do
Kaliforni, może być wiele "bliżej" niż do Berlina, a do Norymbergi też niekiedy
"jedzie się" przez Londyn. W przypadku ftp podać musimy także nasz własny adres
IP, oraz adres IP bramki do Internetu. Instalowanie przez modem nie jest
możliwe, bo przed instalacją brak jeszcze całego software-u obsługującego modem.
Po podaniu źródła ftp system potrzebuje kilka sekund (lub minut) na zameldowanie
się u serwera (zalogowanie).
3. Alternatywnie jako źródło można podać inny dysk, na który wcześniej zostały
skopiowane pakiety Linuxa. Wybierając tą drogę można sam instalacyjny CD wziąć
ze skopiowanego także pliku boot/bootdisk. Przy tym źródle mamy do wyboru:
1. inną partycję np. inny dysk, lub
2. podmontowany system plików
Oczywiście podać trzeba także dokładne miejsce (katalog) z dystrybucją Linuxa. O
partycjach i ich montowaniu czytaj w następnam punkcie. W tym miejscu należy
jednak zwrócić uwagę, że warto posłużyć się takim wyborem 1. albo 2. jaki
będziemy w przyszłości mogli łatwo stosować do doinstalowania potrzebnego w
przyszłości oprogramowania.
3.2 Podział dysku
3.2.1 Partycjonowanie
Choć np. SuSE sam proponuje podział dysku warto zająć się tym samemu. Dysk, lub
kilka z nich można podzielić na części tzw. partycje dedykowane różnym celom, np.
różnym systemom operacyjnym. W tym celu warto kierować się następującymi
wskazówkami:
1.
Na sam system będzie potrzeba zależnie od wyboru instalowanego oprogramowanie
przynajmniej od 1.5 do 3 GB.
2.
Gdy RAM nie wystarcza na wszystkie załadowane w danym momencie podczas pracy
programy UNIX/Linux spisuje część stron na dysk robiąc miejsce nowym programom.
Potem inne nie używane w danym momencie strony są zrzucane na dysk, a używane
programy znowu ładowane z dysku do RAM-u. Taka część dysku do nieużywanych w
danym momencie stron nazywana jest swap (partycja wymiany), a sama administracja
pamięci imitująca w ten sposób więcej RAM-u, niż fizycznie dostępne nazywana
jest pamięcią wirtualną.
Na swap powinna być przeznaczona osobna partycja. Jej wielkość zależy od
stosowanych programów, lecz najczęściej nie powinno się tu być skąpym. Według
starych zasad z UNIX-a przeznacza się na nią 2.5 razy wielkość RAM-u
uwzględniając przy tym możliwe przyszłe rozszerzenia pamięci.
3.
Starsze systemy BIOS-ów nie zezwalają na ładowania jądra systemu Linux z części
dysku powyżej 1024 cylindrów. (Cylindry to składające się z poszczególnych
sektorów i odzwierciedlające fizyczną budowę dysku jego większe jednostki.)
Warto respektować to ograniczenie do 1024 cyl. nawet jeśli w nowszym komputerze
nie jest to konieczne, bo dysk, który je uwzględnia będzie pracował także gdzie
indziej. Dlatego warto poświęcić na początku dysku całą partycję na pliki z
jądrem systemu. Wtedy będzie pewne, że jądro znajdzie poniżej 1024 cyl. Typowe
jądro ma 1 do 1.5 MB, więc chcąc ich mieć kilka wersji partycja z jądrami
nazwana /boot powinna mieć np. 16 MB.
Rozwiązanie problemu powstającego, kiedy nie chcemy przesuwać istniejącej już na
najniższych cylindrach partycji innego systemu operacyjnego np. MS-Windows jest
podane poniżej w rozdziale o lilo.
4.
Główny system plików Linuxa z korzeniem drzewa katalogów (tzw. root filesystem)
obecnie coraz rzadziej dzieli się na część systemu operacyjnego i część plików
użytkownika. Można ten podział zachować zapisująć system, oraz pliki
użytkowników np. na osobnych dyskach, lub np. w celu umożliwienia osobnego
backupu całych partycji. Pliki użytkowników znajdują się w podkatalogach
katalogu /home.
5.
Oczywiście przynajmniej przed tym krokiem warto sporządzić backup istniejących
systemów, oraz uważać, żeby nie zniszczyć nową partycją np. zainstalowanych już
MS-Windows-ów (w poniższym przykładzie: hda2 i hda4).
Stosując te wskazówki można partycjonując dysk przygotować miejsce na Linux
nawet jeszcze przed rozpoczęciem samej instalacji. Pomocny będzie wtedy fdisk,
zawarty w katalogu dosutils fips (do zmniejszania istniejących partycji), lub
komfortowy PartitionMagic. Przy ich braku początek instalacji SuSE sam
rozpoczyna instalację od umożliwiającej dopasowanie propozycji podziału na
partycje. Oto przykładowy podział dysku 120 GB.:
Disk /dev/hda: 255 heads, 63 sectors, 14589 cylinders
Units = cylinders of 16065 * 512 bytes
Device Boot Start End Blocks Id System
/dev/hda1 1 3 24066 83 Linux
/dev/hda2 4 2092 16779892+ c Win95 FAT32 (LBA)
/dev/hda3 2093 2354 2104515 82 Linux swap
/dev/hda4 2355 14588 98269605 f Win95 Ext'd (LBA)
/dev/hda5 2355 12588 82204573+ 83 Linux
/dev/hda6 12589 14588 16064968+ 83 Linux
Poszczególne partycje opisane są plikami hdx x = 1 ... 6 w katalogu /dev (hd od
head, dev od devices). Drugi dysk będzie miał oznaczenie /dev/hdb, itd. Jak
zauważymy pierwsza partycja /dev/hda1 ma np. 3 cylindry, i ok. 24 000 bloków po
1 KB każdy, czyli w sumie ok. 24 MB i jest dedykowana Linuxowi. (Id = 83 oznacza
Linux) Moja root partition zostanie umieszczona w /dev/hda5 i będzie miała ponad
80 GB. /dev/hda4 to tylko tzw. partycja rozszerzona (extended), czyli pojemnik
na hda5 i hda6 - spójrz na dane Start i End dla niej. Swap jest pod hda3 i ma
ponad 2 GB (mam dużo RAM-u), natomiast hda2 to stare WindowsXP.
3.2.2 Systemy Plików
W następnym kroku w pustych jeszcze partycjach umieszcza się tzw. systemy
plików, czyli całą administrację plików w danej partycji. Ten krok efektywnie
wymazuje poprzednią zawartość partycji. Wybór systemu plików zależy od
zastosowań. Do niedawna popularny był ext2. reiserfs umożliwia szybki powrót do
stanu używalności po upadku, zapisuje jednak nieco więcej nadmiarowej informacji
na dysku, co przecież musi co nieco trwać. Systemy plików z tzw. journalingiem
umożliwiają dodatkowy zapis wszelkich zmian, co może być ważne dla szczególnych
zastosowań np. banków danych wymagających łatwego i bezpiecznego powrotu do
sytuacji przed transakcją zapisu.
Oczywiście nie polecam do Linuxa żadnego z systemów FAT Windowsów.
Swap ma swój własny typ systemu plików, bo dzieli pamięć bardziej między
procesy, a mniej na pliki.
Punkty podmontowania, które należy następnie podać to nazwy katalogów pod jakimi
dostępne będą poszczególne partycje. W moim przypadku tabelka:
/dev/hda1 /boot ext2
/dev/hda3 swap swap
/dev/hdc4 /c vfat
/dev/hda5 / reiserfs
/dev/hda6 /f ext2
/dev/hdc6 /e auto
devpts /dev/pts devpts
proc /proc proc
usbdevfs /proc/bus/usb usbdevfs
/dev/fd0 /media/floppy auto
/dev/cdrom /media/cdrom auto
pokazuje, że np. pierwsza partycja /dev/hda1 będzie zawierała system plików typu
ext2, oraz w drzewie katalogów będzie utożsamiona z katalogiem /boot, a root
partition będzie typu reiserfs, itd. Moją dodatkową partycję utożsamiłem z
katalogiem /f. W tym miejscu można oczywiście inaczej ponazywać swoje dyski, ale
root powinien pozostać "/", a /c to raczej standard dla MS-Windows.
Zalecam stosowanie wirtualnych systemów plików, jak devpts - baza danych
wszystkich urządzeń, proc - baza danych aktualnych procesów, oraz usbdevfs -
baza danych urządzeń z interfejsem USB, bo choć nie są konieczne przydadzą się
później do łatwiejszej obsługi urządzeń. U SuSE są one podobnie jak dwa ostatnie
wpisy generowane automatycznie. Pięc ostatnich wpisów nie odnosi się już do
dysków twardych /dev/hdx.
Dodatkowymi opcjami do systemu plików może być np. średnia wielkość plików (inode
density), którymi można regulować czy dany system plików średnio będzie
stosowany do dużych, czy małych plików. 4k to dobra propozycja.
W tym miejscu yast - program instalacyjny dystrybucji SuSE poprosi o
potwierdzenie, czy ma wygenerować nazwane systemy plików według tabeli.
Jeśli inna dystrybucja tego nie uczyni automatycznie zachodzi niekiedy potrzeba
"ręcznego" generowania systemu plików. Wtedy dokonuje się tego razem z
partycjonowaniem jeszcze przed uruchomieniem skryptu instalacyjnego przy pomocy
następujących komend:
fdisk - partycjonowanie mkfs, lub jego odmian - generowanie systemów plików
mount - podmontowanie, czyli aktualne utożsamienie danej partycji z katalogiem,
przez który będzie ona osiągalna
Do powyższego jest jednak już potrzebny działający Linux. Do niedawna było tak
np. w pld (polish linux distribution), w którym do generowania systemu plików
ext2 używało się komendy "mkefs /dev/hda[x]" x=1...n
4. Wybór pakietów oprogramowania
Po przydzieleniu przyszłemu Linuxowi miejsca na dysku instalacja SuSE zapyta się
o wybór pakietów z oprogramowaniem.
4.1 Co to jest bank danych RPM
Pod Linuxem software do zainstalowania dostarczany jest w pakietach - plikach
typu *rpm odpowiadających danym częściom systemu. RPM oznacza RedHat (od nazwy
dystrybucji) Package Manager. Po instalacji każdego pakietu jest to notowane w
tabeli RPM i w ten sposób Linux wie jakie oprogramowanie zostało na nim
zainstalowane.
Nie zachodzi konieczność instalowania wszystkich pakietów. Sensowny wbór jest
jednak bardzo pracochłonny. Dlatego polecam posłużenie się jako punktem wyjścia
jedną z podanych propozycji:
1. desktop,
2. network server,
3. all
i inne, zależnie od potrzeby a następnie rozszerzenie tego wyboru o dodatkowe
pakiety. Warto jednak poświęcić trochę czasu na wybór pakietów, bo czytając ich
opisy uzyskujemy pierwszy wgląd w olbrzymią różnorodność oprogramowania i potem
łatwiej będzie dobrać software do konkretnego zadania.
Dana wersja Linuxa jest zbudowana z pakietów jak ściana z cegieł - działanie
jednych zależy od innych, głębiej leżących. U SuSE yast oferuje kontrolę, czy
zainstalowane zostaną także wszystkie pakiety od których dany pakiet zależy. Ze
względu na szybkość można ją co prawda chwilowo wyłączyć, ale przed rozpoczęciem
wgrywania pakietów trzeba ją uwzględnić i rozwiązać wszelkie zależności.
Przykładowo wybór pakietów oprogramowania powinien wyglądać w SuSE linux mniej
więcej tak . Zależnie od wyboru zestawu pakietów cała instalacja Linux-a trwa od
jednej do trzech godzin.
5. Jak startuje Linux: lilo, grub
5.1. Co to jest boot manager
Ustawienie z którego dysku zostanie zastartowany system operacyjny dokonuje się
w Setupie BIOS-ów. Zwykle jest to pierwszy dysk (master) na pierwszej szynie,
czyli tzw. /dev/hda. BIOS czyta z tzw. MBR (Master Boot Record), czyli z
pierwszego rekordu tego dysku tabelę partycji, identyfikuje aktywną partycję i
mogąc po drodze wykonać krótki program startujący zapisany w MBR oddaje kontrolę
danej partycji. Jako ten krótki program startujący znane jest wiele odmian tzw.
boot manager-ów. Linux oferuje standardowo Lilo (od Linux loader), lub grub. W
tym opracowaniu ograniczymy się do Lilo. Po zainstalowaniu jednego z nich w MBR
umożliwiają one łatwy wybór czy startujemy Linux, który Linux, bo możemy ich
mieć kilka, czy np. Windows, lub OS/2.
Inny sposoby statowania systemu to:
1. przy pomocy loadlin.exe,
2. z dyskietki,
3. z CD (np. tej instalacyjnej).
4. z Linuxem harmonizuje także boot manager Systemu OS/2.
5.2. Mechanizm lilo
Aby lilo mogło wybrać system operacyjny musi wpisać się do MBR na miejsce
ewentualnego boot managera systemu Windows. Dlatego polecam instalować najpierw
Windę, a potem Linux, choć w odwrotnej kolejności zawsze można chwilowo
zastartować Linux z CD i wczytać lilo.
Lilo składa się z trzech części:
1. pliku konfiguracyjnego (najczęściej w /etc/lilo.conf)
2. programu /sbin/lilo, który na podstawie pliku konfiguracyjnego wpisuje kod
boot manager-a do MBR
3. samego kodu boot managera.
W następstwie będziemy edytować plik konfiguracyjny i potem komendą "lilo"
wpisywać kod do MBR. W czasie instalacji yast-em on sam (yast) zapyta się nas o
to i sam dokona wpisu na podstawie naszych danych. Warto jednak wiedzieć już w
tym momencie więcej o lilo, bo gdyby instalacja nie powiodła się, wtedy lilo to
droga do poniesienia Linuxa, nawet częściowo zainstalowanego.
Mój okrojony trochę plik konfiguracyjny /etc/lilo.conf wygląda tak:
# plik konfiguracyjny lilo.conf, zbyszek, 16.7.2003
boot = /dev/hda
change-rules
reset
read-only
menu-scheme = Wg:kw:Wg:Wg
lba32
prompt
timeout = 80
message = /boot/message
# moje własne skopilowane jądro
image = /boot/vmlinuz
label = linux
initrd = /boot/initrd
root = /dev/hda5
vga = 791
append = "apm=off acpi=off ether=13,0x9400,0,1,eth0"
# jądro Linuxa dostarczone z instalacją
image = /boot/vmlinuz.old
label = linux.old
initrd = /boot/initrd
root = /dev/hda5
vga = 791
append = "apm=off acpi=off ether=13,0x9400,0,1,eth0"
# stare WindowsXP
other = /dev/hdc4
label = windows
map-drive = 0x80
to = 0x81
map-drive = 0x81
to = 0x80
image = /boot/memtest.bin
label = memtest86
Linijki z # to oczywiście komentarze, omijane przez program lilo. Pierwszy
wiersz podaje na MBR jakiego dysku będzie umieszczony kod lilo. Poszczególne
sekcje odpowiadają dwóm różnym jądrom Linuxa, Windowsom i opcjonalnemu testowi
pamięci. Jądra Linuxa znajdują się u mnie w katalogu /boot, ale może to być
dowolne miejsce, nawet system plików Windows-a ! Ważne tylko, żeby był on
zamontowany w momencie wywołania komendy lilo (i znajdował się poniżej 1024
cylidrów). Oba jądra mają odpowiednio nazwy vmlinuz i vmlinuz.old i ładują jako
root file system partycję /dev/hda5 (proszę zajrzeć do tabelki partycji
powyżej). Label określa nazwę jaka pojawi się na monitorze w momencie startu
komputera. Dodatkowo zawarte są parametry karty sieciowej sieci Ethernet.
Jeśli chodzi o Windows to ma on być w moim przypadku ładowany z drugiego dysku,
/dev/hdc a dla Windows-a dysk, z którego on startuj zawsze jest pierwszym
dyskiem. Dlatego przed startem Windows pozamieniałem dyski (80 i 81) miejscami
przy pomocy komend "map-drive/to"
Po tak utworzonym pliku /etc/lilo.conf sprawdzamy, czy w /boot siedzą jądra
systemu i odpalamy komendę lilo. Powinna ona pokazać cztery wiersze
odpowiadające czterem możliwym systemom do zastartowania.
Lilo to rozbudowany program, ma mnóstwo parametrów. Tu pokazaliśmy tylko
najważniejsze. Program instalacyjny yast i tak sam pokaże nam rozsądną
propozycję na lilo.conf.
W tym momencie warto zwrócić uwagę jak pozbyć się lilo z MBR. Taka sytuacja
zachodzi, gdy z instalacją coś się nie uda, nie możemy zastartować ani Linuxa,
ani naszej starej Windy i wpadamy w panikę. Wtedy po starcie DOS lub Windows z
dyskietki komendą "fdisk /mbr", lub "fdisk /newmbr" od OS/2 umieszczamy w MBR z
powrotem kod Windowsowy. Warto także zapoznać się z komendą Linux-ową "dd" (zob.
rozdział 11), którą z trybu tekstowego można przez:
dd if=/dev/hda of=kopiambr bs=512 count=1
sporzędzić kopię całego MBR z dysku /dev/hda. MBR jest wielkości 512 Byte. Potem
w razie potrzeby:
dd if=kopiambr of=/dev/hda
wpisuje naszą kopię z powrtem do MBR.
5.3. Gdy lilo nie działa.
Co trzeba zrobić, gdy coś się popsuło i nasz lilo nie działa ? Można wtedy
zastartować z instalacyjnej CD i przerwać instalację odpowiednim przyciskiem.
Znajdziemy się wtedy w trybie tekstowym okrojonego Linux-a, tzw. Rescu System.
Przy jego pomocy należy dostać się do:
1. pliku konfiguracyjnego lilo.conf
2. katalogu z jądrem Linux-a, (najczęściej /boot)
Dokonamy tego przy pomocy komendy "mount" (zob. rozdział 11), np.
mkdir /boot
mount /dev/hda1 /boot
mount /dev/hda5 /mnt
(hda1,5 odpowiada podziałow dysku jak powyżej). Wtedy można edytorem dostać się
do /mnt/etc/lilo.conf, a po poprawce sprawdzimy czy vmlinuz (wraz z pomocnymi
plikami, jakimi - zob.rozdział o kompilacji jądra) znajduje się w /boot. Jeśli
nie trzeba go tam skopiować. Wtedy komendą
lilo -C /mnt/etc/lilo.conf
umieścimy prawidłowy już kod Lilo w MBR, wyłączymy system i możemy go znowu
zastartować z dysku twardego.
W tym miejscu Linux już jest zainstalowany na naszym komputerze. Powinniśmy go
zastartować z dysku twardego.
6. Konfiguracja sieci
6.1. Konfiguracja w LAN-ie
Zespół połączeń wielu komputerów tworzy sieć. Sieć globalna to Internet. Sieci
lokalne, np. w obrębie jednego budynku, lub jednego oddziału firmy o leżących
blisko stanowiskach nazywa się LAN (Local Area Network). LAN może mieć przez
jeden ze swoich komputerów (tzw. bramkę) dostęp do sieci globalnej Internetu.
Komputery są w sieci rozpoznawane przez numery IP.
Aby skonfigurować PC w LAN-ie potrzebne są następujące dane.
1. karta sieciowa
2. adres IP łącznie z maską podsieci, lub DHCP
3. nazwa hosta
4. adresy serwerów DNS
5. adres bramki do Internetu, tzw default gateway
odpytywane po kolei podczas instalacji.
1. W przypadku LAN-u najczęściej mamy do czynienie z Ethernetem (uwaga - podobna
wymowa jak Internet). Większość kart sieciowych Ethernetu jest przez Linux bez
kłopotu rozpoznawana. Są to płytki wetknięty w płytę główną, do których z kolei
przyłącza się kabel sieci. W obrębie systemu operacyjnego karty te mają nazwy
eth0, eth1, ... itd. Znaczy to, że jeśli mamy tylko jedną kartę wpisujemy w
odpowiednim polu eth0. Komputer może mieć ich więcej np. eth0 do połączenia z
LAN-em, a druga eth1 do połączenia na zewnątrz np. z modemem DSL.
2. Nasz komputer może po włączeniu się do sieci dynamicznie otrzymywać swój
numer IP z pewnej puli adresów od innego komputera. Wtedy włączamy usługę DHCP (dynamic
host control protocol). Ktoś inny w sieci (LAN) musi oczywiście oferować DHCP.
Jeśli nie ma to miejsca musimy podać własny stały numer IP, np. 192.168.1.2.
Maska to zakrywająca swoimi poszczególnymi bitami część naszego adresu IP, która
odnosi się do adresu sieci, czyli np.
255.255.255.0
mówi, że trzy pierwsze byte-y naszego adresu IP (192.169.1) są wspólne dla
wszystkich komputerów w naszym LAN-ie - oznaczają całą sieć, a nie tylko jej
poszczególne jednostki. Na ostatni, czwarty byte jest 255 możliwości, z których
my zajmujemy trzecią (2) (nie pomijamy zera). Czyli nasz LAN może obejmować
maksymalnie 254 komputery (jeden adres zarezerwowany).
Wszystkie te dane, jak także adresy DNS i default gataway otrzymujemy oczywiście
od administratora sieci.
3. Host name - Tutaj możemy dowolnie nazwać nasz komputer. Jego pełna nazwa na
zewnątrz będzie miała sens dopiero z nazwą domeny, lecz o to także zwrócimy się
do administratora sieci.
4. DNS (Domain Name Servis) to usługa sieciowa zamieniająca rozpisane słownie
adresy np. "www.onet.pl" na ich numery IP. W swoich połączeniach komputer
posługuje się tylko numerami IP. Dlatego jeśli nie podamy mu adresu
jakiegokolwiek serwera DNS, potem kiedy będziemy chcieli wejść na stronę onet-u
odpowie, że nie może znaleźć takiej usługi w sieci.
IP serwerów DNS, które oferuje TP SA. to: 194.204.159.1, 194.204.152.34
Zwykle podaje się dwa, bo jeden może być akurat przeciążony.
5. Adres tzw. "default gateway" to adres komputera w LAN-ie mającego
bezpośrednie połączenie z Internetem i oferującego to połączenie innym. Na ten
adres są standardowo kierowane wszystkie pakiety informacji wysyłane z sieci na
zewnątrz.
6.2. Połączenie modemowe
Jeśli nasz PC nie znajduje się w LAN-ie cały powyższy rozdział odpada i jedyne
połączenie z Internetem odbywa się przez modem. Wtedy należy go skonfigurować.
Pierwszym parametrem jest tutaj "device name" - nazwa urządzenia, rozpoznawana
automatycznie przez program instalacyjny. Jest to najczęściej /dev/modem, jeśli
to nie działa warto spróbować /dev/ttyS0, lub /dev/ttyS1. Jako providera podamy
dowolną nazwę i numer telefonu udostępniający protokół ppp do Internetu. W
przypadku telekomunikacji polskiej będzie to np 0202122, user name "ppp" i hasło
"ppp", choć polecam rozejrzenie się po sieci za alternatywami.
Jak ręcznie (bez yast-a) skonfigurować połączenie modemowe jest opisane pod
http://www.linuxpub.pl/index.php?o=a&i=10.
6.2.1 Konfiguracja wvdial
W tym miejscu konfiguracja sieci w czasie instalacji się kończy, choć jeśli
chcemy, żeby nasze połączenie modemowe z Internetm nie było stałe, tylko było
przez nas "ręcznie" włączane według potrzeb warto skonfigurować program
umożliwiający takie ręczne połączenie się z Internetem. Polecam tu wvdial.
Program ten ma swój plik konfiguracyjny w /etc/wvdial.conf. Składa się on z
sekcji jednej dla każdego providera. Oto przykład takiej sekcji:
[freenet]
Modem = /dev/modem
Baud = 57600
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2
Init3 =
Area Code = de
Phone = 0192317600
Username = freenet
Password = freenet
Ask Password = 0
Dial Command = ATDT
Stupid Mode = 1
Compuserve = 0
Force Address =
Idle Seconds = 300
DialMessage1 =
DialMessage2 =
ISDN = 0
Auto DNS = 1
Najważniejszy jest oczywiście numer telefoniczny, nazwa użytkownika i hasło.
Provider jest oznaczony nazwą w klamrach. Wtedy wywołanie następuje komendą:
wvdial freenet Alternatywnie można posłużyć się innym programem, np. kppp
6.3. Konfiguracja programu e-mailowego (kmail)
Choć ustawienie poczty elektronicznej nie wchodzi często do samego programu
instalacyjnego i sensowne jest zająć się tą sprawą dopiero po konfiguracji
XWindows, jednak punkt ten podobnie jak następny należy do usług sieciowych i
dlatego znalazł się tematycznie w tym rozdziale.
Poczta elektroniczna służy do przesyłania krótkich informacji tekstowych między
użytkownikami i jest jedną z usług Internetu. Przesyłki są adresowane tzw.
adresem e-mailowym zbudowanym z dwóch członów: pierwszego - nazwy użytkownika i
drugiego pochodzącego od nazwy komputera, gdzie ten użytkownik ma swoją skrzynkę
pocztową. Człony są połączona znakiem "@", czytaj "et" z angielskiego "na", np.
zbyszek na komputerze takim a takim.
Do przesyłania poczty polecam program kmail z grupy KDE (K Desktop Environment).
Najważniejsze punkty jego konfiguracji sprowadzają się do:
1. zadeklarowania identyfikacji użytkwnika
2. podania jakim programem mają być wysyłane maile tzw. MTA (Mail Transfer
Agent)
3. oraz z jakich skrzynek mailowych mają być odbierane.
Choć użytkownik może mieć swoją skrzynkę emailową na własnym PC jak wysłać do
niego pocztę, gdy jego komputer akurat nie jest włączony ? Dlatego polecam
otworzenie skrzynki emailowej oferowanej przez jakikolwiek portal, najlepiej
polski, żeby ściąganie maili nie trwało długo.
Przy otworzeniu skrzynki otrzymujemy
1. nasz adres np , oraz
2. nazwę serwera maili, an którym znajduje się ta skrzynka np. priv4.onet.pl.
Po otwarciu "Ustwień" programu kmail w punkcie "identyfikacja" należy wpisać
swój adres e-mailowy. Można mieć kilka identyfikacji z różnymi, lub z tym samym
adresem.
Następnie w punkcie "Sieć.wysyłanie" należy podać, czy wysłanie poczty
1. ma przejąć lokalny MTA, np. sendmail, czy
2. ma się ono odbywać przez naszą skrzynkę, np. onet: server priv4.onet.pl, port
25, użytkownik, hasło.
Wysyłanie odbywa się protokołem SMTP (Small Message Transport Protocoll). Oba
rozwiązania są dobre, choć ja sam posługuję się senmailem i nie obciążam w ten
sposób onet-u.
Następnie w punkcie "Sieć.odbieranie" podamy z jakich skrzynek chcemy zczytywać
pocztę. Tu także obok nazwy, pod którą ja podaję adres mailow, użytkownika,
hasła należy podać nazwę serwera, gdzie znajduje się dana skrzynka, np
priv4.onet.pl.
Czytanie poczty następuje przy pomocy protokołu POP3 (Post Office Protocoll).
Jest on standardowo łączony z portem 110. Nie zapomnijmy usunąć pocztę ze
skrzynki, po jej ściągnięciu.
Konfiguracja kmail wygląda tak .
6.4. Dostęp do grup dyskusyjnych (knode)
USENET, czyli grupy dyskusyjne są jedną z najstarszych usług Internetu.
Umożliwiają one publiczne zwrócenie się na raz do wielu czytelników, najczęściej
z zapytaniem, lub z odpowiedzią na czyjeś zapytanie. Komunikacja jest rozłożona
w czasie, co umożliwia zastanowienie się nad każdym postem (wysłanym listem).
Często daje to decydującą przewagę nad modnymi czatami.
Dostęp do grup dyskusyjnych umożliwia np. program knode z grupy KDE. Tu widać
jak wygląda knode. Jego konfiguracja jest podobnie łatwa jak w przypadku kmail-a.
Po podaniu własnej identyfikacji należy podać nazwy serwerów oferujących daną
grupę dyskusyjną. Oczywiście i tu może być ich wiele. Polecam np. news.onet.pl i
News.CIS.DFN.DE, który jako jeden z niewielu oferuje grupę alt.os.linux.suse (a
ona byćmoże będzie nam potrzebna !). Oba serwery wymagają logowania (tzn.
autoryzacji). Podać należy user name i hasło naszej skrzynki pocztowej na onecie.
Po użytkownika i hasło na News.CIS.DFN.DE należy zwrócić się mailem po
niemiecku, lub angielsku do i ewentualnie zajrzeć na stronę http://news.cis.dfn.de/.
Po otworzeniu kont, podając nazwy serwerów ukażą się one w lewej połowie okna
knode. Wtedy należy wybierają prawym przyciskiem myszki zasubskrybować dane
grupy. Na samym początku knode musi ściągnąć całą hierarhię oferowanych grup, co
trwa kilka do kilkunastu minut ! Dopiero potem można wybrać jakie grupy chcemy
prenumerować. Niestety będziemy w tym przypadku zależni od odgadnięcia treści
grupy po jej nazwie. Warto rozejrzeć się po grupach alt.comp...., comp.... i
pl.comp....
Obie grupy alt.os.linux.suse i pl.comp.os.linux. są istotne w przypadku dalszych
pytań dotyczących instalacji i administracji SuSE szczególnie i Linux-a ogólnie.
Przypominan tu o netykiecie, do której należy m.in. nie zadawanie pytań, które
już zostały wcześniej odpowiedziane. W tym celu warto zwrócić się do archiwum
grupy. Dużo odpowiedzi łatwo znaleźć przeszukując grupy dyskusyjne przy pomocy
http://www.google.com.
7. Konta użytkowników Linux-a
Kiedy program instalacyjny Linux-a dobiegnie końca, co może trwać kilkadziesiąt
minut zostaniemy zapytani o hasło użytkownika root. Użytkownik root posiada
wszystkie prawa i służy do administracji systemu. My sami będziemy pracować jako
inny użytkownik, np. zbyszek, którego też należy wygenerować. Yast pyta przy tym
o imię i nazwisko, które są nieistotne dla działania systemu, oraz o tzw. user
ID proponując sam pierwszy wolny numer > 500. User ID to numer po jakim Linux
wewnętrznie rozpoznaje użytkownika. Istnieje także możliwość ustawienia
pierwszego programu, jaki zostanie zastarowany dla danego użytkownika po jago
zalogowaniu się o systemu. Chodzi tutaj najczęściej o tzw. shell (przypominam o
modelu Dijkstry), czyli o interpreter komend, którym w naszym przypadku będzie
bash, lub csh.
Warto zauważyć, że pliki Linuxa mają w porównaniu do MS-Windows przynajmniej dwa
atrybuty więcej: są to:
1. właściciel pliku
2. grupa do jakiej należy plik
Pomaga to w regulacji dostępu do plików. Częstym ustawieniem dla plików naszego
głównego katalogu może być np.
1. prawo czytania i pisania w naszych własnych plikach
2. prawo ich czytania dla użytkowników z tej samej grupy
3. brak wszelkich praw dla wszytkich innych użytkowników
Odsyłam tu do rozdziału 12, opis komendy "ls". Hasło użytkownika root należy
dobrze zapamiętać i nigdzie nie zapisywać. Nawet w systemie nie jest ono nigdzie
zapisane w otwartej formie. W jaki sposób Linux je pomimo tego rozpoznaje
pozostawiam jako ciekawostkę do dalszych dociekań.
7.1 Co zrobić gdy zapomniało się hasło root-a
Gdy zapomniało się hasło root-a należy zastartować system z innego medium, w
którym hasło root-a znamy, np. z instalacyjnego CD, w którym nie jest ono w
ogóle odpytywane. Potem należy podmontować system plików z naszym Linux-em i
rozpocząć edytowanie pliku etc/passwd położonego na tej partycji, tzn.
najczęściej /mnt/etc/passwd. Plik ten to miejsce, gdzie centralnie złożone są
dane o kontach użytkowników. Są one zapisane w formacie:
użytkownik:hasło:user id:id grupy:imię/nazwisko:katalog domowy: program
rozpoczynający sesję
w wierszu odpowiadającemu root należy wymazać hasło, tzn. pozostawić np.
root::0:0:root:/root:/bin/bash
Następnie po starcie naszego systemu możemy podać nowe hasło przy pomocy komendy
"passwd"; Ta sama komenda np.
passwd zbyszek
umożliwia rootowi ustawienie hasła dla użytkownika "zbyszek".
8. XWindows / KDE
Po zakończeniu pracy programu instalacyjnego nie wszystkie dystrybucje
umożliwiają od razu pracę w trybie graficznym, tzn. z oknami. Dlatego zajmiemy
się systemem okien, który zbudowany jest na bazie XWindows - projektu DEC i MIT
z drugiej połowy lat osiemdziesiątych. Jego wolno dostępna implementacja
stosowana w Linux-ie nazywa się XFree86. XWindows składa się z tzw. serwera
okien (xserver), który jest startowany jako osobny proces dbający o pojawienie
się okien na monitorze i pracę z nimi. Do XWindows wchodzi także duża grupa
programów, których nazwy rozpoczynają się często literą "x".
Podstawowa czynność to dopasowanie pliku konfiguracyjnego (najczęściej
/etc/X11/XF86config) do naszej karty graficznej, monitora i czasami myszki. W
tym miejscu przypominam, że odpowiedni dla naszej karty xserver pownien zostać
wcześniej wybrany i zainstalowany jako jeden z pakietów. Będzie to najczęściej
xsvga, lub w przypadku nowszej, czwartej wersji XFree86 cały pakiet xf86.
Konfiguracja XWindows jeśli nie następuje sama automatycznie może zostać
dokonana przez wiele programów, np. XF86Setup, xf86config. Polecam sax, lub sax2
dystrybucji SuSE. Pod koniec konfiguracji xserver zastartuje próbnie. Jeśli
wszystko będzie ok. można zaspisać konfigurację do pliku. W szczególnych
przypadkach zachodzi potrzeba ręcznego edytowania pliku XF86config, lub czasami
dodania do lilo.conf wiersza "vga791" (dla monitorów >= 17 ´´)
8.1 Co zrobić, kiedy serwer nie działa
Co należy zrobić, kiedy serwer będzie mrugał, lub milczał blokując wszelką
dalszą pracę, jak nawet np. prawidłowe wyłączenie systemu ? Wtedy równiocześnie
naciśniętymi przyciskami i można przejść do trybu tekstowego i zabić serwer
komendą kill podając numer procesu serwera X-ów. Odsyłam tu do opisu "ps" w
rozdziale 12. Dalej należy przeczytać w logach (plik .X.err, lub w katalogu
/var/log) dlaczego serwer nie chciał działać i usunąć usterkę. Ponownie
zastartować serwer X-ów można przez skrypt xdm, lub kdm z katalogu skryptów
startowach (najczęściej /etc/init.d).
8.2 KDE (K Desktop Environment)
KDE (www.kde.org) to grupa programów zbudowana na X-Windows ułatwiająca pracę z
nimi zorientowana na sesję użytkownika. KDE oferuje m.in. kilka szczególnych
wyglądów okien. Standardowy wygląda np. tak . Widać program mailowy, editor
listów, oraz konsolę z shell-em. W centrum sterowania KDE (wybieranego
rozwijając pierwszą ikonę z menu startowego w lewym rogu) istnieje możliwość
ustawienie czasu, daty, czcionek, dźwięków, wielu ustawień usług sieciowych,
wyglądu pulpitu, a także ustawień językowych i wielu innych.
8.3 Jak ustawić polskie litery
Programy X-Windows wybierają ustawienia językowe, jak np. polskie litery na
podstawie zmiennej LOCALE, LANG, lub LC_... Umożliwia to wielką dowolność, nawet
jednoczesnego startu wielu programów, każdy w innym języku. Dla nas jeśli
ustawienia centrum sterowania KDE (zob. tu jak to wygląda) nie wystarczą należy
ustawić:
export LOCALE="pl_PL"
w pliku konfiguracyjnym shell-u, tj. w /etc/profile.local. Jeśli to nie
wystarczy będziemy musieli zająć się programem xmodmap edytując któryś z jego
plików startowach np. .Xmodmap . Czasami dodatkowo wybrać należy sposób
kodowania liter, który dla nas (Środkowa Europa) nazywa się ISO8859-2 (tzw.
latin-2).
9. Jak uruchamiane są poszczególne usługi podczas startu
Linux już jest zainstalowany na naszym komputerze. Pozostaje jednak całe mnóstwo
nietrywialnych zadań z jego administracji. Do ważnych należy kontrola usług
startowanych bezpośrednio po starcie jądra. Odpowiadające im skrypty startowe
leżą najczęściej w katalogu /etc/init.d, którego podkatalogi rcx.d x=1...6
odpowiadają różnym stanom pracy Systemu. Dokonując wpisu nowych plików, lub
wykreślając istniejące można sterować jakie usługi (procesy) zostaną
zastartowane.
Do administracji systemu należy przeglądanie plików w katalogu /var/log. Są tam
zapisane wszelkie błędy systemu.
10. Kompilacja jądra
10.1 Co to jest jądro systemu ?
Jądro (kernel) systemu Linux to podstawowa warstwa software-u oplatająca
hardware i oferujące najbardziej podstawowe funkcje, z których złożone są
wszelkie wyższe funkcjonalności, i na których bazują wszelkie inne programy. Te
podstawowe funkcje (tzw. system calls) to m.in.:
"przecztaj plik", "zapisz plik", "odszczep nowy proces", "zabij proces" i ok.
260 innych
Tylko tymi funkcjami można dotrzeć do hardware, jak dysk. W Linux-ie użytkownik
ma łatwą możliwość dowolnego dopasowania jądra do własnych potrzeb - całe
oprogramowanie jest otwarte do wglądu i do zmiany. Najczęściej będzie to
wkopilowanie w jądro sterowników do nowych urządzeń. W tym celu należy
zainstalować pakiet "kernel sources". Polecam oczywiście jądro SuSE, które jest
w drobny sposób dopasowane. Wtedy źródła systemu pojawią się w katalogu
/usr/src/linux.
10.2 Jak wygenerować nowe jądro ?
Odpalając w katalogu /usr/src/linux komendę:
make xconfig
Wygląda to tak .
otrzymujemy okno z przyciskami odpowiadającymi różnym opcjom, lub sterownikom
jądra. Wiele z nich można zapisać jako moduły ładowane dopiero przy potrzebie,
lub jako stałe elementy jądra ładowane przy starcie. Przy opuszczeniu xconfig
zmiany zostaną zapisane w źródłach i można je na nowo skompilować komendami:
make clean
make dep
make bzImage
make modules
make modules_install
Dwie pierwsze są ocjonalne. Następnie należy umieścić nowe jądro w katalogu
/boot i odpalić lilo:
cp /boot/vmlinuz /boot/vmlinuz.old
cp arch/i386/boot/bzImage /boot/vmlinuz
lilo
Pierwsza komenda służy oczywiście do pozostawienia kopii stergo, działającego
systemu i ma sens tylko raz.
10.3 Co zrobić kiedy jądro nie chce zastartować ?
Oczywiście ja wyłączyłem niepotrzebne opcje, przez co moje jądro jest lżejsze i
byćmoże szybsze. Istnieje jednak niebezpieczeństwo, że po usunięciu kluczowych
funkcji system nie będzie chciał w ogóle zastartować. Co wtedy zrobić ?
Musimy wtedy:
1. po wydruku w czasie startu domyśleć się czego zabrakło,
2. zastartować system np. z CD,
3. podmontować root filesystem udostępniając katalog /usr/src/linux,
4. wygenerować nowe jądro,
5. zapisać je w /boot
6. i odpalić lilo.
Najłatwiej jest jednak pozostawić stare, na pewno działające jądro jako
vmlinuz.old w katalogu /boot dodawszy odpowiednią sekcję do lilo.conf (zob.
rozdział 5.2)
11. Dodawanie Hardware-u, np. modemu
Jak można się domyśleć z rozdziału 10.1 obsługa urządzeń następuje w Linux-ie
przez operację zapisu, lub odczytu na odpowiadającym temu urządzeniu pliku. I
tak zapisując coś na pliku /dev/modem wysyłamy to na na modem, a pisząc na
/dev/lp0 drukujemy na drukarce, itd.
Pliki odpowiadające różnym urządzeniom zewnętrznym znajdują się w katalogu /dev.
Przypominam np. o nazwach partycji, lub o odczycie MBR z pierwszego dysku
(koniec rozdziału 5.2).
Ażeby dodać nowe urządzenie zewnętrzne należy:
1. wkompilować jego sterowanik w jądro, lub dodać go jako moduł
2. wygenerować odpowiadający mu plik /dev/cośtam
3. zastartować jeszcze raz system
W przypadku modemu podłączonego do pierwszego portu szeregowego jego plik
generuje skrypt "make devices" wykonujący wewnątrz komendę:
mknod nazwa-pliku type major-nr minor-nr
Odsyłam w tym miejscu do opisu komendy mknod. Nazwa pliku będzie u nas ttyS0,
typ character, czyli "c", a liczby major i minor odczytamy ze źródeł sterownika.
U nas wynoszą one 4 i 64, czyli:
cd /dev; mknod ttyS0 c 4 64
Aby obsługwać modem przez plik /dev/modem należy dodatkowo połączyć obie nazwy
komendą:
ln /dev/ttyS0 /dev/modem
12. Kilka komend
ls podaje listę plików w danym katalogu, a "ls -l" jej rozszerzoną postać z
podanymi prawami dostępu
bash to jedna z odmian tzw. shells czyli powłok oplatających jądro i oferujacych
interpretację komend w trybie tekstowym. Gdy listę komend zapiszemy w pliku
możemy je wykonać odpaleniem "sh plik".
cp "cp file1 file2" kopiuje plik1 do pliku2
df "df" pokazuje wolne miejsce na dysku
mount "mount /dev/plik katalog" utożsamia system plików zapisany na urządzeniu
odpowiadającym plikowi /dev/plik z katalogiem.
dd dd if=file1 of=file2 bs=size count=n kopiuje n sektorów wielkości size każdy
z pliku file1 do pliku file2
ps "ps" pokazuje listę procesów, warto przyjrzeć się rozszerzonej liście ps
-alx, lub programowi kpm
vi "vi" to stary wspaniały edytor pochodzący z czasów pierwszego UNIX-a.
umożliwia on edytowanie plików przy minimalnej liczbie naciśniętych przycisków
klawiatury. Z trybu pisania do trybu komend przełącza się przyciskiem Escape.
man "man komenda" pokazuje opis manualu poświęcony danej komendzie. Opisy te
warto czytać, bo są one podstawą do wszelkich dalszych opracowań dot. danej
komendy.
13. Jak doinstalować software z innego źródła
Warto pracować tylko z najnowszymi wersjami danego oprogramowania. Łatwo je
znaleźć np. w http://sourceforge.net. Oprogramowanie jest rozprowadzane w
postaci:
1. pakietów RPM lub
2. źródeł *.tar
W przypadku pakietów RPM mamy do czynienie z gotowymi kompilatami, które
instaluje się łatwo komendą:
rpm -ivH plik.rpm
W przypadku źródeł musimy je rozpakować komendą:
tar xvf plik.tar
poprzedzając to jeśli potrzeba (pliki *.gzip) rozkompresowaniem:
gunzip plik.gzip
Mając przed sobą źródła zaczynamy od lektury plików README, INSTALL, lub
podobnych opisów. Następnie po ustawieniu właściwych opcji kopilujemy źródła
komendą:
make
lub przy skrypcie configure w przypadku braku pliku Makefile odpalamy przedtem:
configure
który generuje Makefile potrzebny do następującego "make". Gotowe kompilaty
umieszczamy na swoich miejscach komendą:
make install
|