1.
|
Sissejuhatus |
2.
|
Floppy kettad |
3.
|
CD-ROM |
4.
|
Kõvaketas |
5.
|
Image File |
6.
|
Suured kataloogid eraldi partitsioonidele |
7.
|
etcfstab |
Õigupoolest peaks sellest asjast kõnelema failisüsteemi
teema juures, aga kuivõrd see on oluline ja praktiline asi, siis
ei ole ehk tähelepanu pööramine liiast. Nagu teada asuvad
Linux'i puhul kõik failid ühtses kataloogipuus (aga nt. MS
Windows'ites kasutatakse partitsioonide tähistamiseks nn. kettatähti:
A, B on pehmeketta seadmed ja C, D, E ... Z - kõvaketaste partitsioonid).
Linuxi puhul on tähelepanuväärne see, et ta suudab lugeda
ja kirjutada peale enda Second Extended (ext2) failisüsteemi ka paljusid
teisi levinud failisüsteeme (mh. FAT pikkade ja lühikeste nimedega,
OS2 HPFS, minix). Et see tõesti nii oleks on vaja vastavad asjad
kernelisse sisse või mooduliteks kompileerida. Soovitavalt mooduliteks.
Muuseas, moodulid asuvad kataloogis /lib/modules/... ja kui seal on nt.
fail vfat.o, siis on tõenäoliselt võimalik lugeda kirjutada
W95 partitsiooni. Seda kas moodul on kasutusel saab näha käsuga
lsmod; ja kui ei ole kasutusel, siis aitab käsk modprobe vfat. Jne.
Linux käsitleb pehme- ja kõvakettaid kaunis võrdväärsete
seadmetena. Vähemalt selles mõttes, et enne floppy ketta seadmesse
panekut ja peale väljavõtmist tuleb täita samad
käsud,et mis kõvaketta juurde ja tagant ühendamisel.
Toome kohe ära sammud mida tuleb läbida selleks et infokandjale
kirjutada/lugeda alustades algusest.
(Konkreetsed näited puutuvad floppy ketast)
1. Seade (CD-ROM, HDD, Floppy) tuleb füüsiliselt arvutisse
ühendada
2. Vajadusel sisestage sinna infokandja (floppy, cdrom)
3. Vajaduse formaatige (low-level)
floppy ketas: fdformat /dev/fd0
kõvaketas
: CMOS SETUP'ist või veel parem tehases
cdrom
: read - only medium
4. kontrollige kas seadmel on bad block'e:
bash# badblocks -v /dev/fd0
5. teke kettale fsck:
bash# fsck /dev/fd0
4. Vajadusel looge failisüsteem
kõvaketta ja floppy peale nii:
süsteemi tüüp
käsk
ext2
mke2fs /dev/fd0
ext2
mke2fs /dev/hda1
msdos
mkdosfs - " - (praktiliselt soovitatakse teha vastav
partitsioon ja failisüsteem dos'i enda fdiski ja format'iga)
5. Looge mount point ehk kataloog kuhu alla seadme failisüsteem läheb
kõigi seadmete puhul
mkdir /soovitud_nimi
nt.
mkdir /a
mkdir /floppy
mkdir /hda2_ext
mkdir /hda3_msdos
mkdir /hda4_vfat
6. Mount'ime seadme külge:
vastavalt mountitavale süsteemile tuleb teist parameetrit muuta:
failisüsteem käsk
ext2 (linux)
mount -t ext2
/dev/fd0 /floppy
iso9660 (cdrom)
iso9660 /dev/hda2
/hda2_ext2
msdos (lühikesed nimed)
msdos
/dev/hda3 /hda3_msdos
vfat (pikad nimed)
vfat
/dev/hda4 /hda4_vfat
image failid
vfat -o loop /img.fail
/a
7. Toimetame oma asjad failidega
8. Umount'ime seadme:
umount /dev/fd0
9. Alles nüüd võib floppy või cd -rom'i plaadi välja võtta
Allpool on toodud erinevate seadmete puhul olulisi tähelepanekuid.
Floppy'de peale tehakse tavaliselt kas vfat, msdos, ext2 või ei tehtagi failisüsteemi. Viimasel juhul kantakse info sinna/sealt:
dd if=/bare.i
of=/dev/fd0
dd if=/dev/fd0
of=/disk.image.144
Need mainitud failisüsteemid peavad olema kernelis või moodulitena olemas
modprobe vfat
modprobe msdos
Allpool on näiatud kuidas image faile mountida.
CD-ROM'i dele kirjutatakse tavaliselt iso9660 failisüsteem. Ja seadmed ise on nn. IDE-ATAPI tüüpi. Et nendega tegelda tuleb vastav asi kernelisse kompileerida ja moodul vajadusel laadida 'modprob iso9660'
Füüsiliselt on vahest vaja seade ka arvutile külge ühendada
Samasugune on lugu ka kõvaketta partitsioonidega:
Lülitage arvutil vool välja, ühendage kõvaketas juurde, vajadusel paigutage jumpereid ümber ja detectige CMOS SETUP'ist uus vint ära. Seejärel bootige linux üles ja samad sammud nagu floppy puhul.
CDROM -iga on sama asi: kui CD peab enne mountimist sees olema ja seda
ei tohi välja võtta enne umount'i.
Kõvaketta partitsioonide mountimine toimub sarnaselt eeltoodutele. Kõvakettaga tegelemisel on linuxi puhul tänuväärne see, et isegi partitsioonide ja failisüsteemide muutmisel ei pea arvutit rebootima nagu, praegu ei tule keelele, aga on üks teine OS.
Külla aga saab badblocks'iga kontrollida bad blocke. Ja vee on üks abiks programm:
bash# fuser -v -m /dev/hda6
USER PID ACCESS COMMAND
/dev/hda6
root 1 .rce. init
root 9 .rce. update
root 10 frce. kerneld
root 30 frce. kerneld
root 65 .rce. klogd
root 66 frce. syslogd
root 68 frce. rpc.portmap
root 70 frce. inetd
root 72 .rce. rpc.mountd
root 74 .rce. rpc.nfsd
root 76 frce. crond
root 82 frce. sendmail
root 89 frce. bash
root 90 frce. agetty
root 91 frce. agetty
root 92 frce. agetty
root 93 frce. agetty
root 94 frce. agetty
Teadupärast annavad käsub umount ja mount vahet busy veateate - siit on aga näha mis seis on.
Ning käsk fsck (file system check) võimaldab kontrollida failisüsteemi korrasolekut. NB! enne tuleb failisüsteem umount'ida.
bash# fsck /dev/hda8
Parallelizing fsck version
1.10 (24-Apr-97)
e2fsck 1.10, 24-Apr-97 for
EXT2 FS 0.5b, 95/08/09
/dev/hda8 is mounted.
Do you really want to continue (y/n)? no
check aborted.
bash# umount /dev/hda8
bash# fsck /dev/hda8
Parallelizing fsck version
1.10 (24-Apr-97)
e2fsck 1.10, 24-Apr-97 for
EXT2 FS 0.5b, 95/08/09
/dev/hda8: clean, 5358/665840
files, 605366/665248 blocks
bash#
5. Image file
See on tõeliselt 'weird'- linux võimaldab mountida image
file. Toome näite floppy kohta:
1. teeme /dev/fd0 -s olevat vfat failisüsteemiga floppyst image faili (floppy ei pruugi olla mountitud)
selleks on kolm võimalust, kasutage vaid ühte!
bash# cat /dev/fd0 > /img.144
bash# dd if=/dev/fd0 of=/img.144
bash# cp /dev/fd0 /img.144
2. veenudme, et kernelis on loobback sees (mitte see mis puutub
network'i :)
make menuconfig; Floppy, IDE and other block devices -> Loopback
device support
vajadusel modprobe loop
3. mountime image faili /a alla
bash# mount -t vfat -o loop
/img.144 /a
mount: Could not find any loop
device, and, according to /proc/devices,
this kernel does not know about the loop device.
(If so, then recompile or `insmod loop.o'.)
bash# modprobe loop
bash# mount -t vfat -o loop
/img.144 /a
bash# df
Filesystem
1024-blocks Used Available Capacity Mounted on
/dev/hda6
991000 895730 44066 95%
/
/dev/hda2
1023856 996400 27456 97%
/nt.40
/dev/hda5
310264 292016 18248 94%
/os2
/img.144
1423 1111 312
78% /a
Ja töö lõpetamisel umount!
6. Suured kataloogid eraldi partitsioonidel
Niisiis oletame, et meil on kaks kõvaketast partitsioonidega:
/dev/hda1 - swap, 96 M
/dev/hda2 - root, 600 M
/dev/hda3 - /home, kasutajate kodukataloogid, 2 000 M
/dev/hdb1 - /usr kataloogi alla jäävad failid 1200 M
Selgitused:
swap on arvuti nö. mälu pikendus ja seda kasutab ta 'iseenesest' peale inistsialiseerimist rc scriptides:
mkwap /dev/hda1
swapon /dev/hda1
root on see partitsioon kus asub kernel /vmlinuz ja enamus juurika kataloogidest (/etc, /bin, /root, /dev)
Tavaliselt on nii, et kasutajate kodukataloogid moodustavad küllalt suure struktuuri ja süsteemi uuendamisel või ümbersättimisel on mugavam, kui see asub kas füüsiliselt erineval kettal või vähemalt eraldi partitsioonil mida on nii kergem backup'pida.
Toodud näite olukorra kohta öeldakse, et hda3 on mount'itud
juurika /home kataloogiks. Seda tehakse praktiliselt nii:
1. luuakse juurikale tühi /home kataloog:
(Tõsi, tavaliselt on ta sel olemas, sel juhul tuleks tema sisu kopeerida teise nime alla: ) |
mkdir /home
(mv /home /home_old; mkdir /home) |
2. Mountime tühja failisüsteemiga partitsiooni
/dev/hda3 -e /home -ks |
mount -t ext2 /dev/hda3 /home |
3. Vajadusel liigutame vana tagasi: | mv /home_old /home |
Sarnaselt on toimitud /usr kataloogiga.
See on fail kus on kirjas millised kataloogid mountida külge süsteemi bootimisel; tüüpiliselt näeb see fail välja selline:
/dev/hda7
swap swap
defaults
0 0
/dev/hda6
/ ext2
defaults,usrquota
0 1
/dev/hda2
/nt.40 vfat
defaults
0 2
/dev/hda5
/os2 vfat
defaults
0 2
/dev/hda8
/hda8 ext2
defaults
0 2
/dev/fd0
/floppy ext2
noauto
0 0
/dev/fd0
/a vfat
noauto
0 0
/dev/hdd
/cdrom iso9660 ro,noauto
0 0
none
/proc proc
defaults
0 0
laura:/
/fromlaura nfs noauto,rsize=8192,wsize=8192,timeo=14,intr
0 0
Selgitused:
tulp
1: seade kus füüsiliselt mountitav asi
asub
2: kataloog kuhu seade läheb
3: failisüsteem
4: nn. optionid
5: dump info
6: fsck info
optionid:
defaults on defaults
noauto tähendab, et failisüsteemi ei laeta kohe külge
aga hiljem piisab anda nt vfat floppy jaoks käsk: mount /a
ro on 'read only'
usrquota näitab, et seadet kontrollib quota
eelviimane tulp:
soovitatakse panna tavaliselt 0, seda väärtust kasutab program dumpe2fs oma salapärastel eesmärkidel
viimane tulp:
root'il soovitatakse panna 1
teistel 2
need arvud näitavad check'imise järjekorda bootimisel omal
moel. Kui panna 0 siis fsck ei pööra talle tähelepanu.
Muide, fstab-i failisüsteemid laadib /etc/rc.d/rc.S -i rida
/sbin/mount -avt nonfs