Ext4 फाइलसिस्टम स्पार्स कैसे बनाये?


10

मैं VirtualBox में Linux को अतिथि OS के रूप में उपयोग कर रहा हूं। मैंने इसके फाइल सिस्टम से बड़ी संख्या में फाइलें डिलीट की हैं। अब मैं फाइलसिस्टम इमेज फाइल (vdi) को सिकोड़ना चाहता हूं। जहाँ भी यह डिस्क में "अशक्त" मान है, फाइलसिस्टम इमेज को सिकोड़कर सिकुड़ने का काम करता है।

ऐसा लगता है कि ज़ीरोफ्री नामक एक एप्लिकेशन फाइल सिस्टम के रिक्त स्थान में "नल" को इस तरह से लिख सकता है कि वह विरल हो जाता है। लेकिन निर्देश कहते हैं कि यह केवल ext2 / ext3 पर काम करता है। मेरे पास अतिथि OS पर ext4 है।

  1. यह ext 4 पर काम क्यों नहीं करेगा (क्योंकि उद्धृत "extents" है, लेकिन क्या कोई इस पर अधिक प्रकाश डाल सकता है)?

  2. यह काम करेगा, अगर मैं ext 4 को ext 3 के रूप में माउंट करता हूं और फिर ext 4 के रूप में रिमाउंट करता हूं ?

  3. कोई भी अन्य उपकरण जो एक्सट्रीम पर ज़ीरोफ्री के रूप में सिमिलेटेड चीज़ कर सकता है?


2
वहाँ के लिंक के अनुसार, ज़ीरोफ्री ext4 पर काम करता है।
Psusi

मुझे यकीन नहीं है कि यह आपके समय पर काम करता है या नहीं, लेकिन मैनपेज ने कहा कि यह ext4 का समर्थन करता है
phuclv

जवाबों:


23

आपके द्वारा संदर्भित पृष्ठ ( http://intgat.tigress.co.uk/rmy/uml/index.html ) बताता है:

The utility also works on ext3 or ext4 filesystems.

तो मुझे यकीन नहीं है कि आप कहाँ हो रहे हैं कि यह ext4 फाइल सिस्टम पर काम नहीं करता है।

ध्यान दें कि ज़ीरोफ्री उपयोगिता ज़ीरोफ्री कर्नेल पैच से अलग है जो एक ही पृष्ठ पर उल्लिखित है (जो वास्तव में ext4 के लिए एक संस्करण नहीं लगता है)।

अपडेट: कम से कम वर्चुअलबॉक्स के मामले में, मुझे नहीं लगता कि आपको इस उपयोगिता की आवश्यकता है। मेरे परीक्षण में, Ubuntu 4 पर एक स्टॉक उबाउ 10.04 पर स्थापित करें, आप इस तरह से फाइलसिस्टम को शून्य कर सकते हैं:

$ dd if=/dev/zero of=test.file

... वर्चुअल डिस्क को भरने के लिए प्रतीक्षा करें, फिर

$ rm test.file

और VM को बंद कर दें। फिर अपने VirtualBox होस्ट पर:

$ VBoxManage modifyhd --compact yourImage.vdi

और आप सभी अप्रयुक्त स्थान को पुनर्प्राप्त करेंगे।


आपके जवाब के लिए धन्यवाद। ज़ीरोफ्री के मैनपेज ने ext4 को निर्दिष्ट नहीं किया, इसलिए मुझे विकल्प की आवश्यकता थी।
राजगनेश87

1
वैकल्पिक प्रस्ताव (dd if = / dev / zero of = test.file) ने मेरे लिए काम किया! अन्य समाधानों की तुलना में बहुत सरल।
पिस्सू

3
यह स्वीकृत उत्तर होना चाहिए। खूबसूरती से काम करता है।
क्रिस प्रैट

के syncबाद करें dd
इग्निस

ddविचार ने मेरे लिए भी काम किया। अच्छी तरह से किया!
स्टीफन

1

आप उपयोग कर सकते हैं e2fsprogs, एक ऐसा संस्करण है जो ext4 के साथ प्रयोग करने योग्य है।

अपने आप को सुपरयुसर बनाएं:

# su

अपना अभियान अनमाउंट करें:

# umount /dev/sda1

अपने अभियान की पत्रिका निकालें:

# tune2fs -O ^has_journal /dev/sda1

और फिर अपनी फ़ाइल प्रणाली का आकार बदलें:

# resize2fs /dev/sda1 30G


उर उत्तर के लिए धन्यवाद, लेकिन मैं विभाजन को कम नहीं करना चाहता, लेकिन अतिथि की फ़ाइल सिस्टम छवि (vdi)।
rajaganesh87
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.