डुप्लिकेट फ़ाइलें और फ़ोल्डर खोजें और स्टोरेज सुरक्षित रूप से पुनः प्राप्त करें
Beta — v0.9.2 . DedupCommando असली फ़ाइलों पर विनाशकारी ऑपरेशन (delete, hardlink, reflink) करता है। कुछ भी लागू करने से पहले सुरक्षा गाइड पढ़ें और बैकअप रखें।
DedupCommando, Linux के लिए एक टर्मिनल टूल (CLI और TUI) है जो बाइट-दर-बाइट समान फ़ाइलें और फ़ोल्डर खोजता है और उनके द्वारा बर्बाद की गई जगह पुनः प्राप्त करता है — यह ZFS स्टोरेज के लिए बनाया गया है, जिसमें Proxmox VE सिस्टम पर होस्ट किया गया स्टोरेज भी शामिल है। डेटा सुरक्षा सर्वोपरि है: हर विनाशकारी बैच एक ZFS स्नैपशॉट (snapshot) के तहत चलता है, "हटाई गई" फ़ाइलें unlink होने के बजाय क्वारंटीन में चली जाती हैं, और हर क्रिया से ठीक पहले सामग्री की दोबारा जाँच होती है।
सुरक्षा सबसे पहले
- पहली क्रिया से पहले प्रभावित हर dataset का एक ZFS स्नैपशॉट लिया जाता है; यदि कोई भी स्नैपशॉट विफल हो, तो पूरा बैच रद्द हो जाता है।
- "Delete" फ़ाइलों को क्वारंटीन में ले जाता है,
unlinkनहीं करता — जब तक आप इसे स्पष्ट रूप से खाली न करें तब तक वापस लाने योग्य। - हर क्रिया से ठीक पहले सामग्री की दोबारा जाँच होती है (फिर से hash / फिर से stat); किसी भी अंतर पर वह क्रिया रद्द हो जाती है।
- फ़ाइलें
renameat2(RENAME_NOREPLACE)के ज़रिए परमाणविक रूप से प्रकाशित होती हैं — कोई रेस कंडीशन नहीं। - सिंगल-इंस्टेंस लॉक समवर्ती लेखन रोकता है; dataset के बीच मूव अस्वीकृत होते हैं, कभी भी चुपचाप कॉपी-फिर-डिलीट नहीं।
जगह पुनः प्राप्त करने के तीन तरीके
- क्वारंटीन में डिलीट — एक डुप्लिकेट हटाएँ, और खाली करने तक उसे वापस लाने योग्य रखें।
- Hardlink — डुप्लिकेट को एक ही inode की ओर इंगित करें (एक ही dataset के भीतर)।
- Reflink —
block_cloningवाले ZFS पर कॉपी-ऑन-राइट (CoW) ब्लॉक क्लोन (एक ही dataset के भीतर); स्वतंत्र मेटाडेटा, और किसी फ़ाइल के बदलने तक साझा ब्लॉक।
हर समूह में एक फ़ाइल keeper होती है; बाकी या तो लिंक बन जाती हैं या क्वारंटीन में जाती हैं।
यह कैसे काम करता है
- स्कैन — चुने गए पथों को पार करता है, उम्मीदवारों का BLAKE3 से hash करता है (वैकल्पिक बाइट-दर-बाइट पुनः तुलना के साथ), और समान फ़ाइलों को समूहबद्ध करता है। स्कैन फिर से शुरू किए जा सकते हैं और कैश होते हैं, जिससे दोबारा स्कैन लगभग तुरंत होता है।
- समीक्षा — बहु-पैनल commander (डिफ़ॉल्ट) या क्लासिक चरण-दर-चरण विज़ार्ड (
--classic) में डुप्लिकेट समूह देखें; हर समूह के लिए keeper और क्रिया चिह्नित करें। यह "जुड़वाँ फ़ोल्डर" भी खोजता है: समान सामग्री वाले डायरेक्टरी ट्री। - लागू करें — योजना की समीक्षा करें और इंटरैक्टिव रूप से लागू करें, या इसे shell स्क्रिप्ट के रूप में सहेजें। एक रिसोर्स गवर्नर (Turbo / Balanced / Idle) यह सुनिश्चित करता है कि व्यस्त होस्ट पर स्कैन VM या बैकअप का संसाधन न छीने।
ZFS के लिए बना, Proxmox VE पर चलता है
DedupCommando को ZFS के लिए डिज़ाइन किया गया है: स्नैपशॉट, dataset सीमाएँ और reflink इसी पर आधारित हैं। इसे Proxmox VE 9.1 (OpenZFS 2.3) पर परखा गया है, जहाँ ZFS पहले से उपलब्ध होता है। यह फ़ाइल-स्तरीय डिडुप्लिकेशन है — डुप्लिकेट फ़ाइलें खोजना और हटाना — न कि ZFS में अंतर्निहित ब्लॉक-स्तरीय डिडुप (zfs set dedup), और न ही कम्प्रेशन।
गैर-ZFS फ़ाइल सिस्टम पर स्कैनिंग काम करती है, लेकिन स्नैपशॉट सुरक्षा नहीं होती, इसलिए वहाँ क्रियाएँ लागू करने की अनुशंसा नहीं की जाती।
आवश्यकताएँ
- Linux, कर्नेल ≥ 3.15, x86_64 या aarch64।
- ZFS की पुरज़ोर अनुशंसा (स्नैपशॉट सुरक्षा, dataset पहचान, reflink);
PATHमेंzfs, आमतौर पर root के रूप में चलाया जाता है। - एक UTF-8, 256-रंग वाला टर्मिनल।
शुरू करें
Debian 13 / Proxmox VE 9+ — हस्ताक्षरित APT रिपॉज़िटरी से इंस्टॉल करें (apt upgrade से अपडेट):
# as root (Proxmox default); on non-root Debian run: sudo -i
curl -fsSL https://dedupcommando.github.io/apt/dedcom-archive-keyring.gpg \
-o /usr/share/keyrings/dedcom-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/dedcom-archive-keyring.gpg] https://dedupcommando.github.io/apt stable main" \
| tee /etc/apt/sources.list.d/dedcom.list
apt update && apt install dedcom
हर GitHub रिलीज़ के साथ पूर्व-निर्मित बाइनरी संलग्न होती हैं (amd64 और arm64) — डाउनलोड करें, सत्यापित करें, फिर इंस्टॉल करें:
tar xzf dedcom-<version>-<triple>.tar.gz
install -m 755 dedcom /usr/local/bin/dedcom
स्रोत से बिल्ड Docker-आधारित है, किसी स्थानीय Rust टूलचेन की ज़रूरत नहीं।
- नवीनतम रिलीज़ · GitHub पर स्रोत
- अधिक विवरण (अंग्रेज़ी में): ZFS पर डुप्लिकेट · Proxmox VE पर · Linux डुप्लिकेट फ़ाइल खोजक · hardlink बनाम reflink · सुरक्षा और रिकवरी · दस्तावेज़