একটি ফাইলের জন্য কি হার্ডলিংকের একটি সীমা রয়েছে? এটি কোথাও নির্দিষ্ট করা হয়? লিনাক্সের নিরাপদ সীমা কি? এবং অন্যান্য পসিক্স সিস্টেমগুলির জন্য কী?
একটি ফাইলের জন্য কি হার্ডলিংকের একটি সীমা রয়েছে? এটি কোথাও নির্দিষ্ট করা হয়? লিনাক্সের নিরাপদ সীমা কি? এবং অন্যান্য পসিক্স সিস্টেমগুলির জন্য কী?
উত্তর:
পজিক্সের প্রয়োজন অপারেটিং সিস্টেমটি হার্ড লিঙ্কগুলির ধারণাটি বোঝে তবে হার্ড লিঙ্কগুলি কোনও বিশেষ পরিস্থিতিতে ব্যবহার করা যেতে পারে তা নয়। ফোন করে আপনি নির্দিষ্ট স্থানে কতগুলি হার্ড লিঙ্কের অনুমতি দেওয়া হয়েছে তা (এটি ফাইল সিস্টেমের ধরণের দ্বারা পৃথক হতে পারে) পেতে পারেন । সর্বনিম্ন সীমা ( ) 8, কিন্তু এই বরং অর্থহীন হিসাবে অনেক অন্যান্য ত্রুটি যাহাই হউক না কেন রিপোর্ট করতে পারেন (এর অনুমতি অস্বীকার করেছেন, ডিস্ক পূর্ণ, ...)।pathconf(filename, _PC_LINK_MAX)
_POSIX_LINK_MAX
link()
stat
গঠন দোকানে লিংক ধরনের একটি ক্ষেত্র গণনা nlink_t
, তাই এই ক্ষেত্র ধরণ আপনার সিস্টেমে একটি সর্বোচ্চ সীমা দেয়। তবে একটি ভাল সুযোগ রয়েছে যা আপনি কখনও পৌঁছাতে পারবেন না: nlink_t
অনেকগুলি ফাইল সিস্টেমে 32-বিট থাকলেও কেবল 16 বিট পাওয়া সাধারণ (লিনাক্স উত্সের একটি দ্রুত গ্রেপ দেখায় যে এক্স [234], এনটিএফএস, ইউএফএস এবং এক্সএফএস কার্নেল ডেটা স্ট্রাকচারে 16-বিট লিঙ্ক গণনা ব্যবহার করে)।
লিনাক্স কার্নেল উত্সগুলিতে ext3 ইনোড কাঠামো ডিস্ক বিন্যাসের দিকে তাকানো (* অন্তর্ভুক্ত / লিনাক্স / এক্সট3_fs.h *) যা লিঙ্কগুলি একটি 16 বিট সংখ্যা হিসাবে তালিকাবদ্ধ করে
struct ext3_inode {
... snip ...
__le16 i_links_count; /* Links count */
}
আমি অনুমান করি যে এর অর্থ একটি ext3 ফাইল সিস্টেমের 65535 টি পর্যন্ত লিঙ্ক থাকতে পারে।
আমি অন্যান্য ফাইল সিস্টেমের জন্য মানগুলি পরীক্ষা করে দেখিনি।