किसी अन्य लिनक्स मशीन के लिए निष्पादन योग्य की पोर्टेबिलिटी


11

मैंने प्रोग्राम को एक लिनक्स मशीन (एम 1) पर स्थापित किया है और दूसरे (एम 2) पर भी यही कार्यक्रम चाहता हूं।

इस कार्यक्रम के विभिन्न बिल्ड हैं, और मैं भूल गया हूं कि मैंने किसका उपयोग किया है, इसलिए क्या मैं M1 से उपयोगकर्ता / बिन / गति फ़ाइल की एक सीधी प्रतिलिपि कर सकता हूं और इसे उपयोगकर्ता / बिन / गति के एम 2 में रख सकता हूं?

मुझे पता है कि कॉन्फ़िगरेशन फ़ाइल कहां है, इसलिए मैं उस पार ले जाऊंगा, लेकिन मुझे इस बात पर यकीन नहीं है कि एम 2 पर गति के काम करने वाले संस्करण का उपयोग करने वाले वीडियो ड्राइवर क्या हैं; क्या पता लगाने का कोई तरीका है?

क्या कोई ऐसा तरीका है जिससे मैं इसकी निर्भरता का पता लगा सकता हूँ?


सिर्फ रिकॉर्ड के लिए, यह लगभग हमेशा एक बुरा विचार है। अन्य प्लेटफार्मों पर लिनक्स का एक बड़ा फायदा पैकेज प्रबंधन है। मैन्युअल रूप से सिस्टम निर्देशिकाओं में बायनेरिज़ की प्रतिलिपि बनाना पैकेज प्रबंधक को परिवृत्त करता है। कई मामलों में, इसका अर्थ है कि बाइनरी को अपडेट करने के लिए मैन्युअल होना आवश्यक है, लेकिन कुछ मामलों में, यह सिस्टम अपडेट को महत्वपूर्ण मुद्दों का कारण बन सकता है। TL; DR : अपने पैकेज मैनेजर का उपयोग करें।
हेलोसिस्टहोस्ट

तर्कसंगत लगता है, इसलिए मैं dpkg का उपयोग करके इस कार्य को कैसे करूंगा?
रेगी

यदि आप जो उपकरण चाहते हैं वह पैकेज आपके ओएस के लिए वास्तव में उपलब्ध नहीं है, तो आप इसके लिए एक पैकेज बनाएंगे (यह जितना लगता है उससे कम कठिन है)। फिर, आप dpkg के साथ पैकेज स्थापित करेंगे।
HalosGhost

मुझे नहीं पता तुम्हारा क्या मतलब है। क्या आप पहले से स्थापित प्रोग्राम से पैकेज बना सकते हैं?
रेगी

नहीं, पैकेजिंग एक अलग प्रक्रिया है; लेकिन यह सीखना एक अमूल्य कौशल है। हालांकि यह डिस्ट्रो- (या कम से कम पैकेज मैनेजर) है।
हेलोसिस्टहोस्ट

जवाबों:


12

एक प्रोग्राम को दूसरे कंप्यूटर पर ले जाने के लिए आपको आगे बढ़ना होगा:

1) निष्पादन योग्य फ़ाइल
कमांड पथ खोजने का एक सरल तरीका typeकमांड है।

उदाहरण के लिए: type cal

cal / usr / bin / cal है

2) लाइब्रेरी निर्भरता
आप lddकमांड के साथ लाइब्रेरी निर्भरता पा सकते हैं , लेकिन याद रखें कि क्या आपने स्रोत से एक प्रोग्राम संकलित किया है, दोनों सर्वर का सीपीयू आर्किटेक्चर समान होना चाहिए।

उदाहरण के लिए: ldd date

linux-vdso.so.1 => (0x00007fff83dff000)
librt.so.1 => /lib64/librt.so.1 (0x0000003784e00000)
libc.so.6 = /lib64/libc.so.6 (0x0000003783e00000)
libpthread। so.0 => /lib64/libpthread.so.0 (0x0000003784200000)
/lib64/ld-linux-x86-64.so.2 (0x0000003783a00000)

3) कॉन्फ़िगरेशन फ़ाइलें
नए सर्वर में आपको कॉन्फ़िगरेशन फ़ाइलों को फिर से बनाने के लिए प्रोग्राम को बताने की आवश्यकता हो सकती है क्योंकि कॉन्फ़िगरेशन फ़ाइल पिछले सर्वर से संबंधित है।

4) हार्डवेयर निर्भरता की
जाँच करना यह जाँचने के लिए मुझे लगता है कि आपको हार्डवेयर्स को सपोर्ट करने के लिए प्रोग्राम की वेबसाइट को चेक करना होगा या आपको नए वातावरण में प्रोग्राम का परीक्षण करना होगा।


मुझे कैसे पता चलेगा कि निष्पादन योग्य कहाँ संग्रहीत है? मुझे लगता है कि उपयोगकर्ता / बिन / गति में इसका नाम है। यह मशीन बूट पर चलता है, तो क्या यह मुझे कोई सुराग दे सकता है कि निष्पादन योग्य कहाँ संग्रहीत किया गया है?
रेगी

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