در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

آموزش بازیابی فایل حذف شده در لینوکس با دستور debugfs

امروز می خواهیم در ITPRO بصورت بسیار ساده و بدون نیاز به هرگونه ابزار جانبی یک فایل حذف شده در سیستم عامل لینوکس را با استفاده از ابزار debugfs بازیابی یا recovery کنیم ، برای بازگردانی یک فایل حذف شده در سیستم عامل لینوکس مهمترین فاکتور دانستن inode number فایل مورد نظر است که در آموزش زیر این روش به شما آموزش داده شده است ، در ابتدا مشابه دستور پایین ما محتویات را بررسی می کنیم و فایلی که قرار هست حذف شود را به شما نمایش می دهیم ، در دستور زیر فایل unity.txt قرار هست از سیستم عامل حذف شود :
[root@localhost ext3]# ls -la
total 24
drwxr-xr-x.  3 root root  4096 Jul 11 09:03 .
drwxr-xr-x. 22 root root  3420 Jul 11 09:02 ..
drwx------.  2 root root 16384 Jul 10 04:14 lost+found
-rw-r--r--.  1 root root    31 Jul 11 09:03 unity.txt
دقت کنید که فایل سیستم ما برای ریکاوری در این حالت حتما باید ext3 یا بالاتر از آن باشد و سناریوی ما نیز بر اساس همین فایل سیستم قرار دارد ، با استفاده از دستور زیر شما می توانید inode number فایل unity.txt را مشاهده کنید :
[root@localhost ext3]# ls -ia unity.txt 
12 unity.txt
پارامتر i در دستور بالا به شما inode number ها را نمایش می دهد که با توجه به خروجی دستور بالا در اینجا inode فایل unity.txt عدد 12 می باشد. حالا با استفاده از دستور debugfs بایستی به فایل سیستم مورد نظر متصل شویم ، در دستور پایین ما به پارتیشن اول سیستم که بصورت پیشفرض وجود دارد با استفاده از debugfs متصل می شویم و بلافاصله می توانیم وارد محیط خط فرمان debugfs شویم :
[root@localhost ext3]# debugfs /dev/sdb1
debugfs 1.42.9 (28-Dec-2013)
debugfs:
حالا می توانید دستورات مربوط به debugfs را وارد کنید ، مشابه دستورات پیشفرض لینوکس شما می توانید با استفاده از دستور ls لیست فایل های موجود در این فایل سیستم را مشاهده کنید :
debugfs:  ls
 2  (12) .    2  (12) ..    11  (20) lost+found    12  (4052) unity.txt
همانطور که در بالا مشاهده می کنید فایل unity.txt وجود دارد و ما با استفاده از دستور rm مشابه زیر فایل مورد نظر را از سیستم حذف می کنیم و بنا به دلایلی از debugfs خارج یا quit می کنیم :
debugfs:  rm unity.txt 
rm: Filesystem opened read/only
debugfs:  quit
فایل مورد نظر حذف شده است اما چرا ما quit کردیم ؟ دقت کنید که در حالت پیشفرض دستور debugfs فایل سیستم را در حالت read only به سیستم mount می کند و امکان نوشتن یا write کردن ندارد ، برای اینکه شما امکان ریکاوری و write مجدد اطلاعات داشته باشید باید از پارامتر w برای mount کردن فایل سیستم به شکل زیر استفاده کنید :
[root@localhost ext3]# debugfs -w /dev/sdb1
debugfs 1.42.9 (28-Dec-2013)
debugfs:
البته پیشنهاد می شود که شما به جای استفاده از rm از دستور lsdel برای حذف کردن فایل ها استفاده کنید ، به هر حال فایل مورد نظر اگر با lsdel حذف شود به شکل زیر حذف می شود :
debugfs:  lsdel
 Inode  Owner  Mode    Size      Blocks   Time deleted
    12      0 100644     31      1/     1 Mon Jul 11 09:07:58 2016
1 deleted inodes found.
debugfs:  undel 12 tt.txt
12: File not found by ext2_lookup 
خوب در خروجی دستور بالا که برای حذف کردن فایل مورد نظر استفاده می شود ما عدد 12 را به عنوان inode مشاهده می کنیم ، حالا کافیست با استفاده از دستور undel و آوردن شماره inode مورد نظر و همچنین اسم فایل مورد نظر جدید فایل را ریکاوری کنیم به دستور زیر دقت کنید :
debugfs:  undel <12> tt.txt
حالا با استفاده از دستور ls مشاهده می کنید که فایل مورد نظر با یک اسم جدید بازیابی شده است :
debugfs:  ls
 2  (12) .    2  (12) ..    11  (20) lost+found    12  (4052) tt.txt   
امیدوارم مورد توجه شما قرار گرفته باشد . ITPRO باشید

نویسنده : محمد نصیری
منبع : ITPRO
هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد
#inode_number_چیست #بازیابی_فایل_های_حذف_شده #ریکاور_کردن_فایل_در_لینوکس #recover_کردن_فایل_ها_در_لینوکس #recovery_فایل_در_لینوکس #کاربرد_inode_در_لینوکس #بازیابی_فایل_در_لینوکس #ساختار_فایل_سیستم_در_لینوکس
0 نظر

هیچ نظری ارسال نشده است! اولین نظر برای این مطلب را شما ارسال کنید...

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره پاییزه می تونی امروز ارزونتر از فردا خرید کنی ....