वहाँ clobbering के बिना `tar` निकालने के लिए एक रास्ता है


12

क्या tarक्लोबिंग के बिना निकालने का एक तरीका है ?

मैं 12.04 स्थापित कर रहा हूं और अपने डेटा को 10.10 से पुनर्स्थापित करना चाहता हूं। कुछ भी 12.04 विशिष्ट मैं रखना चाहूंगा, वह यह है कि मैं नहीं चाहता कि tar'10. 10. संस्करण को निकाला जाए। अगर मैं एक ऐसी फाइल को सामान्य रीस्टोर करता हूं, जैसे .bashrc को क्लोब किया जाएगा। इससे बचने का कोई रास्ता है क्या?

संपादित करें: मैं ध्यान दूंगा कि बूट किया गया 12.04 आईएसओ डिस्क चित्र 10.10 (या जो भी) से अपग्रेड की अनुमति देता है और यह पुराने डेटा को रखने की पेशकश करता है। मैंने यह कोशिश की लेकिन यह शिकायत थी कि उन्नयन के बाद कुछ अनुप्रयोगों को तोड़ा जा सकता है। मैंने केवल रीबूट करने और एक क्लीन इंस्टाल करने का फैसला किया।

जवाबों:


14

मुझे यह समझने में कठिनाई है कि आप क्या चाहते हैं, लेकिन यदि आपने अपने पूरे सिस्टम की एक टार फाइल बनाई है, तो मेरा मानना ​​है कि आपने एक बहुत बड़ी टार फाइल बनाई है जिसका कोई वास्तविक उद्देश्य नहीं है जब तक कि आप टार फाइल को पूरी तरह से बहाल नहीं करते हैं। यदि आप अपने स्वयं के दस्तावेजों को बचाना चाहते थे, तो आपको उन दस्तावेजों का बैकअप बनाना चाहिए था और कुछ नहीं।

यह कहने के बाद कि टार में कई निफ्टी विकल्प हैं ...

--keep-old-files

यह मौजूदा फ़ाइलों को अधिलेखित नहीं करेगा।

--keep-newer-files 

यह उन सभी फ़ाइलों को रखेगा जो एक नया टाइमस्टैम्प है जैसा कि है।

--no-overwrite-dir

यह मौजूदा निर्देशिका के मेटाडेटा को छोड़ देगा।

टार के लिए एक मैनुअल यहाँ पाया जा सकता है

लेकिन मैं सलाह दूंगा कि टार फाइल को किसी दूसरे माध्यम से निकाला जाए और उन फाइलों को मैनुअली रीस्टोर किया जाए। यह सबसे सुरक्षित तरीका है।


3
यहां तक ​​कि --keep-new-files और --no-overwrite-dir के साथ, एक नए सिस्टम पर एक पुराना फुल सिस्टम बैकअप निकालने से आपका सिस्टम एक नासमझ अवस्था में आ जाएगा क्योंकि कई फाइलें जो वहां नहीं होनी चाहिए, निकाली जाएंगी। आपको फ़ाइल-रोलर के साथ गुई में संग्रह को खोलना चाहिए और उन विशिष्ट फ़ाइलों को निकालना चाहिए जिन्हें आप अपने होम डायरेक्टरी में चाहते हैं।
Psusi

मैं अपने उत्तर में अपनी अंतिम पंक्ति के अनुसार सहमत हूँ :)
रिनविंड

2
@ Rinzwind, आप सही हैं, मेरे संग्रह में एक दोषपूर्ण डिज़ाइन है। कई बहिष्करण और अभी भी पर्याप्त बहिष्करण नहीं हैं, इसलिए यह बहाल करने के लिए एक गड़बड़ और खतरनाक है क्योंकि यह सटीक रूप से मैवरिक ओवरराइटिंग होगा। मेरा अगला संग्रह सख्ती से समावेश होगा। मैनुअल बहाली के बारे में आपका सुझाव अच्छा है।
H2ONaCl

8

से टार (1) :

 -k, --keep-old-files
       don't replace existing files when extracting

मुझे स्पष्ट लगता है। यदि टारबॉल में फाइलें अपेक्षाकृत आपके पुराने होमडिर में संग्रहित हैं:

tar xvkf backup.tar.gz -C ~

यह भी सेक करते समय काम करता है।
nyxee

@nyxee यह भी काम करता है जब एक संपीड़ित संग्रह (जैसे tar xvkzf backup.tar.gz -C ~) निकालने की कोशिश कर रहा है । मुझे नहीं लगता कि जब आप इस tar czf foo.tar.gz foo/बारे में पूछ रहे हैं तो एक नया आर्काइव ( ) बनाने की कोशिश करते समय इसे मान्यता दी जाती है।
लेकेन्स्टाइन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.