Bagaimana saya bisa mengganti instalasi 32-bit ke instalasi 64-bit?

54

Saya memiliki instalasi Ubuntu 32-bit yang berjalan pada perangkat keras 64-bit. Sekarang multi-arch telah diimplementasikan , saya ingin beralih ke 64-bit tanpa harus menginstal ulang OS.

Ini adalah salah satu kisah pengguna yang ditangani oleh spek :

Shawn menginstal sistemnya menggunakan Ubuntu versi 32-bit, tetapi perangkat kerasnya 64-bit dan dia ingin beralih. Dia secara manual menginstal versi amd64 dari dpkg dan apt, mengganti versi i386 dan mengubah arsitektur mana yang digunakan sebagai default; kemudian dia menginstal paket amd64 ubuntu-minimal; kemudian dia menginstal paket amd64 ubuntu-desktop. Seiring waktu, paket i386 yang tersisa diganti secara otomatis saat peningkatan.

Namun, ketika mencoba mengikuti petunjuk di sana, saya tidak dapat menemukan versi 64-bit dpkg atau apt.

Apakah kisah pengguna ini diterapkan dengan cara berbeda dalam spesifikasi akhir, atau apakah saya perlu melakukan sesuatu yang berbeda?

Singkatnya, bagaimana saya bisa mengubah instalasi 32-bit ke 64-bit?

David Planella
sumber
3
Saya menyadari pertanyaan telah ditanyakan pada askubuntu.com/questions/5018/… , tapi itu sebelum multi-arch diimplementasikan, jadi jawabannya harus berbeda.
David Planella

Jawaban:

36

Pendekatan semacam itu sangat rumit, dan tidak mungkin menghasilkan semua paket Anda sebagai amd64versi alih-alih i386versi. Hanya paket yang benar-benar menerima peningkatan kemungkinan akan diubah dalam arsitektur, dan mungkin hanya jika tidak ada paket lain yang tidak ditingkatkan bergantung pada keberadaan i386arsitekturnya. Karena beberapa paket tidak akan menerima pembaruan apa pun sepanjang seluruh siklus dukungan rilis Ubuntu Anda, Anda mungkin tidak akan pernah memiliki amd64sistem sepenuhnya menggunakan teknik seperti itu. Selain itu, tentu saja tidak ada dukungan resmi untuk pendekatan semacam itu.

Anda sebaiknya mengganti sistem Ubuntu yang ada dengan instalasi 64-bit yang baru.

Namun, jika Anda ingin mencoba teknik ini, Anda harus secara manual men-download .debfile untuk dpkgdan apt. Anda dapat menemukannya dpkgdi Ubuntu dan aptdi halaman Ubuntu di Launchpad - perluas versi terbaru di bawah "The Oneiric Ocelot" yang ditandai sebagai rilis, keamanan, dan / atau pembaruan (tetapi Anda mungkin tidak ingin versi hanya ditandai diusulkan dan / atau backports, jika ada). Kemudian unduh .debfile yang ditandai amd64. Khususnya, file yang Anda inginkan adalah: ini untukdpkg (dan yang lain juga terdaftar, jika Anda memiliki paket-paket yang diinstal) dan ini dan ini dan ini dan ini dan inidan ini untuk apt.

Sebelum Anda melakukan apa pun dengan file-file ini, Anda harus memastikan untuk mencadangkan semua dokumen penting dalam sistem Ubuntu yang Anda instal dan file penting lainnya (misalnya, musik, ebooks, video), karena agak mungkin bahwa upaya teknik ini akan menjadi bumerang buruk. dan biarkan sistem Ubuntu Anda benar-benar tidak dapat digunakan.

Anda dapat menginstal semua paket ini dengan meletakkannya di folder yang tidak mengandung hal lain (misalkan folder tersebut dipanggil debsdan ada di dalam Downloadsdirektori Anda ), dan kemudian jalankan perintah ini:

sudo dpkg -Ri ~/Downloads/debs

