Ero sivun ”Tarball” versioiden välillä

Siirry navigaatioon Siirry hakuun
2 811 merkkiä lisätty ,  25. elokuuta 2015
p
ei muokkausyhteenvetoa
p (tervapommi)
pEi muokkausyhteenvetoa
 
(9 välissä olevaa versiota 5 käyttäjän tekeminä ei näytetä)
Rivi 1: Rivi 1:
Tarball (leik. myös ''tervapallo'' tai ''tarrapallo'') on [[tar]]-ohjelmalla tehty tiedostoarkisto, joka yleensä on vielä pakattu esimerkiksi [[gzip]]- tai [[bzip2]]-menetelmällä. Jos kyseessä on puhdas tar-paketti, on tiedostonnimi muotoa <tt>nimi.tar</tt>. Jos on käytetty pakkausta, on tiedostonnimi muotoa <tt>nimi.tar.gz</tt>, <tt>nimi.tar.bz2</tt> tai <tt>nimi.tbz</tt> käytetystä pakkausmenetelmästä riippuen. Tar-ohjelman komentorivivalitsimissa <tt>-j</tt> tarkoittaa bzip2-pakkausta ja <tt>-z</tt> gzippiä. Tarballeja käytetään yleisesti mm. ohjelmien [[lähdekoodi]]en jakeluun.
'''Tarball''' (leik. myös ''tervapallo'' tai ''tarrapallo'') on [[tar]]-ohjelmalla tehty tiedostoarkisto, joka yleensä on vielä pakattu esimerkiksi [[gzip]]- tai [[bzip2]]-menetelmällä. Jos kyseessä on puhdas tar-paketti, on tiedostonnimi muotoa <tt>nimi.tar</tt>. Jos on käytetty pakkausta, on tiedostonnimi muotoa <tt>nimi.tar.gz</tt>, <tt>nimi.tgz</tt>, <tt>nimi.tar.bz2</tt> tai <tt>nimi.tbz</tt> käytetystä pakkausmenetelmästä ja tiedostopäätteen sallitusta koosta riippuen. Tar-ohjelman komentorivivalitsimissa <tt>-j</tt> tarkoittaa bzip2-pakkausta ja <tt>-z</tt> gzippiä. Tarballeja käytetään yleisesti mm. ohjelmien [[lähdekoodi]]en jakeluun.


Tarball-tiedostossa on yleensä yksi kansio, jonka sisällä arkistoidut tiedostot ovat, ja tästä seuraa tiedostoarkiston purkamisesta johtuva kansio. Tarbomb (''tervapommi'', ''tarrapommi'') on zip-tiedostoista tuttu arkistointimuoto (zip-tiedosto on pakattu arkistotiedosto ^__^), joka purkaa arkistoimansa tiedostot samaan kansion itsensä kanssa.
Tarball-tiedostossa on yleensä yksi [[hakemisto]], jonka sisällä arkistoidut tiedostot ovat, ja tästä seuraa tiedostoarkiston purkamisesta johtuva hakemisto. Tarbomb (''tervapommi'', ''tarrapommi'') on zip-tiedostoista tuttu arkistointitapa, jossa arkiston juuressa on useampia tiedostoja, ja siten se purkautuu useammaksi tiedostoksi, aiheuttaen helposti sotkua.
 
Lähdekoodipaketissa on yleensä paketin juurihakemistossa tiedosto <tt>README</tt>, joka kertoo paketin käytöstä (usein miten pakettia [[kääntäminen|käännetään]] eksoottisille alustoille), hakemistot <tt>doc</tt> ja <tt>examples</tt> tai muita vastaavia, joista löytyy ohjeet ohjelman käyttämiseksi ja asetusesimerkkejä, sekä <tt>Copyright</tt>, <tt>NEWS</tt>, <tt>INSTALL</tt> ym. mahdollisesti kiinnostavaa.


==Pakkaaminen==
==Pakkaaminen==
Luodaan <tt>.tar.gz</tt>, <tt>.tar.bz2</tt> ja <tt>.tar</tt>-paketit hakemistosta /warez:
Luodaan <tt>.tar.gz</tt>, <tt>.tar.bz2</tt> ja <tt>.tar</tt>-paketit hakemistosta warez:
  [[tar]] -cjf warez.tar.bz2 /warez
  [[tar]] -cjf warez.tar.bz2 warez
  tar -czf warez.tar.gz /warez
  tar -czf warez.tar.gz warez
  tar -cf warez.tar /warez
  tar -cf warez.tar warez


