मैं 32-बिट इंस्टॉलेशन को 64-बिट में कैसे स्विच कर सकता हूं?


54

मुझे 64-बिट हार्डवेयर पर चलने वाला 32-बिट उबंटू इंस्टॉलेशन मिला है। अब जब मल्टी-आर्च लागू किया गया है , तो मैं ओएस को फिर से स्थापित किए बिना 64-बिट पर स्विच करना चाहूंगा।

यह उपयोगकर्ता द्वारा बताई गई कहानियों में से एक है :

शॉन ने उबंटू के 32-बिट संस्करण का उपयोग करके अपने सिस्टम को स्थापित किया, लेकिन उसका हार्डवेयर 64-बिट है और वह स्विच करना चाहता है। वह स्वयं dpkg और apt के amd64 संस्करणों को स्थापित करता है, i386 संस्करणों की जगह ले रहा है और यह बदल रहा है कि कौन सी वास्तुकला डिफ़ॉल्ट के रूप में उपयोग की जाती है; फिर वह amd64 ubuntu-न्यूनतम पैकेज स्थापित करता है; तब वह amd64 ubuntu-Desktop पैकेज स्थापित करता है। समय के साथ शेष i386 पैकेज अपग्रेड पर स्वचालित रूप से बदल दिए जाते हैं।

हालाँकि, जब वहाँ के निर्देशों का पालन करने की कोशिश की जा रही है, तो मुझे dpkg या apt का कोई 64-बिट संस्करण नहीं मिल रहा है।

क्या इस उपयोगकर्ता कहानी को अंतिम कल्पना में एक अलग तरीके से लागू किया गया था, या क्या मुझे कुछ अलग करने की आवश्यकता है?

संक्षेप में, मैं अपनी 32-बिट स्थापना को 64-बिट में कैसे स्विच कर सकता हूं?


3
मुझे लगता है कि प्रश्न पहले से ही askubuntu.com/questions/5018/… पर पूछा गया है , लेकिन मल्टी-आर्च लागू होने से पहले था, इसलिए उत्तर अलग होना चाहिए।
डेविड प्लेनेला

जवाबों:


36

ऐसा दृष्टिकोण बहुत जटिल है, और आपके सभी पैकेजों में amd64संस्करण के बजाय संस्करण होने की संभावना नहीं है i386। केवल वे पैकेज जो वास्तव में उन्नयन प्राप्त करते हैं, संभवतः वास्तुकला में बदल जाएंगे, और शायद केवल तभी जब कोई अन्य पैकेज अपग्रेड नहीं किया जा रहा हो, उनके i386आर्किटेक्चर के होने पर भरोसा करते हैं । चूँकि कुछ संकुल को आपके उबंटू रिलीज़ के पूरे समर्थन चक्र में कोई भी अपडेट प्राप्त नहीं होगा, इसलिए संभवतः आपके पास amd64ऐसी तकनीक का उपयोग करने की पूरी व्यवस्था कभी नहीं होगी । इसके अलावा, इस तरह के दृष्टिकोण के लिए निश्चित रूप से कोई आधिकारिक समर्थन नहीं है।

आपको अपने मौजूदा Ubuntu सिस्टम को नए, 64-बिट इंस्टॉलेशन के बजाय बदलने के लिए अच्छी तरह से सलाह दी जाएगी।

हालांकि, यदि आप इस तकनीक का प्रयास करना चाहते हैं, तो आपको मैन्युअल रूप से और के .debलिए फ़ाइलों को डाउनलोड करना होगा । आप उन्हें लॉन्च पर Ubuntu और Ubuntu पेज पर लॉन्चपैड में पा सकते हैं - "द वनिरिक ऑसेलॉट" के तहत नवीनतम संस्करण का विस्तार करें, जिसे रिलीज़, सुरक्षा और / या अपडेट के रूप में चिह्नित किया गया है (लेकिन आप शायद केवल एक संस्करण चिह्नित नहीं करना चाहते हैं प्रस्तावित और / या बैकपोर्ट, अगर कभी एक है)। फिर चिह्नित फ़ाइलों को डाउनलोड करें । विशेष रूप से, फ़ाइलों को आप चाहेंगे: के लिए यह एक और (और अन्य सूचीबद्ध भी आप उन पैकेज स्थापित किया है) इस और इस और इस और इसdpkgaptdpkgapt.debamd64dpkgऔर इसके लिए apt

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

