मैन्युअल रूप से इंस्टॉल किए गए पैकेजों को स्वरूपण या हटाने के बिना आधार उबंटू को पुनर्स्थापित करें


10

क्योंकि मैं प्रस्तावित रिपॉजिटरी (14.04 पर) के साथ बहुत अधिक खेला था, मैं चरण 1 पर वापस जाना चाहता हूं: सिस्टम पर प्रत्येक पैकेज को हटा दें जिन्हें मैंने मैन्युअल रूप से इंस्टॉल किया है और बेस सिस्टम को फिर से इंस्टॉल करें, बिना रीइंस्टॉल करने की परेशानी के बिना ।

मूल रूप से, वहाँ वैसे भी सुरक्षित रूप से और दूर से ssh पर है:

  • मैन्युअल रूप से इंस्टॉल किए गए को छोड़कर सभी पैकेजों को हटा दें
  • कर्नेल से सब कुछ फिर से इंस्टॉल करें ubuntu-desktop(अधिमानतः स्वचालित रूप से बिना किसी और पैकेज को मैन्युअल रूप से स्थापित किए बिना चिह्नित किया गया)
  • मैन्युअल रूप से स्थापित पैकेजों की निर्भरता स्थापित करें

NB मैंने जानबूझकर को छोड़ दिया है, जो किसी विशेष संस्करण (एस) के लिए उत्तर देने की उम्मीद में है।


ऐसा लगता है कि मैंने यह वर्णन नहीं किया है कि मैं बस इतना चाहता हूं, मुझे लगता है कि ये दो बिंदु ऊपर की देखभाल करेंगे:

  • सभी ऑटो-स्थापित पैकेजों को शुद्ध करें (@kos ने उत्तर दिया कि @ फैबी के उत्तर पर)
  • उन पैकेजों को स्थापित करें जो एक ताजा उबंटू स्थापित करते हैं

और मैं अनुमान लगा रहा हूं कि अगर मैन्युअल रूप से स्थापित पैकेजों की निर्भरता अनइंस्टॉल हो जाती है, apt-get -fतो मुझे उनके साथ मदद मिलेगी।


1. क्या वे सभी फ़ाइलें हैं जिन्हें आपको / घर में सहेजने की आवश्यकता है? 2. नेटवर्क स्थिर है? यदि आप अपने यूजरफाइल्स को स्थानांतरित करने के लिए या जो कुछ भी आपको बचाने की आवश्यकता है, क्या आप सब कुछ लिख सकते हैं, और उपयोगकर्ता-फाइलें आसानी से वापस ले सकते हैं? इसके अलावा। पीएक्सई सक्षम है? और क्या BIOS में वर्चुअलाइजेशन समर्थन उपकरण हैं?
j0h

@ j0h 1. कुछ भी महत्वपूर्ण नहीं है /home, लेकिन मैन्युअल रूप से स्थापित पैकेजों में महत्वपूर्ण कॉन्फ़िगरेशन हैं। 2. हां, लेकिन जैसा कि मैंने कहा कि उपयोगकर्ता फाइलें चिंता का विषय नहीं हैं, 3. हां, यह सक्षम है, 4. और हां, वर्चुअलाइजेशन समर्थन भी है ।
ऑक्सीविवि

यह मेरी विशेषज्ञता के स्तर से थोड़ा अधिक है, लेकिन एक ताजा स्थापित से संकुल सूची प्राप्त करना आसान नहीं होगा, इसे जोड़े गए प्रत्येक चीज़ की सूची प्राप्त करने के लिए अपने वर्तमान इंस्टॉलेशन के साथ अलग करें। फिर एक ताजा स्थापित करें और स्वचालित रूप से सभी कस्टम सामानों में वापस जोड़ दें - संभवतः $ HOME में कुछ या सभी कॉन्फिग फाइलों को पुनर्स्थापित करने के साथ? आप dpkg -l चलाकर सूचियाँ प्राप्त करते हैं। यह संभवत: मैन्युअल रूप से इंस्टॉल किए गए - निर्भरता के बजाय बहुत सारे अतिरिक्त सामानों को चिह्नित करेगा जो बाद में हटाए जाने वाले पैकेज को हटा सकते हैं।
जो

जवाबों:


5

भविष्य के लिए:

यदि आपके पास 1000 मील दूर एक डेटा सेंटर में एक दूरस्थ सर्वर है, तो आपके पास एक IPKVM स्विच स्थापित होना बेहतर होगा, ताकि आपको sshइसे तक पहुंचने के लिए पूरी तरह से निर्भर न होना पड़े ।

यदि सर्वर माउंट एवरेस्ट पर है: एक इरिडियम फोन और एक मॉडेम भी जोड़ें ...

तब आपके पास उस मशीन पर एक बूट करने योग्य 512MB FAT CloneZilla पार्टीशन हो सकता है (मैं एक SLC USB स्टिक का उपयोग करता हूं ) और कंसोल को उस पर बूट करने के लिए और अपने सिस्टम पार्टीशन (सिस्टम) की एक छवि को अपने डेटा ड्राइव में बैक-अप करें और फिर कॉपी करें। सर्वर से जोड़ना शुरू करने से पहलेtrusty-proposed अपने USB स्टिक के द्वितीयक विभाजन पर पिछली प्रणाली की छवि । (मैं अपने अधिकांश सिस्टम को डेटा ड्राइव पर वापस रखता हूं: वे केवल 6GB हैं)