==Tervapommin pakkaaminen==
==Purkaminen==
Luodaan ''tervapommi'', tarbomb-paketti em. esimerkkejä mukaillen:
Tarkistetaan paketin sisältö, esimerkiksi tervapommin huomaamiseksi:
cd /warez
  tar -tvf mauri.tar.gz | less
  tar -cf warez.tar *


==Purkaminen==
Puretaan paketit <tt>mauri.tar.gz</tt> ja <tt>erkki.tar.bz2</tt> ja <tt>ismo.tar</tt>
Puretaan paketit <tt>mauri.tar.gz</tt> ja <tt>erkki.tar.bz2</tt> ja <tt>ismo.tar</tt>
  tar -xzf mauri.tar.gz
  tar -xzf mauri.tar.gz
Rivi 20: Rivi 20:
  tar -xf ismo.tar
  tar -xf ismo.tar


[[Valitsin|Valitsimella]] <tt>-k</tt> voi estää omien tiedostojen ylikirjoituksen tervapommin tiedostoilla.
==Tervapommi==
''Tervapommi'' eli tarbomb-paketti luodaan (vahingossa) em. esimerkkejä mukaillen:
[[cd]] warez
tar -cf warez.tar *
Jos tarkistaa tiedostolistan ennen purkamista, on helppo tehdä väliaikaishakemisto ja purkaa tervapommi vasta siinä. Lopuksi pallon voi korvata korjatulla versiolla.
tar tvf warez.tar | less
[[mkdir]] warez
cd warez
tar xf ../warez.tar
cd ..
tar cf warez.tar warez
Aiemmin pahemman pommin saattoi tehdä antamalla [[Absoluuttinen tiedostonimi|absoluuttinen]] polku pakattaville tiedostoille.[http://www.sunmanagers.org/archives/1998/0269.html] <!--(SUMMARY:How do you untar a file with an absolute path name)--> Ainakin GNU tar (joka Linuxeissa yleensä on) tulkitsee polun suhteellisena. Haluttaessa absoluuttiset polut aloitetaan siirtymällä [[juurihakemisto]]on.
===Jälkien siivoaminen===
Mikäli lauennut tervapommi on täyttänyt esimerkiksi [[kotihakemisto]]si läjällä ei-toivottuja tiedostoja, voi sen jäljet siivota käyttämällä listaa tar-pakettiin sisältyvistä tiedostoista. Ensiksi varmistetaan less-komennolla, ettei mukana ole omiin tiedostoihin (jotka säilyivät joko valitsimen <tt>-k</tt> ansiota tai muusta syystä) viittaavia nimiä ja poistetaan muita kuin turvallisia merkkejä sisältävät tiedostonimet listasta. Jälkimmäiset tiedostot on poistettava erikseen.
tar tf pommi.tar > pommi.lst
[[less]] pommi.lst
$EDITOR pommi.lst
[[sed]] '/[^[:alnum:]._+-]/d' pommi.lst > lista.lst
[[rm]] -rf $(< lista.lst)
rm -i ./ongelmallinen*nimi
Jos tervapommi oli iso ja laukesi järjestelmään, johon on saattanut syntyä uusia tiedostoja poistaminen on tehtävä huolellisesti. Tiedostolistaa voi esimerkiksi komennolla [[comm]] tai [[uniq]] verrata findilla tehtyyn listaan [[aikaleima|tiettynä ajankohtana muuttuneista]] tiedostoista (tar muuttaa mtimen arkiston mukaan, joten sitä ei voi käyttää). Pommissa saattoi olla myös rivinvaihdon sisältäviä tiedostonnimiä, joilla voi tehdä pahemmanlaista jäynää ja jotka on huomioitava erikseen.


find . -cnewer aikaleima1 \! -cnewer aikaleima2 -print > uudet.lst
sed '/[^[:alnum:]._+-]/d' pommi.lst > lista.lst
comm -1 -2 lista.lst uudet.lst > poistettavat.lst


[[Luokka:Tiedostomuodot]]
[[Luokka:Tiedostomuodot]]
[[Luokka:Ohjeet]]

Navigointivalikko