Dnes je 16. srpna 2017  23:46
nepřihlášen  Neznámý   zaregistruj se
"Nikdy není jasné, kdo má pravdu, vždy je ale jasné, kdo je šéfem."

Vytváření samorozbalovacích archivů

Linux nabízí jednoduchý a rychlý způsob jak vytvářet samorozbalovací a "samospustitelné" soubory. V tomto článku si ukážeme jak.

Úvod

Linux poskytuje mnoho nástrojů pro vytváření všemožně kompimovaných souborů, obsahuje také komplexní nástroje pro spouštění instalačních skriptů. Spojením těchto dvou funkcí získáme přesně to co potřebujeme - spustitelný komprimovaný balík.

V našem případě použijeme shellový skript připojený na začátek tar/gzip archivu.

Samorozbalovací archiv

K vytvoření samorozbalovacího archivu budeme potřebovat dva soubory - hlavičkový soubor, který je popsán níže a samotný tar/gzip archiv. Samozřejmě můžete použít jakýkoliv jiný archiv, já zde uvádím kompresi tar/gzip protože je zřejmě nejrozšířenější.

Archiv sestává z hlavičky a samotného archivu, který je napojen na hlavičku příkazem cat. Pokud bude hlavičkový soubor nazván sfx-header a archiv mypackage-1.2.3.tgz, můžete použít následující příkaz:

cat sfx-header mypackage-1.2.3.tgz > mypackage-1.2.3.sh

Hlavičkový soubor

#!/bin/sh
echo ""
echo "MyPackage v1.2 - rozbaluji archiv... prosim cekejte"
echo ""

# --dulezite--
# ciselny parametr v tomto prikazu musi byt
# vzdy pocet radek + 1 hlavickoveho souboru
tail +12 $0 | tar xz

exit

Uvedený hlavičkový soubor obsahuje opravdu jednoduchý skript. Ten dekomprimuje obsah souboru začínající na 12té řádce (po řádku s příkazem "exit") ale už se např. neptá, do jakého adresáře mají být soubory dekomprimovány.

Důležitou věcí je správně označit začátek archivu, tedy číselný parametr v příkazu tail musí obsahovat hodnotu o jednu větší než je počet řádek hlavičkového souboru.

Samospustitelný archiv

Rozdíl bude pouze v jiném shellovém skriptu, tedy např. soubory budou skriptem rozbaleny do dočasného adresáře, odtud bude spuštěn instalační program a po dokončení instalace bude dočasný adresář smazán. Příklad takového skriptu uvádím zde:

Hlavičkový soubor

#!/bin/sh

echo MyPackage v1.2 - spoustim instalaci ... prosim cekejte

# vytvoreni docasneho adresare pro rozbaleni souboru.
export WRKDIR=`mktemp -d /tmp/selfextract.XXXXXX`

# --dulezite--
# ciselny parametr v tomto prikazu je
# pocet radek + 1 hlavickoveho souboru
tail +21 $0 | tar xz -C $WRKDIR

# spusteni instalacniho skriptu
cd $WRKDIR
./install.sh

# smazani docasneho adresare
rm -rf $WRKDIR

exit

Odkazy:

http://www.gzip.org - GZIP Homepage
http://www.gnu.org/software/tar/tar.html - TAR project Homepage
http://www.gnu.org/software/bash/bash.html - GNU Bourne-Again Shell Homepage



Autor: Roman Pěch
Vytvořeno: 27.05.2002
Oblast: Software




Související články:

Nenalezen žádný.



Diskuse k článku "Vytváření samorozbalovacích archivů":

DatumAutorPředmět
    zobraz vše    přidej komentář

