/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
tar eller gzip ? eller begge dele ?
Fra : CLAUS HANSEN


Dato : 18-12-01 10:57

Jeg har set at der på min RH 7.2 både er en tar og en gzip!

Hvilke fordele / ulemper er der ved de to pakke-programmer ?

Jeg har også set at, nogen først pakker med tar, derefter med gunzip!
Er det normalt, at man gør det?

Jeg kan også se at der et pakke-format som hedder compress / uncompress...


Med venlig hilsen

CLAUS HANSEN







 
 
Thorbjoern Ravn Ande~ (18-12-2001)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 18-12-01 11:11

"CLAUS HANSEN" <claushansen@claushansen.dk> writes:

> Jeg har også set at, nogen først pakker med tar, derefter med gunzip!
> Er det normalt, at man gør det?

Ja. tar pakker kun, men komprimerer ikke (den er oprindeligt beregnet
til at gemme filer på bånd). Det gør gzip så i tilgift.
--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk

frank damgaard (18-12-2001)
Kommentar
Fra : frank damgaard


Dato : 18-12-01 13:34

Thorbjoern Ravn Andersen <thunderbear@bigfoot.com> wrote:

>> Jeg har også set at, nogen først pakker med tar, derefter med gunzip!
>> Er det normalt, at man gør det?

> Ja. tar pakker kun, men komprimerer ikke (den er oprindeligt beregnet
> til at gemme filer på bånd). Det gør gzip så i tilgift.

Men man skal være opmærksom på at en "gzip"'et tar-fil (.tar.gz) ikke tåler
defekter i lagringsmediet. "tar" alene er i dette tilfælde bedre.

Alternativt "afio" med enkeltfil kompression slået til.

I øvrigt findes zip/unzip også, hvis man skal udveksle filer med
windows-dåser som ikke har installeret tar/gzip understøttelse.
(og lha, rar,.... mv. findes også)

--
no signature :)

Niels Andersen (18-12-2001)
Kommentar
Fra : Niels Andersen


Dato : 18-12-01 12:52

"CLAUS HANSEN" <claushansen@claushansen.dk> wrote in message
news:5rET7.5562$Q3.845802@news010.worldonline.dk...
> Jeg har set at der på min RH 7.2 både er en tar og en gzip!
> Hvilke fordele / ulemper er der ved de to pakke-programmer ?

tar og gzip udfører hver sin helt specifikke opgave, og overlapper ikke
hinanden.

Du er sikkert bekendt med zip-filer. En zip-fil har to formål: At samle
flere filer til én fil (som indeholder filernes indhold, navn og egenskaber)
samt at komprimere det hele, så det fylder mindre.

"tar" kan tage et antal filer med indhold, navn og egenskaber, og samle til
én fil. Men tar kan ikke komprimere.
"gzip" kan komprimere, men arbejde kun med indholdet i en fil. Og det var én
fil.

Tilsammen kan de, hvad en zip-fil kan: Først samler du filerne i en såkaldt
"tarball", derefter komprimerer du denne fil. Det giver filendelsen
".tar.gz" eller kortere ".tgz".

Du behøver dog ikke bøvle med to programmer, hver kan du vil arbejde med
tgz-filer. Hvis du bruger tar med parameren "z", så vil tar selv finde ud af
det med gzip.

Når jeg vil pakke en tarball ud, skriver jeg:
tar -xvf tarball.tar
Hvis jeg vil pakke en gzipped tarball ud:
tar -zxvf tarball.tgz

Fordelen er, at disse programmer kan ting hver for sig, som man ikke kan
gøre med zip.exe, winzip osv. Fx. kan gzip pakke andet end filer. Faktisk
kan gzip pakke enhver bytestream. Smart til fx. pipes.

--
Mvh.

Niels Andersen



Jacob Bunk Nielsen (18-12-2001)
Kommentar
Fra : Jacob Bunk Nielsen


Dato : 18-12-01 14:25

"Niels Andersen" <niels-usenet@myplace.dk> writes:

> Du behøver dog ikke bøvle med to programmer, hver kan du vil arbejde med
> tgz-filer. Hvis du bruger tar med parameren "z", så vil tar selv finde ud af
> det med gzip.

Det er vist kun hvis den tar man bruger er GNU nok:

