Sljedeći dio Prethodni dio Sadržaj

4. Rad s datotečnim sustavima, diskovima i pogonima pod Linuxom

4.1 Kako natjerati Linux da radi s mojim diskom?

Ako imate IDE ili EIDE disk, pročitajte datoteku /usr/src/linux/drivers/block/README.ide (dio izvornog koda Linux kernela). Taj README sadrži dosta natuknica o IDE diskovima. Mnogi suvremeni IDE kontroleri obavljaju prijevod između "fizičkih" i "logičkih" cilindara/glava/sektora.

SCSI diskovima pristupa se preko linearnih brojeva blokova. BIOS izmišlja nekakve "logičke" cilindre/glave/sektore kako bi podržao DOS.

IBM PC-kompatibilan BIOS obično neće moći pristupiti particijama koje se šire na više od 1024 logička cilindra, što će dizanje Linux kernela s takvih particija preko LILO-a učiniti u najboljem slučaju problematičnim.

Takve particije još uvijek možete koristiti za Linux ili druge operacijske sustave koji kontroleru pristupaju izravno.

Preporučeno je napraviti barem jednu Linux particiju potpuno ispod granice od 1024 logička cilindra i dizati ga s nje. Tada će druge particije biti u redu.

Izgleda da također postoje neki problemi s novijim Ultra-DMA diskovima. Nisam ih još dobro pregledao, no postaju vrlo čest problem na SVLUG-ovim instal-feštama. Nije ni čudo kada disk od 8 do 12 gigabajta možete dobiti za 200 ili 300 dolara.

[Jim Dennis]

4.2 Kako vratiti obrisane datoteke?

Općenito, to je na Unixima vrlo teško izvesti zbog njihove višezadaćnosti. Radi se na mogućnosti vraćanja obrisanoga pod ext2fsom, ali ne očekujte previše.

Postoji više paketa koji umjesto toga pružaju nove naredbe za brisanje i kopiranje koje obrisane datoteke stavljaju u direktorij ``koš za smeće''. Datoteke se mogu spasiti dok se automatski ne obrišu u pozadini.

A možete i pretražiti uređaj diska koji sadrži datotečni sustav u pitanju. Postupak je složen i morate biti logirani kao root. Ali je moguć. Na uređaju diska izvršite grep; tj.:

grep -b 'bilješke' /dev/hda
Ako podaci nisu prebrisani, trebali biste ih moći vratiti tekstualnim editorom.

[Dave Cinege]

4.3 Kako promjeniti veličinu particije (bez brisanja)?

Koristite program FIPS.EXE za MS-DOS, uključen u većini distribucija Linuxa.

4.4 Postoji li program za defragmentiranje ext2fs-a itd.?

Da. Postoji defrag, program za defragmentiranje ext2fs, Minix i starih ext datotečnih sustava pod Linuxom. Možete ga naći na ftp://sunsite.unc.edu/pub/Linux/system/filesystems/defrag-0.70.tar.gz.

Korisnici datotečnog sustava ext2 vjerojatno mogu i bez defraga jer ext2fs ima dodatni kod kako bi se fragmentacija u vrlo zauzetim datotečnim sustavima smanjila.

4.5 Kako formatirati i napraviti datotečni sustav na disketi?

Za formatiranje 3.5 inčne, high density diskete:

fdformat /dev/fd0H1440
mkfs -t ext2 -m 0 /dev/fd0H1440 1440

Za 5.25 inčnu disketu na odgovarajućim mjestima koristite fd0h1200 i 1200. Za "B" pogon koristite fd1 umjesto fd0.

Opcija -m 0 mkfs.ext2 kaže da ne čuva prostor na disku za nadkorisnika -- obično se zadnjih 10% rezervira za roota.

Prva naredba obavlja formatiranje na niskom nivou. Druga stvara prazan datotečni sustav. Disketu možete montirati kao i particiju na tvrdom disku i jednostavno cp-ati i mv-ati datoteke, itd.

Konvencije za imenovanje uređaja općenito su jednake kao i na drugim Unixima. Mogu se naći u Installation and Getting Started Guide Matta Welsha. (Pogledajte Gdje da nabavim HOWTO-e i drugu dokumentaciju?.) Detaljniji i tehničkiji opis nalazi se u Linux Allocated Devices H. Petera Anvina, hpa@zytor.com, koji je u LaTeX i ASCII obliku uključen u distribuciju izvornog koda kernela (vjerojatno u /usr/src/linux/Documentation) kao devices.tex i devices.txt.

4.6 Dobivam grde poruke o inodeovima, blokovima i sličnim stvarima.

Možda imate greške na datotečnom sustavu, vjerojatno uzrokovane nepravilnim spuštanjem Linuxa prije gašenja računala ili resetiranja. Za to vam je potreban noviji shutdown program -- na primjer onaj uključen u paket util-linux, dostupan na sunsite-u i tsx-11.

