Essa abordagem é muito complicada e dificilmente resultará em todos os seus pacotes sendo a amd64
versão em vez da i386
versão. Apenas os pacotes que realmente receberem atualizações provavelmente serão alterados na arquitetura, e provavelmente apenas se nenhum outro pacote que não estiver sendo atualizado depender da sua i386
arquitetura. Uma vez que alguns pacotes não receberá quaisquer atualizações ao longo de todo o ciclo de suporte de sua versão do Ubuntu, você provavelmente nunca ter um totalmente amd64
sistema usando essa técnica. Além disso, certamente não há apoio oficial para essa abordagem.
Recomenda-se substituir o sistema Ubuntu existente por uma nova instalação de 64 bits.
No entanto, se você deseja tentar esta técnica, precisará baixar manualmente os .deb
arquivos para dpkg
e apt
. Você pode encontrá-los nas páginas do dpkg
Ubuntu e apt
do Ubuntu no Launchpad - expanda a versão mais recente em "The Oneiric Ocelot" que está marcada como release, segurança e / ou atualizações (mas você provavelmente não quer uma versão marcada apenas proposto e / ou backports, se houver). Em seguida, baixe os .deb
arquivos marcados amd64
. Especificamente, os arquivos que você deseja são: este paradpkg
(e os outros listados também, se você tiver esses pacotes instalados) e isso e isso e isso e isso e issoe isso para apt
.
Antes de fazer qualquer coisa com esses arquivos, você deve fazer backup de todos os documentos importantes no sistema Ubuntu instalado e de outros arquivos importantes (por exemplo, músicas, ebooks, vídeos), porque é bem provável que a tentativa dessa técnica seja um tiro pela culatra. e deixe seu sistema Ubuntu completamente inutilizável.
Você pode instalar todos esses pacotes colocando-os em uma pasta que não contém mais nada (suponha que a pasta seja chamada debs
e esteja dentro do seu Downloads
diretório) e depois execute este comando:
sudo dpkg -Ri ~/Downloads/debs
Obviamente, depois de instalá-los, eles não serão executados, porque seus executáveis são de 64 bits e seu sistema Ubuntu de 32 bits está executando um kernel de 32 bits (que executará apenas executáveis de 32 bits). De fato, eles podem nem concluir a instalação, pois podem ter scripts de pós-instalação que invocam seus executáveis de 64 bits.
Existem várias maneiras de tentar instalar um kernel de 64 bits em um sistema de 32 bits, mas todos são extremamente complicados; portanto, recomendo que você inicialize a partir de um live CD Oneiric de 64 bits (que executa um sistema de 64 bits). kroot), faça chroot no sistema Ubuntu instalado e use o recentemente instalado de 64 bits apt
e dpkg
para instalar um kernel de 64 bits.
Aqui estão instruções específicas para fazer isso ... mas, por favor, não entenda que estou dizendo que funcionará. Eu não tentei isso. (Entrei em sistemas Ubuntu instalados a partir de CD's ao vivo e realizei o gerenciamento de pacotes e outras operações, mas não tentei as operações de arquitetura cruzada sugeridas aqui.)
No sistema Ubuntu instalado, abra uma janela do Terminal ( Ctrl+ Alt+ T) e execute mount | grep ' on / '
(colando-a no Terminal e pressionando enter). Você deve ver algo como /dev/sda2 on / type ext4 (rw,errors=remount-ro,commit=0)
. A parte que você está interessado é o nome do dispositivo antes on
(neste exemplo, é /dev/sda2
). Lembre-se disso ou escreva-o.
A etapa 1 forneceu o nome do dispositivo da /
partição. Se você tiver uma /boot
partição separada , também precisará saber o nome do dispositivo. Então, nesse caso, corra mount | grep ' on /boot '
. Você verá algo como /dev/sda1 on /boot type ext2 (rw)
. Lembre-se ou escreva isso também.
Inicialize a partir de um CD ao vivo Oneiric amd64 (ou seja, 64 bits) e selecione "Experimente o Ubuntu" em vez de "Instalar o Ubuntu".
Entre em um navegador da web e verifique se a conectividade com a Internet está totalmente funcional. Se não estiver, configure-o.
Abra uma janela do Terminal e execute sudo mount /dev/sda2 /mnt
(substitua /dev/sda2
pelo nome do dispositivo que você obteve na etapa 1, se diferente).
Se o sistema instalado tiver uma /boot
partição separada , execute sudo mount /dev/sda1 /mnt/boot
(substitua /dev/sda1
pelo nome do dispositivo que você obteve na etapa 2, se diferente).
Agora, execute estes comandos para fazer chroot no seu sistema instalado:
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
Corra ping -c 4 launchpad.net
para ver se a conectividade com a Internet funciona totalmente de dentro do chroot. Você está esperando algo assim:
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
Se, em vez disso, você não conseguir transmitir ou receber pacotes, precisará configurar a conectividade com a Internet no chroot. Para fazer isso, execute estes comandos (para sair do chroot, copie os arquivos de configuração relevantes do sistema de CD ao vivo no chroot e digite novamente o 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
Embora geralmente você deva interromper esse processo se houver um erro, não se preocupe se o primeiro e / ou o segundo desses quatro comandos falharem, desde que a maneira específica pela qual ele falhe seja informando que /mnt/etc/resolv.conf
(ou /mnt/etc/hosts
) não existe .
O chroot volta e tenta novamente:
sudo chroot /mnt
ping -c 4 launchpad.net
Execute estes comandos para deixar seu ambiente chrootado totalmente pronto para uso:
export HOME=/root
export LC_ALL=C
Se você não instalou os .deb
arquivos para as versões de 64 bits do dpkg
e apt
, faça-o agora. Se você os instalou, mas houve erros de configuração, execute dpkg --configure -a
para corrigi-los. (Espero que isso funcione ... talvez seja melhor esperar para tentar instalá-los até que você esteja no ambiente do live CD, caso a instalação de 64 bits dpkg
enquanto inicializada no sistema instalado saia dpkg
em um estado inutilizável.)
Com as versões de 64 bits dpkg
e apt
instaladas, supondo que eles instalem automaticamente pacotes de 64 bits, agora você pode remover todos os seus kernels de 32 bits e instalar um kernel de 64 bits. Para remover seus kernels de 32 bits, execute dpkg -l | grep linux-
. Isso lista os pacotes instalados que começam com linux-
. Você está interessado mais especificamente em pacotes que começam como linux-generic
, linux-image
, linux-server
, e / ou linux-headers
. Remova esses arquivos com apt-get purge ...
where ...
é substituído por uma lista separada por espaço dos pacotes que você está removendo.
Agora reinstale os pacotes que você removeu. (Na verdade, para pacotes que contêm números de versão no nome do pacote, como por exemplo linux-image-3.0.0-13-generic
, você só precisa instalar os nomes dos pacotes com versão mais recente.) Faça isso executando apt-get install ...
onde ...
é substituído por uma lista separada por espaço dos pacotes que você está instalando .
Atualize a configuração do carregador de inicialização, desmonte alguns dispositivos e deixe o chroot:
update-grub
umount /proc || umount -lf /proc
umount /sys
umount /dev/pts
exit
sudo umount mnt/dev
Se você executou sudo cp /mnt/etc/resolv.conf /mnt/etc/resolv.conf.old
e não falhou, execute agora sudo cp /mnt/etc/resolv.conf.old /mnt/etc/resolv.conf
.
Se você executou sudo cp /mnt/etc/hosts /mnt/etc/hosts.old
e não falhou, execute agora sudo cp /mnt/etc/hosts.old /mnt/etc/hosts
.
Se o seu sistema instalado tiver uma /boot
partição separada , desmonte que:sudo umount /mnt/boot
Desmonte a /
partição do sistema instalado :sudo umount /mnt
Deixe a janela Terminal (execução exit
), depois reinicie (ou desligue) o sistema do Live CD e inicialize no sistema instalado.
Veja se o sistema é utilizável e está executando um kernel de 64 bits ( uname -m
deve-se dizer que a arquitetura é x86_64
).
Pode haver pacotes adicionais que você precisa instalar, como ia32_libs
e / ou a versão de 64 bits libc6
, para que isso funcione. Para alguns deles, você pode ser informado de que precisa deles ao tentar instalar a versão de 64 bits dpkg
e / ou apt
. Para outros, você pode não ser informado.
(As instruções acima para fazer chroot e operar no ambiente chroot são baseadas em parte significativa nesse procedimento relacionado, mas diferente, e também em algumas postagens das Respostas do Launchpad , especialmente # 6 aqui e # 6 aqui . E agradecimentos especiais a Cesium por apontar que a 64-bit dpkg
e apt
executáveis não será executado em um sistema executando um kernel de 32 bits.)