$ uname -sr
SunOS 5.7
~
$ echo "flof" > flof.fil
~
$ tar -zcvf flof.tgz flof.fil
tar: z: unknown option
Usage: tar {txruc}[vfbFXhiBEelmopwnq[0-7]] [-k size] [tapefile] [blocksize] [exclude-file] [-I include-file] files ...
~
$

Det ser lidt anderledes ud på min Linuxboks:

$ uname -sr
Linux 2.4.16
$ tar --version
tar (GNU tar) 1.13.17
Copyright 2000 Free Software Foundation, Inc.
This program comes with NO WARRANTY, to the extent permitted by law.
You may redistribute it under the terms of the GNU General Public License;
see the file named COPYING for details.
Written by John Gilmore and Jay Fenlason.
$ echo "flof" > flof.fil
$ tar -zcvf flof.tgz flof.fil
flof.fil
$

Jeg ved desværre ikke lige hvordan man viser versionen på en SUN tar :-\

--
Jacob - www.bunk.cc
Support wildlife -- vote for an orgy.

Niels Andersen (18-12-2001)
Kommentar
Fra : Niels Andersen


Dato : 18-12-01 15:11

"Jacob Bunk Nielsen" <spam@bunk.cc> wrote in message
news:spamdrop+m3ofkwfyof.fsf@paven.bunk.cc...
> > Du behøver dog ikke bøvle med to programmer, hver kan du vil arbejde med
> > tgz-filer. Hvis du bruger tar med parameren "z", så vil tar selv finde
ud af
> > det med gzip.

> Det er vist kun hvis den tar man bruger er GNU nok:

Jeg havde lidt på fornemmelsen, at det nok ikke er noget, der er i alle
versioner af tar. :)
Men det virker i hvert fald i GNU tar. :)

Hvis ens tar ikke lige understøtter gzipped (el. lign.) tarballs, er det nu
heller ikke så slemt at håndtere dem. :)
fx:
gunzip -c tarball.tgz | tar -tvf
Skulle kunne gøre det, så vidt jeg husker.

--
Mvh.

Niels Andersen



CLAUS HANSEN (19-12-2001)
Kommentar
Fra : CLAUS HANSEN


Dato : 19-12-01 10:39

> Fx. kan gzip pakke andet end filer. Faktisk
> kan gzip pakke enhver bytestream. Smart til fx. pipes.

Hvad er pipes ?

Med venlig hilsen

CLAUS HANSEN








Peter Makholm (19-12-2001)
Kommentar
Fra : Peter Makholm


Dato : 19-12-01 10:55

"CLAUS HANSEN" <claushansen@claushansen.dk> writes:

> Hvad er pipes ?

Det er når man sammensætter programmer så det ene programs uddata er
det næste programs inddata:

$ cat /var/logs/apache/access_log | grep "GET /foobar" | cut -d" " -f1 | sort -u | wc -l

Dette er en pipeline der tæller unikke adresser, der har besøgt en
/foobar eller en underside på ens server.

cat skriver bare hele access_log som uddata. grep læser cat's uddata
og vælger linjer der omhandler /foobar ud og skriver dem til cut,
der klipper IP-numrene ud og skriver dem til sort, der sorterer og
skriver hver adresse ud netop en gang til wc, der tæller antallet af
linjer.

Ved hver '|' kan du klippe resten væk, erstatte det med less og se
hvad der egentlig sker undervejs.


--
Når folk spørger mig, om jeg er nørd, bliver jeg altid ilde til mode
og svarer lidt undskyldende: "Nej, jeg bruger RedHat".
-- Allan Olesen på dk.edb.system.unix

Kim Petersen (19-12-2001)
Kommentar
Fra : Kim Petersen


Dato : 19-12-01 13:14

Peter Makholm <peter@makholm.net> writes:

$ cat /var/logs/apache/access_log | grep "GET /foobar" | cut -d" " -f1 | sort -u | uniq | wc -l
>
> Dette er en pipeline der tæller unikke adresser, der har besøgt en
> /foobar eller en underside på ens server.

Du glemte uniq (som tager det sorterede output fra sort og fjerner duplikater
og sender det videre til wc).

--
Mvh. Kim Petersen /| Tlf: +4575831551 |\ Jomfru Ingefreds Vej 18
Software Engineer / | Fax: (none atm.) | \ 7100 Vejle
LSS / | Email: kim@vindinggaard.dk | \ DK - Danmark

Peter Makholm (19-12-2001)
Kommentar
Fra : Peter Makholm