Ako imate sreće, program fsck (ili e2fsck ili xfsck već prema vrsti ako nemate automatsko fsck sučelje) će popraviti vaš datotečni sustav; ako ne, datotečni sustav je pokojan i morat ćete ga ponovo pripremiti pomoću mkfsa (ili mke2fsa, mkxfsa, itd.) i datoteke vratiti s rezervnih kopija.

NAPOMENA: ne pokušavajte provjeriti datotečni sustav koji je montiran za čitanje i pisanje -- to vrijedi i za root particiju ako pri dizanju niste vidjeli

   VFS: mounted root ... read-only

4.7 Moj swap ne radi.

Pri dizanju sustava (odnosno kad ručno uključite swap) trebali bi vidjeti

        Adding Swap: NNNNk swap-space
Ako uopće ne dobijete poruku, vjerojatno vam nedostaje swapon -av (naredba koja uključuje swap) u /etc/rc.local odnosno /etc/rc.d/* (skripte za dizanje sustava), ili ste zaboravili dodati zapis u /etc/fstab, na primjer:
        /dev/hda2       none       swap       sw

Ako vidite

        Unable to find swap-space signature
zaboravili ste pokrenuti mkswap. Za detalje pogledajte man stranicu; radi prilično slično mkfs-u.

free bi, uz slobodnu memoriju, trebao prikazati:

             total       used       free
Swap:        10188       2960       7228

[Andy Jefferson]

Za detaljne upute o pripremi swap područja pogledajte Instalacija KAKO.

4.8 Kako maknuti LILO da se opet diže DOS?

Koristeći DOS (MS-DOS 5.0 ili noviji, ili OS/2), napišite FDISK /MBR (što nije dokumentirano). To će vratiti standardni MS-DOS MBR. Ako imate DR-DOS 6.0, normalno uđite u FDISK i zatim odaberite opciju Re-write Master Boot Record.

Ako nemate MS-DOS ili DR-DOS treba vam boot sektor kojeg je LILO snimio kad ste ga instalirali. Sačuvali ste ga, zar ne? Vjerojatno se zove boot.0301 ili nešto slično. Napišite

dd if=boot.0301 of=/dev/hda bs=445 count=1
(odnosno /dev/sda ako koristite SCSI disk). Budite pažljivi jer to vam može obrisati i particijsku tabelu! Ako ste očajni, možete koristiti
dd if=/dev/zero of=/dev/hda bs=512 count=1
To će potpuno obrisati particijsku tabelu i boot sektor: zatim možete svojim omiljenim programom ponovo formatirati disk. Ali to će sadržaj vašeg diska ostaviti nedostupnim -- izgubit ćete sve ako niste stručnjak.

Primjetite da DOS MBR diže (jednu!) particiju koja je označena kao aktivna. Možda će vam trebati fdisk za postavljanje i micanje oznaka aktivnosti na odgovarajućim particijama.

4.9 Zašto ne mogu koristiti fdformat osim kao root?

Poziv sustava za formatiranje diskete smije koristiti samo root, bez obzira na dozvole /dev/fd0*. Ako želite da bilo koji program može formatirati disketu, nabavite program fdformat2. On zaobilazi problem pošto je set-uid na roota.

4.10 Moje ext2fs particije provjeravaju se kod svakog dizanja sustava.

Pogledajte EXT2-fs warning: mounting unchecked filesystem..

4.11 Ne mogu pisati na svoj root datotečni sustav!

Ponovo ga montirajte. Ako je /etc/fstab točan, jednostavno napišite mount -n -o remount /. Ako je /etc/fstab pogrešan, morate zadati ime uređaja te možda i vrstu: dakle, mount -n -o remount -t ext2 /dev/hda2 /. Kako bi razumjeli kako ste došli u takvo stanje, pogledajte EXT2-fs warning: mounting unchecked filesystem..

4.12 Imam ogroman /proc/kcore! Mogu li ga obrisati?

Nijedna od datoteka u /proc zapravo ne postoji -- sve ih je ``izmislio'' kernel kako bi vam pružio informacije o sustavu ne zauzimajući pritom prostor na tvrdom disku.

/proc/kcore je drugo ime za memoriju u vašem računalu; veličina mu je jednaka veličini vašeg RAM-a, a ako ga počnete čitati kao datoteku, kernel će čitati memoriju.

4.13 Moj AHA1542C ne radi s Linuxom.

Opcija koja omogućava diskove s više od 1024 cilindra potrebna je samo kao zaobilazno rješenje za nesposobnost PC kompatibilnih BIOS-a i trebalo bi je ugasiti pod Linuxom. Za starije Linux kernele treba ugasiti većinu ``naprednih'' BIOS opcija -- sve osim one o pretraživanju sabirnice za uređaje s kojih se sustav može dići.


Sljedeći dio Prethodni dio Sadržaj