आप इन सभी पैकेजों को एक फ़ोल्डर में डालकर स्थापित कर सकते हैं जिसमें कुछ और नहीं है (मान लीजिए कि फ़ोल्डर कहा जाता है debsऔर आपकी Downloadsनिर्देशिका के अंदर है ), और फिर इस कमांड को चलाएं:

sudo dpkg -Ri ~/Downloads/debs

बेशक, एक बार जब आप उन्हें स्थापित कर लेते हैं, तो वे वास्तव में नहीं चलेंगे, क्योंकि उनके निष्पादन योग्य 64-बिट हैं और आपका 32-बिट उबंटू सिस्टम 32-बिट कर्नेल चला रहा है (जो केवल 32-बिट निष्पादन योग्य चलेंगे)। वास्तव में, वे स्थापित करना भी समाप्त नहीं कर सकते हैं, क्योंकि हो सकता है कि वे पोस्ट-इंस्टाल स्क्रिप्ट्स हों जो उनके अनजाने 64-बिट निष्पादन योग्य को लागू करते हैं।

32-बिट सिस्टम पर 64-बिट कर्नेल को स्थापित करने के प्रयास के विभिन्न तरीके हैं, लेकिन वे सभी बेहद जटिल हैं, इसलिए मैं आपको सलाह देता हूं कि आप 64-बिट वनैरिक लाइव सीडी से बूट करें (जो स्वयं 64-बिट चलाता है कर्नेल), स्थापित उबंटू प्रणाली में क्रोकेट करें , और हाल ही में स्थापित 64-बिट का उपयोग करें aptऔर dpkg64-बिट कर्नेल स्थापित करें।

