/var
एकल-उपयोगकर्ता मोड में परिवर्तित किए बिना ले जाएं
जब मैंने अपने नियोक्ता की होस्टिंग कंपनी द्वारा मेरे लिए एक नया वर्चुअल सर्वर लिया था, तो मैंने इसके लिए अतिरिक्त तार्किक वॉल्यूम बनाए var
और home
जो रूट विभाजन में नियमित निर्देशिका थी। चूंकि वर्चुअल सर्वर प्रदाता केवीएम जैसा इंटरफ़ेस प्रदान नहीं करता था जिसके द्वारा मैं सर्वर को एकल-उपयोगकर्ता मोड में एक्सेस कर सकता था, इसलिए उपरोक्त उत्तर मेरे सेटअप पर लागू नहीं थे। मुझे आशा है कि यह उत्तर दूसरों के लिए समान स्थिति में उपयोगी है (मैंने LVM विवरण रखा है, लेकिन इन्हें छोड़ दिया जा सकता है क्योंकि यह विशेष रूप से प्रासंगिक नहीं है कि नया फाइल सिस्टम एक तार्किक आयतन या डिस्क विभाजन पर बनाया गया है)।
/var
LVM के साथ एक नया फाइल सिस्टम बनाएं और उपयोग करें
नए 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/