انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


توزیع گنو/لینوکس اوبونتو ۲۰ ساله شد 🎉

نویسنده موضوع: درخواست اطلاعاتی راجع به حجم فایل سیستم  (دفعات بازدید: 1087 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین رسول سعیدنژاد

  • High Hero Member
  • *
  • ارسال: 3504
  • جنسیت : پسر
  • علی (ع): زَكَاةُ الْعِلْمِ نَشْرُه
درخواست اطلاعاتی راجع به حجم فایل سیستم
« : 31 اردیبهشت 1395، 11:27 ب‌ظ »
سلام سلام.
خیلی وقته اینجا سؤال نپرسیدم  :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 journal (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 باید زده بشه تا اینجوری ماونت نشه؟
نرم افزار، یک ابزاره. برای رسیدن به هدف ازش استفاده کنید. نرم افزار هدف شما نیست :) - آزادی، بزرگ‌ترین دروغ بشریت

آفلاین امیــــــر

  • High Sr. Member
  • *
  • ارسال: 617
  • جنسیت : پسر
  • نرم‌افزار مال منه، نه من مال اون
پاسخ : درخواست اطلاعاتی راجع به حجم فایل سیستم
« پاسخ #1 : 01 خرداد 1395، 09:50 ق‌ظ »
سلام به روی ماهت :دی
رسول جان به جای ۳۰۰۰۰ از ۳۰۷۲۰ استفاده کن ببین اختلافا چقدر میشه، این دقیقا ۳۰ مگه!

آفلاین رسول سعیدنژاد

  • High Hero Member
  • *
  • ارسال: 3504
  • جنسیت : پسر
  • علی (ع): زَكَاةُ الْعِلْمِ نَشْرُه
پاسخ : درخواست اطلاعاتی راجع به حجم فایل سیستم
« پاسخ #2 : 01 خرداد 1395، 01:59 ب‌ظ »
بیا امیر جان. اینم خروجی دستورات قبلی با عددی که دادی  ;)

dd if=/dev/zero of=test.img bs=1024 count=30720
30720+0 records in
30720+0 records out
31457280 bytes (31 MB) copied, 0.225613 s, 139 MB/s

اینم حجمش در دو حالت:
-rw-rw-r-- 1 ubuntu ubuntu 31457280 May 21 13:54 test.img
-rw-rw-r-- 1 ubuntu ubuntu 30M May 21 13:54 test.img

فرمت کردنش:
Creating filesystem with 30720 1k blocks and 7680 inodes
Filesystem UUID: 0cc5ad19-67e4-4f45-ac34-d39d4bd0a897
Superblock backups stored on blocks:
8193, 24577
Creating journal (1024 blocks): done

اینم حجمش با df:
Filesystem      Size  Used Avail Use% Mounted on
/dev/loop1       29M  371K   26M   2% /mnt

بازم شد به ترتیب ۳۱ و ۳۰ و ۲۹ و ۲۶.
فقط جای ۲۸ شد ۲۹، جای ۲۵ شد ۲۶
 ;D
نرم افزار، یک ابزاره. برای رسیدن به هدف ازش استفاده کنید. نرم افزار هدف شما نیست :) - آزادی، بزرگ‌ترین دروغ بشریت

آفلاین رسول سعیدنژاد

  • High Hero Member
  • *
  • ارسال: 3504
  • جنسیت : پسر
  • علی (ع): زَكَاةُ الْعِلْمِ نَشْرُه
پاسخ : درخواست اطلاعاتی راجع به حجم فایل سیستم
« پاسخ #3 : 01 خرداد 1395، 02:31 ب‌ظ »
البته من خودم این احساس بهم دست داده که واسه همه‌ی پارتیشن ها اینجوری هست. حالا چرا کانکی اونارو اینجوری نشون نمیده؟ چون حجم اونا مثلا ۱۰۰ گیگ! یا ۵۰ گیگ هست و وقتی پر میشه، نوار تا حد زیادی به آخرش میرسه و نشون میده. ولی چون اینجا حجم کم هست. اون فاصله‌ی بین نوار رنگی با ته خط بیشتر احساس میشه.  :)