Tentu saja, setelah Anda menginstalnya, mereka tidak akan benar-benar berjalan, karena executable-nya 64-bit dan sistem Ubuntu 32-bit Anda menjalankan kernel 32-bit (yang hanya akan menjalankan executable 32-bit). Bahkan, mereka mungkin bahkan tidak selesai menginstal, karena mereka mungkin memiliki skrip post-instal yang menjalankan executable 64-bit mereka yang tidak dapat di-unrunnable.

Ada berbagai cara untuk mencoba menginstal kernel 64-bit ke sistem 32-bit, tetapi semuanya sangat rumit, jadi saya sarankan Anda melakukan booting dari CD live Oneiric 64-bit (yang sendiri menjalankan 64-bit kernel), chroot ke sistem Ubuntu yang diinstal, dan gunakan 64-bit yang baru diinstal aptdan dpkguntuk menginstal kernel 64-bit.

Berikut adalah petunjuk khusus untuk melakukan itu ... tapi tolong jangan anggap ini berarti bahwa saya mengatakan itu akan berhasil. Saya belum mencoba ini. (Saya telah chroot ke sistem Ubuntu yang diinstal dari live CD dan melakukan manajemen paket dan operasi lainnya, tapi saya belum mencoba operasi lintas-arsitektur yang disarankan di sini.)

  1. Di sistem Ubuntu Anda yang terinstal, buka jendela Terminal ( Ctrl+ Alt+ T) dan jalankan mount | grep ' on / '(dengan menempelkannya ke Terminal dan menekan enter). Anda harus melihat sesuatu seperti /dev/sda2 on / type ext4 (rw,errors=remount-ro,commit=0). Bagian yang Anda minati adalah nama perangkat sebelumnya on(dalam contoh ini, itu /dev/sda2). Ingat itu, atau tuliskan.

  2. Langkah 1 memberi Anda nama perangkat /partisi. Jika Anda memiliki /bootpartisi yang terpisah , maka Anda harus mengetahui nama perangkat untuk itu juga. Jadi dalam hal ini, jalankan mount | grep ' on /boot '. Anda akan melihat sesuatu seperti /dev/sda1 on /boot type ext2 (rw). Ingat atau tulis ini juga.

  3. Boot dari live CD Oneiric amd64 (yaitu, 64-bit) dan pilih "Coba Ubuntu" daripada "Instal Ubuntu".

  4. Pergilah ke browser web dan pastikan konektivitas Internet berfungsi penuh. Jika tidak, aturlah.

  5. Buka jendela Terminal dan jalankan sudo mount /dev/sda2 /mnt(ganti /dev/sda2dengan nama perangkat yang Anda dapatkan di langkah 1, jika berbeda).

  6. Jika sistem yang Anda instal memiliki /bootpartisi yang terpisah , jalankan sudo mount /dev/sda1 /mnt/boot(ganti /dev/sda1dengan nama perangkat yang Anda dapatkan di langkah 2, jika berbeda).

  7. Sekarang, jalankan perintah-perintah ini untuk melakukan chroot ke sistem yang Anda instal:

    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. Jalankan ping -c 4 launchpad.netuntuk melihat apakah konektivitas Internet berfungsi sepenuhnya dari dalam chroot. Anda mengharapkan sesuatu seperti ini:

    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. Sebaliknya, jika Anda tidak dapat mengirim atau menerima paket, maka Anda harus mengatur konektivitas Internet di chroot. Untuk melakukannya, jalankan perintah ini (untuk meninggalkan chroot, salin file konfigurasi yang relevan dari sistem CD langsung ke chroot, dan masukkan kembali chroot):

    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
    

    Walaupun umumnya Anda harus menghentikan proses ini jika ada kesalahan, jangan khawatir jika perintah pertama dan / atau kedua dari keempat perintah gagal, asalkan cara spesifik gagal adalah dengan memberi tahu Anda bahwa /mnt/etc/resolv.conf(atau /mnt/etc/hosts) tidak ada .

    Chroot kembali dan coba lagi:

    sudo chroot /mnt  
    ping -c 4 launchpad.net  
    
  10. Jalankan perintah ini untuk membuat lingkungan chroot Anda siap digunakan:

    export HOME=/root  
    export LC_ALL=C  
    
  11. Jika Anda belum menginstal .debfile untuk versi 64-bit dpkgdan apt, lakukan sekarang. Jika Anda menginstalnya tetapi ada kesalahan konfigurasi, jalankan dpkg --configure -auntuk memperbaikinya. (Semoga itu akan berhasil ... mungkin lebih baik menunggu untuk mencoba menginstalnya sampai Anda berada di lingkungan live CD, kalau-kalau menginstal 64-bit dpkgsaat boot ke sistem yang diinstal meninggalkan dpkgdalam keadaan tidak dapat digunakan.)

  12. Dengan versi 64-bit dpkgdan aptdiinstal, dengan asumsi bahwa mereka akan secara otomatis menginstal paket 64-bit, Anda sekarang dapat menghapus semua kernel 32-bit Anda dan menginstal kernel 64-bit. Untuk menghapus kernel 32-bit Anda, jalankan dpkg -l | grep linux-. Ini daftar paket yang diinstal yang dimulai dengan linux-. Anda lebih khusus tertarik dalam paket yang mulai seperti linux-generic, linux-image, linux-server, dan / atau linux-headers. Hapus file-file ini dengan apt-get purge ...tempat ...diganti dengan daftar paket yang Anda hapus.

  13. Sekarang instal ulang paket yang Anda hapus. (Sebenarnya, untuk paket yang berisi nomor versi dalam nama paket, seperti misalnya linux-image-3.0.0-13-generic, Anda hanya perlu menginstal nama paket versi terbaru.) Lakukan ini dengan menjalankan di apt-get install ...mana ...diganti dengan daftar paket-paket yang Anda instal dengan spasi terpisah yang Anda instal .

  14. Perbarui konfigurasi boot loader, unmount beberapa perangkat, dan biarkan chroot:

    update-grub  
    umount /proc || umount -lf /proc  
    umount /sys  
    umount /dev/pts  
    exit  
    sudo umount mnt/dev  
    
  15. Jika Anda berlari sudo cp /mnt/etc/resolv.conf /mnt/etc/resolv.conf.olddan itu tidak gagal, maka sekarang jalankan sudo cp /mnt/etc/resolv.conf.old /mnt/etc/resolv.conf.

  16. Jika Anda berlari sudo cp /mnt/etc/hosts /mnt/etc/hosts.olddan itu tidak gagal, maka sekarang jalankan sudo cp /mnt/etc/hosts.old /mnt/etc/hosts.

  17. Jika sistem Anda yang terinstal memiliki /bootpartisi yang terpisah , lepaskan itu:sudo umount /mnt/boot

  18. Lepaskan /partisi sistem yang Anda instal :sudo umount /mnt

  19. Biarkan jendela Terminal (run exit), lalu reboot (atau matikan) sistem live CD dan boot ke sistem yang diinstal.

  20. Lihat apakah sistem dapat digunakan dan menjalankan kernel 64-bit ( uname -mseharusnya mengatakan arsitekturnya x86_64).

