سلام
گاهی mysql و یا httpd استارت نمی شوند و با استارت mysql با خطای cannot touch `/var/lock/subsys/mysql’: No space left on device روبرو می شویم ولی با دستور df -h بررسی میکنیم و متوجه می شویم هارد فضای خالی دارد:
یک پارتیشن به دو حالت پر میشود:
۱-وقتی که به اندازه حجم آن پارتیشن، در آن اطلاعات ریخته شود. مثلاً در یک پارتیشن ۱۰ گیگابایتی، ۱۰ گیگ اطلاعات بریزیم.
۲-وقتی که جدول inode تمام شود و تمام inode ها استفاده شوند.
فرض کنید یک پارتیشن ۱۰۰ گیگابایتی دارید و هزاران فایل کوچک در آن کپی کرده اید. طوری که جدول inode پارتیشن تمام شده است. ولی کل فایلها مثلاً ۴۰ گیگ حجم دارند. با اینکه هنوز ۶۰ گیگ فضای خالی وجود دارد، ولی عملاً غیر قابل استفاده است. چون دیگر inode ای نیست که به یک فایل جدید اختصاص دهیم!
برای روشنتر شدن مطلب خروجی دستور df -i را مشاهده کنید:
$ df -i Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda1 1449984 268783 1181201 19% / tmpfs 128088 5 128083 1% /lib/init/rw udev 126750 712 126038 1% /dev tmpfs 128088 1 128087 1% /dev/shm /dev/sda6 13688832 269500 13419332 2% /home
همچنن دستور stat هم برای دیدن اطلاعات موجود در یک inode استفاده میشود.
$ stat /etc/passwd File: `/etc/passwd\' Size: 1648 Blocks: 8 IO Block: 4096 regular file Device: 801h/2049d Inode: 567477 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2012-02-02 23:13:16.000000000 +0330 Modify: 2012-01-18 01:55:59.000000000 +0330 Change: 2012-01-18 01:55:59.000000000 +0330
در این مواقع می توانیم به مسیر زیر برویم و تعدادی از ایمیل را حذف کنیم تا مشکل رفع شود.
/var/spool/exim/input/