Krátké zprávy:

  • 04.04.2005 20:47:51
    LinuxExpo: IBM, Red Hat, Mozilla i OpenOffice.org 2.0

    Ve dnech 12. až 14. dubna 2005, se uskuteční pátý ročník veletrhu LinuxExpo, největší středoevropské konference a výstavy zaměřené především na operační systém Linux, Open Source software a související témata. Letos bude LinuxExpo hostit Hotel Olympik v Praze, jehož reprezentativní prostory poskytují nejen vysoký standard, ale přinesou i komfortní zázemí konferenční části, na kterou kladou pořadatelé akce stále větší důraz. V rámci konferenčního programu shlédnou návštěvníci nejen celou řadu odborných a popularizačních přednášek, ale budou se moci zúčastnit i několika specializovaných konferencí.

    Tajemství strategie společnosti IBM ve vztahu k Linuxu a otevřeným standardům nám poodhalí hned první z konferenčních bloků v úterý 12.4. Zasvěcené informace se dozvíme přímo od specialistů IBM z Česka i zahraničí. Linux nezanedbává ani legendární SILICON GRAPHICS. O jeho využití nejen pro náročné vizualizace, ale třeba jako platformu pro budování infrastruktur moderních podnikových řešení budou hovořit zástupci SILICON GRAPHICS s.r.o. během středečního konferenčního programu. Pokud se chcete dozvědět více o distribuci Red Hat, určitě si nenechte ujít čtvrteční konferenci s názvem "Red Hat - Prostředí pro Byznys". Přinese ji distributor Red Hat v ČR, firma Servodata.

    Z dalších prezentovaných distribucí jmenujme například Mandrakelinux, zastoupený společností QCM. Přes rostoucí komerční specializaci nezapomíná LinuxExpo ani na neziskové a vzdělávací projekty, které se představí v rámci Free Linux Zone, připravované ve spolupráci se serverem Linuxsoft. Vydržíte-li do čtvrtečního odpoledne, můžete být přítomni exkluzivní premiéry nové verze populárního kancelářského balíku OpenOffice.org 2.0. David Majda z týmu Czilla přednese přednášku Mozilla pro vývojáře, prezentovat se budou také známá česká live distribuce Danix, DTP řešení pro Linux aplikace Scribus, databáze Firebird a mnoho dalších zajímavých projektů.

    Kompletní přehled konferenčního programu, stejně jako aktuální a podrobné informace o veletrhu LinuxExpo najdete na internetové adrese www.linuxexpo.cz. Tam se také návštěvníci mohou registrovat a získat tak volnou vstupenku na dny pro veřejnost, nebo si dokonce rezervovat místa na jednotlivých přednáškách.[RP]


  • 07.11.2002 23:42:55
    Red Hat Linux Advisory: glibc
    Synopsis: Updated glibc packages fix vulnerabilities in resolver
    Issue date: 2002-09-10
    Updated on: 2002-11-06
    Product: Red Hat Linux 6.2 7.0 7.1 7.2 7.3
    Keywords: glibc resolv DNS
    Více na LinuxToday.[RP]


  • 28.10.2002 22:51:34
    Red Hat Linux Advisory: ypserv
    Synopsis: Updated ypserv packages fixes memory leak
    Advisory ID: RHSA-2002:223-07
    Product: Red Hat Linux 6.2 7.0 7.1 7.2 7.3
    Keywords: ypserv memory leak
    Více na LinuxToday.[RP]


  • 20.10.2002 22:58:22
    Vyšlo nové beta jádro 2.5.44. Changelog naleznete zde.[RP]


  • 20.10.2002 22:36:08
    Red Hat Linux Advisory: mozilla
    Synopsis: Updated Mozilla packages fix security vulnerabilities
    Advisory ID: RHSA-2002:192-13
    Product: Red Hat Linux 7.2 7.3 8.0
    Více na LinuxToday. [RP]

    Archiv krátkých zpráv

    Oblasti:

    Informace:

  • Pokud chcete pro nás psát čtěte zde.
  • e-mail redakce: redakce@linux.poweroff.cz

  • Umístěte si náš banner na stránku





  • H E A D L I N E S


    PHPBuilder:
  • PHP Web Blog - Part 2
  • Creating an Online Survey - Part 2
  • PHP Web Blog - Part 1
  • Preventing Web Attacks with Apache
  • phpwiki - The Wiki for PHP Developers
  • Developing a Ajax-driven Shopping Cart with PHP and Prototype, Part 2
  • Developing a Ajax-driven Shopping Cart with PHP and Prototype
  • PHP Form Validation System: An Object-Oriented Approach
  • Validating PHP User Sessions
  • Preventing Spam When Using PHP's Mail Function

    LinuxToday:
  • Phoronix Test Suite Brings Linux Benchmarking to the Desktop
  • Open Source Tour of Europe: Portugal
  • Linux On Mars!
  • Hey FOSS Project, What's Your Pedigree?
  • How Linux Could Better Market Itself
  • Measuring Open Source Adoption the Hard Way
  • Wine 1.0 Review
  • Cobbler Pieces Together Mass Red Hat Linux Installations
  • Open Source Solves UK Cancer Charity Challenges
  • Bash Arrays



    Hledání

    Zadejte (několik) klíčových slov oddělených mezerou.
  • Hledej v článcích
  • Hledej v krátkých zprávách
  • fulltextové vyhledávání

    Nejčtenější články:

  • QMAIL - přechod na Maildir a instalace kompletního poštovního systému (363869)
  • RShaper - omezení rychlosti síťového provozu (83210)
  • PHP v objetí objektů (převzato) (65441)
  • Copyright © 2001 PowerNET