উদাহরণস্বরূপ 5 বিলিয়ন ফাইলের ট্রান্সফার সহ একটি এক্সট 4 পার্টিশনে 4 বিলিয়ন ফাইলের সীমা অতিক্রম করা হলে কী হবে?
উদাহরণস্বরূপ 5 বিলিয়ন ফাইলের ট্রান্সফার সহ একটি এক্সট 4 পার্টিশনে 4 বিলিয়ন ফাইলের সীমা অতিক্রম করা হলে কী হবে?
উত্তর:
সম্ভবত, আপনি "ডিভাইসে কোনও স্থান বাকি নেই" ত্রুটির কিছু স্বাদ দেখতে পাবেন:
# truncate -s 100M foobar.img
# mkfs.ext4 foobar.img
Creating filesystem with 102400 1k blocks and 25688 inodes
---> number of inodes determined at mkfs time ^^^^^
# mount -o loop foobar.img loop/
# touch loop/{1..25688}
touch: cannot touch 'loop/25678': No space left on device
touch: cannot touch 'loop/25679': No space left on device
touch: cannot touch 'loop/25680': No space left on device
এবং অনুশীলনে আপনি এই সীমাটিকে "4 বিলিয়ন ফাইল" এর চেয়ে অনেক তাড়াতাড়ি আঘাত করেছেন। উভয়ের সাথে আপনার ফাইল সিস্টেমগুলি পরীক্ষা করুন df -h
এবং df -i
সেখানে কতটুকু জায়গা বাকি রয়েছে তা অনুসন্ধান করুন।
# df -h loop/
Filesystem Size Used Avail Use% Mounted on
/dev/loop0 93M 2.1M 84M 3% /dev/shm/loop
# df -i loop/
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/loop0 25688 25688 0 100% /dev/shm/loop
এই উদাহরণস্বরূপ, যদি আপনার ফাইলগুলি গড়ে 4K আকার না হয় তবে আপনি স্টোরেজ-স্পেসের চেয়ে খুব শীঘ্রই ইনোড-স্পেসের বাইরে চলে যান। এটা অন্য অনুপাত নির্দিষ্ট করার সম্ভব ( mke2fs -N number-of-inodes
বা -i bytes-per-inode
বা -T usage-type
সংজ্ঞায়িত হিসাবে /etc/mke2fs.conf
)।
git repack
না থাকে তবে পৃথক সমস্ত বস্তুকে একটি প্যাক ফাইলে একত্রিত করার জন্য প্রতিটি গিট রিপোজিটরিতে চালানোর চেষ্টা করুন।
touch
, কোনও অভিনব ধারণা নেই echo
, আপনি একটি গুরুত্বপূর্ণ পয়েন্ট এবং প্রায়শই তৈরি হওয়া ভুল ধারণাটিও দেখান: খালি ফাইলগুলি দিয়ে একটি ডিস্ক পূরণ করা সম্ভব।
git repack
কোনও কার্যকারিতা আলগা করে না, এটি এখনও একই গিট রেপো হিসাবে কাজ করে, tar
অনেক প্রকল্পের জন্য এটি অপঠনযোগ্য করে তোলে কোনও প্রকল্প বা গিট সংগ্রহস্থল আশা করে
সীমাটি পৌঁছে যাওয়ার পরে, ফাইলগুলি তৈরির পরবর্তী প্রচেষ্টা ব্যর্থ হবে ENOSPC
, ইঙ্গিত করে যে লক্ষ্য ফাইল সিস্টেমে নতুন ফাইলগুলির জন্য কোনও স্থান নেই।
আপনি যে দৃশ্যের বর্ণনা দিয়েছেন তাতে সীমাটি পৌঁছে গেলে সাধারণত স্থানান্তর বাতিল করতে হবে।