Mungkin ada paket tambahan yang perlu Anda instal, seperti ia32_libsdan / atau versi 64-bit libc6, agar ini berfungsi. Untuk beberapa di antaranya, Anda mungkin diberi tahu bahwa Anda membutuhkannya saat mencoba menginstal versi 64-bit dpkgdan / atau apt. Bagi yang lain, Anda mungkin tidak diberi tahu.

(Petunjuk di atas untuk chroot dan beroperasi di lingkungan chroot didasarkan pada bagian yang signifikan pada prosedur yang terkait tetapi berbeda ini dan juga pada beberapa posting Jawaban Launchpad milik saya, terutama # 6 di sini dan # 6 di sini . Dan terima kasih khusus kepada Cesium untuk menunjukkannya. bahwa 64-bit dpkgdan aptexecutable tidak akan berjalan pada sistem yang menjalankan kernel 32-bit.)

Eliah Kagan
sumber
2
Akankah binari-binari itu berjalan di bawah kernel 32-bit, Eliah?
Cesium
@ Caesium Panggilan yang bagus. Tentu saja tidak. Saya akan mengedit posting saya untuk menunjukkan cara menjalankan kernel 64-bit ... kecuali saya tidak tahu cara menginstal paket kernel 64-bit pada sistem Ubuntu 32-bit (berjalan pada perangkat keras 64-bit, tentu saja) kapan aptdan dpkgmasih 32-bit dan (mungkin) akan menolak untuk menginstal paket kernel 64-bit. (Membangun kernel dari sumber, dan menggunakan kompilasi silang, akan berhasil, tetapi ini sangat rumit dan saya tidak ingin merekomendasikannya. Saya yakin ada cara yang lebih baik dan lebih mudah. ​​Jika Anda mengetahuinya, silakan saja. untuk mengedit posting saya atau Anda atau komentar tentang hal itu.)
Eliah Kagan
@ Caesium Sebenarnya, saya pikir saya tahu bagaimana cara menginstal kernel 64-bit. Saya akan mengedit posting saya sebentar untuk mencerminkan ini. Setelah saya melakukannya, jika Anda merasa teknik yang saya usulkan akan berhasil, silakan menyalin dan / atau memparafrasekannya ke dalam jawaban Anda ... atau, sebagai alternatif, selama kedua info dalam jawaban Anda yang tidak ada di dalam saya dan info tersebut dalam jawaban saya yang tidak ada dalam Anda terpelihara, Anda dapat menggabungkan jawaban kami menjadi satu jawaban. (Bisa jadi jawaban Anda - itu tidak masalah bagi saya. Anda memposting sedikit sebelum saya. Maka saya akan menghapus jawaban saya.)
Eliah Kagan
Pengeditan Caesium selesai; Saya menantikan komentar Anda.
Eliah Kagan
Wow, kerja yang bagus :) Pada titik ini Anda sudah berusaha lebih keras daripada saya sehingga saya tidak akan bermimpi menyalin jawaban saya, jawaban Anda harus tetap untuk penghargaan. Itu melayang jauh dari tujuan awal menggunakan teknologi multiarch tapi saya akan tertarik untuk mendengar apakah itu bekerja :) Tebak kita harus menunggu poster asli :)
Cesium
25