यहां ऐसा करने के लिए विशिष्ट निर्देश दिए गए हैं ... लेकिन कृपया इसका मतलब यह न निकालें कि मैं कह रहा हूं कि यह काम करेगा। मैंने यह प्रयास नहीं किया है। (मैंने लाइव सीडी और प्रदर्शन पैकेज प्रबंधन और अन्य ऑपरेशनों से स्थापित उबंटू सिस्टम में काट दिया है, लेकिन मैंने यहां सुझाए गए क्रॉस-आर्किटेक्चर संचालन का प्रयास नहीं किया है।)

  1. आपके इंस्टॉल किए गए उबंटू सिस्टम में, एक टर्मिनल विंडो ( Ctrl+ Alt+ T) खोलें और रन करें mount | grep ' on / '(इसे टर्मिनल में पेस्ट करके और एंटर दबाकर)। आपको कुछ ऐसा देखना चाहिए /dev/sda2 on / type ext4 (rw,errors=remount-ro,commit=0)। जिस हिस्से में आप रुचि रखते हैं, वह उपकरण का नाम on(इस उदाहरण में, पहले /dev/sda2) है। इसे याद रखें, या इसे लिख लें।

  2. चरण 1 ने आपको /विभाजन का उपकरण नाम दिया । यदि आपके पास एक अलग /bootविभाजन है, तो आपको उसके लिए डिवाइस का नाम भी जानना होगा। तो उस स्थिति में, भागो mount | grep ' on /boot '। आपको कुछ ऐसा दिखाई देगा /dev/sda1 on /boot type ext2 (rw)। इसे नीचे भी याद रखें या लिखें।

  3. Oneiric amd64 से बूट करें (यानी, 64-बिट) लाइव सीडी और "Ubuntu स्थापित करें" के बजाय "ट्राई उबंटू" चुनें।

  4. एक वेब ब्राउज़र में जाएं और सुनिश्चित करें कि इंटरनेट कनेक्टिविटी पूरी तरह कार्यात्मक है। यदि ऐसा नहीं है, तो इसे सेट करें।

  5. एक टर्मिनल विंडो खोलें और चलाएं sudo mount /dev/sda2 /mnt( /dev/sda2चरण 1 में आपको जो डिवाइस नाम मिला है, यदि वह अलग है)।

  6. यदि आपके इंस्टॉल किए गए सिस्टम में एक अलग /bootविभाजन है, तो चलाएं sudo mount /dev/sda1 /mnt/boot( /dev/sda1चरण 2 में आपको जो डिवाइस नाम मिला है, यदि वह अलग है)।

  7. अब, इन आदेशों को अपने संस्थापित तंत्र में चलाने के लिए चलाएं:

    sudo mount --bind /dev /mnt/dev  
    sudo chroot /mnt  
    mount -t proc none /proc  
    mount -t sysfs none /sys  
    mount -t devpts none /dev/pts  
    
  8. ping -c 4 launchpad.netचेरोट के भीतर से इंटरनेट कनेक्टिविटी पूरी तरह से काम करती है या नहीं यह देखने के लिए चलाएँ । आप कुछ इस तरह की उम्मीद कर रहे हैं:

    PING launchpad.net (91.189.89.223) 56(84) bytes of data.
    64 bytes from launchpad-net.banana.canonical.com (91.189.89.223): icmp_req=1 ttl=41 time=141 ms
    64 bytes from launchpad-net.banana.canonical.com (91.189.89.223): icmp_req=2 ttl=41 time=143 ms
    64 bytes from launchpad-net.banana.canonical.com (91.189.89.223): icmp_req=3 ttl=41 time=142 ms
    64 bytes from launchpad-net.banana.canonical.com (91.189.89.223): icmp_req=4 ttl=41 time=140 ms
    
    --- launchpad.net ping statistics ---
    4 packets transmitted, 4 received, 0% packet loss, time 3003ms
    
  9. यदि, इसके बजाय, आप पैकेटों को प्रसारित या प्राप्त करने में असमर्थ थे, तो आपको चेरोट में इंटरनेट कनेक्टिविटी स्थापित करनी होगी। ऐसा करने के लिए, इन आदेशों को चलाएं (क्रोकेट छोड़ने के लिए, लाइव सीडी सिस्टम से संबंधित कॉन्फ़िगरेशन फ़ाइलों को चेरोट में कॉपी करें, और चेरोट में पुनः प्रवेश करें):

    sudo cp /mnt/etc/resolv.conf /mnt/etc/resolv.conf.old  
    sudo cp /mnt/etc/hosts /mnt/etc/hosts.old  
    sudo cp /etc/resolv.conf /mnt/etc/resolv.conf  
    sudo cp /etc/hosts /mnt/etc/hosts
    

    हालांकि आम तौर पर आपको इस प्रक्रिया को रोकना चाहिए अगर कोई त्रुटि है, तो चिंता न करें यदि उन चार आदेशों में से पहला और / या दूसरा विफल हो जाता है, बशर्ते कि जिस विशिष्ट तरीके से यह विफल होता है वह आपको बताए कि /mnt/etc/resolv.conf(या /mnt/etc/hosts) मौजूद नहीं है ।

    चेरोट वापस और फिर कोशिश करें:

    sudo chroot /mnt  
    ping -c 4 launchpad.net  
    
  10. अपने नियंत्रित वातावरण का उपयोग करने के लिए पूरी तरह से तैयार करने के लिए इन कमांडों को चलाएं:

    export HOME=/root  
    export LC_ALL=C  
    
  11. आप स्थापित नहीं किया है .debके 64-बिट संस्करण के लिए फ़ाइलों dpkgऔर apt, अब ऐसा। यदि आपने उन्हें स्थापित किया था, लेकिन कॉन्फ़िगरेशन त्रुटियां थीं, तो dpkg --configure -aउन्हें ठीक करने के लिए चलाएं । (उम्मीद है कि यह काम करेगा ... हो सकता है कि जब तक आप लाइव सीडी के माहौल में हों, तब तक उन्हें स्थापित करने के प्रयास का इंतजार करना बेहतर होगा, अगर 64-बिट स्थापित करने के मामले dpkgमें स्थापित सिस्टम के पत्तों dpkgको अनुपयोगी अवस्था में छोड़ दिया जाए।)

  12. के 64-बिट संस्करणों के साथ dpkgऔर aptस्थापित, यह मानते हुए कि वे स्वचालित रूप से 64-बिट पैकेज स्थापित करेंगे, अब आप अपने सभी 32-बिट कर्नेल को हटा सकते हैं और 64-बिट कर्नेल स्थापित कर सकते हैं। अपनी 32-बिट गुठली निकालने के लिए, दौड़ें dpkg -l | grep linux-। यह उन सूचियों को स्थापित करता है जो इसके साथ शुरू होती हैं linux-। आप संकुल कि शुरू की तरह में अधिक विशेष रूप से रुचि रखते हैं linux-generic, linux-image, linux-server, और / या linux-headers। इन फ़ाइलों को apt-get purge ...उन ...जगहों से हटा दें जहाँ आपके द्वारा हटाए जा रहे पैकेजों की जगह-अलग-अलग सूची है।

  13. अब आपके द्वारा हटाए गए संकुल को फिर से स्थापित करें। (वास्तव में, पैकेज के लिए, जिसमें पैकेज के नाम में संस्करण संख्याएँ होती हैं, उदाहरण के लिए linux-image-3.0.0-13-generic, आपको केवल नवीनतम संस्करण पैकेज नाम स्थापित करने की आवश्यकता है।) इसे चलाएं apt-get install ...जहां आपके द्वारा ...इंस्टॉल किए जा रहे पैकेजों की अंतरिक्ष-अलग सूची के साथ प्रतिस्थापित किया गया है। ।

  14. बूट लोडर कॉन्फ़िगरेशन को अपडेट करें, कुछ उपकरणों को अनमाउंट करें, और चिरोट को छोड़ दें:

    update-grub  
    umount /proc || umount -lf /proc  
    umount /sys  
    umount /dev/pts  
    exit  
    sudo umount mnt/dev  
    
  15. यदि आप भाग गए sudo cp /mnt/etc/resolv.conf /mnt/etc/resolv.conf.oldऔर यह विफल नहीं हुआ, तो अब चलाएं sudo cp /mnt/etc/resolv.conf.old /mnt/etc/resolv.conf

  16. यदि आप भाग गए sudo cp /mnt/etc/hosts /mnt/etc/hosts.oldऔर यह विफल नहीं हुआ, तो अब चलाएं sudo cp /mnt/etc/hosts.old /mnt/etc/hosts

  17. यदि आपके स्थापित सिस्टम में एक अलग /bootविभाजन है, तो इसे अनमाउंट करें:sudo umount /mnt/boot

  18. अपने स्थापित सिस्टम के /विभाजन को अनमाउंट करें :sudo umount /mnt

  19. टर्मिनल विंडो (रन exit) को छोड़ दें , फिर लाइव सीडी सिस्टम को रिबूट (या शट डाउन) करें और इंस्टॉल किए गए सिस्टम में बूट करें।

  20. देखें कि क्या सिस्टम प्रयोग करने योग्य है और 64-बिट कर्नेल चला रहा है ( uname -mयह कहना चाहिए कि आर्किटेक्चर है x86_64)।

