ext2fs undeletion pl 11 AI5S3EVAIMV7UNR44SKBIHE3RMVGF63TC6C3ZEA


Linux Ext2fs Undeletion mini-HOWTO: Bezpośrednie modyfikacje iwêzłów Następna strona Poprzednia strona Spis treści 11. Bezpośrednie modyfikacje iwêzłów Metoda ta jest dużo prostsza. Jednak, tak jak wspomniałem wcześniej, nie może byæ jeszcze stosowana do plików wiêkszych niż 12 bloków. W każdym iwêźle, który chcesz odzyskaæ musisz ustawiæ licznik podłączeñ (linkcount) na jeden i czas skasowania (deletion time) na zero. Robi siê to za pomocą polecenia mi (modify inode) w debugfs. Przykładowe wywołanie, modyfikacja iwêzła 148003 (tego co wcześniej): debugfs: mi <148003> Mode [0100644] User ID [503] Group ID [100] Size [6065] Creation time [833201524] Modification time [832708049] Access time [826012887] Deletion time [833201524] 0 Link count [0] 1 Block count [12] File flags [0x0] Reserved1 [0] File acl [0] Directory acl [0] Fragment address [0] Fragment number [0] Fragment size [0] Direct Block #0 [594810] Direct Block #1 [594811] Direct Block #2 [594814] Direct Block #3 [594815] Direct Block #4 [594816] Direct Block #5 [594817] Direct Block #6 [0] Direct Block #7 [0] Direct Block #8 [0] Direct Block #9 [0] Direct Block #10 [0] Direct Block #11 [0] Indirect Block [0] Double Indirect Block [0] Triple Indirect Block [0] Ustawiłem czas skasowania na 0, licznik podłączeñ na 1 i nacisnąłem Enter dla wszystkich innych pól. Jest to pewną niedogodnością, jeżeli masz wiele plików do odzyskania. Myślê jednak, że można z tym żyæ. Jeśli oczekujesz wygody, lepiej zacznij używaæ graficznego `systemu operacyjnego' ze ślicznym `Koszem na śmieci'. Przy okazji: polecenie mi pokazuje `Czas stworzenia' (Creation time) w iwêźle. To kłamstwo ! (lub, jak kto woli, pomyłka.) Prawda jest taka, że nie można w systemie plików UNIX-a stwierdziæ kiedy dany plik został utworzony. Pole st_ctime w struct stat zawiera `czas zmiany iwêzła', czyli czas ostaniej zmiany, któregoś z parametrów iwêzła. To tyle z dzisiejszej lekcji. Nowsze wersje debugfs niż moja, prawdopodobnie nie wyświetalają niektórych pól w iwêźle (szczególnie, Reserved1 i Fragment). Po zmianie w iwêzłach, możesz wyjśæ z debugfs i napisaæ: # e2fsck -f /dev/hda5 Pomysł polega na tym, że każdy ze skasowanych plików został odkasowany, ale nie pojawił siê w żadnym katalogu. Program e2fsck umie to wykryæ i doda pozycjê dla każdego z nich w katalogu /lost+found systemu plików. (Jeżeli partycja była zamontowana w /usr, pliki pojawią siê w /usr/lost+found, gdy ją zamontujesz.) Pracą, którą musisz jeszcze zrobiæ, to nadanie plikom nazw i umieszczenie ich we właściwym miejscu drzewa plików. Po uruchomieniu e2fsck, wyświetli Ci on trochê informacji, ale zada również pytania, które zniszczenia naprawiaæ. Odpowiadaj `yes' (tak) na wszystko co dotyczy `summary information' lub iwêzłów, które zmieniałeś. Resztê pozostawiam do Twojej decyzji, pamiêtaj, że nie jest najlepszą metodą odpowiadanie `tak' na wszystkie pytania. Po skoñczeniu pracy przez e2fsck, możesz ponownie zamontowaæ system plików. Istnieje alternatywne rozwiązanie do pozwolenia, aby e2fsck utworzył pliki w /lost+found. Możesz użyæ debugfs i stworzyæ w systemie plików dołączenie (link) do iwêzła. Służy do tego polecenie link w debugfs, po zmianach w samym iwêźle: debugfs: link <148003> foo.txt W ten sposób powstanie w bieżącym katalogu plik o nazwie foo.txt; foo.txt bêdzie Twoim odzyskanym plikiem. Nadal musisz jednak uruchomiæ e2fsck, aby uaktualniæ informacje ogólne, liczniki bloków itp. itd. Następna strona Poprzednia strona Spis treści

Wyszukiwarka

Podobne podstrony:
ext2fs undeletion pl 3
ext2fs undeletion pl 8
ext2fs undeletion pl 17
ext2fs undeletion pl 4
ext2fs undeletion pl 6
ext2fs undeletion pl 10
ext2fs undeletion pl 9
ext2fs undeletion pl 13
ext2fs undeletion pl 2
ext2fs undeletion pl 15
ext2fs undeletion pl 1
Ext2fs Undeletion pl
ext2fs undeletion pl 7
ext2fs undeletion pl 14
ext2fs undeletion pl 16
ext2fs undeletion pl 5
Ext2fs Undeletion pl (2)
Ext2fs Undeletion pl (3)
ext2fs undeletion pl 12

więcej podobnych podstron