Essa abordagem é muito complicada, e é improvável que isso resulte em todos os seus pacotes sendo a versão amd64
em vez da versão i386
. Somente os pacotes que realmente recebem atualizações provavelmente serão alterados na arquitetura e, provavelmente, apenas se nenhum outro pacote não for atualizado depender de que eles sejam da arquitetura i386
. Uma vez que alguns pacotes não receberão qualquer atualização durante todo o ciclo de suporte da sua versão do Ubuntu, você provavelmente nunca terá um sistema amd64
usando essa técnica. Além disso, certamente não há apoio oficial para tal abordagem.
Você seria aconselhado a substituir seu sistema Ubuntu existente por uma nova instalação de 64 bits.
No entanto, se você quiser tentar essa técnica, terá que manualmente fazer o download dos arquivos .deb
para dpkg
e apt
. Você pode encontrá-los no dpkg
no Ubuntu e apt
no Ubuntu páginas no Launchpad - expanda a versão mais recente em" Oneiric Ocelot "que está marcada como lançamento, segurança e / ou atualizações (mas você provavelmente não usa) t quer uma versão marcada apenas proposta e / ou backports, se é que existe uma). Em seguida, baixe os arquivos .deb
marcados com amd64
. Especificamente, os arquivos que você deseja são: este para dpkg
(e os outros listados, também, se você tiver esses pacotes instalados) e e isto e este e isso e isto para apt
.
Antes de fazer qualquer coisa com esses arquivos, você deve fazer backup de todos os documentos importantes do sistema Ubuntu instalado e de quaisquer outros arquivos importantes (por exemplo, músicas, e-books, vídeos), porque é bastante provável que esta técnica seja tentada. vai sair mal e deixar o 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 diretório Downloads
) e, em seguida, execute este comando:
sudo dpkg -Ri ~/Downloads/debs
É claro que, uma vez instalados, 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 só executará executáveis de 32 bits). ). Na verdade, eles podem nem mesmo concluir a instalação, pois podem ter scripts de pós-instalação que invocam seus executáveis de 64 bits irrecuperáveis.
Existem várias maneiras de tentar instalar um kernel de 64 bits em um sistema de 32 bits, mas elas são extremamente complicadas, então eu recomendo que você inicialize a partir de um CD live Oneiric de 64 bits (que por sua vez executa um Kernel de 64 bits), chroot no sistema Ubuntu instalado e use o co_de% e% de 64 bits instalado recentemente co_de% para instalar um kernel de 64 bits.
Aqui estão instruções específicas para fazer isso ... mas por favor, não leve isso para dizer que estou dizendo que vai funcionar. Eu não tentei isso. (Eu fiz chroot em sistemas Ubuntu instalados a partir de live CD's e executei gerenciamento de pacotes e outras operações, mas não tentei as operações de arquitetura cruzada sugeridas aqui.)
-
No seu sistema Ubuntu instalado, abra uma janela do Terminal ( Ctrl + Alt + T ) e execute
apt
( colando-o no Terminal e pressionando enter). Você deve ver algo comodpkg
. A parte em que você está interessado é o nome do dispositivo antes demount | grep ' on / '
(neste exemplo, é/dev/sda2 on / type ext4 (rw,errors=remount-ro,commit=0)
). Lembre-se disso ou anote-o. -
O passo 1 deu-lhe o nome do dispositivo da partição
on
. Se você tiver uma partição/dev/sda2
separada, precisará saber também o nome do dispositivo. Então, nesse caso, execute/
. Você verá algo como/boot
. Lembre-se ou anote isso também. -
Inicialize a partir de um CD live oneiric amd64 (ou seja, 64 bits) e selecione "Try Ubuntu" em vez de "Install Ubuntu".
-
Entre em um navegador da Web e verifique se a conectividade com a Internet está totalmente funcional. Se não for, configure-o.
-
Abra uma janela do Terminal e execute
mount | grep ' on /boot '
(substitua/dev/sda1 on /boot type ext2 (rw)
pelo nome do dispositivo que você obteve na etapa 1, se diferente). -
Se o seu sistema instalado tiver uma partição
sudo mount /dev/sda2 /mnt
separada, execute/dev/sda2
(substitua/boot
pelo nome do dispositivo que você obteve na etapa 2, se diferente). -
Agora, execute esses comandos para 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
-
Execute
sudo mount /dev/sda1 /mnt/boot
para ver se a conectividade com a Internet funciona totalmente no chroot. Você está esperando por 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, será necessário configurar a conectividade com a Internet no chroot. Para fazer isso, execute estes comandos (para deixar o chroot, copie os arquivos de configuração relevantes do sistema live CD para o chroot e entre novamente no 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 este processo caso ocorra um erro, não se preocupe se o primeiro e / ou segundo desses quatro comandos falharem, desde que a maneira específica em que ele falhar seja informando que
/dev/sda1
(ouping -c 4 launchpad.net
) não existe.O chroot volta e tenta novamente:
sudo chroot /mnt ping -c 4 launchpad.net
-
Execute estes comandos para tornar seu ambiente chrooted totalmente pronto para uso:
export HOME=/root export LC_ALL=C
-
Se você não tiver instalado os arquivos
/mnt/etc/resolv.conf
para as versões de 64 bits de/mnt/etc/hosts
e.deb
, faça o agora. Se você os instalou, mas houve erros de configuração, executedpkg
para corrigi-los. (Espero que isso funcione ... talvez seja melhor esperar para tentar instalá-los até que você esteja no ambiente de CD ao vivo, caso a instalação doapt
de 64 bits durante a inicialização no sistema instalado deixedpkg --configure -a
em um estado inutilizável.) -
Com as versões de 64 bits de
dpkg
edpkg
instaladas, supondo que elas instalem pacotes de 64 bits automaticamente, 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, executedpkg
. Isso lista os pacotes instalados que começam comapt
. Você está mais interessado especificamente em pacotes que começam comodpkg -l | grep linux-
,linux-
,linux-generic
e / oulinux-image
. Remova esses arquivos comlinux-server
, em quelinux-headers
é substituído por uma lista separada por espaço dos pacotes que você está removendo. -
Agora reinstale os pacotes removidos. (Na verdade, para pacotes que contêm números de versão no nome do pacote, como por exemplo
apt-get purge ...
, você só precisa instalar os nomes dos pacotes com versões mais recentes.) Execute isso executando...
em quelinux-image-3.0.0-13-generic
é substituído por um espaço. lista separada dos pacotes que você está instalando. -
Atualize a configuração do gerenciador 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
apt-get install ...
e ele não falhou, agora execute...
. -
Se você executou
sudo cp /mnt/etc/resolv.conf /mnt/etc/resolv.conf.old
e ele não falhou, agora executesudo cp /mnt/etc/resolv.conf.old /mnt/etc/resolv.conf
. -
Se o seu sistema instalado tiver uma partição
sudo cp /mnt/etc/hosts /mnt/etc/hosts.old
separada, desmonte-a:sudo cp /mnt/etc/hosts.old /mnt/etc/hosts
-
Desmonte a partição
/boot
do seu sistema instalado:sudo umount /mnt/boot
-
Deixe a janela do Terminal (execute
/
), reinicialize (ou desligue) o sistema do live CD e inicie no sistema instalado. -
Veja se o sistema é utilizável e está executando um kernel de 64 bits (
sudo umount /mnt
deve dizer que a arquitetura éexit
).
Pode haver pacotes adicionais que você precisa instalar, como uname -m
e / ou a versão de 64 bits de x86_64
, para que isso funcione. Para alguns deles, você pode ser informado de que precisa deles ao tentar instalar a versão de 64 bits de ia32_libs
e / ou libc6
. Para outros, você pode não ser informado.
(As instruções acima para chrooting e operação no ambiente chrooted são baseadas em parte significativa em este procedimento relacionado, mas diferente e também em algumas postagens de Launchpad Answers , especialmente # 6 aqui e # 6 aqui . E agradecimentos especiais para Cesium por apontar que os executáveis de dpkg
e apt
de 64 bits não será executado em um sistema executando um kernel de 32 bits.)