Če je vaš disk IDE ali EIDE, si preberite datoteko
/usr/src/linux/drivers/block/README.ide
(zajeta je v izvirno
kodo jedra Linuxa), ki obsega številne uporabne nasvete o diskih
IDE. Številni sodobni krmilniki IDE delajo preslikavo med
,,fizičnimi`` in ,,logičnimi`` cilindri/glavami/sektorji.
Do diskov SCSI imate dostop z linearnimi bločnimi številkami. BIOS si izmisli nekaj ,,logičnih`` podatkov o cilindrih/glavah/sektorjih, da lahko disk deluje v sistemu DOS.
Starejši BIOS, združljiv z IBM PC, navadno ne bo mogel do razdelkov, večjih od 1024 logičnih cilindrov, in bo v najboljšem primeru povzročil, da bo zaganjanje Linuxa s programom LILO na takih razdelkih problematično.
Vseeno lahko take razdelke uporabite v Linuxu ali kakem drugem operacijskem sistemu, ki imajo neposreden dostop do krmilnika.
Priporočeno je narediti vsaj en razdelek za Linux v celoti pod omejitvijo 1024 cilindrov in zaganjati sistem z njega. Drugi razdelki bodo potem delovali v redu.
Videti je, da je nekaj težav tudi z novejšimi pogoni Ultra-DMA. Podrobnosti ne vem, a postajajo zelo pogost problem na namestitvenih prireditvah, ki jih prireja skupina SVLUG. Nič čudnega, če lahko dobite od 8 do 12 GB pogone po 200 ali 300 dolarjev.
[Jim Dennis]
Na splošno je to zelo težko storiti v kateremkoli Unixu zaradi njihove večopravilne narave. Nekateri sicer razvijajo odbrisanje datotek na datotečnem sistemu ext2fs, a ne veselite se prezgodaj.
Na voljo je nekaj programskih paketov, ki namestijo nove ukaze za brisanje in kopiranje. Z novimi ukazi se zbrisana datoteka prenese v poseben imenik -- ,,koš za smeti``. Od tam jo lahko vrnete, dokler se koš samodejno ne izprazni (s procesom, ki teče v ozadju).
Upravljalnik datotek Midnight Commander ponuja možnost odbrisanja (angl. undelete), ki uporablja funkcije iz knjižnice datotečnega sistema ext2 in imenik za odbrisane datoteke za vsak datotečni sistem. Komercialni distribucijski paketi MV lahko imajo to možnost vklopljeno ali pa tudi ne, zato zagotovo preverite distribucijo izvirne kode za navodila, kako omogočiti možnost odbrisanja datotek.
Namesto tega lahko preiskujete surovo diskovno napravo (raw disk
device), na kateri je problematični datotečni sistem. To je težko delo.
Za kaj takega morate biti izkušen uporabnik in povrhu še
root
. Vendar je to mogoče. Poženite grep
na surovi
diskovni napravi, denimo:
grep -b 'bookmarks' /dev/hdaČe podatki niso bili prepisani, bi jih morali biti sposobni obnoviti z urejevalnikom besedil.
[Dave Cinege, Daniel Novotny]
Kopijo hierarhije imenikov ali popolnega datotečnega sistema na
katerikoli nosilec lahko naredite s programoma GNU tar
ali
cpio
, standardnima pripomočkoma Unixa za te namene. Trenutno
se zdi Tar več uporabljen, obsega pa tudi izbire v ukazni vrstici
za izdelavo stisnjenih, inkrementalnih rezervnih kopij ter kopij z več
nosilci. Dokumentacija v obliki GNU Texinfo obsega vse informacije.
Na Usenetu precej omenjajo tudi prosti program Amanda, katerega spletna stran je na naslovu http://www.amanda.org/.
Na voljo je tudi več komercialnih pripomočkov za izdelavo rezervnih kopij. Pogosto so zajeti v komercialne distribucije.
V MS-DOS uporabite program FIPS.EXE
, zajet v večino
distribucij Linuxa.
Urejevalnik razdelkov GNU parted
je dovolj stabilen, da ga
navadni, negurujski smrtniki uporabljajo razmeroma zaupljivo.
Izvirna koda za zadnjo različico je na
ftp://ftp.gnu.org/pub/gnu/parted/. Na voljo je tudi slika zagonske
diskete za spreminjanje velikosti korenskih razdelkov ali za
poganjanje parted
v strojih brez Linuxa. Disketa s sliko je
lahko preprostejša za začetnike. Gradnja iz izvirne kode lahko
zahteva nekaj dodatnih nastavitev.
Parted ima tudi dokumentacijo za datotečne sisteme za Linux in FAT (MS-DOS) v navadnem besedilnem formatu.
Nekaterim komercialnim distribucijam so priloženi tudi njihovi posebni programi za spreminjanje velikosti razdelkov, kot je Partition Magic.
Da. Na voljo je program defrag
, defragmentator za datotečna sistema
ext2 in minix za Linux in za starejši datotečni sistem vrste ext.
Dostopen je na
ftp://metalab.unc.edu/pub/Linux/system/filesystems/defrag-0.70.tar.gz.
Uporabniki datotečnega sistema ext2 lahko verjetno shajajo tudi brez
defrag
a, saj ima ext2 dodatno kodo, ki preprečuje
fragmentiranje tudi na zelo zasedenih diskih.
Če poganjate novejše namizje Gnome ali KDE, imate orodje z grafičnim uporabniškim vmesnikom, ki vam omogoča preprosto formatiranje disket.
Navadno 3,5-palčno disketo velike gostote v ukazni vrstici formatirate takole:
$ fdformat /dev/fd0H1440 $ mkfs -t ext2 -m 0 /dev/fd0H1440 1440
Za diskete velikosti 5,25 palca uporabite fd0h1200
in
1200
namesto 1440
. Če je disketa v pogonu ,,B``,
pišite fd1
namesto fd0
.
Izbira ,,-m 0
`` ukaže programu mkfs.ext2
, naj ne
rezervira prostora na disku za superuporabnika -- navadno je zadnjih
10% rezerviranih za root
a.
Prvi ukaz izvede nizkonivojsko formatiranje. Drugi ukaz ustvari
prazen datotečni sistem. Disketo lahko priklopite podobno kakor razdelek
diska in preprosto kopirate/premikate datoteke s cp
, mv
ipd.
Pravila za imenovanje naprav so na splošno enaka v vseh Unixih. Najdete
jih v vodniku Matta Welsha Namestitev in začetek dela z
Linuxom. (Glej poglavje
Kje je dokumentacija?.)
Podrobnejši in bolj strokoven opis je v dokumentu Linux Allocated
Devices avtorja H. Petra Anvina, <hpa@zytor.com>. Ta spis
je na voljo v obliki za LaTeX in ASCII v distribuciji izvirne kode
jedra (verjetno v imeniku /usr/src/kernel/Documentation
) kot
devices.tex
in devices.txt
.
Novejša jedra Linuxa podpirajo programski RAID in bodo delovala z diskovnimi krmilniki RAID.
Samodejni priklapljalnik (angl. automounter) za razdelke NFS je del večine distribucij Linuxa.
Poleg tega je še veliko projektov, povezanih z navideznimi datotečnimi sistemi. Eden izmed njih, Linux Logical Volume Manager, je na http://linux.msede.com/lvm/.
Da. Eden teh datotečnih sistemov, ppdd, se arhivira na http://pweb.de.uu.net/flexsys.mtk/.
Morda imate pokvarjen datotečni sistem, najbrž zato, ker niste
pravilno pripravili Linuxa na izklop (z ukazom shutdown
),
preden ste izklopili ali vnovič zagnali računalnik. Najnovejši program
shutdown
dobite na primer v paketu util-linux
, ki je
arhiviran na sunsite in tsx-11.
Če imate srečo, bo program fsck
(ali e2fsck
ali
xfsck
, kakor se pač že imenuje, če nimate samodejnega
fsck
-ja), lahko popravil vaš datotečni sistem. Če nimate
sreče, je datotečni sistem uničen in ga boste morali reinicializirati
s programom mkfs
(ali mke2fs
ali mkxfs
itd.) in prepisati podatke z varnostnih kopij.
NB: Ne poskusite preverjati datotečnega sistema, ki je priklopljen v načinu za branje/pisanje -- to se nanaša tudi na korenski razdelek, če ob zagonu ne vidite napisa
VFS: mounted root ... read-only
Ko zaganjate računalnik (ali ročno vključujete izmenjevalno področje, angl. swap), morate videti sporočilo
Adding Swap: NNNNk swap-space
Če sploh ne vidite nobenega sporočila, vam verjetno manjka ukaz
(ukaz, ki vključi izmenjevalno funkcijo) v datotekiswapon -av
/etc/rc.local
ali /etc/rc.d/*
(sistemski štartni
skripti), ali ste pozabili vpisati prave podatke v
/etc/fstab
, na primer:
/dev/hda2 none swap sw
Lahko se vam prikaže sporočilo
Unable to find swap-space signature
To pomeni, da ste pozabili pognati mkswap
. Podrobnosti si
oglejte na man mkswap
; deluje zelo podobno kakor mkfs
.
Ukaz free
poleg količine prostega pomnilnika izpiše tudi:
total used free Swap: 10188 2960 7228
Če ukaz cat /proc/swaps
razkrije le ime datotek ali
razdelkov, ne pa tudi podatka o izmenjevalnem prostoru, potrebuje
izmenjevalna datoteka ali razdelek vnovično inicializacijo.
Uporabite fdisk
(kot root
), da ugotovite, kateri
razdelek diska je bil določen za izmenjevalni razdelek. Razdelek je
treba še vedno inicializirati z mkswap
, preden ga omogočite s
swapon
.
[Andy Jefferson, Steve Withers]
Poleg izmenjevalnega razdelka lahko Linux uporablja tudi izmenjevalno datoteko. Nekateri programi, kot g++, lahko uporabljajo velikanske količine navideznega pomnilnika, kar zahteva začasno stvaritev dodatnega prostora. Če želite, denimo, namestiti dodatnih 64 MB izmenjevalnega prostora, uporabite naslednje lupinske ukaze:
Argument# dd if=/dev/zero of=/swap bs=1024 count=65535 # mkswap /swap # swapon /swap
count=
ukaza dd
določa, kako velika naj bo
izmenjevalna datoteka. V tem primeru je ime izmenjevalne datoteke
/swap
, vendar lahko ime in mesto na splošno določate
poljubno, glede na dostopni prostor v vašem datotečnem sistemu in
pravico pisanja v določeni imenik.
Ko izmenjevalnega prostora ne potrebujete več, ga lahko odstranite z naslednjima ukazoma:
Za podrobna navodila glej tudi Installation HOWTO ter Namestitev in začetek dela z Linuxom.# swapoff /swap # rm /swap
Če po tem še vedno ne boste imeli dovolj izmenjevalnega prostora, si oglejte Kako lahko uporabim več kot 128 MB izmenjevalnega prostora?.
Program lilo
(ne celotni paket LILO) uporablja izbiro
-u
v ukazni vrstici za odmestitev zagonskega nalagalnika
LILO. Podati morate tudi ime naprave, v katero ste namestili LILO, na
primer:
To na disk zapiše izvirni glavni zagonski sektor, kakršen je bil pred uporabo paketa LILO. Najde ga v datotekililo -u /dev/hda
/boot/boot.0300
.
Če ste LILO namestili na razdelek kot sekundarni zagonski nalagalnik,
denimo na /dev/hda1
, lilo
znova namesti izvirni
zagonski sektor iz datoteke /boot/boot.0301
. Podrobnosti
si oglejte na strani referenčnega priročnika o lilo
. Hvala Villyju
Kruseju, da me je spomnil, naj osvežim ta odgovor.
Če imate zgodnjo različico paketa LILO, boste morali uporabiti
nedokumentirani dosovski (MS-DOS 5.0 ali poznejši, ali OS/2) ukaz
FDISK /MBR
. To bo obnovilo standardni glavni dosovski
zagonski zapis (angl. Master Boot Record). Če imate DR-DOS 6.0,
pojdite v FDISK
po običajni poti in potem izberite izbiro za
prepis glavnega zagonskega zapisa (,,Re-write Master Boot Record``).
Če naredite zagonsko disketo z namestitvenim procesom v Windows,
preverite, ali so na njej programi FDISK.EXE
, FORMAT.COM
in SYS.COM
, in uporabite to, da znova namestite MS-DOS na
disk.
Če nimate MS-DOS ali DR-DOS, morate uporabiti zagonski sektor, ki
ga je LILO shranil, ko ste ga prvič namestili. Saj ste shranili to
datoteko, kajne? Verjetno se imenuje boot.0301
ali kaj
podobnega. Napišite
(alidd if=boot.0301 of=/dev/hda bs=445 count=1
/dev/sda
, če uporabljate disk SCSI). To lahko zbriše
tudi vašo razdelitveno tabelo, zato pozor! Če ste obupani,
lahko uporabite
dd if=/dev/zero of=/dev/hda bs=512 count=1
To bo povsem zbrisalo vašo razdelitveno tabelo in zagonski sektor; potem lahko še enkrat formatirate disk z vašim priljubljenim programom. Toda to bo naredilo tudi vsebino vašega diska nedostopno -- če niste strokovnjak, boste izgubili vse podatke.
Upoštevajte, da dosovski MBR zažene tisti (in le tisti!) razdelek, ki je
označen kot delujoč. Morda boste morali uporabiti
fdisk
za prižiganje in ugašanje zastavic dejavnosti na vaših
razdelkih. (Prevajalčeva opomba: Uporabite fdisk
, da
boste povsem prepričani, ali je dosovski razdelek res delujoč, preden
storite karkoli iz tega poglavja. Zgodilo se mi je že, da je bil
razdelek z Linuxom delujoč, LILO odstranjen iz MBR, računalnik pa ni
zagnal nobenega sistema.)
fdformat
zahteva pravice naduporabnika?
Sistemske klice za formatiranje diskete lahko izvedete le kot root, ne
glede na morebitna drugačna dovoljenja za naprave /dev/fd0*
.
Če želite, da bo katerikoli uporabnik lahko formatiral disketo,
poskusite dobiti program fdformat2
. Ta se izogne omejitvam
tako, da teče s setuid
kot root.
Glej razdelek EXT2-fs: warning: mounting unchecked filesystem..
Če vas zanima, kako ste zašli v trenutno stanje, si preberite razdelek EXT2-fs: warning: mounting unchecked filesystem..
Še enkrat priklopite korenski datotečni sistem. Če je datoteka
/etc/fstab
pravilna, preprosto priklopite takole:
mount -n -o remount /
Če je /etc/fstab
napačna, morate podati ime naprave in
verjetno tudi vrsto, npr.:
mount -n -o remount -t ext2 /dev/hda2 /
/proc/kcore
?
V resnici nobena od datotek v imeniku /proc
ne počiva v njem
-- to so le ,,navidezne`` datoteke, ki jih naredi jedro, da vam da
informacijo o sistemu. Zato tudi nobena od tamkajšnjih datotek ne
zaseda prostora na disku.
/proc/kcore
je ,,vzdevek`` pomnilnika v vašem računalniku.
Velikost te datoteke je enaka velikosti vašega RAM in če jo
berete kot datoteko, bere jedro vsebino pomnilnika.
Izbira v biosu za dovolitev diskov z več kot 1024 cilindri je potrebna le za odpravo pomanjkljivosti biosa, združljivega s PC, in mora biti v Linuxu izklopljena. Starejša jedra Linuxa morajo imeti izklopljene vse izbire ,,naprednega biosa`` -- vse, razen tiste o pregledovanju vodila za zaganjalne naprave (bus scanning for bootable devices).
Linux pravzaprav podpira več dnevniških datotečnih sistemov; ext3 je zdaj del trenutnega jedra 2.4.x.
Datotečni sistem z dnevniki (angl. journalling file system), imenovan ,,Reiserfs``, so pravkar dali na preizkušanje. Pravijo, da naredi Linux celo hitrejši od Linuxa z nameščenim datotečnim sistemom Ext2, še posebej, če delate s številnimi malimi datotekami.
Popolni podatki so dostopni prek http://devlinux.org/namesys/.
JFS še vedno razvijajo.