Ero sivun ”Tarball” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
(tervapommin jälkien siivoaminen)
(siivous varovaisemmin; siirsin tarin toimintavivun ensimmäiseksi; suhteellinen polku wareziin)
Rivi 6: Rivi 6:


==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


==Purkaminen==
==Purkaminen==
Rivi 19: Rivi 19:
  tar -xjf erkki.tar.bz2
  tar -xjf erkki.tar.bz2
  tar -xf ismo.tar
  tar -xf ismo.tar
[[Valitsin|Valitsimella]] <tt>-k</tt> voi estää omien tiedostojen ylikirjoituksen tervapommin tiedostoilla.


==Tervapommin pakkaaminen==
==Tervapommin pakkaaminen==
Luodaan ''tervapommi'', tarbomb-paketti em. esimerkkejä mukaillen:
Luodaan ''tervapommi'', tarbomb-paketti em. esimerkkejä mukaillen:
  cd /warez
  cd warez
  tar -cf warez.tar *
  tar -cf warez.tar *


==Tervapommin jälkien siivoaminen==
==Tervapommin jälkien siivoaminen==
Mikäli lauennut termapommi on täyttänyt esimerkiksi [[kotihakemisto]]si läjällä ei-toivottuja tiedostoja, voi sen jäljet siivota helposti komennolla
Mikäli lauennut termapommi on täyttänyt esimerkiksi [[kotihakemisto]]si läjällä ei-toivottuja tiedostoja, voi sen jäljet siivota käyttämällä listaa tar-paketin käyttämistä tiedostoista. Ensiksi varmistetaan less-komennolla, ettei mukana ole omia vanhoja tiedostoja (jotka säilyivät joko valitsimen <tt>-k</tt> ansiota tai muusta syystä) ja poistetaan muita kuin turvallisia merkkejä sisältävät tiedostonimet listasta. Jälkimmäiset on poistettava erikseen.
  [[rm]] -rf $(tar ft pommi.tar)
 
Poistokomennolle rm annetaan tässä syötteeksi lista tervapommin (<tt>pommi.tar</tt>) sisältämistä tiedostoista.
tar tf pommi.tar > pommi.lst
[[less]] pommi.lst
$EDITOR pommi.lst
[[sed]] '/[^[:alnum:]._+-]/d' pommi.lst > lista.lst
  [[rm]] -rf $(< lista.lst)
 
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]]

Versio 31. maaliskuuta 2009 kello 12.12

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 nimi.tar. Jos on käytetty pakkausta, on tiedostonnimi muotoa nimi.tar.gz, nimi.tgz, nimi.tar.bz2 tai nimi.tbz käytetystä pakkausmenetelmästä ja tiedostopäätteen sallitusta koosta riippuen. Tar-ohjelman komentorivivalitsimissa -j tarkoittaa bzip2-pakkausta ja -z gzippiä. Tarballeja käytetään yleisesti mm. ohjelmien lähdekoodien 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.

Lähdekoodipaketissa on yleensä paketin juurihakemistossa tiedosto README, joka kertoo paketin käytöstä (usein miten pakettia käännetään eksoottisille alustoille), hakemisto doc tai muu vastaava, josta löytyy ohjeet ohjelman käyttämiseksi, sekä Copyright, NEWS, INSTALL ym. mahdollisesti kiinnostavaa.

Pakkaaminen

Luodaan .tar.gz, .tar.bz2 ja .tar-paketit hakemistosta warez:

tar -cjf warez.tar.bz2 warez
tar -czf warez.tar.gz warez
tar -cf warez.tar warez

Purkaminen

Tarkistetaan paketin sisältö, esimerkiksi tervapommin huomaamiseksi:

tar -tvf mauri.tar.gz | less

Puretaan paketit mauri.tar.gz ja erkki.tar.bz2 ja ismo.tar

tar -xzf mauri.tar.gz
tar -xjf erkki.tar.bz2
tar -xf ismo.tar

Valitsimella -k voi estää omien tiedostojen ylikirjoituksen tervapommin tiedostoilla.

Tervapommin pakkaaminen

Luodaan tervapommi, tarbomb-paketti em. esimerkkejä mukaillen:

cd warez
tar -cf warez.tar *

Tervapommin jälkien siivoaminen

Mikäli lauennut termapommi on täyttänyt esimerkiksi kotihakemistosi läjällä ei-toivottuja tiedostoja, voi sen jäljet siivota käyttämällä listaa tar-paketin käyttämistä tiedostoista. Ensiksi varmistetaan less-komennolla, ettei mukana ole omia vanhoja tiedostoja (jotka säilyivät joko valitsimen -k ansiota tai muusta syystä) ja poistetaan muita kuin turvallisia merkkejä sisältävät tiedostonimet listasta. Jälkimmäiset 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)

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 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