अभी के लिए:

  • Apt-backup लें
  • अपने से गुजरो /var/log/apt/history*
  • अपनी स्‍वयं की स्‍वचालित लिपि बनाएं, जो आपके द्वारा apt-get purgeपिछले चरण में डेटा से वास्तव में न चाहते हुए भी किसी भी प्रकार की कोई भी आवश्‍यकता / कोई भी हो
  • टोरवाल्ड्स के लिनुस से प्रार्थना करते हुए स्क्रिप्ट को निष्पादित करें
  • अपनी रिपॉजिटरी को अपडेट करें जैसे आप उन्हें चाहते हैं (जैसे हटाना trusty-proposed)
  • स्टालमैनों के रिचर्ड से प्रार्थना करते हुए रिबूट
  • अगर सब कुछ काम करता है: ऊपर IPKVM स्विच समाधान लागू करें।

सिवाय सब कुछ हटाने के कोई स्वचालित आदेश नहीं this that? :( क्या IPKVM स्विच डायनेमिक DNS फ़ंक्शन के साथ आता है? इस मामले में अन्यथा बेकार।
Oxwivi

सबसे ऊपर आपको जो भी ऑटोमैटिक मिलेगा वह मिलेगा। पूरी तरह से स्वचालित एक विंडोज पुनर्स्थापना बिंदु की तरह: नहीं, कि क्या प्रणाली के लिए बैक अप कर रहे हैं ... IPKVM स्विच डीएचसीपी का उपयोग कर सकते हैं, इसलिए बाहरी डायनेमिक DNS सेवा का उपयोग करके: "हाँ, थोड़े" ...
फैबी

नाह, मुझे विंडोज रिस्टोर पॉइन्ट बात से नफरत है। वहाँ क्या हो जाता है कोई पता नहीं। (अधिक पसंद है, मैं पूरे फ्रिकिन विंडोज उत्पाद लाइन से नफरत करने के लिए आया हूं) मैं चाहता हूं कि केवल स्वचालित भाग सभी मैनुअल पैकेज और कमांड को छोड़कर सब कुछ अनइंस्टॉल कर रहा है।
ऑक्सीविवि

मैंने लगभग 2 साल पहले विंडोज को डिलीट कर दिया था ... क्या आपने भी देखने की कोशिश की है history.log??? : P
Fabby

@Oxwivi आप चाहते हैं apt-mark showauto, और करने के लिए सूची खिला द्वारा उत्पादन में सभी पैकेज शुद्ध करने के लिए apt-cache purge: apt-mark showauto | xargs sudo apt-get --dry-run purge। मैंने स्वैच्छिक रूप से इस --dry-runमामले में स्विच जोड़ दिया है ताकि आप इसे आज़माएं, ताकि आप वास्तव में देख सकें कि क्या हो रहा है: ऐसा कुछ करना जिससे आपका इंस्टालेशन टूट जाए, क्योंकि यह कमांड द्वारा हटाए गए किसी भी पैकेज पर निर्भर हर पैकेज को हटा देता है । बस ड्राई रन के आउटपुट पर एक नज़र डालें।
कोस

1

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

इसके लिए, आप DRBL का उपयोग कर सकते हैं, बूटिंग के लिए कई प्रकार के विकल्पों के साथ एक ऑपरेटिंग सिस्टम को दूरस्थ रूप से तैनात करने के लिए। आप इसे यहाँ देख सकते हैं: http://drbl.org/installation/

क्लोबर है: http://cobbler.github.io/manuals/quickstart/

क्लोनज़िला है, जो एक नेटवर्क पर बैकअप ले सकता है और पुनर्स्थापित कर सकता है। लिंक विंडोज़ के लिए है, लेकिन लिनक्स के लिए वही विधियां लागू होती हैं। वैकल्पिक रूप से, आप स्थानीय रूप से एक ubuntu बूट छवि बना सकते हैं, और इसे क्लोनज़िला का उपयोग करके स्थापित कर सकते हैं। http://opensourceforu.efytimes.com/2013/12/restore-partitions-network-using-clonezilla/

वैकल्पिक रूप से, आप dd_rescue, या netcat का उपयोग करके देख सकते हैं

एक उपयोगी खोज शब्द "सर्वर प्रोविजनिंग" हो सकता है। इसके बाद और भी विकल्प हैं।

ब्रूटफोर्स तरीके भी हैं।

$ ls /
bin  boot  cdrom  dev  etc  home  initrd.img  initrd.img.old  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var  vmlinuz  vmlinuz.old

और आपके पेट इस तरह थे:

echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

अगर आपकी रूट डायरेक्टरी कुछ इस तरह की होती है, अगर आपने "साफ" संस्करणों के साथ / usr लिखा है और / usr, तो आप ओवर राइटिंग करेंगे, बहुत हद तक इंस्टॉल किए गए सॉफ्टवेयर के हर टुकड़े और इसके लिए कॉन्फिग फाइल। अगर यह पूरी तरह से भयानक विचार नहीं है, तो इसे कम से कम कहना है। दौड़ना apt-get purgeज्यादा सुरक्षित होगा, या शायद आप प्रक्रिया को थोड़ा ठीक कर सकते हैं। फिर आप अपनी पुरानी ssh config फाइल का एक क्लोन / etc / ssh / में शामिल करना चाह सकते हैं और नई config फाइल के साथ सेवाओं को पुनः आरंभ करने का प्रयास कर सकते हैं।

एक उपकरण भी है जो आपको एक रनिंग कर्नेल को डंप करता है और रिबूट किए बिना अपग्रेड करता है। उसके लिए आप Kslpice, या kGraft की जांच कर सकते हैं

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

तो किसी भी तरह से, मुझे आशा है कि Ive ने आपको कुछ विचार दिए हैं। एक सर्वर को दूरस्थ रूप से चित्रित करने के कई तरीके हैं।

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