पुराने उपयोगकर्ता खाते को नए उपयोगकर्ता खाते में कैसे कॉपी करें?


4

मेरा पुराना उपयोगकर्ता खाता उन सभी दूषित फ़ाइलों पर काम नहीं कर रहा है जो मुझे लगता है।

अन्य 2 खाते सामान्य काम कर रहे हैं।

इसलिए मैं एक नया व्यवस्थापक खाता बनाता हूं और मुझे आश्चर्य है कि मैं अपनी सभी सेटिंग्स, पासवर्ड, फ़ाइलों को पुराने व्यवस्थापक खाते से नए खाते में कैसे कॉपी कर सकता हूं।

मैं पुराने व्यवस्थापक खाते का उपयोग नहीं कर सकता, क्योंकि मैं नए व्यवस्थापक खाते से माइग्रेशन कर सकता हूं तो बहुत बुरी तरह से जमे हुए हैं।

धन्यवाद!

जवाबों:


1

आप मूल रूप से पूछ रहे हैं: "मेरे उपयोगकर्ता खाते से सेटिंग्स और फ़ाइलों को नए उपयोगकर्ता खाते में कॉपी कैसे करें, कुछ सेटिंग्स को छोड़ दें?"

नए उपयोगकर्ता खाते में माइग्रेट करना

उपयोगकर्ता से फ़ाइलों को स्थानांतरित करने के oldलिए new, आपको फ़ाइलों की प्रतिलिपि बनाने और स्वामित्व को तदनुसार बदलने की आवश्यकता है:

sudo cp -r -d --preserve=mode,timestamps -T ~old ~new
sudo chown -R new: ~new

यह पथ को संशोधित किए बिना फ़ाइलों की प्रतिलिपि बनाना चाहिए।

अब एक शेल में लॉग इन करें new। या तो Ctrl+ Alt+ का उपयोग करके वीटीवाई पर स्विच करें F1और newएक टर्मिनल का उपयोग करके लॉगिन या लॉगिन करें su new। यदि आपने पहला तरीका चुना है, तो आप Ctrl+ Alt+ के साथ वापस स्विच कर सकते हैं F7। इस बिंदु से, यह माना जाता है कि आप लॉग इन हैं new

यदि प्रतीकात्मक लिंक मौजूद हैं जो उनकी पुरानी निर्देशिकाओं की ओर इशारा करते हैं, तो उन लिंक को खोजें:

find ~ -lname '*/old/*' -ls

प्रतीकात्मक लिंक के फ़ाइल नाम मुद्रित हैं, लेकिन कोई कार्रवाई नहीं की गई है। एक नया सिमलिंक बनाने के ~new/path/to/symlinkलिए ~old/point/to/target, पुराने को ओवरराइट करके, चलाएं:

ln -sf ~old/point/to/target ~new/path/to/symlink

पुराने लोगों के संदर्भ में कॉन्फ़िगरेशन फ़ाइलें हो सकती हैं, आप उन फ़ाइलों को पा सकते हैं grep:

grep -HrnI 'old' ~

यदि आपको कई परिणाम मिलते हैं, तो अधिक विशिष्ट होने पर विचार करें, अर्थात oldद्वारा प्रतिस्थापित करें /home/old। फ़ाइलों को खोज मानदंडों से मेल खाने वाली लाइनों के साथ सूचीबद्ध किया जाएगा, लेकिन कोई कार्रवाई नहीं की जाती है।

पुराने खाते को डीबग करना

यदि आप सभी सेटिंग्स और फ़ाइलों को कॉपी करते हैं, तो आप समस्याग्रस्त फ़ाइलों को हटाने के साथ बेहतर हैं। इष्टतम परिणामों के लिए, यह एक जीयूआई सत्र से विषय उपयोगकर्ता लॉग आउट करें और (यह करने के लिए स्विच का उपयोग एक आभासी कंसोल में लॉग इन करने के एक अच्छा विचार है Ctrl+ Alt+ F1)।

यदि आप अचानक लॉग आउट हो रहे हैं, तो जांचें ~/.xsession-errors। आप दौड़ कर ऐसा कर सकते हैं:

less ~/.xsession-errors

तीर कुंजी का उपयोग करें, पृष्ठ ऊपर / नीचे, घर या अंत नेविगेट करने के लिए, Qछोड़ने के लिए दबाएँ ।

कभी-कभी .gconfd/saved_stateफ़ाइल दूषित हो जाती है। आप इस फ़ाइल को निकाल सकते हैं:

rm .gconfd/saved_state

