Ubuntu में ncdu से डिस्क स्पेस विश्लेषण और प्रबंधन गाइड

परिचय: सर्वर स्टोरेज की विसंगतियों को समझना

लिनक्स सर्वर पर स्टोरेज क्षमता अचानक समाप्त होने लगे, तो यह पहचानना अत्यंत आवश्यक हो जाता है कि कौन सी फाइलें या डायरेक्ट्रीज अत्यधिक स्पेस घेर रही हैं। पारंपरिक कमांड्स के जटिल टेक्स्ट आउटपुट के बजाय, ncurses-आधारित इंटरैक्टिव TUI टूल ncdu इस कार्य को बहुत सहज बना देता है। इस गाइड में हम उबंटू पर इसके इंस्टॉलेशन से लेकर प्रोडक्शन सर्वर में इसके कुशल उपयोग की संपूर्ण प्रक्रिया समझेंगे।

ncdu पैकेज का इंस्टॉलेशन एवं संस्करण जांच

उबंटू परिवेश में स्टोरेज का त्वरित विश्लेषण करने के लिए सिस्टम रिपॉजिटरी इंडेक्स को रीफ्रेश करते हुए हम APT पैकेज मैनेजर के जरिए ncdu को इंस्टॉल करते हैं।

apt-get update -qq && apt-get install -y ncdu

पैकेज सेटअप पूरा होने के बाद, बाइनरी का उचित निष्पादन सुनिश्चित करने के लिए इसके इंस्टॉल्ड वर्जन की पुष्टि की जाती है।
⚙️ [महत्वपूर्ण कमांड विकल्प]

-v : वर्तमान में स्थापित ncdu का रिलीज संस्करण प्रदर्शित करता है।
-x : स्कैनिंग को उसी फाइल सिस्टम तक सीमित रखता है और अन्य माउंट पॉइंट्स को अनदेखा करता है।
-r : केवल-पठन (Read-only) मोड सक्रिय करता है, जिससे असावधानीवश फाइल डिलीट होने का जोखिम समाप्त होता है।
-q : स्क्रीन रीफ्रेश दर घटाकर बैकग्राउंड में स्कैनिंग की गति तेज करता है।
-o : संपूर्ण डायरेक्ट्री स्कैन के परिणामों को किसी निर्दिष्ट फाइल में एक्सपोर्ट करता है।
-f : पूर्व में -o द्वारा सहेजी गई रिपोर्ट को इंटरैक्टिव इंटरफेस में पुनः लोड करता है।

ncdu -v

व्यावहारिक परीक्षण हेतु डमी डायरेक्ट्री ट्री और फाइलों का निर्माण

टूल की वास्तविक कार्यप्रणाली को समझने के लिए, हम पहले mkdir -p ~/ncdu_practice/{logs,backups,media/videos} निष्पादित करके एक बहुस्तरीय टेस्ट डायरेक्ट्री संरचना तैयार करते हैं।

mkdir -p ~/ncdu_practice/{logs,backups,media/videos}

इसके उपरांत, logs डायरेक्ट्री में 20MB आकार की परीक्षण लॉग फाइल बनाने के लिए fallocate -l 20M ~/ncdu_practice/logs/app_error.log का उपयोग किया जाता है।

fallocate -l 20M ~/ncdu_practice/logs/app_error.log

डेटाबेस बैकअप का अनुकरण करने हेतु backups डायरेक्ट्री में 50MB की आर्काइव फाइल तैयार करने के लिए fallocate -l 50M ~/ncdu_practice/backups/db_backup.tar.gz निष्पादित करें।

fallocate -l 50M ~/ncdu_practice/backups/db_backup.tar.gz

इसी प्रकार मीडिया कंटेंट का परीक्षण करने हेतु 100MB की वीडियो फाइल जनरेट करने के लिए fallocate -l 100M ~/ncdu_practice/media/videos/demo_clip.mp4 चलाएं।

fallocate -l 100M ~/ncdu_practice/media/videos/demo_clip.mp4

