درخواست اطلاعاتی راجع به حجم فایل سیستم

ساخت وبلاگ
سلام سلام.
خیلی وقته اینجا سؤال نپرسیدم  :D
آقا ما (یعنی من و کانکیم  ;D ) به یه مشکلی برخورد کردیم. یعنی مشکل که نیست. فقط برام مبهمه.
باز داستان سراییم شروع شد. میگی نه؟!:
من نیاز به یک کانکی دارم که باید ۱۵ دقیقه زمان رو برعکس با یک نوار نشون بده. که مثلا بگه ۱۵ دقیقه وقت داری و هر چندلحظه یک بار اون نواره شروع کنه به پر شدن که مشخص بشه زمان داره میره! خب کانکی هیچ گزینه ی خاصی برای نشون دادن زمان در پروگرس بار نداره. یا من ندیدم! برای همین تصمیم گرفتم که یک فایل بسازم و اونو ماونت کنم و بعد توش چندثانیه ای یک بار فایل بنویسم و کانکی اون پارتیشن رو با fs_bar نشون بده. اینجوری طی برنامه‌ریزی‌ای که انجام دادم، سر ۱۵ دقیقه اون فایلی که ماونتش کردم، حجمش پر میشه و به هدفم میرسم. حالا مشکل چیه؟ مشکل اینه وقتی من فرضا یه فایل ۳۰ مگی میسازم. سیستم ۳۰ مگش رو خالی درنظر نمیگیره و نزدیک ۲۵ مگش رو خالی درنظر میگیره و وقتی به ۲۵ رسید، میگه که ۱۰۰ درصد پر شده. ولی کانکی همون ۳۰ مگ رو درنظر میگیره توی نوارش و می بینی حجم کاملا پر شده ولی کانکی هنوز نوارش جا داره که بره ولی دیگه نمیره و همون جا می ایسته.
اینم اسکرین شاتش: الان دیگه بیشتر از این جلو نمیره چون پر شده!
http://s6.picofile.com/file/8252234668/2016_05_20_232319_1023x49_scrot.png
اومدم مراحلش رو با دقت بیشتری نگاه کردم. خروجیشون رو براتون میذارم:
اول با dd یه فایل میسازیم:
dd if=/dev/zero of=test.img bs=1024 count=30000که میگیم یعنی یه فایل ۳۰ مگی بسازه. (۳۰۰۰۰×۱۰۲۴ بایت که میشه ۳۰مگابایت)
خروجیش این میشه:
30000+0 records in
30000+0 records out
30720000 bytes (31 MB) copied, 0.255369 s, 120 MB/s

خب میگه ۳۰۷۲۰۰۰۰ بایت نوشته و شده ۳۱ مگابایت (درصورتی که هر ۱۰۲۴ بایت رو ۱ کیلوبایت درنظر بگیریم، باید بشه ۳۰ مگ نه ۳۱!)

حالا حجمش رو نگاه میکنیم:

-rw-rw-r-- 1 ubuntu ubuntu  30M May 20 23:15 test.imgجالب شد! اونجا زد ۳۱ اینجا زده ۳۰
ولی حجم بایتیش یکیه. یعنی:
-rw-rw-r-- 1 ubuntu ubuntu 30720000 May 20 23:15 test.img
خب حالا میام فرمتش میکنم تا بتونم ماونتش کنم.
sudo mkfs.ext4 test.img

Creating filesystem with 30000 1k blocks and 7520 inodes
Superblock backups stored on blocks:
8193, 24577
Creating joual (1024 blocks): done


خب میگه بلاک هاش رو ۱۰۲۴ درست کرده. یعنی دقیقا همون bs=1024یی که جلوتر انتخاب کرده بودم. ۳۰۰۰۰ رو هم طبق همون ۳۰۰۰۰ dd حساب کرده.
حالا ماونتش میکنیم و خروجی df رو می‌نگریم:
Filesystem      Size  Used Avail Use% Mounted on
dev/loop1       28M  365K   25M   2% /mnt/
اول زد ۳۱. بعد نشون داد ۳۰. بعد الان که ماونت شده میگه ۲۸مگ! و بعد جالبه که ۳۶۵ کیلوش پر هست خود به خود درصورتی که حجم lost+found دقیقا12K هست.
و از همه جالب تر میگه کلا ۲۵ مگ میشه توش ریخت.
اینجاس که کانکی فقط ۲۵ مگش رو میتونه نوار پر کنه ولی داره حجم ۲۸ مگ یا حتی ۳۰ مگ رو از کل نوار نشون میده.
چرا اینجوریه؟
باید چکار کنم که بشه تا خرخره پرش کرد؟ چرا ۳۱ و ۳۰ و ۲۸ و ۲۵؟
به خاطر dd هست؟ به خاطر ext4 هست؟ یا آپشنی در دستور mount باید زده بشه تا اینجوری ماونت نشه؟

اوبونتو...
ما را در سایت اوبونتو دنبال می کنید

برچسب : نویسنده : استخدام کار ubuntu بازدید : 146 تاريخ : شنبه 1 خرداد 1395 ساعت: 2:30