काम करने के लिए आपके पास अतिरिक्त पैकेज भी हो सकते हैं, जैसे कि ia32_libsऔर / या 64-बिट संस्करण libc6। उनमें से कुछ के लिए, आपको सूचित किया जा सकता है कि 64-बिट संस्करण dpkgऔर / या को स्थापित करने का प्रयास करते समय आपको उनकी आवश्यकता होगी apt। दूसरों के लिए, आपको सूचित नहीं किया जा सकता है।

(चिरोटी वातावरण में चेरोटिंग और संचालन के लिए उपरोक्त निर्देश इस संबंधित लेकिन अलग-अलग प्रक्रिया में महत्वपूर्ण भाग पर आधारित हैं और साथ ही मेरे कुछ लॉन्चपैड उत्तर पोस्ट पर, विशेष रूप से # 6 यहाँ और # 6 यहाँ हैं । और इंगित करने के लिए सीज़ियम के लिए विशेष धन्यवाद। 64-बिट dpkgऔर aptनिष्पादन योग्य एक 32-बिट कर्नेल चलाने वाले सिस्टम पर नहीं चलेगा।)


2
क्या वे बायनेरिज़ एक 32 बिट कर्नेल, एलियाह के तहत चलेंगे?
सीज़ियम

@ कैल्सियम गुड कॉल। बिलकूल नही। मैं अपनी पोस्ट को यह इंगित करने के लिए संपादित करूंगा कि 64-बिट कर्नेल कैसे चल रहा है ... इसके अलावा मुझे नहीं पता कि 32-बिट उबंटू सिस्टम पर 64-बिट कर्नेल पैकेज कैसे स्थापित किया जाए (64-बिट हार्डवेयर पर चल रहा है) जाहिर है) जब aptऔर dpkgअभी भी 32-बिट कर रहे हैं और होगा (शायद) एक 64-बिट कर्नल पैकेज स्थापित करने के लिए इंकार कर दिया। (स्रोत से कर्नेल का निर्माण, और क्रॉस-संकलन का उपयोग करना, काम करेगा, लेकिन यह बहुत जटिल है और मैं इसकी सिफारिश नहीं करना चाहता हूं। मुझे यकीन है कि एक बेहतर, आसान तरीका है। यदि आप इसे जानते हैं, तो कृपया स्वतंत्र महसूस करें। मेरे या आपके पोस्ट को संपादित करने या इसके बारे में टिप्पणी करने के लिए।)
एलियाह कगन

