Nola exekutatu 32 biteko linux software zaharra 64 biteko banaketa moderno baten barruan edukiontzi batean

Если вам на самом деле не нужны два раздела, проще всего будет загрузить аварийный компакт-диск с именем gparted . Затем получите оболочку rool и:

mkdir -p /mnt
mkdir -p /oldroot
mount /dev/xvda1 /oldroot
mount /dev/xvda2 /mnt/
mkdir /mnt/opt
mv /mnt/* /mnt/opt
rsync -avx /oldroot /mnt

# now edit /mnt/etc/fstab to comment out or delete the /opt line

umount /mnt /oldroot

/ dev / xvda2 теперь должен содержать старую файловую систему / и / opt. Уловка теперь состоит в том, чтобы удалить старый раздел / dev / xvda1, переместить / dev / xvda2 в начало диска и расширить его, чтобы заполнить весь диск.

К счастью, это довольно просто сделать в редакторе разделов с графическим интерфейсом. Это вполне возможно сделать из командной строки с помощью parted , но гораздо проще в gparted .

В результате получится единственный раздел / dev / xvda1 размером 158 ГБ.

После перемещения и изменения размера раздела вам, вероятно, потребуется повторно запустить grub-install, чтобы снова установить загрузчик. Снова смонтируйте раздел как / mnt и:

for i in proc dev sys ; do mount -o bind /$i /mnt/$i ; done
chroot /mnt
grub-install /dev/xvda
exit
for i in proc dev sys / ; do umount /mnt/$i ; done

2
20.02.2018, 18:50
2 ответа

Basado en esta página en la wiki de Ubuntu , un enfoque para esto es ejecutar su programa en un chroot de Ubuntu 8.04. Estas instrucciones asumen Ubuntu o algún otro derivado de Debian (o el mismo Debian ).

  1. Instale debootstrapyschroot:

    sudo apt install debootstrap schroot
    
  2. Cree un archivo de configuración para Ubuntu 8.04 (de 32 -bits, también conocido como Hardy Heron ), denominado /etc/schroot/chroot.d/hardy_i386.confy que contenga lo siguiente:

    [hardy_i386]
    description=Ubuntu 8.04 Hardy for i386
    location=/srv/chroot/hardy_i386
    personality=linux32
    root-users=mephisto
    run-setup-scripts=true
    run-exec-scripts=true
    type=directory
    users=mephisto
    

    (reemplazando mephistocon nombres de usuario apropiados; se pueden especificar múltiples usuarios usando comas ).

  3. Instalar Ubuntu 8.04:

    sudo mkdir -p /srv/chroot/hardy_i386
    sudo debootstrap --variant=buildd --arch=i386 hardy /srv/chroot/hardy_i386 http://old-releases.ubuntu.com/ubuntu/
    
  4. Empezar a usar el chroot:

    schroot -c hardy_i386 -u root
    

    (esto lo registra como rooten el chroot, lo que puede o no ser apropiado, por supuesto ).

De forma predeterminada, chroot vinculará -sus directorios de inicio, lo que podría ser peligroso; si es necesario, puede deshabilitar esto comentando la línea /homeen /etc/schroot/mount-defaults.

2
27.01.2020, 22:03

Una máquina virtual (con, por ejemplo, KVM o VirtualBox)es una mejor opción para algo como esto que un chrooto un sistema contenedor como dockero lxc.

Ubuntu 8.04 es antiguo (2008)-mucho más antiguo incluso que Wheezy (2013 -2016 ), e incluso Wheezy es muy difícil (*)de ejecutar en una máquina moderna con kernels actuales y libc6 bajo docker. Puede que sea más fácil en un chrootque en un contenedor, pero no contaría con ello.

Instalar Ubuntu 8.04 en una máquina virtual es trivialmente fácil. Simplemente descargue el instalador ISO, configure una VM (, p. con la interfaz gráfica de usuario virt-managerde libvirt )y arranque la máquina virtual mediante la ISO.

Alternativamente, es posible usar varias técnicas "físicas a virtuales" para clonar una máquina existente en una VM. En mi opinión, es mejor comenzar con una instalación limpia y nueva de Ubuntu 8.04 y luego configurarlo específicamente para ejecutar su aplicación antigua.

(*)ej. hace más de un año,Tuve que instalar libc6 y un montón de otras bibliotecas de jessie en un contenedor sibilante solo para que se ejecutara en la ventana acoplable. El problema era que el host que ejecutaba dockerse había actualizado para tener libc6 2.24, y la antigua libc6 en el contenedor Wheezy no funcionaba con eso. Habría tenido más sentido simplemente actualizar el contenedor a jessie -, pero la aplicación que estábamos ejecutando era demasiado antigua para ejecutarse en jessie. Entonces, hice un Frankenwheezy monstruoso.


Parece que su aplicación podría ser una aplicación de Windows 3.11 (o tal vez solo fue una analogía... no estoy seguro)-con una máquina virtual, es posible que ni siquiera necesite ejecutar Ubuntu 8.04. Si ese es el caso, y si tiene una licencia válida para una versión antigua adecuada de Windows (, digamos, 95 o 98 o quizás XP. Incluso es posible hacer que Windows for Workgroups 3.11 se ejecute en KVM ), luego puede instalarlo en una VM y luego instalar su aplicación en la VM.

Si no tiene una licencia válida, puede probar ReactOS , un clon de software libre de Windows (diseñado principalmente para ser compatible con Windows Server 2003, pero puede ejecutar software de versiones anteriores de Windows ). Por cierto, hay muchos cruces entre el desarrollo de ReactOS y WINE.

De lo contrario, Ubuntu 8.04 + WINE funcionaría bien en una máquina virtual.

1
27.01.2020, 22:03

Теги

Похожие вопросы