الان با یه فایل ۳ گیگی تست کردم. هر ۳ گیگش رو پُر کردم. نوار پیشرفت عملکردش بهتر شد.
http://s7.picofile.com/file/8252319026/2016_05_21_141848_1023x46_scrot.png

البته بازم هر ۳ گیگ رو نشد پر کنم. اینجوری زده:
/dev/loop1      2.9G  2.8G     0 100% /mnt

این دفعه ۲٫۹ گیگ زده که ۲٫۸ گیگش رو کلا میتونم پُر کنم.
احتمالا برای همینه که پارتیشن های ۱۰۰ گیگیم موقع پُر شدن کانکی اونارو تا آخر رنگی نشون میده. چون مقیاس بزرگ میشه. واسه همین اون مقدار خالیش برای ۱۰۰ گیگ به چشم نمیاد.

حالا موضوع اینه که چرا اصلا کانکی اینجوری نشونش میده؟
به نظرم:
یا باید کاری کرد که این پارتیشن ها عدداشون تغییر کنه و جوری که ما میخوایم تبدیل بشن
یا باید کاری کرد که کانکی یه جوری فقط فضایی که میشه پُر کرد رو نشون بده نه فضای کلی رو
یا باید کلا برای این پروگرس بار ۱۵ دقیقه ای از یه روش دیگه استفاده کرد که اون بتونه تا آخر نوار رو پُر کنه.
یا باید همین جوری که هست، باهاش کنار بیام. حالا خیلی چیز مهمی نیست. فقط مهم این بوده که بفهمم ۱۵ دقیقه دیگه بیشتر وقت ندارم.
ولی خب هم برام سوال شد که چرا حجم ها اینجوری نشون داده میشن که کانکی بیاد مارو تو دردسر بندازه. شاید طبیعی باشه از نظر مقداردهی توی حجم فایل سیستم و پارتیشن ها و ...
نرم افزار، یک ابزاره. برای رسیدن به هدف ازش استفاده کنید. نرم افزار هدف شما نیست :) - آزادی، بزرگ‌ترین دروغ بشریت

آفلاین Ma$oud

  • Sr. Member
  • *
  • ارسال: 293
  • جنسیت : پسر
پاسخ : درخواست اطلاعاتی راجع به حجم فایل سیستم
« پاسخ #4 : 01 خرداد 1395، 03:06 ب‌ظ »
سلام آقا رسول  :)
تاجایی که من فهمیدم می خواید یه بار تو کانکی باشه که هر ۱۵ دقیقه ی بار پر بشه ؟؟!! ???
من یه حرکتی زدم باید کمک کنه  8)
البته ورژن بتا هستش و مشکلی داشت به بزرگی خودتون ببخشید  ;D
یه اسکریپت به نام bar.sh ساختم اینا توشن:#!/bin/bash
while true; do
    for i in {0..100}; do
        echo "#!/bin/bash
echo $i" > bar-num.sh
        chmod +x bar-num.sh
        sleep 9
    done
done
و درفایل کانکی اینو اضاف کردم :${execbar /home/badboy17/bar-num.sh}
برا من که خوب کار کرد ، ذره ذره تا 900 ثانیه یا 15 دقیقه و بعد از اول  \\:D/
به هرحال امیدوارم کمک کنه  :D

آفلاین رسول سعیدنژاد

  • High Hero Member
  • *
  • ارسال: 3504
  • جنسیت : پسر
  • علی (ع): زَكَاةُ الْعِلْمِ نَشْرُه
پاسخ : درخواست اطلاعاتی راجع به حجم فایل سیستم
« پاسخ #5 : 01 خرداد 1395، 03:44 ب‌ظ »
ممنون مسعودجان
ولی واسه من کار نکرد. اسکریپت اول رو ران کردم و اسکریپت دوم رو هم گذاشتم توی کانکی. کانکی یه مربع کوچک ران کرده که هیچ اتفاقی واسش نمی افته. ولی اگه هرچند لحظه‌ای یک بار اسکریپت دوم رو cat‌ کنی متوجه میشی که ذره ذره echo 1، echo 2 و ... رو می نویسه. ولی توی کانکی هیچ اتفاقی نمی افته.
بعد من نمیخوام همش ۱۵ دقیقه باشه. فقط یک بار میاد و ۱۵ دقیقه پروگرس بار پر میشه و به آخر میرسه و بعد بسته میشه.  :)
« آخرین ویرایش: 01 خرداد 1395، 03:50 ب‌ظ توسط RAS00L »
نرم افزار، یک ابزاره. برای رسیدن به هدف ازش استفاده کنید. نرم افزار هدف شما نیست :) - آزادی، بزرگ‌ترین دروغ بشریت

