Creación de un archivo zip autoextraíble en un cuadro de Linux
-
03-07-2019 - |
Pregunta
Debido a una serie de restricciones en las que no voy a entrar, tengo que crear un archivo ZIP autoextraíble en una caja de Linux. El archivo resultante debe ser ejecutable solo en Windows. ¿Es esto posible? Si es así, ¿qué herramientas harían el trabajo?
Fondo: cuando el usuario descarga un paquete de configuración de mi caja de Linux, necesito que ese paquete de configuración se complete previamente con una clave determinada. Solo conozco esa llave en tiempo de ejecución; mi idea era escribir un archivo .xml simple con esa clave, luego comprimir el instalador .msi con ese archivo xml en un archivo autoextraíble y enviarlo al navegador. Si tiene ideas alternativas sobre cómo lograrlo, me encantaría escucharlas también
Solución
Su respuesta se puede encontrar en la siguiente página: http://ubuntuforums.org/showthread. php? t = 847329 Tenga en cuenta que no me crédito por nada que no sea el uso de Google y encontrar algo que parezca lógicamente como si funcionara. No garantizo que esta información funcione, o que usted podrá encontrar los materiales mencionados en línea. Solo soy un fan de Google. Espero que esto ayude.
El problema Hace unos días tuve que crear un Win32 compatible Archivo ZIP autoextraíble para un amigo. Suena fácil, cierto. El problema era que no tenía una máquina con Windows cerca y no quería instalar cualquier programa de archivo bajo Wine.
NOTA: un programa ZIP freeware como IZArc bajo Vino se puede utilizar para crear un archivo ZIP Win32 autoextraíble también. Eso no será cubierto por este howto, lo siento.
La " investigación " Googleando alrededor encontré Este post del foro data de agosto de 2003. Leyéndolo descubrí que Los archivos ZIP autoextraíbles no son nada más, pero un binario descomprimir adecuado seguido de un archivo ZIP normal. solía El unzipsfx.exe incluido en Info-ZIP Descomprimir 5.52.
El enlace en esa publicación funcionó algunos Hace días, así que tengo mis manos en el unzipsfx.exe que estaba buscando. Hoy, 2 de julio de 2008 encontré el enlace. muerto. Después de un poco de Google no lo hice Encuentra un enlace de trabajo en cualquier lugar. Yo leo La licencia de un par de veces y entendió que puedo redistribuir el original unzipsfx.exe con una licencia incluida.
Tenga en cuenta que unzipsfx-552_win32.tar.gz (80 kB) es no es un paquete oficial de Info-ZIP y incluye software con derechos de autor que No tomo crédito por Más información en el Licencia Info-ZIP que también se incluye en el tarball. El código fuente de Los binarios incluidos se pueden encontrar. aquí.
La solución
Paso uno, obtener unzipsfx.exe y paquete zip: * abre la Terminal (en Ubuntu presiona alt + f2 y escribe gnome-terminal) * escribe los siguientes comandos Código:
wget http://kolmoskone.homelinux.org/~kaja/kamaa/unzipsfx -552_win32.tar.gz tar zxf unzipsfx-552_win32.tar.gz sudo apt-get install zip
Paso dos, creando un archivo ZIP en Ubuntu: * abra el administrador de archivos (nautilus) y seleccione los archivos que desea tener con cremallera * haga clic derecho y seleccione Crear un archivo (o similar). Seleccione un ubicación para el archivo ZIP, usando su Directorio de inicio es el más fácil. Seleccionar tipo .zip. Ver man zip para más información. sobre cómo crear un archivo ZIP en el comando línea.
Paso tres, haciendo el archivo ZIP autoextraíble * escribe los siguientes comandos Código:
cat unzipsfx-552_win32 / unzipsfx.exe MYZIPFILE.zip > mysfxfile.exe zip -A mysfxfile.exe
mysfxfile.exe ahora se puede abrir en cualquier Sistema compatible con Win32 (incluido para ejemplo Windows XP / 2000 / Vista e incluso Vino en Linux) o CUALQUIER ZIP COMPATIBLE programa de archivo, como el archivo-rodillo en Ubuntu.
Otros consejos
Pude hacer este trabajo con unzipsfx. Hay una versión más nueva disponible, que acaba de publicarse en abril de 2009, la versión 6.0. La versión 5.52 no era compatible con la funcionalidad crítica que necesitaba: lanzar un archivo de configuración particular una vez completada la extracción.
Así que descargué los archivos fuente para 6.0. Luego los modifiqué para excluir el mensaje " para lanzar cosas " Compruebe que está allí por defecto. Compilé utilizando Visual Studio 2008, probé los pasos descritos en el tutorial anterior y todo funciona como un encanto ahora.