Itsepurkautuvat pakatut tiedostot

Last modified on 24. heinäkuuta 2026 • 1 min read • 110 words
Tänään loin itsestään purkautuvan pakatun tiedoston PDF-asiakirjasta (disclosure.pdf).

Tänään loin itsepurkautuvan, pakatun tiedoston PDF-asiakirjasta (disclosure.pdf). Ensin pakkasin PDF-tiedoston:

bzip2 disclosure.pdf

Sitten luon tekstitiedoston (header.txt), jonka sisältö on seuraava:

!/bin/sh
echo ""
echo "MyPackage v99.99 - extracting archive with bunzip2… please wait"
echo ""
SKIP=`awk '/^__ARCHIVE_FOLLOWS__/ { print NR + 1; exit 0; }' $0`
#Take the archive portion of this file and pipe it to bunzip2
tail +$SKIP $0 | bunzip2 > disclosure.pdf
exit 0
__ARCHIVE_FOLLOWS__

Sitten yhdistin molemmat tiedostot (header.txt ja disclosure.pdf.bzip2):

cat header.txt disclosure.pdf.bzip2 > disclosure.pdf.bzip2.sh

Tämän jälkeen minun tarvitsee vain myöntää tiedostolle suoritusoikeudet kaikille:

chmod a+x disclosure.pdf.bzip2.sh

Tiedoston purkamiseksi kirjoitan vain:

./disclosure.pdf.bzip2.sh

Tietenkin bunzip2-ohjelman on oltava asennettuna tämän tiedoston vastaanottajan järjestelmään; bzip2-algoritmin voi helposti korvata millä tahansa muulla, esim. tar-algoritmilla.