6 Nieuwe software

(uitpakken en inpakken)

  • Inleiding

    Het installeren van software is meestal niet alleen het plaatsen van een executeerbare file in /usr/bin, ook documentatie, eventuele broncode, configuratiebestanden, etc. horen hun juiste plek te krijgen. Verder kan het zijn dat de nieuwe software gebruik maakt van systeemtools of instellingen die al wel aanwezig moeten zijn. MS-windows is een aardig voorbeeld van wat er mis kan gaan als aan dit aspect weinig of geen aandacht wordt besteed.
    Bij Linux wordt de meeste software tegenwoordig als package aangeboden. Voor Debian is dpkg de standaard basistool en rpm is de RedHat Package Manager. Veel Linuxdistributies beschikken over tools om sofwtare vlekkeloos te installeren, updaten en te verwijderen.
    Naast deze tools voor installatie kan men ook nog de oude wijze van archivering toepassen. We zullen dit als eerste onderwerp bespreken.

     

  • tar

    Het programma tar is oorspronkelijk bedoeld voor het maken van een tape archive. Al vanaf het begin was het met tar ook mogelijk een verzameling files of directory-bomen naar een bestand in plaats van het tape-device te sturen. Als een andere gebruiker dit bestand uitpakte kwam de oorpsronkelijke structuur weer terug. Heel veel unix software wordt als tar-file op internet aangeboden. Tar-file namen eindigen meestal op .tar
    In principe past tar geen compressie toe. Later is deze mogelijkheid aan het commando tar zelf toegevoegd. Voor javabestanden bestaat jar, dat ongeveer dezelfde syntax heeft als tar.

    Het is ook mogelijk om een bestand afzonderlijk te comprimeren. Het oude unix commando hiervoor is compress. Maar er zijn meer mogelijkheden. Hieronder staat een lijstje van compressoren met hun decompressoren:

    • compress met uncompress (.Z)
    • gzip met gunzip (.gz)
    • zip met unzip (.zip)
    • bzip2 met bunzip2 (.bz2)
    Een gecomprimeerde tarfile is te herkennen aan het achtevoegsel .tgz of .tar.gz.

    Voorbeelden

    tar cvf bin.tar ./bin
    
    maakt een tarfile met de naam bin.tar van de directory bin, compleet met eventuele subdirectories.
    tar xvf bin.tar  
    
    pakt de tarfile bin.tar uit in de directory waar je zit. Daar komt dus een subdirectory bin met eventuele nieuwe files en subdirectories erin.
    gzip helegrotetekstfile
    
    maakt een gecomprimeerde file met de naam helegrotetekstfile.gz
    gunzip helegrotetekstfile.gz
    
    maakt de oorspronkelijke ongecomprimeerde helegrotetekstfile

     

    zip -r test.zip test
    
    maakt de gecomprimeerde test.zip van de directory test met alle subdirectories en inhouden.
    unzip test.zip
    
    pakt test.zip uit in de huidige directory inclusief alle subdirectories en bijbehorende files.
    tar cvf - test|(cd ..;tar xf -)
    
    Wat zou dit commando doen? (test is een directory en het - minteken staat voor stdin of stdout)

     

  • Software installeren

    Zoals al opgemerkt hebben moderne Linuxdistributies standaard al tools beschikbaar voor installatie van software. Het commando apt-get kan vanuit de shell aangeroepen worden voor installatie, updates of verwijderen van software.

    Voorbeelden

        
    sudo apt-get install traceroute
    
    installeert de package met traceroute. Let op: omdat je hiervoor superuser rechten nodig hebt wordt het commando voorafgegaan door sudo. Als je als root ingeleogd bent mag je dat weglaten.
    man apt-get
    
    geeft zoals je mag verwachten de moeglijkheden van apt-get weer.

     

 

Wat heb je geleerd?

  • Je hebt kennis gemaakt met filecompressietechnieken
    1. compress/uncompress
    2. gzip/gunzip
    3. zip/unzip
    4. bzip2/bunzip2
  • Je kunt met een tar commando een z.g. tape archive maken.
  • Je kunt apt-get gebruiken om nieuwe software te installeren, te updaten of te verwijderen.

 

Opdrachten thema 6

  1. Upload een word document naar je linux werkruimte en laat daar de 4 compressiemethoden op los. Hoe staat het met de compressiefactoren?
  2. Maak een directory test met daarbinnen nog wat subdirectories en vul deze met wat bestanden (binair en tekst, wat je maar wilt).
    1. Maak van deze hele directory boom een enkel gecomprimeerd bestand test.zip m.b.v. het zip commando.
    2. Doe hetzelfde met het tar commando tar zcvf en tar Zcvf.
    3. Maak ook een test.tar.bz2 met een eenregelig commando, waarin tar en bzip2 gebruikt wordt.
    4. Vergelijk de behaalde compressiefactoren.
    5. Geef bij elk van bovenstaande 4 methoden de commando's om de zaak weer uit te pakken.

 

Aangemaakt 17 december 1999
Laatst bijgewerkt januari 2016