Creazione di un archivio zip autoestraente su una scatola di Linux
-
03-07-2019 - |
Domanda
A causa di una serie di vincoli che non affronterò, devo creare un archivio ZIP autoestraente su una scatola di Linux. L'archivio risultante dovrebbe essere eseguibile solo su Windows. Questo è possibile? In tal caso, quali strumenti farebbero il lavoro?
Background: quando l'utente scarica un pacchetto di installazione dalla mia scatola di Linux, ho bisogno che quel pacchetto di installazione sia precompilato con una determinata chiave. Conosco solo quella chiave in fase di esecuzione; la mia idea era quella di scrivere un semplice file .xml con quella chiave, quindi comprimere il programma di installazione .msi con quel file xml in un archivio autoestraente e inviarlo al browser. Se hai idee alternative su come realizzarlo, mi piacerebbe anche sentirle
Soluzione
La tua risposta è disponibile nella seguente pagina: http://ubuntuforums.org/showthread. php? t = 847329 Tieni presente che non mi prendo in considerazione nulla se non l'utilizzo di Google e la ricerca di qualcosa che suona logicamente come se funzionasse. Non garantisco che queste informazioni funzioneranno o che non sarà più possibile trovare online i materiali citati. Sono solo un fan di Google. Spero che questo aiuti.
Il problema Qualche giorno fa ho dovuto creare un Win32 compatibile file ZIP autoestraente per un amico. Sembra facile, giusto. Il problema era che non avevo una macchina Windows nelle vicinanze e non volevo installare eventuali programmi di archiviazione in Wine.
NOTA: un programma ZIP freeware come IZArc in Wine può essere utilizzato per creare anche un file ZIP autoestraente Win32. Questo non sarà coperto da questo ma scusa.
La "ricerca" Ho cercato su Google questo post sul forum datato agosto 2003. Leggendolo l'ho scoperto i file ZIP autoestraenti non sono nulla più ma un binario decompresso adatto seguito da un normale file ZIP. ero solito il unzipsfx.exe incluso in Info-ZIP Decomprimi 5.52.
Il link su quel post ha funzionato alcuni giorni fa, quindi ho messo le mani su unzipsfx.exe che stavo cercando. Oggi, 2 luglio 2008, ho trovato il link morto. Dopo aver cercato su Google non l'ho fatto trova un collegamento funzionante ovunque. Leggo la licenza alcune volte e capito che posso ridistribuire l'originale unzipsfx.exe con una licenza inclusa.
Si noti che il unzipsfx-552_win32.tar.gz (80 kB) è non un pacchetto Info-ZIP ufficiale e include software protetto da copyright che Non mi merito. Maggiori informazioni in Licenza Info-ZIP inclusa nel tarball. Il codice sorgente per i binari inclusi possono essere trovati qui.
La soluzione
Passaggio uno, ottenere unzipsfx.exe e pacchetto zip: * apri il Terminale (in Ubuntu premi alt + f2 e digita gnome-terminal) * digitare i seguenti comandi Codice:
wget http://kolmoskone.homelinux.org/~kaja/kamaa/unzipsfx -552_win32.tar.gz tar zxf unzipsfx-552_win32.tar.gz sudo apt-get install zip
Passaggio 2: creazione di un file ZIP in Ubuntu: * apri il file manager (nautilus) e seleziona i file che vuoi avere zip * fare clic con il tasto destro e selezionare Crea un archivio (o simile). Seleziona un posizione per il file ZIP, usando il tuo home directory è la più semplice. Selezionare digitare .zip. Vedi man zip per informazioni su come creare un file ZIP al comando linea.
Passaggio tre, creazione del file ZIP autoestraente * digitare i seguenti comandi Codice:
cat unzipsfx-552_win32 / unzipsfx.exe MYZIPFILE.zip > mysfxfile.exe zip -A mysfxfile.exe
mysfxfile.exe ora può essere aperto in qualsiasi Sistema compatibile Win32 (incluso per esempio Windows XP / 2000 / Vista e anche Wine in Linux) o QUALSIASI ZIP COMPATIBILE programma di archiviazione come file-roller in Ubuntu.
Altri suggerimenti
Sono stato in grado di farlo funzionare con unzipsfx. È disponibile una versione più recente, appena uscita ad aprile 2009, la versione 6.0. La versione 5.52 non supportava le funzionalità critiche di cui avevo bisogno: avviare un determinato file di installazione al termine dell'estrazione.
Quindi ho scaricato i file di origine per 6.0. Li ho quindi modificati per escludere la richiesta di "avviare roba" controlla che ci sia di default. Ho ricompilato usando Visual Studio 2008, ho provato i passaggi descritti nel tutorial sopra e ora funziona tutto come un fascino.