निर्मित की गई डायरेक्ट्री संरचना और आवंटित फाइलों के वास्तविक आकारों की पुनरावर्ती पुष्टि हेतु ls -lhR ~/ncdu_practice कमांड निष्पादित करें।

ls -lhR ~/ncdu_practice

इंटरैक्टिव TUI के माध्यम से डिस्क उपयोग का प्रत्यक्ष विश्लेषण

अभ्यास डायरेक्ट्री ~/ncdu_practice का त्वरित सर्वेक्षण करने के लिए स्क्रीन अपडेट लैग को कम करने वाले -q फ्लैग के साथ ncdu -q ~/ncdu_practice निष्पादित करें।
यह इंटरफ़ेस सब-डायरेक्ट्रीज और फाइलों को उनके आकार के अवरोही क्रम (descending order) में ग्राफिकल बार के साथ प्रदर्शित करता है, जिससे विशाल फाइलों को तुरंत चिन्हित किया जा सकता है।

ncdu -q ~/ncdu_practice

वास्तविक प्रोडक्शन परिवेश में, सिस्टम लॉग डायरेक्ट्री /var/log का विश्लेषण करते समय अन्य स्टोरेज माउंट्स को अलग रखने हेतु -x फ्लैग के साथ ncdu -x /var/log चलाना श्रेष्ठ अभ्यास है।
यह केवल लक्षित रूट पार्टीशन के भीतर का डेटा स्कैन करता है, जिससे नेटवर्क माउंट या बाहरी ड्राइव्स का अनावश्यक स्कैनिंग ओवरहेड समाप्त हो जाता है और सटीक डिस्क मेट्रिक्स प्राप्त होते हैं।

ncdu -x /var/log

स्कैन डेटा का JSON निर्यात एवं ऑफलाइन ऑडिटिंग

विश्लेषण परिणामों को रिमोट मशीन पर जांचने अथवा बाद के संदर्भ के लिए सहेजने हेतु ncdu -1xo- ~/ncdu_practice > ~/ncdu_practice/disk_usage.json कमांड चलाएं।
यहाँ -1 फ्लैग सिंगल-लाइन प्रोग्रेस स्टेटस सुनिश्चित करता है, जबकि -o- आउटपुट को सीधे स्टैंडर्ड आउटपुट पर भेजकर JSON फाइल में सुरक्षित लिखता है।

ncdu -1xo- ~/ncdu_practice > ~/ncdu_practice/disk_usage.json

परिणामी JSON फाइल की संरचना एवं वैधता सत्यापित करने के लिए शुरुआती 5 पंक्तियाँ head -n 5 ~/ncdu_practice/disk_usage.json से देखें।
इसमें उपयोगिता संस्करण, स्कैनिंग टाइमस्टैम्प, डायरेक्ट्री पदानुक्रम और प्रत्येक फाइल के सटीक बाइट्स का संरचित रिकॉर्ड मौजूद रहता है।

head -n 5 ~/ncdu_practice/disk_usage.json

एक्सपोर्ट की गई डेटा फाइल को दोबारा विज़ुअल TUI मोड में लोड करने के लिए ncdu -f ~/ncdu_practice/disk_usage.json कमांड का उपयोग करें।
इस प्रक्रिया में डिस्क I/O को दोबारा दोहराए बिना संपूर्ण स्टोरेज विवरण तुरंत प्रस्तुत हो जाता है, जो संवेदनशील अथवा प्रोडक्शन सर्वर की लोड-फ्री ऑफलाइन समीक्षा के लिए आदर्श है।

ncdu -f ~/ncdu_practice/disk_usage.json

इस प्रकार, हमने उबंटू में डिस्क स्पेस के कुशल अन्वेषण और नियंत्रण हेतु ncdu टूल के बुनियादी सेटअप से लेकर उन्नत उपयोग परिदृश्यों का अवलोकन किया।
स्टोरेज बाधाओं का सामना करते समय अनावश्यक भारी फाइलों को शीघ्र ढूंढकर सिस्टम को सुव्यवस्थित रखने में यह तकनीक अत्यधिक सहायक सिद्ध होगी।