Dato : 19-12-01 13:19

Kim Petersen <kim@vindinggaard.dk> writes:

> Du glemte uniq (som tager det sorterede output fra sort og fjerner duplikater
> og sender det videre til wc).

Jeg kunne godt have brugt uniq, men normalt gør jeg som her og lader
sort klare opgaven. Det er meget sjældent at jeg arbejder med data der
er sorteret på forhånd, eller har brug for at gøre noget mellem jeg
sorterer og tager de unikke linjer ud.

Men for eksemplets skyld kunne jeg have gjort det.

--
Når folk spørger mig, om jeg er nørd, bliver jeg altid ilde til mode
og svarer lidt undskyldende: "Nej, jeg bruger RedHat".
-- Allan Olesen på dk.edb.system.unix

Kim Petersen (19-12-2001)
Kommentar
Fra : Kim Petersen


Dato : 19-12-01 14:55

Peter Makholm <peter@makholm.net> writes:

> Kim Petersen <kim@vindinggaard.dk> writes:
>
> > Du glemte uniq (som tager det sorterede output fra sort og fjerner duplikater
> > og sender det videre til wc).
>
> Jeg kunne godt have brugt uniq, men normalt gør jeg som her og lader
> sort klare opgaven. Det er meget sjældent at jeg arbejder med data der
> er sorteret på forhånd, eller har brug for at gøre noget mellem jeg
> sorterer og tager de unikke linjer ud.

Hmm, taler vi forbi hinanden? for at få unikke linier ud, skal du pipe forbi
uniq - ikke? Eller er den sort du bruger, en der fjerner duplikater?
(på min sort betyder -u kun noget, ved merge af allerede sorterede kilder).

--
Mvh. Kim Petersen /| Tlf: +4575831551 |\ Jomfru Ingefreds Vej 18
Software Engineer / | Fax: (none atm.) | \ 7100 Vejle
LSS / | Email: kim@vindinggaard.dk | \ DK - Danmark

Peter Makholm (19-12-2001)
Kommentar
Fra : Peter Makholm


Dato : 19-12-01 15:16

Kim Petersen <kim@vindinggaard.dk> writes:

> Hmm, taler vi forbi hinanden?

Det må vi gøre.

> for at få unikke linier ud, skal du pipe forbi uniq - ikke? Eller er
> den sort du bruger, en der fjerner duplikater?

Jeg bruger ikke en særlig sort. 'sort -u' laver unikke linjer både på
på Linux og på FreeBSD. (Hmmm, BSD'erne bruger GNU sort. Hvorfor
bruger de ikke 4.4BSD lite-versionen?)


> (på min sort betyder -u kun noget, ved merge af allerede sorterede
> kilder).

Hvilken Unix bruger du?

Via webben har jeg fundet sort(1) manualer for følgende systemer, der
alle beskriver -u på den måde jeg bruger den:

HPUX 11i.
Irix
Solaris 2.5
4.4BSD lite
2.10 BSD
Unix Seventh Edition

Især den sidste tyder på at du har en noget ikke-standard sort.

--
Når folk spørger mig, om jeg er nørd, bliver jeg altid ilde til mode
og svarer lidt undskyldende: "Nej, jeg bruger RedHat".
-- Allan Olesen på dk.edb.system.unix

Kim Petersen (19-12-2001)
Kommentar
Fra : Kim Petersen


Dato : 19-12-01 15:54


Peter Makholm <peter@makholm.net> writes:
>
> Hvilken Unix bruger du?
>
> Via webben har jeg fundet sort(1) manualer for følgende systemer, der
> alle beskriver -u på den måde jeg bruger den:

sort på min linux gør samme, det var mig som læste manualen forkert...

-u with -c, check for strict ordering; with -m, only
output the first of an equal sequence

Jeg læste det som -u _skal_ benyttes med -c|-m for at have funktion. Men
det virker alligevel som du beskrev - så lærte jeg at slette et element
fra mine pipes idag

> Unix Seventh Edition
>
> Især den sidste tyder på at du har en noget ikke-standard sort.

Det må siges

--
Mvh. Kim Petersen /| Tlf: +4575831551 |\ Jomfru Ingefreds Vej 18
Software Engineer / | Fax: (none atm.) | \ 7100 Vejle
LSS / | Email: kim@vindinggaard.dk | \ DK - Danmark

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408897
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste