जवाबों:
पहले एक नया विभाजन तैयार करें (जैसे कि साथ parted
और mkfs
)।
कहते हैं कि विभाजन / देव / sda5 है
नया विभाजन माउंट करें:
mkdir /var2
mount /dev/sda5 /var2
अपना वर्तमान संस्करण सिंक करें:
rsync -a /var/ /var2
/ Etc / fstab में प्रविष्टि जोड़ें
/dev/sda5 /var ext4 defaults 2 2
रीबूट।
यदि आपको वापस जाने की जरूरत है तो आप अपने पुराने / संस्करण को हटा दें।
/
चालू सिस्टम पर आप किसी अन्य स्थान पर माउंट कर सकते हैं, जबकि यह चल रहा है (लेकिन रिबूट होने के बाद)। तो आप पुराने पर प्राप्त कर सकते हैं /var
और इसे हटा सकते हैं यदि आपको पसंद है
blkid -o list -s UUID
, लेकिन मुझे लगता है कि आपको
जब मैंने अपने नियोक्ता की होस्टिंग कंपनी द्वारा प्रावधानित एक नया वर्चुअल सर्वर लिया, तो रूट फाइल सिस्टम में पर्याप्त खाली जगह नहीं थी। सौभाग्य से, उन्होंने वर्चुअल डिस्क को उप-विभाजित करने के लिए लॉजिकल वॉल्यूम मैनेजर (LVM) का उपयोग किया था और नए वॉल्यूम बनाने के लिए पर्याप्त खाली स्थान उपलब्ध था। मैंने इसके लिए अतिरिक्त तार्किक वॉल्यूम बनाए var
और home
जो रूट फाइल सिस्टम में नियमित निर्देशिका थी। चूंकि वर्चुअल सर्वर प्रदाता केवीएम जैसा इंटरफ़ेस प्रदान नहीं करता था जिसके द्वारा मैं सर्वर को एकल-उपयोगकर्ता मोड में एक्सेस कर सकता था, मैंने अलेक्जेंडर द्वारा उल्लिखित एक बहुत ही समान विधि का उपयोग किया (इस उत्तर में डिस्क स्थान को पुनर्प्राप्त करने के लिए अतिरिक्त विवरण शामिल हैं LVM- विशिष्ट कमांड के अलावा)।
नए var
फाइल सिस्टम के लिए एक लॉजिकल वॉल्यूम बनाएं , इसे माउंट करें (एक अस्थायी डायरेक्टरी का उपयोग करके) और करेंट /var
से फाइल को नए फाइल सिस्टम में कॉपी करें :
# Create a new 60GB logical volume in the `VolGroup00` group called `var`.
sudo lvcreate -L 60GB -n var VolGroup00
# Create an ext4 filesystem on this new `var` volume.
sudo mkfs.ext4 /dev/VolGroup00/var
# Mount this filesystem at a temporary mount-point.
sudo mkdir /var.new
sudo mount /dev/VolGroup00/var /var.new
चूंकि चलने वाली प्रक्रियाओं में फ़ाइलें /var
खुली और उपयोग में होंगी , इसलिए डायरेक्टरी ट्री को केवल नई फाइलसिस्टम में नहीं ले जाया जा सकता है। पुनरावर्ती ( -r
) फ़ाइल /var
विभाजन और विस्तारित विशेषताओं ( -a, --archive
विकल्प) को संरक्षित करते हुए वर्तमान विभाजन से फ़ाइलों को नए फ़ाइल सिस्टम में कॉपी करें । एक सतर्क उपयोगकर्ता पहले कॉपी करने से पहले वर्तमान वॉल्यूम का LVM स्नैपशॉट बना सकता है, लेकिन इस प्रश्न के लिए बहुत अधिक विषय विवरण है।
sudo cp -ra /var/ /var.new/
वैकल्पिक रूप से, फ़ाइलों को कॉपी -स्टैम्प, स्वामित्व, मोड, आदि को संरक्षित करने के विकल्प के साथ और विस्तारित विशेषता जैसे कि AppArmor और SELinux द्वारा उपयोग किए जाने वाले सुरक्षा लेबल को संरक्षित करने के लिए rsync
इसके -a, --archive
विकल्प के साथ कॉपी किया जा सकता है -X, --xattrs
:
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
में /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/
lvcreate
और mkfs.ext4
यह बताए बिना कि क्या और क्यों उपयोग किया जाता है। शायद आप बस यह बता सकते हैं कि नया विभाजन बनाने के लिए है क्योंकि वे उत्तर का मुख्य विषय नहीं हैं।
/var
जोड़ूंगा: एक लाइव एलसीडी से शुरू करें, इंस्टॉल किए गए सिस्टम पर विभाजन को माउंट करें/
औरrm -rf /var/*
।