Seperti yang diberikan di atas, saya melakukan:

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

Itu berhasil. Saya dapat menjalankan userland 32-bit saya dengan kernel 64-bit, di Ubuntu 12.04.

VJ-
sumber
5
Jawaban ini mengguncang. Saya dapat mengkonfirmasi itu masih bekerja dengan cakep. Satu perbedaannya adalah bahwa prosedur penambahan arsitektur telah berubah: gunakan sudo dpkg --add-architecture amd64saja. Itu akan meneriaki Anda jika Anda melakukannya dengan cara lain. Saya perlu melakukan ini sehingga saya bisa chroot ke instalasi 64 bit dari (sebelumnya) 32 bit satu dan itu bekerja persis seperti yang diharapkan tanpa hambatan.
Wug
Saya mencoba ini pada Mint, tetapi saya memiliki beberapa masalah, apakah Anda melakukan hal lain? Detail: superuser.com/q/927830/150718
dr Hannibal Lecter
Selain perubahan Wug, Anda juga perlu menggunakan linux-image-generic:amd64Ubuntu 16.04. Ini bekerja dengan baik, bahkan tanpa dua perintah terakhir.
qznc
6

Meskipun pertanyaannya mirip dengan Apakah mungkin untuk "meningkatkan" dari instalasi 32bit ke 64bit? (Jika Anda belum membacanya sebelum saya mendorong Anda untuk mencobanya. Jawabannya ada yang bagus.) Saya juga merekomendasikan membaca tautan berikut:

Untuk kinerja yang lebih baik haruskah saya menginstal 32-bit atau 64-bit?

Bagaimana saya bisa mengganti instalasi 32-bit ke instalasi 64-bit?

Apa perbedaan antara 32-bit dan 64-bit, dan mana yang harus saya pilih?

Apakah mungkin: Ya

Apakah mudah: TIDAK!