@ कैओसियम वास्तव में, मुझे लगता है कि मुझे पता है कि 64-बिट कर्नेल कैसे स्थापित किया जाए। इसे दर्शाने के लिए मैं जल्द ही अपनी पोस्ट संपादित करूंगा। एक बार जब मैं ऐसा करता हूं, अगर आपको ऐसा लगता है कि मेरी प्रस्तावित तकनीक काम करेगी, तो कृपया बेझिझक इसे कॉपी करें और / या इसे अपने उत्तर में परचेज करें ... या, वैकल्पिक रूप से, जब तक कि आपके उत्तर की दोनों जानकारी मेरे और जानकारी में नहीं है। मेरे जवाब में जो आपके पास नहीं है, आप हमारे जवाबों को एक ही जवाब में जोड़ सकते हैं। (यह आपका उत्तर हो सकता है - यह मेरे साथ ठीक है। आपने मेरे किए जाने से पहले थोड़ा पोस्ट किया। फिर मैं अपना उत्तर
हटाऊंगा

@ कैल्सियम सम्पादन पूरा; मुझे तुम्हारी टिप्पणी का इंतज़ार रहेगा।
एलियाह कगन

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

25

जैसा कि ऊपर दिया गया है, मैंने किया:

echo foreign-architecture amd64 | sudo tee /etc/dpkg/dpkg.cfg.d/multiarch
sudo apt-get update
sudo apt-get install linux-image:amd64
sudo apt-get install gcc-multilib
sudo update-grub

इसने काम कर दिया। मैं Ubuntu 32.04 में 64-बिट कर्नेल के साथ अपने 32-बिट यूजरलैंड को चलाने में सक्षम हूं।


5
यह जवाब चट्टानों। मैं पुष्टि कर सकता हूं कि यह अभी भी सॉसी के साथ काम करता है। एक अंतर यह है कि वास्तुकला को जोड़ने की प्रक्रिया बदल गई है: sudo dpkg --add-architecture amd64इसके बजाय उपयोग करें । यदि आप इसे दूसरे तरीके से करेंगे तो यह आप पर चिल्लाएगा। मुझे ऐसा करने की ज़रूरत थी इसलिए मैं एक (पहले) 32 बिट एक से 64 बिट इंस्टॉलेशन में चेरोट कर सकता था और यह बिल्कुल बिना किसी हिच के उम्मीद के मुताबिक काम करता था।
वार किया

मैंने मिंट पर यह कोशिश की, लेकिन मुझे कुछ समस्याएं हो रही हैं, क्या आपने कुछ और किया है? विवरण: superuser.com/q/927830/150718
डॉ। हनिबल लेक्चरर

वुग के परिवर्तन के अलावा, आपको linux-image-generic:amd64उबंटू 16.04 पर भी उपयोग करना होगा। यह पिछले दो आदेशों के बिना भी ठीक काम किया।
क्ज़्नक

6

यद्यपि यह प्रश्न 32 बिट से 64 बिट इंस्टॉलेशन में "अपग्रेड" करना संभव है? (यदि आपने इसे पढ़ने के लिए प्रोत्साहित करने से पहले आप इसे नहीं पढ़ा है। उपलब्ध कराया गया उत्तर अच्छा है।) मैं निम्नलिखित लिंक पढ़ने की भी सलाह देता हूं:

बेहतर प्रदर्शन के लिए मुझे 32-बिट या 64-बिट स्थापित करना चाहिए?

मैं 32-बिट इंस्टॉलेशन को 64-बिट में कैसे स्विच कर सकता हूं?

32-बिट और 64-बिट के बीच क्या अंतर हैं, और मुझे किसे चुनना चाहिए?

क्या यह संभव है: हाँ

क्या यह आसान है: नहीं!

यदि आपका मुद्दा मेमोरी के साथ है, तो आपको पता होना चाहिए कि उबंटू 32 बिट 4 जीबी से अधिक रैम (64 जीबी तक) पढ़ सकता है। इसलिए कंप्यूटर के साथ नवीनतम उबंटू 32 बिट संस्करण का उपयोग करना जिसमें 32 बिट या 64 बिट वास्तुकला है और अधिक रैम में डालने से कोई समस्या नहीं होगी। यह बस अतिरिक्त रैम को पढ़ेगा और काम करेगा।


5

ये उत्तर कुछ पुराने हैं। क्रॉस-ग्रेडिंग को अब डेबियन विकी पर डेबियन के लिए प्रलेखित किया गया है , लेकिन यह अभी भी अनुशंसित नहीं है।

एक अलग आर्किटेक्चर से एक कर्नेल को स्थापित करना अब वहां वर्णित के रूप में आसान है, लेकिन नया 'एप्ट' पिछले आर्किटेक्चर से पैकेज को नहीं पहचान पाएगा, और इसलिए इसके सभी फ्रंट-एंड बहुत सारे टूटे हुए पैकेजों की रिपोर्ट कर सकते हैं। इसके लिए या तो सभी निर्भरता को दूसरे आर्किटेक्चर में बदलने की आवश्यकता होती है, या apt और dpkg को 32-बिट में बदलना होता है।

तो सबसे अच्छा तरीका यह हो सकता है कि आप सबसे पहले नतीजे dpkg --get-selections, स्ट्रिप: i386 से रिजल्ट को सेव करें , और कैश के लिए प्रत्येक निर्भरता के लिए एक amd64 पैकेज डाउनलोड करें:

apt-get --download-only install perl:amd64 python3:amd64 python3-gi:amd64 xorg:amd64...

कम से कम यह निर्भरता को हल करने में धीमा और समय लेने वाली होने की संभावना है।


5

ये निर्देश आपके सिस्टम को 64-बिट कर्नेल के साथ बूट करते हैं लेकिन उपयोगकर्ता के अधिकांश कार्यक्रमों को नहीं बदलते हैं।

अपने सिस्टम को 64-बिट सीपीयू के साथ अपग्रेड करने के बाद, मैं अपने 32-बिट 14.04.2 उबंटू (कोडनाम: ट्रस्टी) पर 64-बिट कर्नेल स्थापित करना चाहता था। ऐसा करने के लिए मैंने रूट कमांड के रूप में निम्नलिखित कमांड दर्ज किए :

dpkg --add-architecture amd64   
apt-get update
apt-get install linux-generic-lts-utopic:amd64

टिप्पणियाँ:

  1. यह आपके 32-बिट कर्नेल को भरोसेमंद के रूप में हटा सकता है - डिफ़ॉल्ट रूप से - अपडेट किए गए कर्नेल (यूटोपिक से कर्नेल) वाले जहाज, 14.04 रिलीज़ नोट्स देखें । इस स्थिति में आपका वर्तमान कर्नेल 64-बिट कर्नेल के साथ-साथ संस्थापित हो जाता है और इसलिए हटा दिया जाता है। यदि आप इस विचार को पसंद नहीं करते हैं, तो आप इसके बजाय पुराने 64-बिट कर्नेल पैकेज "linux-generic-lts-trusty: amd64" को आज़माना चाह सकते हैं।

  2. "--Add-Architectecure" कमांड आवश्यक है। इसके बिना, पैकेज सिस्टम विभिन्न आर्किटेक्चर से पैकेज का समर्थन नहीं करता है, मल्टीचार्-हॉव्टो देखें

  3. यह देखने के लिए कि apt-getआपके सिस्टम का क्या होगा, इसे उन विकल्पों के साथ चलाएं -Vsजो "वर्बोज़ सिमुलेशन मोड" सक्षम करता है। यह सभी पैकेजों को स्थापित करने और निकालने के लिए प्रिंट करेगा।

  4. क्या आप नए कर्नेल का उपयोग करते हुए सिस्टम बूट करते हैं, grubकॉन्फ़िगरेशन पर निर्भर करता है। रूट उपयोगकर्ता के रूप में , update-grubग्रब अपडेट करने के लिए चलाएं और वर्तमान बूट कॉन्फ़िगरेशन को प्रिंट करें। सूची में पहली छवि को डिफ़ॉल्ट रूप से बूट किया जाएगा।

  5. एक अलग कर्नेल छवि का चयन करने के लिए, मैंने रूट उपयोक्ता को लाइन GRUB_HIDDEN_TIMEOUT=0से हटा दिया /etc/default/grubऔर रूट उपयोक्ता के रूप में चला गया update-grub। बूट समय पर, आप अब एक अलग कर्नेल का चयन कर सकते हैं (आपको किसी भी कुंजी को हिट करने के लिए 10 सेकंड का समय मिलेगा अन्यथा ग्रब डिफ़ॉल्ट कर्नेल के साथ जारी रहेगा)।

  6. सबसे अधिक वोटों के साथ जवाब 2011 से है और मेरी राय में निराशाजनक रूप से पुराना है। मल्टीकार आपको एक ही मशीन पर एक से अधिक आर्किटेक्चर के बिना कई आर्किटेक्चर से लाइब्रेरी पैकेज स्थापित करने देता है।


यह एक अच्छी सरल सलाह है जो लगभग मेरे लिए 14.10 (यूटोपिक) पर काम करती है (हालांकि मैंने ऐसा किया apt-get install linux-generic:amd64जो प्रयोग के लिए बहुत महत्वपूर्ण नहीं होना चाहिए)! अगर मैं "बचाव" बूट विकल्प से गुजरता हूं, तो सिस्टम चलता है, लेकिन एक्स nouveauवीडियो ड्राइवर और सामान का उपयोग नहीं करता है । यदि मैं सामान्य रूप से बूट करता हूं, तो स्टार्टअप कुछ बिंदु पर टूट जाता है और सिस्टम रिबूट हो जाता है। (लेकिन पहली बार, मैं सफलतापूर्वक बूट करने में सक्षम था।) मुझे यकीन नहीं है कि समस्या "सामान्य" बूट के दौरान वीडियो ड्राइवर के साथ है या कुछ और है।
इम्ज़ - इवान ज़खरीशेव

वीडियो ड्राइवर और X मेरे क्रैश / amd64 कर्नेल के साथ रिबूट से संबंधित नहीं (सांख्यिकीय) निकला। यह अभी के लिए सिर्फ एक रहस्य है - Bugs.launchpad.net/ubuntu/+source/upstart/+bug/1495116
इम्ज़ - इवान ज़खरीशेव

2

शायद, जैसा कि मैं एक ही समस्या का सामना कर रहा हूं, यह काम करेगा, यह वही है जो मैं करने की योजना बना रहा था:

ओएस के 64-बिट संस्करण को प्राप्त करें, एक विभाजन में स्थापित करें, जब 32-बिट इंस्टॉल से दस्तावेजों और अन्य सामान को पूरी तरह से कॉपी करें, जब सब कुछ सुरक्षित रूप से कॉपी किया जाता है तो आप बाकी ड्राइव को प्रारूपित कर सकते हैं और इसका उपयोग कर सकते हैं।


2

हाँ, किसी भी क्रॉस-आर्क पैकेज को स्थापित करने के लिए विदेशी-वास्तुकला लाइन सबसे निश्चित रूप से महत्वपूर्ण है। लेकिन उसके बाद, जैसा कि कई अन्य उपयोगकर्ताओं ने उल्लेख किया है:

sudo apt-get update
sudo apt-get install linux-image:amd64
sudo apt-get install linux-modules:amd64
sudo init 6 #reboot into new kernel
sudo apt-get install apt:amd64
sudo apt-get install ubuntu-desktop:amd64

यह बस के बारे में करना चाहिए ...


क्या तुमने कोशिश की? यह वास्तव में काम नहीं करता है, मुझे एक बार समस्या आती है जब यह
ddkg

2

उबंटू के लिए मेरा नुस्खा 16.04 Xenial, मानक प्रणाली और SSH सर्वर के साथ लेकिन बिना GUI: के साथ ताजे-स्थापित 32-बिट Ubuntu VM पर परीक्षण किया गया है।

sudo -s
dpkg --get-selections > pkg1
dpkg --add-architecture amd64
apt update
apt install linux-image-generic:amd64 thermald 

(और यह थर्माल स्थापित करेगा: amd64 और 32-बिट कर्नेल के तहत इसे पुनः आरंभ करने में विफल)

reboot

64-बिट कर्नेल के साथ रिबूट करने के बाद:

sudo -s
unset LANG
apt install apt:amd64 apt-utils:amd64

टाइप 'हां, जैसा मैं कहूं वैसा करो!' पूछे जाने पर, यह सुरक्षित होने वाला है

mkdir /tmp/upgrade 
cd /tmp/upgrade
pkgs() { dpkg -l | awk '$4=="'$1'"{print $2}' | awk -F: '{print $1}' | sort -u
}
apt download $(comm -23 <(pkgs i386) <(pkgs amd64))
while ls *amd64*deb
do dpkg -i *amd64*deb
   dpkg -l | awk '$1=="ii" && $4=="amd64" {print $2}' | awk -F: '{print $1}' |
   while read a
   do [ -f ${a}_*amd64*deb ] && rm ${a}_*amd64*deb
   done
done

उपरोक्त लूप में, हम .deb फ़ाइलों को हटाते हैं, जिन्हें सफलतापूर्वक स्थापित किया गया है और dpkg सूची में 'ii' का दर्जा प्राप्त किया है।

हमें dpkg -iरन दोहराने की जरूरत है , क्योंकि यह पहले ही प्रयास से सफल नहीं हुआ

reboot

अब, 64-बिट कर्नेल और यूजरस्पेस दोनों के साथ, शेष i386 पैकेज को हटाया जा सकता है:

dpkg --purge $(dpkg -l | awk '$4=="i386"{print $2}')

आपके द्वारा pkgs1फ़ाइल में सहेजी गई सूची का उपयोग आप अपनी आगे की जरूरतों के लिए कर सकते हैं।


यह एक तरह का जादू है, लेकिन इसने मुझे दूरस्थ पीसी पर एसएसएच के माध्यम से 32 से 64 बिट संक्रमण करने में मदद की।
user271872

1

अच्छा प्रश्न। मैंने आपके द्वारा बोली जाने वाली उपयोगकर्ता कहानी के अलावा और आसपास शिकार किया है, मुझे ऐसा करने के बारे में कोई विवरण नहीं मिला है। सभी प्रलेखन यह इंगित करता है कि यह पहले से ही 64-बिट ओएस पर 32-बिट एप्लिकेशन चलाने के लिए है।

हालाँकि, यदि आप प्रयोग करने के इच्छुक हैं, तो आप निम्नलिखित की कोशिश कर सकते हैं (मेरे लिंक से प्राप्त [1])

 echo foreign-architecture amd64 | sudo tee /etc/dpkg/dpkg.cfg.d/multiarch
 sudo apt-get install linux-image:amd64

मुझे लगता है कि आपको एक amd64 कर्नेल के साथ शुरू करना होगा, क्योंकि 32-बिट किसी भी 64-बिट बायनेरिज़ को चलाने में सक्षम नहीं होगा। हालाँकि 64-बिट वाले को 32-बिट बायनेरिज़ चलाना चाहिए (यदि ia32-libs स्थापित है?)।

यदि आपको 64 बिट कर्नेल स्थापित और बूट किया गया है, तो आप वहां से apt: amd64 को स्थापित करने के लिए जा सकते हैं, फिर उपयोक्ता-कहानी को पहले उद्धृत, ubuntu-minimal, ubuntu-desktop, आदि के रूप में अनुसरण करें।

उपयुक्त: amd64 स्थापित होने के बाद, मुझे लगता है कि आप विदेशी आर्किटेक्चर लाइन को हटा सकते हैं क्योंकि आपने अनिवार्य रूप से उस बिंदु पर स्विच किया है।

अस्वीकरण: मेरे पास परीक्षण करने के लिए कोई 32 बिट सिस्टम नहीं है इसलिए यह सभी अनुमान है। सौभाग्य!

[१] https://wiki.ubuntu.com/OneiricOcelot/TechnicalOverview/Beta1#Improved_handling_of_32-bit_compatibility_on_amd64_systems


1

पारगमन (एक अलग वास्तुकला में उन्नयन) अभी तक समर्थित नहीं है।

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