यहाँ आपके पिछले प्रश्न के उत्तर का एक संशोधित और बहुत विस्तृत विस्तार दिया गया है:
sfill
secure-delete
पैकेज से आप जो चाहें कर सकते हैं।
ज़ीरोफ्री के विपरीत (जो केवल ext2, ext3 और ext4 फाइल सिस्टम के साथ काम करता है), sfill किसी अन्य फ़ाइल सिस्टम के साथ काम करेगा।
जैसे
sfill -l -l -z /mnt/X
Sfill / सिक्योर-डिलीट होम पेज अब लुप्त हो गया लगता है, लेकिन इसे डेबियन और ubuntu के लिए पैक किया जाता है। शायद अन्य distros भी। यदि आपको सोर्स कोड की आवश्यकता है, तो आप डेबियन अभिलेखागार में पाए जा सकते हैं यदि आप इसे कहीं और नहीं पा सकते हैं।
नोट: sfill केवल एक घुड़सवार फाइल सिस्टम पर काम करता है। यदि आप VM के बजाय होस्ट सिस्टम से छवि फ़ाइलों को शून्य-भरण कर रहे हैं, तो आपको होस्ट पर fs छवि को माउंट करने की आवश्यकता होगी। यह किस तरह की छवि फ़ाइल है (उदाहरण के लिए qcow2 या कच्ची) के आधार पर सटीक विधि भिन्न होती है।
बढ़ते 'कच्चे' चित्र आसान और सीधे-आगे हैं। बस kpartx
लूपबैक डिवाइस बनाने के लिए छवि फ़ाइल पर उपयोग करें और प्रत्येक विभाजन के लिए / dev / mapper / प्रविष्टियाँ फिर व्यक्तिगत रूप से माउंट की जा सकती हैं।
यहाँ स्क्रिप्ट के एक टुकड़े से संशोधित एक आंशिक स्क्रिप्ट है जिसका उपयोग मैं नेट-बूट करने योग्य फ़्रीडोस हार्ड-डिस्क छवियों को माउंट करने के लिए करता हूं (मशीनों पर बायोस अपडेट के लिए उपयोग किया जाता है जहां फ्लैशर काम नहीं करेगा):
image="myrawimagefile.img"
# use kpartx to build /dev/mapper device nodes
KP=$(kpartx -a -v "$image")
# now mount each partition under ./hd/
for p in $(echo "$KP" | awk '/^add map/ {print $3}') ; do
dm="/dev/mapper/$p"
fp=$(echo "$p" | sed -r -e 's/^loop[0-9]+//')
mkdir -p "./hd/$fp"
mount "$dm" "./hd/$fp"
sfill -l -l -v "./hd/$fp"
umount "$dm"
done
# now remove the loopback device and /dev/mapper entries
kpartx -d "$image"
नोट: यह मानता है कि छवि में हर विभाजन माउंटेबल है। मेरे उपयोग के मामले में सच है (एक विभाजन के साथ एक फ्रीडोस एचडी छवि)। सच नहीं है अगर विभाजन में से एक है, कहते हैं, स्वैप स्थान। ऐसे विभाजनों का पता लगाना और dd का उपयोग करके स्वैप विभाजन को पाठक के लिए एक अभ्यास के रूप में छोड़ दिया जाता है :)
यह विधि या इसका एक प्रकार, LVM संस्करणों के लिए भी काम करना चाहिए।
यदि आपकी छवियां qcow हैं, तो आप पैकेज qemu-nbd
से टूल का उपयोग कर सकते हैं qemu-utils
, जो नेटवर्क ब्लॉक डिवाइस के रूप में छवि फ़ाइल और इसके विभाजन प्रस्तुत करेगा - जैसे / dev / nbd0 / dev / ndb0p1 - जिसका उपयोग इसी तरह से किया जा सकता है / ऊपर देव / मैपर उपकरण।
यह संभवत: आसान और कम परेशानी (लेकिन अधिक समय लेने वाली) है qemu-img
जिसका उपयोग qcow से कच्चे में बदलने के लिए किया जाता है, ऊपर दी गई विधि के लिए विधि का उपयोग करें, और फिर संशोधित किए गए कच्चे चित्र को वापस संकुचित करने के लिए qcow2 में परिवर्तित करें। यह शायद qemu-nbd का उपयोग करने की तुलना में थोड़ी छोटी छवियों के परिणामस्वरूप होगा क्योंकि आप नई qcow2 छवि को संपीड़ित कर रहे हैं क्योंकि यह बनाया जा रहा है।
sfill
सुझाव की कोशिश की ? ऐसा लगता है कि इसके लिए एक्सएक्सएक्स की आवश्यकता नहीं है।