दो अलग-अलग लिनक्स इंस्टॉलेशन का एक उपकरण प्राप्त करने के लिए उपकरण या तकनीक


10

अल्बर्ट आइंस्टीन बोली

पागलपन: बार-बार एक ही काम करना और अलग-अलग परिणामों की अपेक्षा करना

बार-बार, लिनक्स मुझे पागल कर देता है क्योंकि मैं बार-बार एक ही काम कर रहा हूं और बॉक्स से बॉक्स तक अलग-अलग परिणाम प्राप्त कर रहा हूं । ( मेरा पिछला प्रश्न देखें )।

मेरे लिए, भ्रम का सबसे बड़ा क्षेत्र एक ऐसी मशीन को ले रहा है जिसे किसी और ने स्थापित किया है (जैसा कि वेब होस्टिंग के साथ साइन अप करते समय होता है)। आपको अभी पता नहीं है कि आप किसके साथ काम कर रहे हैं।

क्या किसी प्रकार का चतुर भिन्न उपकरण है जिसे मैं लिनक्स (उबंटू) की स्थापना पर चला सकता हूं, ताकि मुझे यह पता चल सके कि उस मशीन ने डिफ़ॉल्ट स्थापना से कैसे वेट किया है?

यानी कुछ ऐसा जो मुझे उन कमांडों की एक सूची दिखा सकता है जो आश्चर्यजनक रूप से व्यवहार करने जा रहे हैं, इस प्रकार परीक्षण और त्रुटि दृष्टिकोण से बचना चाहिए।


4
आपको "आज्ञाओं की सूची जो आश्चर्यजनक रूप से व्यवहार करने वाली है" नहीं मिलेगी। सॉफ्टवेयर अनुमान नहीं लगा सकता कि आपको क्या आश्चर्य होगा।
गिल्स एसओ- बुराई को रोकना '21

धन्यवाद। ये उत्तर मुझे इस बात की बेहतर समझ दे रहे हैं कि अंतर के प्रासंगिक क्षेत्रों को कैसे मॉडल किया जाए, जिसे किसी और मशीन द्वारा स्थापित किए जाने पर विचार करने की आवश्यकता होती है। अब तक हमारे बीच मतभेद हैं: पैकेज स्थापित , रनिंग सेवाएं , कॉन्फ़िगरेशन और फ़ाइल सिस्टम प्रकार । मुझे यह जानने में दिलचस्पी है कि क्या यह है या सूची अनंत है? @ गिल्स - हां, लिनेक्स के सीमित ज्ञान के साथ, मुझे यह अनुमान लगाना मुश्किल है कि मैं खुद को क्या आश्चर्यचकित करता हूं?
JW01

1
सूची अनंत है। लिनक्स उदाहरण नहीं है, लेकिन कुछ समय पहले, विजुअल स्टूडियो किसी विशेष मशीन पर कुछ संवाद बॉक्स नहीं दिखाएगा (कोई त्रुटि नहीं, बस खाली जगह जहां नियंत्रण होना चाहिए था)। यह कई फोंट स्थापित होने के कारण निकला। इस कहानी का नैतिक यह है कि कोनों में हमेशा आश्चर्यचकित रहना होगा।
गिल्स एसओ- बुराई को रोकना '21

जवाबों:


10

जब भी मेरे पास एक अच्छी संदर्भ प्रणाली और एक दुर्व्यवहार होता है, तो मैं उनकी तुलना करने की कोशिश करता हूं। मैं जो तुलना करता हूं वह समस्या के साथ बदलता है, जैसे

1) जब पैकेज स्तर पर सर्वरों की तुलना करते हैं, तो मैं प्रत्येक सर्वर पर पैकेजों की क्रमबद्ध सूची बनाता हूं, फाइलों को परिणाम भेजता हूं और उन्हें अलग करता हूं, उदाहरण के लिए।

सर्वर 1 पर:

dpkg --get-selections|sort > server1_packages

सर्वर 2 पर:

dpkg --get-selections|sort > server2_packages

दोनों फाइलों को एक ही मशीन पर कॉपी करें और उन्हें (या विम्डीफ) अलग करें।

2) उदाहरण 1 के रूप में चल रही सेवाओं की एक सूची बनाएं

