strona przystosowana do rozdzielczości 1024x768                                                                                                        POWRÓT DO STRONY FREESCO

KAWAŁEK DUŻEGO LINUX'A DLA MAŁEGO LINUX'A czyli partycja ext2 

Jak uczynić partycje systemu plików linux'owych dla naszego FreeSCO. 

Potrzebne materiały:

Maksymalna teoria:

Po co to komu:

Ja potrzebowałem dla squid'a czyli serwera proxy, który lepiej się czuje na takim systemie plików, ale można go wykorzystać dla utworzenia katalogów domowych dla user'ów, wtedy przy koncie shell'owym są linux'owe uprawnienia do plików i katalogów na takiej partycji. Ktoś powie że na FAT też są uprawnienia. A ściślej w przypadku FAT montowanego jako UMSDOS. Tak ale można je w prosty sposób obejść, na FATowej partycji jest wszystko zapisane w DOS'owych plikach. Inny jest też sposób "skanowania" takiej partycji, ale o tym później. Ważne też jest to, że pliki na ext2 praktycznie nie ulegają fragmentacji. Znaczną wadą ext2 jednak okropnie długie skanowanie przez e2fsck. Dla systemu rozdzielającego internet, oznacza to drastyczne zwolnienie serwowanych usług. Więc trzeba ostrożnie szafować wielkością partycji opartych na systemie plików ext2 

No to wio:

Po zainstalowaniu e2fsprogs uruchamiamy program fdisk (po resecie bez podawania ścieżki dostępu) i naszym oczom ukazuje się:

[LINUX] fdisk          (łotpalamy fdiska...ooo...zupełnie inny niż dosowo/windowsowy...czyli jednak świat istnieje poza dos/windos)
Command (m for help):p    (ujrzymy listę partycji, miejsce zajmowane, i będziemy wiedzieć gdzie naszą ext2 wcisnąć)
Command (m for help):n (nowa partycja rozszerzona (koniecznie!) czyli extended, podajemy rozmiary blokowo, znaczy w przybliżeniu megabajtowo)
Command (m for help):n (znowu "n" i pojawia się opcja tworzenia dysków logicznych na partycji rozszerzonej, logical od hda5 wzwyż)
Command (m for help):w (zapisujemy zmiany w tablicy partycji i wychodzimy) 

Teraz Ja uczyniłem reset, nie wiem czy dobrze czy źle, czy trzeba czy nie, ale dla wszelkiego spokoju uczyniłem.

Teraz zaś:

[LINUX] mke2fs /dev/hda5  (narzędzie do "formatowania" partycji ext2, hda5 to pierwszy dysk logiczny na partycji rozszerzonej)
[LINUX] mount /dev/hda5 /mnt/ext ("montujemy" czyli mówimy systemowi że może korzystać z takowej partycyji, podłączając go pod wcześniej stworzony katalog "/mnt/ext")

Po tych czynnościach w katalogu /mnt/ext powinien pojawić się podkatalog "lost+found", w nim składowane będą pliki "utracone" w wyniku uszkodzenia poprzez nieprawidłowe zamknięcie systemu i skanowanie programem e2fsck (to taki linuxowy scandisk). Program e2fsck dostaniemy w pakiecie e2fsprogs. Ja nazwałem ten katalog "ext" i umieściłem go na HDD (/mnt), ale można go utworzyć z dowolną nazwą, byle nie w RAMDISK'u. Do tworzenia katalogu i wszelkich operacji na plikach używam mc (midnight commander), jako że niezmiernie denerwuje mnie operowanie naplikach z linii poleceń. Zakładam też że większość z was go ma zainstalowanego.

Teraz w ramach gimnastyki przedkomputerowej głęboki ukłon w stronę Maćka z Polskiej Grupy FreeSCO za pomysł rc_ext2 (nie tylko ten ale też wiele innych)

Zautomatyzujmy proces montowania i skanowania partycji ext2:

Tworzymy plik np. rc_ext2, ja zrobiłem go kopiując inny plik z rc, jeżeli tworzysz go edytorem nie zapomnij nadać mu praw "wykonywalności"(755). I wzbogacamy go o zawartość (po uprzednim wykasowaniu, w przypadku kopiowania z innego pliku, wszystkiego):

#!/bin/sh
. /etc/system.cfg
. /etc/live.cfg
. /etc/chat.pwd
if [ "$1" = firewall ]; then (nie interesuje nas firewall, więc w tej sekcji nic nie ma)
exit; fi
if [ "$1" = stop -o "$1" = restart ]; then (restartować też raczej nie będziemy...)
exit; fi
echo -n "Montowanie partycji ext2 "
/mnt/router/packages/e2fsprogs/sbin/e2fsck -ycf /dev/hda5   (skanowanie partycji hda5 , ważne żeby wykonywać zawsze przed zamontowaniem takiej partycji do systemu)
mount  /dev/hda5 /mnt/ext   (montujemy pod katalog /mnt/ext)
$DONE

Taki plik umieszczamy w katalogu /rc/rcuser i mając atrybuty pliku wykonywalnego będzie się uruchamiał wraz ze startem systemu. ALE. Skanowanie partycji programem e2fsck trwa b. długo. U mnie dla squid'a stworzyłem partycję 180 MB i tak się skanuje bardzo długo po restarcie. Cytat z trzepak.freesco " Na serwerku celeron 266 i 32 ramu e2fsck -ycf skanuje przez dobre 5 minut jednogigową partycję". Co więc zrobić aby nie blokować systemu podczas skanowania ? Można skanować tylko po nie prawidłowym zamknięciu systemu (przykład na trzepak.freesco). Ale wiem z doświadczenia że czasem pomimo prawidłowego zamknięcia są pliki uszkodzone. Na moim serwerze wykorzystując partycję ext2 TYLKO dla squid'a i wiedząc że pliki z katalogu rcuser wykonywane są w kolejności alfabetycznej, nazwałem plik obsługi ext2 przy starcie rc_z_ext2. Jest więc na końcu wykonywany. Po nim jest tylko plik startujący kałamarnicę rc_z_squid. Proces skanowania e2fsck zajmuje procesor ok 80% (pentium 200 z 48MB RAM) i np. przeglądanie stron www zwalnia bardzo, ale wszystko co jest przed tym uruchomione działa.

UWAGA! szary tekst w nawiasach to komentarz !!!

plikologia:

e2fsprogs.sh e2fsprogs.tgz rc_ext2

źródła wiedzy:

PODZIĘKOWANIA dla Maćka, Olka i innych aktywnie pomagających na grupie dyskusyjnej  trzepak.freesco

--

Robert R czyli RaaDaaR