কম্পিউটার টিউটোরিয়াল

লিনাক্সে ব্রোকেন সিমলিংক (Broken Symlinks) খুঁজে বের করার পদ্ধতি

সিমবোলিক লিংক, বা সিমলিংক (symlinks), আপনার লিনাক্স সিস্টেম ম্যানেজমেন্টকে সহজ করার একটি উপায়। এটি সার্ভার বা ওয়ার্কস্টেশনে খুব কমন, যেখানে একটি ডিরেক্টরিকে অন্য ডিরেক্টরির সাথে লিংক করা হয় অ্যাপ্লিকেশনকে ডিরেক্টরি ট্রির অন্য জায়গায় ইনফোর্মেশন পাঠাতে কনফিগারেশন চেঞ্জ ছাড়া—একটি সুস্থ সিস্টেম মেইনটেইন করার জন্য অপরিহার্য। কিন্তু, সিমলিংক ব্যবহার করার সমস্যা হচ্ছে আপনি সেটি লিংকে দুটো ডিরেক্টরি থাকবেনা এমন কোনো গ্যারান্টি নেই। এখানে আমরা আপনাকে দেখাচ্ছি কীভাবে লিনাক্সে ব্রোকেন সিমলিংক খুঁজে বের করে ফিক্স করবেন।

সিমলিংকস (symlinks) নামে একটি অবিশ্বাস্যভাবে হেল্পফুল অ্যাপ্লিকেশন অধিকাংশ রিপোজিটরিতে থাকে। এটি একটি সিম্পল কমান্ড-লাইন ইউটিলিটি যা হেল্পফুল আউটপুট এবং সেইম ব্রোকেন সিমলিংক ডিলিট করার অপশন দেয়।

এটি ইনস্টল করতে, নিচের কমান্ডগুলো ব্যবহার করুন:

# Debian/Ubuntu-বেসড ডিস্ট্রোর জন্য sudo apt install symlinks # Fedora/CentOS-র জন্য sudo dnf install symlinks

symlinks-এর কয়েকটি কী অপশন আছে। সেগুলো হলো -d, যা ড্যাঙ্গলিং লিংক ডিলিট করবে, এবং -r, যা আপনি যেসব অপশন স্পেসিফাই করবেন সেগুলো রিকার্সিভলি সাবডিরেক্টরির মাধ্যমে করবে।

আপনি লিনাক্সের বিল্ট-ইন find টুলও ব্যবহার করতে পারেন। এটি কম ইউজার-ফ্রেন্ডলি উদাহরণ, তবে find কমান্ড এবং কীভাবে কাজ করে সেটা শিখতে হেল্পফুল।

প্রথমে, আমি একটি সিমবোলিক লিংক তৈরি করব। এতে একটি এক্সিস্টিং ফাইল নেওয়া হয় এবং ln কমান্ড ব্যবহার করে এটিকে একটি এমন ফাইলের সাথে লিংক করা হয় যা এখনো এক্সিস্ট করে না। আমার জন্য সেটা দেখতে এরকম হবে।

touch test-file.txt ln -s test-file.txt linked-file.txt

আপনি ls কমান্ড দিয়ে দেখতে পারেন লিংকটি এক্সিস্ট করে।

এখন, আমি সেই সিমলিংক ব্রেক করব।

rm test-file.txt

আপনি দেখতে পাচ্ছেন যে আমি অরিজিনাল ফাইলটি রিমুভ করলেও, ls -l কমান্ড এখনও লিংকটি রিপোর্ট করছে। সমস্যা এখানেই আসে। এই ফাইলগুলো ভিন্ন ডিরেক্টরিতে থাকতে পারে, যা অরিজিনাল ফাইল এখনো আছে কিনা চেক করা অনেক কঠিন করে তোলে।

ব্রোকেন সিমলিংক ফিক্স করার উপায় হচ্ছে সেগুলো ডিলিট করে দেওয়া। সেগুলো ফেরত আনা অসম্ভব, তাই আপনাকে সেগুলো ভার্চুয়াল ডিরেক্টরি ট্রি থেকে ক্লিয়ার করে দিতে হবে।

symlinks টুল দিয়ে ব্রোকেন সিমলিংক রিপোর্ট করতে, নিচের কমান্ড ব্যবহার করুন:

symlinks .

প্রেজেন্ট ওয়ার্কিং ডিরেক্টরি ইন্ডিকেট করার ". " নোট করুন। আপনি যে ডিরেক্টরি সার্চ করার চেষ্টা করছেন সেটার জন্য এটি চেঞ্জ করুন। আউটপুট এরকম দেখতে পারে:

dangling: /home/jperkins/linked-file.txt -> test-file.txt

ইঙ্গিত করছে যে "linked-file.txt" ড্যাঙ্গলিং এবং সিমলিংকটি ব্রোকেন। সেগুলো ডিলিট করতে, নিচের কমান্ড ব্যবহার করুন:

symlinks -d .

আউটপুট লাস্ট টাইমের মত দেখাবে কিন্তু "deleted" লাইনও থাকবে।

find দিয়ে ব্রোকেন সিমলিংক ফিক্স করতে, নিচের কমান্ড ব্যবহার করুন:

find . -xtype l

একবার আবার প্রেজেন্ট ওয়ার্কিং ডিরেক্টরি রিপ্রেজেন্ট করার "." নোট করুন। এটি কম ইউজার-ফ্রেন্ডলি আউটপুট দেবে কিন্তু হেল্পফুল হবে।

এবং ডিলিট করার জন্য delete অপশন যোগ করুন।

find . -xtype l -delete

এটার জন্য আউটপুট পাবেন না, কিন্তু আপনি আবার -delete অপশন ছাড়া রান করলে কিছুই পাবেন না।

এটা সেট। এখন আপনি সহজে ব্রোকেন সিমলিংক খুঁজে বের করে ডিলিট করতে পারবেন যাতে সেগুলো আরও ইস্যু করে না। সিমলিংক সম্পর্কে আরও টিউটোরিয়াল আছে যা আপনাকে চেক আউট করা উচিত। আপনি সিমলিংক এবং হার্ড লিংকের পার্থক্য এবং কখন কী ব্যবহার করা উচিত সেটাও জানতে পারেন।

  1. লিনাক্সে ফাইলে নির্দিষ্ট শব্দ খুঁজে বের করুন

  2. fd ব্যবহার করে লিনাক্স এবং macOS-এ ফাইল দ্রুত খুঁজুন

  3. লিনাক্সে Kodi ইনস্টল করার পদ্ধতি

  4. Arch Linux ইনস্টল করার পদ্ধতি