El ia32-libs
paquete ya no está presente en los repositorios Ubuntu 12.04 para un sistema de 64 bits. ¿Hay algún paquete de reemplazo disponible para descargar?
El ia32-libs
paquete ya no está presente en los repositorios Ubuntu 12.04 para un sistema de 64 bits. ¿Hay algún paquete de reemplazo disponible para descargar?
Respuestas:
El paquete ia32-libs fue un truco para instalar paquetes de 32 bits en una instalación de 64 bits. Desde Ubuntu versión 11.10 (Oneiric), se ha agregado Multi Arch . Uno de los objetivos es eliminar el ia32-libs
paquete. En su lugar, debe instalar las bibliotecas de 32 bits de un paquete con:
sudo apt-get install package-name:i386
No tiene que preocuparse por esto para los paquetes en los repositorios estándar (por ejemplo, el wine
paquete). Para el software externo, es un poco más difícil porque tienes que encontrar las dependencias manualmente. En ese caso, use su motor de búsqueda favorito para encontrar qué bibliotecas necesita.
Parece que todavía existen ia32-libs, pero simplemente como un paquete conveniente para incluir bibliotecas comunes de 32 bits. Este paquete ahora usa Multi Arch para instalar los paquetes de 32 bits correctamente.
ldd
, pasando una ruta al binario como argumento. Si la salida contiene una línea como libz.so.1 => not found
, entonces necesita encontrar libz.so.1
. Puede usar packages.ubuntu.com o apt-file search
para encontrar el paquete que contiene ese archivo. En el ejemplo que di, necesitas instalar zlib1g:i386
.
package-name
por el nombre real. Use ldd
para descubrir, vea el segundo comentario arriba.
El ia32-libs
paquete ha sido completamente reemplazado por lib32z1 lib32ncurses5 lib32bz2-1.0
. Esto no debería ser un problema porque su funcionalidad sigue ahí, solo en otros paquetes. Sin embargo, no vivimos en un mundo ideal donde todos mantienen sus paquetes y todo el software es FLOSS, por lo que algunos paquetes aún dependen de las ia32-libs.
Hay 2 formas:
ia32-libs
. (privilegiado)Usaré el receptor citrix como ejemplo, pero puede usar este método para cualquier paquete .deb:
Primero, descargue el paquete .deb del receptor citrix de su sitio web y haga que un directorio temporal haga el pirateo.
mkdir ica_temp
Extrae el paquete
dpkg-deb -x icaclient_13.0.0.256735_amd64.deb ica_temp
dpkg-deb --control icaclient_13.0.0.256735_amd64.deb ica_temp/DEBIAN
Abra el archivo en gedit (o su editor favorito)
sudo -H gedit ica_temp/DEBIAN/control
Encuentra la línea que comienza con Depends:...
. eliminar ia32-libs
y agregarlib32z1 lib32ncurses5 lib32bz2-1.0
Reconstruir el paquete modificado
dpkg -b ica_temp icaclient-modified.deb
E instalarlo
sudo dpkg -i icaclient-modified.deb
sudo apt-get install -f
La instalación del receptor citrix también requiere piratería Puede encontrar las instrucciones completas de instalación en el wiki de Ubuntu
Puede hacer esto con cualquier paquete antiguo .deb que todavía dependa de ia32-libs.
¡Tenga en cuenta que es una muy mala práctica instalar paquetes antiguos! Lamentablemente, para algunos instaladores binarios, no tienes otra opción.
Puede descargar el paquete ia32-libs del repositorio raring . Descárguelo e instálelo manualmente, luego se resolverán las dependencias.
Leí que se supone que debes instalar el ia32-libs-multiarch
paquete en su lugar. Sin embargo, no funcionó para mí y recibo este error
ia32-libs-multiarch:i386 : Depends: libgphoto2-2:i386 but it is not going to be installed.
La solución que funcionó para mí fue instalar los siguientes paquetes:
sudo apt-get install libc6:i386 libgcc1:i386 gcc-4.6-base:i386 libstdc++5:i386 libstdc++6:i386
Si obtiene ese error, intente:
sudo apt-get update
Luego inténtalo de nuevo:
sudo apt-get install ia32-libs
Acabo de hacer una nueva instalación de 12.04, ese paquete todavía está disponible en los repositorios. De hecho, recibí ese error antes de ejecutar la actualización. Luego, funcionó bien.
Creo que este caso de uso específico fue reemplazado por los paquetes "lib32z1 lib32ncurses5 lib32bz2-1.0 lib32asound2", que probablemente sea una respuesta más específica y útil que decir "puede usar multi-arco".
Instalé las ia32-libs de esta manera (ejecuto Ubuntu 13.04 Raring Ringtail en una máquina de 64 bits):
Comprobar arquitectura propia:
$ dpkg --print-architecture
Compruebe si hay una arquitectura extranjera instalada:
$ dpkg --print-foreign-architectures
Dependiendo de los resultados de los dos comandos anteriores, los siguientes tres comandos podrían funcionar (en mi caso tomó mucho tiempo procesarlos):
$ sudo dpkg --add-architecture i386 && sudo apt-get update && sudo apt-get install ia32-libs
Package ia32-libs is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source However the following packages replace it: lib32z1 lib32ncurses5 lib32bz2-1.0