Kirjoittaja Aihe: Gzip ei pakkaa kunnolla  (Luettu 68 kertaa)

ilkant

  • Käyttäjä
  • Viestejä: 1700
  • Kubuntu
    • Profiili
Gzip ei pakkaa kunnolla
« : 07.02.26 - klo:21.22 »
Pakkasin kokonaisen hakemistorakenteen yhdeksi pakatuksi paketiksi ohjeen mukaan:

Koodia: [Valitse]
$ tar -zcf hakemisto.tar.gz hakemisto/

Sitten kun katselin less-ohjelmalla pakettia, sieltähän näkyi hakemistojen polkuja ihan selväkielisenä! Ei siis kovin kunnolla pakattu. Asialla on merkitystä kun paketin koko on 1,3 GB. Ja jos näitä paketteja tulisi cronilla ajastettuna kerran viikossa, niin...

gzip -l hakemisto.tar.gz
         compressed        uncompressed  ratio uncompressed_name
         1361904390          4465049600  69.5% hakemisto.tar
« Viimeksi muokattu: 07.02.26 - klo:21.36 kirjoittanut ilkant »

SuperOscar

  • Käyttäjä
  • Viestejä: 4345
  • Ocatarinetabellatsumtsum!
    • Profiili
    • Legisign.org
Vs: Gzip ei pakkaa kunnolla
« Vastaus #1 : 07.02.26 - klo:22.08 »
Gzip on nopea mutta myös pakkausteholtaan varsin hyvä. Bzip2 ja XZ ovat hitaampia, mutta pakkaavat paremmin. Zstandard on sitten edellisiä huonompi pakkaamaan mutta nopea etenkin purkamaan. Noista voi valita. Lisäksi on Bzip3, jos kokeilla haluaa.

GNU Tarissa on lyhyt valitsin paitsi Gzipille (-z) myös Bzip2:lle (-j) ja XZ:lle (-J). Zstandard vaatii jo pitkän valitsimen (--zstd). Bzip3:akin voi käyttää, mutta pitää antaa pakkaava ohjelma hankalammin -I-valitsimen parametrina.
« Viimeksi muokattu: 07.02.26 - klo:22.11 kirjoittanut SuperOscar »
pöytäkone 1, kannettavat 1–3, NUC: Debian GNU/Linux 13;  pöytäkone 2: NixOS 25.11; RPi 1: FreeBSD 14.3-RELEASE; RPi 2: Raspberry Pi OS 13

ilkant

  • Käyttäjä
  • Viestejä: 1700
  • Kubuntu
    • Profiili
Vs: Gzip ei pakkaa kunnolla
« Vastaus #2 : 07.02.26 - klo:22.40 »
Chat GPT ehdottti tuota zstd-pakkausohjelmaa:

Koodia: [Valitse]
tar -cf PyCharm_$(date +%Y%m%d_%H%M%S).tar.zst -I 'zstd -15' PyChram/projektit/

Ja sillä paketin koko kutistui 34,8 %:iin. No, aika hyvä verrattuna edelliseen. Ja riittää. Tärkeintä on saada tekemänsä koodit talteen.
Ja kas kun katsoin less-ohjelmalla pakettia, niin sieltä tuli polkurakenteita selväkielisenä ulos. Tarkoittaa sitä, että niitä ei ole pakattu.

Mielestäni olisi mahdollista tehdä siinä pakkausohjelmassa template ja se olisi jossain kohdin pakettia (alussa kuitenkin). Aina kun tulee templaten mukainen merkkijono, se korvaisi sen ihan pienellä tunnisteella. Purkuvaiheessa sitten ne tunnisteet purettaisi niinä polkurakenteina. Uskoisin, että kompressiosuhde olisi ihan toinen. Tämä siis toimisi parhaiten sellaisissa paketeissa, joissa olisi paljon polkuja ja vähemmän itse dataa.

Chat GPT sanoi, että Borg ja Restic deduplikoivat polkuja. Ihmettelisinkin, jos tuollaista ei olisi keksitty jo.
« Viimeksi muokattu: 07.02.26 - klo:22.47 kirjoittanut ilkant »

SuperOscar

  • Käyttäjä
  • Viestejä: 4345
  • Ocatarinetabellatsumtsum!
    • Profiili
    • Legisign.org
Vs: Gzip ei pakkaa kunnolla
« Vastaus #3 : 07.02.26 - klo:23.17 »
Chat GPT ehdottti tuota zstd-pakkausohjelmaa:

Koodia: [Valitse]
tar -cf PyCharm_$(date +%Y%m%d_%H%M%S).tar.zst -I 'zstd -15' PyChram/projektit/

Nykyään ei tarvitse tuota hankalaa ”-I 'zstd -15'”, riittää tosiaan ”--zstd”, jollei ehdottomasti halua komentaa myös pakkaustasoa.
pöytäkone 1, kannettavat 1–3, NUC: Debian GNU/Linux 13;  pöytäkone 2: NixOS 25.11; RPi 1: FreeBSD 14.3-RELEASE; RPi 2: Raspberry Pi OS 13

SuperOscar

  • Käyttäjä
  • Viestejä: 4345
  • Ocatarinetabellatsumtsum!
    • Profiili
    • Legisign.org
Vs: Gzip ei pakkaa kunnolla
« Vastaus #4 : 07.02.26 - klo:23.25 »
Ja kas kun katsoin less-ohjelmalla pakettia, niin sieltä tuli polkurakenteita selväkielisenä ulos.

Nyt kun muuten itse kokeilin, en pystynyt toistamaan tätä. Olen varmuuskopioinut Tarrilla + pakkaamalla koko oman tiedostokansiorakenteeni vuodesta 2008 alkaen; tiedostokoko on nykyisellään ~ 2,5 gigan luokkaa, ja siinä on varsin iso hakemistorakenne (tällä hetkellä 2245 alihakemistoa). Nimet eivät tulleet esiin edes strings-komennolla.

Ettei sinulla ole asetettu lessiin jotakin esikäsittelyohjelmaa, joka purkaisi pakkauksen? Sehän on mahdollista ainakin joko tekemällä lessistä funktio tai asettamalla LESSOPEN-ympäristömuuttuja.
pöytäkone 1, kannettavat 1–3, NUC: Debian GNU/Linux 13;  pöytäkone 2: NixOS 25.11; RPi 1: FreeBSD 14.3-RELEASE; RPi 2: Raspberry Pi OS 13

ilkant

  • Käyttäjä
  • Viestejä: 1700
  • Kubuntu
    • Profiili
Vs: Gzip ei pakkaa kunnolla
« Vastaus #5 : 07.02.26 - klo:23.42 »
Ettei sinulla ole asetettu lessiin jotakin esikäsittelyohjelmaa, joka purkaisi pakkauksen? Sehän on mahdollista ainakin joko tekemällä lessistä funktio tai asettamalla LESSOPEN-ympäristömuuttuja.

Sekin tuli mieleen. Ihan puhdas Kubuntu 25.10 asennus kuluneena päivänä. Ladattu ehkä jo edellisenä päivänä kubuntu.org -sivustolta. Tuohon zstd:hen kun laittaa suuremman kompression -I 'zstd -19' niin menee tiukempaan, mutta vie varsinkin purettaessa aikaa.

Jos noita ottaa varmuuskopiomielessä, niin vähempi kompressio riittää. Niitä varmuuskopioita voi deletoida niiltä ajoilta, jolloin muutoksia ei ole tullut paljoa. Eli muutama varmuuskopiotiedosto riittää. Levyäkin voi ostaa lisää, jos siitä on kiinni.