ऐसा करने के बाद, Ctrl+ Alt+ दबाकर GUI लॉगिन पर वापस जाएँ F7। लॉग इन करें और यदि समस्या चली गई, तो आप कर रहे हैं। अन्यथा, लॉग आउट करें और Ctrl+ Alt+ का उपयोग करके वर्चुअल कंसोल पर वापस जाएं F1

एक और निर्देशिका जिसे खाली किया जा सकता है ~/.cache:

rm -r ~/.cache/*

सभी फ़ाइलों और सेटिंग्स को खोने के बजाय, कुछ फ़ोल्डरों को अस्थायी रूप से स्थानांतरित करें। इसके साथ किया जा सकता है:

mv folder{,-orig}

यदि कोई फ़ोल्डर समस्या उत्पन्न नहीं कर रहा था, तो नए बनाए गए फ़ोल्डर को हटा दें और पुराने को पुनर्स्थापित करें:

rm -r folder
mv folder{-orig,}

कुछ फ़ोल्डर जो समस्याएं पैदा कर सकते हैं (कुछ भी हो सकता है कोई भी हो, उस स्थिति में अगले फ़ोल्डर पर जाएं):

.gnome
.gnome2
.kde
.config
.local

हर संशोधन के साथ, GUI लॉगिन पर वापस जाएं और इसका परीक्षण करें।


वाह मेरे लिए बहुत जटिल लग रहा है ... मैं न सभी आदेश मिल वहाँ एक आसान तरीका है? ...
tinaf

वे शेल कमांड हैं, बस एक टर्मिनल में लॉगिन करें और उन पर अमल करें।
लेकेनस्टाइन

0

यह मानते हुए कि आपने अपने newuserऔर घर के फ़ोल्डर को पहले से ही newuserमौजूद है:

(1/2) नए उपयोगकर्ता के लिए सभी फ़ाइलों की प्रतिलिपि बनाएँ:

sudo rsync -ah --progress /home/olduser/. /home/newuser

टिप्पणियाँ:

  • rsyncएक फ़ंक्शन समान है लेकिन आम तौर पर इससे बेहतर है cp। इसके और भी विकल्प हैं आदि
  • -a कमांड मूल फाइलों की अनुमतियों को बरकरार रखती है (हम चरण 2 में मालिकाना हक छांट लेंगे)
  • -h कमांड आउटपुट जानकारी को मानव पठनीय प्रारूप (यानी फ़ाइल आकार आदि) में बदल देता है
  • --progress प्रत्येक फ़ाइल के लिए एक प्रगति पट्टी जोड़ता है
  • /.के अंत पर olduserस्थान यह छिपा फ़ाइलों में शामिल करता है (यह सुनिश्चित करें कि आपके कर देगा bash_aliasesऔर bashrcफ़ाइलों आदि भर में न सिर्फ सामान्य फ़ाइलें कॉपी कर रहे हैं। यह विकल्प क्या अपनी सेटिंग्स को माइग्रेट करती है।)

(2/2) कॉपी की गई फ़ाइलों के स्वामी को बदलें

अब हम फाइलों के सभी मालिकों को बदलते हैं:

sudo chown -R --from=olduser:oldusergroup newuser:newusergroup /home/newuser

टिप्पणियाँ:

  • chown फ़ाइलों के CHange-OWNership के लिए एक फ़ंक्शन है
  • -Rइसे पुनरावर्ती बनाता है। (यदि आप केवल एक फाइल को बदल रहे हैं तो आपको इसकी आवश्यकता नहीं है लेकिन हम आपके नए उपयोगकर्ता फ़ोल्डर के भीतर सभी फ़ाइलों और निर्देशिकाओं और सब कुछ को बदल रहे हैं और इसलिए पुनरावर्ती की आवश्यकता है)
  • --from=olduser:oldusergroupयह सुनिश्चित करता है कि हम किसी भी फ़ाइल को नहीं बदलते (विशेष रूप से छिपी हुई फ़ाइलों के लिए प्रासंगिक) जो कि रूट द्वारा 'स्वामित्व वाली' हैं। इनको बदलने से बहुत गड़बड़ हो सकती है। यह --fromविकल्प बताता है chownकि हम केवल उन फ़ाइलों और फ़ोल्डरों को बदलना चाहते हैं जो वर्तमान में स्वामित्व में हैं olduser

यह मेरे लिए काम करता है और, हालांकि मैंने यहां बहुत कुछ समझाया, वास्तव में यह केवल 2 मुख्य कमांड हैं इसलिए प्रक्रिया वास्तव में सरल है जब आप वर्कआउट करते हैं कि कैसे अनुमति रखें आदि।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.