sysv-rc-conf --list|sort > server1_services

sysv-rc-conf --list|sort > server2_services

... आदि।, और उन vimdiff।

3) यदि आप उदाहरण के लिए अपाचे के साथ असंगत विन्यास की समस्या का निवारण कर रहे हैं, तो विन्यास फाइल की प्रतियां बनायें, और उन लोगों की नकल करें, आदि।


2
विकल्पों का अच्छा सारांश। /etcसंस्करण नियंत्रण के तहत फ़ाइलों को रखने के लिए यह एक अच्छा विचार है कि आपको क्या हो रहा है, इस पर नज़र रखने में मदद करें। etckeeperआपके लिए यह करेंगे।
फहीम मीठा

मुझे पढ़ने के लिए "dpkg: पैकेज जानकारी फ़ाइल खोलने में विफल रहा है '/ var / lib / dpkg / स्थिति: ऐसी कोई फ़ाइल या निर्देशिका नहीं है"। यह सेंट के साथ यम के साथ कैसा लगेगा? पीएस नेवरमाइंड, इसे "यम सूची स्थापित" मिला
giorgio79

5

एक ही वितरण की दो स्थापनाओं के बीच अधिकांश अंतर अंदर होंगे /etc/etcएक मशीन की सामग्री को दूसरे पर एक अस्थायी निर्देशिका में कॉपी करें और चलाएं

diff -ru /etc /copy/of/other/etc

यदि आप एक डिफ़ॉल्ट स्थापना के साथ एक मशीन की तुलना करना चाहते हैं, तो एक ताजा डिफ़ॉल्ट स्थापना (शायद एक आभासी मशीन में) से एक प्रति प्राप्त करें।

यदि आप शुरू से ही एक मशीन को नियंत्रित कर सकते हैं, तो संस्करण नियंत्रण के तहत रखने के लिए एटकीपर स्थापित करना सुनिश्चित करें /etc। तब आप ठीक-ठीक देख पाएंगे कि क्या बदला है।

बेशक, बहुत सारे अंतर होंगे। अगर आपको अभी तक इस बात का अंदाजा नहीं है कि कहां देखना है, तो व्यवहार में किसी विशेष अंतर की जांच करने के लिए यह गलत तरीका है। उदाहरण के लिए, मान लें कि कमांड adduserदो मशीनों पर अलग तरह से व्यवहार करता है। तब सबसे अच्छा तरीका यह है कि क्या करना adduserहै; इसे मशीनों पर चलाएं और तुलना करें। यदि इसके पास अधिक वर्बोज़ ( adduserनहीं) होने के लिए यह बताने का विकल्प है , तो इसका उपयोग करें। अधिक मौलिक रूप से, स्ट्रेस के तहत प्रोग्राम को चलाएं , जैसे

strace -s9999 -efile adduser …

यह देखने के लिए कि कौन सी फाइल adduserएक्सेस करती है।


2

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

एक वास्तविक जीवन उदाहरण जो 2002 में मेरे साथ हुआ था: दो लोगों ने दो आसन्न रैक-माउंटेड सर्वर पर SuSE 7.3 सिस्टम स्थापित किया। वे दोनों सर्वर पर समान रूप से पैकेज प्राप्त करने में बहुत प्रयास करते हैं। थोड़ी देर बाद, हमें विकास में कुछ सॉफ़्टवेयर की समस्याएँ हुईं। यह एक सर्वर पर एक्स 3 फाइलसिस्टम के नीचे आया, दूसरे पर रीसेर्फ्स। Reiserfs पर एक सादा "ls" फ़ाइल का नाम शाब्दिक क्रम में देता है, लेकिन ext3 पर नहीं। एक कार्यक्रम आउट-ऑफ-ऑर्डर फ़ाइलनाम पर विफल रहा।


1

फ़ाइलों, उपयोगकर्ताओं, समूहों, पैकेजों, सेवाओं आदि के लिए मैंने http://www.scriptrock.com का उपयोग किया है ; यह कुछ सर्वरों के लिए मुफ़्त है और आपको सर्वरों के बीच अंतर की एक अच्छी दृश्य तुलना देता है। बहाव के लिए आसान

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