Jika masalah Anda dengan memori, maka Anda harus tahu bahwa Ubuntu 32 Bit dapat membaca lebih dari 4GB RAM (Hingga 64 GB). Jadi menggunakan versi Ubuntu 32 Bit terbaru dengan komputer yang memiliki arsitektur 32 Bit atau 64 Bit dan memasukkan lebih banyak RAM tidak akan menjadi masalah. Ini hanya akan membaca RAM tambahan dan bekerja.

Luis Alvarado
sumber
5

Jawaban-jawaban ini agak ketinggalan jaman. Cross-grading sekarang didokumentasikan untuk Debian di wiki Debian , tetapi masih tidak disarankan.

Menginstal kernel dari arsitektur yang berbeda sekarang semudah dijelaskan di sana, tetapi 'apt' yang baru tidak akan mengenali paket-paket dari arsitektur sebelumnya, dan semua front-endnya dapat melaporkan banyak paket yang rusak. Ini membutuhkan perubahan semua dependensi ke arsitektur lain, atau mengembalikan apt dan dpkg ke 32-bit.

Jadi pendekatan terbaik adalah menyimpan hasil dpkg --get-selections, strip: i386 pertama dari itu, dan unduh paket amd64 untuk setiap dependensi ke cache:

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

Paling-paling itu cenderung lambat dan memakan waktu untuk menyelesaikan dependensi.

Cedric Knight
sumber
5

Petunjuk ini membuat boot sistem Anda dengan kernel 64-bit tetapi tidak mengubah sebagian besar program userland.

Setelah memutakhirkan sistem saya dengan CPU 64-bit, saya juga ingin menginstal kernel 64-bit pada Ubuntu 32-bit 14.04.2 saya (codename: Trusty). Untuk melakukan ini, saya memasukkan perintah berikut sebagai pengguna root :

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

Catatan:

  1. Ini mungkin menghapus kernel 32-bit Anda sebagai amanah - secara default - dikirimkan dengan kernel yang diperbarui (kernel dari utopis), lihat 14.04 Catatan Rilis . Dalam hal ini, kernel Anda saat ini bertentangan dengan kernel 64-bit yang harus diinstal dan karenanya dihapus. Jika Anda tidak menyukai ide ini, Anda mungkin ingin mencoba paket kernel 64-bit "linux-generic-lts-trusty: amd64" sebagai gantinya.

  2. Perintah "--add-architecure" sangat penting. Tanpa itu, sistem paket tidak mendukung paket dari arsitektur yang berbeda, lihat Multiarch-HowTo

  3. Untuk melihat apa yang apt-getakan dilakukan pada sistem Anda, jalankan dengan opsi -Vsyang memungkinkan "mode simulasi verbose". Ini akan mencetak semua paket yang akan diinstal dan dihapus.

  4. Apakah sistem Anda melakukan booting menggunakan kernel baru tergantung pada grubkonfigurasi. Sebagai pengguna root , jalankan update-grubuntuk membuat pembaruan grub dan mencetak konfigurasi boot saat ini. Gambar pertama dalam daftar akan di-boot sebagai default.

  5. Untuk memilih gambar kernel yang berbeda, saya menghapus baris GRUB_HIDDEN_TIMEOUT=0dari /etc/default/grubdan berlari sebagai pengguna root update-grub . Pada saat boot, Anda sekarang dapat memilih kernel yang berbeda (Anda punya 10 detik untuk menekan tombol apa saja jika tidak grub akan melanjutkan dengan kernel default).

  6. Jawaban dengan suara terbanyak adalah dari 2011 dan menurut saya sudah ketinggalan zaman. Multiarch memungkinkan Anda menginstal paket perpustakaan dari berbagai arsitektur di mesin yang sama tanpa banyak basa-basi.

