SWAP partition pl 3 (2)


SWAP dla Linuxa i w95 mini-HOWTO: Sedno sprawy Następna strona Poprzednia strona Spis treści 3. Sedno sprawy Wszystkie opisane poniżej zmiany w plikach konfiguracyjnych dotyczą dystrybucji, które są tu wymienione: Debian, RedHat, Slackware. Jeśli posiadasz inną dystrybucję, poszukaj w plikach startowych podobnych komend i popróbuj. Pamiętaj jednak, że możesz zrobić sobie, a właściwie partycjom krzywdę, więc jeśli nie do końca wiesz co robisz nie rób tego. Skorzystaj z pomocy bardziej doświadczonego kolegi, lub napisz do mnie - wspólnie na pewno coś poradzimy. Acha, jeszcze jedna sprawa. Opisy zamieszczone tutaj dotyczą: Debian GNU Linux 2.1 (slink) RedHat Linux 5.1 Manhattan Slackware 3.6 Prawdopodobnie w innych wersjach tych dystrybucji pliki konfiguracyjne wyglądają tak samo, a co najmniej podobnie, więc nie powinno być problemów. Notka: Czytając dalej zapewne zauważysz, że przy wywołaniach swapon i swapoff polecam zamienić parametr -a na nazwę konkretnej partycji. Jest to właściwie niepotrzebne, ale piszę tak by było dokładnie wiadomo, o którą partycję chodzi (u mnie /dev/hda3). Czytając man swapon zobaczysz, że opcja -a pozwala na małą automatyzację w zarządzaniu partycjami wymiany. Jeśli chcesz z niej korzystać nic nie stoi temu na przeszkodzie. Po prostu nie zmieniaj tego parametru. Weź tylko pod uwagę, że komenda mkswap nie posiada takiej opcji i tu będziesz musiał wpisać dokładne nazwy partycji, bo mkswap nie przeczyta sobie ich z /etc/fstab. Zamiast "brakującej" opcji możesz uzyć petli shell'a, ale to już temat na inną bajkę. Jeśli Cię to interesuje - mail me. Powodzenia... 3.1 Debian Zajmiemy się tylko dwoma skryptami startowymi: checkroot.sh i umountfs. W pierwszym z tych plików SWAP jest włączany podczas startu Linuxa, a w drugim wyłączany przed zamknięciem systemu. Plik /etc/init.d/checkroot.sh Na samym początku tego pliku znajdziesz coś takiego: if [ -x /sbin/swapon ] then [ "$VERBOSE" != no ] && echo "Activating swap..." swapon -a fi Jak się pewnie domyślasz sekwencja ta powoduje włączenie wszystkich swapów zdefiniowanych w /etc/fstab. No i dobrze, bo my chcemy włączyć te swapy. Tylko, że jak na razie nasza partycja wcale nie ma formatu Linux Swap (id 82) tylko DOS16. I co z tym fantem zrobić? Potraktować mkswapem. Zobacz efekt moich zmian: if [ -x /sbin/swapon ] then [ "$VERBOSE" != no ] && echo "Activating swap..." mkswap /dev/hda3 swapon /dev/hda3 fi Plik /etc/init.d/umountfs Plik ten jest wykonywany podczas zamykania systemu, wyłącza partycje wymiany, odmontowuje partycje inne niż root i przemontowuje partycję root jako read-only. W pliku tym jest coś takiego: echo -n "Deactivating swap... " swapoff -a echo "done." Ciąg tych poleceń wyłącza pliki wymiany i wyświetla na konsoli info. Zmienimy tylko parametr -a polecenia swapoff na /dev/hda3 lub jaki tam macie, przeformatowujemy partycję na DOS16 i koniec. A jednak nie. Dlaczego to jeszcze nie koniec? Nie koniec, bo nie ma pliku win386.swp na naszej świeżo sformatowanej partycji. Windows (ale chyba tylko 95) sam powinien sobie utworzyć brakujący plik, ale nie zawsze się tak dzieje. Więc może mu pomożemy. Sami utworzymy brakujący plik. Potrzebny do tego będzie katalog do podmontowania świeżo uwtorzonej partycji dosowej (najlpepiej pusty, ale niekoniecznie, bo z moich doświadczeń wynika, że można podmontować filesystem także w niepustym katalogu). Fragment tego pliku po wszelkich przeróbkach powinien wyglądać mniej więcej tak: echo -n "Deactivating swap... " swapoff /dev/hda3 mkdosfs -n SWAP_SPACE /dev/hda3 mount -t msdos -o rw /dev/hda3 /katalog/w/ktorym/montujemy dd if=/dev/zero of=/katalog/w/ktorym/montujemy/win386.swp bs=1k count=0 umount /dev/hda3 echo "done." Przetestuj to jeszcze i ciesz się! :))) 3.2 RedHat Zmiany w pliku /etc/rc.d/rc.sysinit Poszukaj w pliku /etc/rc.d/rc.sysinit (gdzieś na początku) linii wygladającej mniej więcej tak: # Start up swapping. echo "Activating swap partitions" swapon -a Aktywuje ona partycje wymiany na wszystkich partycjach oznaczonych w pliku /etc/fstab jako swap. My potrzebujemy uaktywnić tylko jedną partycję, możemy zmienić parametr -a na konkretną wartość u mnie to /dev/hda3). Ponadto musimy jeszcze wczesniej z naszej partycji wymiany windowsa zrobic swapa linuxowego. Służy do tego polecenie mkswap. Po modyfikacji ta część pliku powinna wyglądać mniej więcej tak: # Start up swapping. echo "Activating swap partitions" mkswap /dev/hda3 swapon /dev/hda3 W tej części pliku już koniec ze zmianami, teraz przenosimy się bliżej końca /etc/rc.d/rc.sysinit. Tam szukamy czegoś podobnego do: # Right, now turn on swap in case we swap to files. echo "Enabling swap space." swapon -a 2>&1 | grep -v "busy" Tutaj też parametr -a zmień na oznaczenie swojej partycji wymiany (np. /dev/hda3). I to już wszystkie zmiany w tym pliku, przejdźmy do następnego. Zmiany w pliku /etc/rc.d/init.d/halt Ten plik jest wykonywany w czasie zatrzymania lub restartu systemu, czyli po wydaniu polecenia shutdown z odpowiednimi parametrami lub po naciśnięciu trzech 'magicznych' klawiszy (tzn. Ctrl+Alt+Del). Zanim zaczniesz cokolwiek zmieniać, chcąc uniknąć błędów musisz najpierw mieć zainstalowany pakiet mkdosfs. Pisałem wcześniej jak to zrobić. No to zaczynamy. W tym pliku (tzn. /etc/rc.d/init.d/halt) nie będziesz musiał dużo zmieniać. Znajdź coś podobnego do tego: # Turn off swap, then unmount file systems. echo "Turning off swap" swapoff -a Tutaj jak wszędzie zmieniamy parametr -a na konkretne oznaczenie partycji wymiany i wywołanie polecenia ma postać, np. swapoff /dev/hda3. Teraz musimy jeszcze nadać partycji wymiany format dosowy, po to, aby windows mógł z niej skorzystać. Robimy to poleceniem mkdosfs. Ta część pliku już po wszelkich zmianach wygląda u mnie następująco: # Turn off swap, then unmount file systems. echo "Turning off swap" swapoff /dev/hda3 mkdosfs -n SWAP_SPACE /dev/hda3 Parametr -n z wartością SWAP_SPACE nadaje tworzonej partycji dosowej etykietę SWAP_SPACE. I to byłoby już prawie wszystko, pozostało tylko odtworzyć brakujący plik wymiany windowsa win386.swp (tu możesz zobaczyć dlaczego). A teraz pokażę jak. Po komendzie mkdosfs dopisz jeszcze to: mount -t msdos -o rw /dev/hda3 /katalog/w/ktorym/montujemy dd if=/dev/zero of=/katalog/w/ktorym/montujemy/win386.swp bs=1k count=0 umount /dev/hda3 Już możesz rozkoszować się swoim dziełem... :))) 3.3 Slackware W Slacku też musisz poprawić tylko dwa pliki, w zasadzie zrobić to samo co z RedHatem i Debianem, tylko że w innych plikach... Opisywany tu przykład pochodzi ze Slackware 3.6, ale z pewnością w innych wersjach jest tak samo. Zmiany w pliku /etc/rc.d/rc.S Plik /etc/rc.d/rc.S jest wykonywany podczas inicjalizacji systemu. Za każdym razem, gdy system wstaje, plik ten jest analizowany i wykonywane są zawarte w nim polecenia. Nam chodzi o to, żeby nasza partycja (/dev/hda3) została "przerobiona" na swapa dla Linuxa. Na samym początku pliku znajdziecie coś takiego: # enable swapping /sbin/mkswap -a /sbin/swapon -a Polecenia te uruchamiają jako swap wszystkie partycje, które są oznaczone w pliku /etc/fstab jako przeznaczone do swapowania. Zamień parametr -a na konkretną partycję (żeby używać tej jednej), albo we wspomnianym pliku opisz ją jako miejsce na swap. Po operacji plik /etc/rc.d/rc.6 powinien wyglądać np. tak: # enable swapping /sbin/mkswap /dev/hda3 /sbin/swapon /dev/hda3 albo niech pozostanie w oryginalnej postaci, a w /etc/fstab powinno pojawić się coś takiego: /dev/hda3 swap swap defaults 0 0 Zmiany w pliku /etc/rc.d/rc.6 Ten pliczek jest z kolei wykonywany przy zamykaniu systemu. To tutaj musimy zawrzeć linijki odpowiadające za przywrócenie windzie straconego swapa. Poszukaj czegoś takiego: # Turn off swap, then unmount local file systems. echo "Turning off swap." swapoff -a Tutaj zmiany nie będą polegały już tylko na prostej kosmetyce. Opcję -a tradycyjnie przemianowujemy na oznaczenie partycji wymiany oraz musimy zrobić coś jeszcze. Mianowicie utowrzyć na tejże partycji filesystem dosowy i odtworzyć swapa pani windzie. Pierwsze załatwiamy używając narzędzia mkdosfs, a konkretniej: mkdosfs -n SWAP_SPACE /dev/hda3 Teraz wystarczy już tylko odtworzyć plik win386.swp na nowiutkim filesystemie. (Chcesz wiedzieć po co? - kliknij tutaj!) Aby tego dokonać musisz dysponować katalogiem do podmontowania filesystemu przed chwilą utworzonego (no, oczywiście możesz zapisywać bezpośrednio na partycję, ale nie polecam :))). Najprościej chyba tak: mount -t msdos -o rw /dev/hda3 /katalog/w/ktorym/montujemy dd if=/dev/zero of=/katalog/w/ktorym/montujemy/win386.swp bs=1k count=0 umount /dev/hda3 To utworzy brakujący plik i już po kłopocie. Będzie to plik pusty o rozmiarze 0, ale taki właśnie powinien być. Sprawdź co zdziałałeś/aś i odpocznij trochę :))) Następna strona Poprzednia strona Spis treści

Wyszukiwarka

Podobne podstrony:
SWAP partition pl (2)
SWAP partition pl 2 (2)
SWAP partition pl 4 (2)
SWAP partition pl 1 (2)
SWAP partition pl
SWAP partition pl (3)
TI 99 08 19 B M pl(1)
bootdisk howto pl 8
BORODO STRESZCZENIE antastic pl
notatek pl sily wewnetrzne i odksztalcenia w stanie granicznym
WSM 10 52 pl(1)
amd102 io pl09
PPP HOWTO pl 6 (2)
bridge firewall pl 3
NIS HOWTO pl 1 (2)
31994L0033 PL (2)

więcej podobnych podstron