/varएकल-उपयोगकर्ता मोड में परिवर्तित किए बिना ले जाएं
जब मैंने अपने नियोक्ता की होस्टिंग कंपनी द्वारा मेरे लिए एक नया वर्चुअल सर्वर लिया था, तो मैंने इसके लिए अतिरिक्त तार्किक वॉल्यूम बनाए varऔर homeजो रूट विभाजन में नियमित निर्देशिका थी। चूंकि वर्चुअल सर्वर प्रदाता केवीएम जैसा इंटरफ़ेस प्रदान नहीं करता था जिसके द्वारा मैं सर्वर को एकल-उपयोगकर्ता मोड में एक्सेस कर सकता था, इसलिए उपरोक्त उत्तर मेरे सेटअप पर लागू नहीं थे। मुझे आशा है कि यह उत्तर दूसरों के लिए समान स्थिति में उपयोगी है (मैंने LVM विवरण रखा है, लेकिन इन्हें छोड़ दिया जा सकता है क्योंकि यह विशेष रूप से प्रासंगिक नहीं है कि नया फाइल सिस्टम एक तार्किक आयतन या डिस्क विभाजन पर बनाया गया है)।
/varLVM के साथ एक नया फाइल सिस्टम बनाएं और उपयोग करें
नए varवॉल्यूम के लिए फ़ाइल सिस्टम बनाएं , इसे माउंट करें (एक अस्थायी निर्देशिका का उपयोग करके) और वर्तमान फ़ाइलों से /varनए फाइल सिस्टम में कॉपी करें । फ़ाइलों की प्रतिलिपि बनाते समय rsync, इसके -a, --archiveविकल्प का उपयोग समय-टिकट, स्वामित्व, मोड आदि -X, --xattrsको संरक्षित करने के लिए और इसके विकल्प को विस्तारित विशेषताओं को संरक्षित करने के लिए करते हैं जैसे कि AppArmor और SELinux द्वारा उपयोग किए जाने वाले सुरक्षा लेबल।
sudo lvcreate -L 60GB -n var VolGroup00
sudo mkfs.ext4 /dev/VolGroup00/var
sudo mkdir /var.new
sudo mount /dev/VolGroup00/var /var.new
sudo rsync -raX /var/ /var.new/
फाइलसिस्टम टेबल को अपडेट करें
/varनिम्न करने के लिए निम्न पंक्ति को जोड़कर नए फ़ाइल सिस्टम को नए माउंट-पॉइंट के रूप में उपयोग करने के लिए कॉन्फ़िगर करें /etc/fstab। ध्यान दें कि 0पास नंबर (अंतिम फ़ील्ड) के रूप में उपयोग किया जाता है ताकि fsckरिबूट की एक निश्चित संख्या के बाद फाइलसिस्टम की स्वचालित रूप से जाँच नहीं होगी (मैं एकल-उपयोगकर्ता मोड में सर्वर में प्रवेश करने की कोई पहुंच नहीं है)।
/dev/mapper/VolGroup00-var /var ext4 defaults 0 0
चूंकि मैं एकल-उपयोगकर्ता मोड में नहीं बदल सकता, इसलिए इस नए वॉल्यूम का उपयोग करने के लिए कंप्यूटर को रिबूट करें /var।
रूट फाइल सिस्टम से डिस्क स्थान पुनर्प्राप्त करें
मशीन के पुनरारंभ होने के बाद, अस्थायी निर्देशिका को साफ करने और पुरानी /varफाइलों को रूट फाइल सिस्टम से हटाने के लिए निम्न चरणों का पालन करें :
अस्थायी माउंट बिंदु निकालें:
sudo rmdir /var.new
/varरूट फाइलसिस्टम पर पुरानी निर्देशिका की फ़ाइलों के लिए एक वैकल्पिक पथ बनाने के लिए एक नया आरोह बिंदु बनाएं (यह वर्तमान /varमें निर्देशिका पर मुहिम की गई नई फाइलसिस्टम द्वारा "नकाबपोश" है ):
sudo mkdir /old-root
sudo mount /dev/mapper/VolGroup00-root /old-root/
sudo rm -rf /old-root/var/*
sudo umount /old-root/
sudo rmdir /old-root/