Daniel K.
sumber
Itu saran sederhana yang bagus yang hampir berhasil untuk saya pada jam 14.10 (Utopis) (namun saya lakukan apt-get install linux-generic:amd64yang pastinya tidak terlalu penting untuk percobaan)! Jika saya pergi melalui opsi boot "rescue", sistem berjalan, tetapi X tidak menggunakan nouveaudriver video dan yang lainnya. Jika saya boot dengan normal, startup akan rusak pada beberapa titik dan sistem reboot. (Tetapi pertama kali, saya berhasil melakukan booting.) Saya tidak yakin apakah masalahnya dengan driver video saat boot "normal" atau yang lainnya.
imz - Ivan Zakharyaschev
Driver video dan X ternyata tidak (secara statistik) terkait dengan crash / reboot saya dengan kernel amd64. Ini hanya sebuah misteri seperti untuk saat ini - bugs.launchpad.net/ubuntu/+source/upstart/+bug/1495116 .
imz - Ivan Zakharyaschev
2

Mungkin, ketika saya menghadapi masalah yang sama, ini akan berhasil, itulah yang saya rencanakan untuk dilakukan:

Dapatkan versi 64-bit OS, instal ke partisi, ketika selesai menyalin dokumen dan hal-hal lain dari instalasi 32-bit, ketika semuanya disalin dengan aman, Anda dapat memformat sisa drive dan menggunakannya.

ubuntufan
sumber
2

Ya, garis arsitektur asing sangat penting untuk menginstal paket lintas lengkung APAPUN. Namun setelah itu, lakukan seperti yang disebutkan beberapa pengguna lain:

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

Itu hanya tentang melakukannya ...

ditarik kembali93
sumber
Apakah kamu sudah mencobanya? itu tidak benar-benar bekerja, saya mendapatkan masalah setelah mulai mengganti dpkg dan perl oleh rekan amd64 mereka
Janus Troelsen
2

Resep saya untuk Ubuntu 16.04 Xenial, diuji pada 32-bit Ubuntu VM yang baru diinstal dengan sistem standar dan server SSH tetapi tanpa GUI:

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

(kalau tidak akan menginstal thermald: amd64 dan gagal untuk me-restart di bawah kernel 32-bit)

reboot

setelah reboot dengan kernel 64-bit:

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

ketik 'Ya, lakukan seperti yang saya katakan!' ketika ditanya, itu akan aman

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

pada loop di atas, kami menghapus file deb. Yang telah berhasil diinstal dan mendapat status 'ii' dalam daftar dpkg.

kita perlu mengulangi dpkg -imenjalankan, karena itu tidak berhasil dari upaya pertama

reboot

sekarang, dengan kernel 64-bit dan ruang pengguna, paket i386 yang tersisa dapat dihapus:

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

daftar yang telah Anda simpan dalam pkgs1file yang dapat Anda gunakan untuk kebutuhan Anda selanjutnya.

Wladimir Mutel
sumber
Itu semacam sihir, tetapi itu membantu saya untuk melakukan transisi 32 hingga 64 bit melalui SSH pada pc jarak jauh.
user271872
1

Pertanyaan bagus. Saya telah mencari-cari dan selain dari cerita pengguna yang Anda kutip, saya tidak dapat menemukan detail tentang bagaimana melakukan ini. Semua dokumentasi menunjukkan itu hanya untuk menjalankan aplikasi 32-bit pada OS yang sudah 64-bit.

Namun, jika Anda ingin bereksperimen, Anda dapat mencoba yang berikut (berasal dari tautan saya di [1])

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

Saya pikir Anda harus memulai dengan kernel amd64, karena 32-bit tidak akan dapat menjalankan biner 64-bit. Namun 64-bit harus menjalankan binari 32-bit (jika ia32-libs diinstal?).

Jika Anda menginstal dan mem-boot kernel 64bit, Anda dapat pergi dari sana untuk menginstal apt: amd64, kemudian ikuti kisah pengguna seperti dikutip sebelumnya, ubuntu-minimal, ubuntu-desktop, dll.

Setelah apt: amd64 diinstal, saya pikir Anda dapat menghapus garis arsitektur asing karena pada dasarnya Anda telah beralih pada saat itu.

Penafian: Saya tidak memiliki sistem 32bit untuk diuji jadi ini semua hanya dugaan. Semoga berhasil!

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

Cesium
sumber
1

Crossgrading (peningkatan ke arsitektur yang berbeda) belum didukung.

tumbleweed
sumber