آفلاین رسول سعیدنژاد

  • High Hero Member
  • *
  • ارسال: 3504
  • جنسیت : پسر
  • علی (ع): زَكَاةُ الْعِلْمِ نَشْرُه
پاسخ : درخواست اطلاعاتی راجع به حجم فایل سیستم
« پاسخ #6 : 01 خرداد 1395، 03:56 ب‌ظ »
نه اوکی شد. میواس یه offset هم کنارش بذارم برای اینکه نوار رو تا آخر صفحه نشون بده. fs_bar‌خودش تنظیم طول و عرض رو داره. برای این باید خودم تنظیم کنم.
اونوخ یه چیزی؟ الان این عرضش رو فقط شد تغییر بدم و تا ۱۰۱۲ (که فیکس بشه) رسوندمش. ولی ارتفاعش رو چجوری تغییر بدم؟ این ارتفاعش زیاد میشه.  :)
« آخرین ویرایش: 01 خرداد 1395، 04:11 ب‌ظ توسط RAS00L »
نرم افزار، یک ابزاره. برای رسیدن به هدف ازش استفاده کنید. نرم افزار هدف شما نیست :) - آزادی، بزرگ‌ترین دروغ بشریت

آفلاین رسول سعیدنژاد

  • High Hero Member
  • *
  • ارسال: 3504
  • جنسیت : پسر
  • علی (ع): زَكَاةُ الْعِلْمِ نَشْرُه
پاسخ : درخواست اطلاعاتی راجع به حجم فایل سیستم
« پاسخ #7 : 01 خرداد 1395، 04:25 ب‌ظ »
پیداش کردم:
default_bar_size
باید اینو تغییر داد. ولی خب کانکی رو با سینتکس lua‌ نوشتم، اونم اینو قبول نمی کنه. مجبور شدم کلا سینتکس lua رو پاک کنم و مثل کانکی های معمولی بنویسم تا بتونه محاسبه‌ش کنه.
ممنون  :)
راه افتاد. فقط با اجازه‌ت باید تغییراتی توش بدم تا مناسب کارم بشه.  :)
نرم افزار، یک ابزاره. برای رسیدن به هدف ازش استفاده کنید. نرم افزار هدف شما نیست :) - آزادی، بزرگ‌ترین دروغ بشریت

آفلاین رسول سعیدنژاد

  • High Hero Member
  • *
  • ارسال: 3504
  • جنسیت : پسر
  • علی (ع): زَكَاةُ الْعِلْمِ نَشْرُه
پاسخ : درخواست اطلاعاتی راجع به حجم فایل سیستم
« پاسخ #8 : 01 خرداد 1395، 05:37 ب‌ظ »
خب مشکلم با نشون ندادن کامل پروگرس بار توی کانکی حل شد.
ممنون از مسعود جان بابت ایده‌ی execbar
اینم لینک:
https://github.com/rasoolsn/interactive-script/

کامیت های قبلیم مربوط به همون ماونت شدن فایل ۳۰ مگی و پر کردنش طی ۱۵ دقیقه با dd‌هست که کانکی نشون میداد.
الان روش مسعودجان استانداردتر حساب میشه یه جورایی.  :)

خب حالا برمیگردیم سر جریان سوال اول تاپیک. دلیل اینکه حجم با یه سایز متفاوت ساخته میشه و مقدار نسبتا زیادی (از ۳۰ مگ وقتی ۵ مگش میره، خب یه مسئله‌ای باید وجود داشته باشه) رو از دسترس خارج میکنه، چیه؟
نرم افزار، یک ابزاره. برای رسیدن به هدف ازش استفاده کنید. نرم افزار هدف شما نیست :) - آزادی، بزرگ‌ترین دروغ بشریت