[ Pobierz całość w formacie PDF ]
.Następnie usuwa(obecnie pusty) najwyższy katalog i rozpoczyna działanie od nowa dla jednego z katalogówponiższych.Ten proces jest dość powolny, ale skuteczny dla większości wersji Unixa.Jedynym sposobem usunięcia takiego katalogu jest ręczne usunięcie i-węzła najwyższegokatalogu i uruchomienie polecenia fsck w celu automatycznego usunięcia pozostałych katalogów.W przypadku usuwania jakichkolwiek problematycznych struktur postępuj tak:1.Przełącz system w tryb jednego użytkownika.2.Znajdz i-węzeł najwyższego poziomu problematycznego katalogu:# ls -i kolejny_katalog 1491 kolejny_katalog#3.Użyj polecenia df w celu określenia urządzenia problematycznego katalogu:# /usr/bin/df kolejny_katalog/g!7 (7dev/dsk/cOt2dOs2 ): 377822 blocks 722559 files#4.Wyczyść i-węzeł skojarzony z katalogiem za pomocą programu dń :# clri /dev/dsk/cOt2dOs2 1491#Pamiętaj zastąpić /dev/dsk/cOt2dOs2 nazwą rzeczywistego urządzenia zwróconą przez poleceniedf.5.Uruchamiaj program sprawdzający spójność systemu plików (np.Jsck /dev/dsk/cOt2dOs2) doczasu, kiedy nie będzie on wykazywał żadnych błędów.Kiedy program znajdzie odłączony katalogo numerze i-węzła 1491 i zapyta, czy ponownie podłączyć katalog, należy odpowiedziećprzecząco.Program fsck odzyska bloki i i-węzły dyskowe używane przez ten katalog.W przypadku systemu plików ext2 Linuxa i-węzeł można usunąć za pomocą polecenia debugfs.Ważne jest, aby przed użyciem tego polecenia system plików był wymontowany.Problemy z przestrzenią wymianyWiększość systemów Unix ma ustawiony pewien obszar, do którego są zapisywane obrazypamięciowe procesów, kiedy system potrzebuje zwolnić trochę pamięci operacyjnej i dokonujestronicowania lub wymiany.Jeśli w systemie nie został ustawiony odpowiednio duży obszarwymiany, nowe (zwłaszcza duże) procesy nie będą się uruchamiały z powodu braku wolnegomiejsca.Zewnętrznym objawem takiego stanu jest pojawianie się komunikatu no space" (brakmiejsca) podczas próby wykonania polecenia.Jeśli dojdzie do zapełnienia się przestrzeni wymiany, rozmiar tej przestrzeni można zwiększyć.Wsystemie SVR4 lub SunOS zwiększenie takie jest bardzo proste, choć wymaga oddania częścijakiegoś systemu plików.Najpierw należy znalezć partycję zawierającą trochę wolnego miejsca:# /bin/df -ItkFilesystem kbytes used avail capacity Mounted on/dev/dsk/cOt3dOsO 95359 82089 8505 91% //proc 0000% /proc/dev/dsk/cOtldOs2 963249 280376 634713 31% /u2/dev/dsk/cOt2dOs2 1964982 1048379 720113 59* /u3/dev/dsk/cOt3dOs2 1446222 162515 1139087 12% /u4#W tym wypadku dużo miejsca znajduje się na partycji /u4.Jej kosztem można utworzyćdodatkowe 50 MB przestrzeni wymiany.W systemie Solaris można to zrobić tak:# mkfile 50m /u4/p!1k# swap -a /u4/p!1kW systemie Solaris polecenie to można znalezć w katalogu /usr/sbin/clri.W systemie SunOSnależy użyć polecenia unlink.Stronicowanie i wymiana to technicznie dwie różne rzeczy.W starszych systemach cala pamięćprocesów była zapisywana w osobnym urządzeniu.Stronicowanie powoduje usunięcie jedyniefragmentów programów.Termin wymiana" (ang.swap) stał się tak popularny w środowiskuunixowym, że używa się go zarówno do stronicowania, jak i do rzeczywistej wymiany.W systemie SunOS należy użyć takiej sekwencji:# mkfile 50m /u4/plik# swapon /u4/plikAby dodatkowa przestrzeń była dostępna po każdym załadowaniu systemu, wiersze te należyumieścić do pliku vfstab.Inaczej należy usunąć sekwencję (swap -d /u4/plik) i usunąć plik.Usunięcie niedoboru przestrzeni wymiany w systemach, które nie obsługują wymiany do pliku(czyli w większości starszych systemów Unix), wymaga najczęściej wyłączenia komputera ipodzielenia dysku od nowa na partycje.Jeśli złośliwy użytkownik zapełni przestrzeń wymiany, wówczas rozwiązaniem doraznym może byćrozpoznanie winnych tego stanu procesów i zabicie ich.Polecenie ps pokazuje rozmiar każdegodziałającego procesu i pomaga określić przyczyną problemu.Polecenie vmstat, jeśli jest dostępnew systemie, może również dostarczyć wartościowych informacji o stanie procesów.Problemy z katalogiem /tmpW większości systemów Unix w katalogu /tmp użytkownicy mogą tworzyć pliki dowolnej wielkości.Normalnie sprawdzanie przydziałów dla tego katalogu się nie odbywa.Dlatego jeden użytkownikmoże zapełnić partycje, na której jest zamontowany katalog /tmp, tak że inni użytkownicy (byćmoże również superużytkownik) nie będą w stanie tworzyć nowych plików.Niestety wiele programów wymaga możliwości zapisywania plików w katalogu /tmp.Przykłademmogą być programy vi i mail.Jeśli możliwość tworzenia plików tymczasowych będzie imodebrana, ich działanie zostanie w nieoczekiwany sposób zakończone.Wiele lokalnie pisanychskryptów do administrowania systemem polega na możliwości tworzenia plików w katalogu /tmp inie sprawdza, czy jest w nim wystarczająco dużo wolnego miejsca.Problemy z katalogiem /tmp są prawie zawsze przypadkowe.Zdarzy się na przykład, że jakiśużytkownik skopiuje tam kilka dużych plików i zapomni o nich.Być może wielu użytkowników takrobi
[ Pobierz całość w formacie PDF ]