Ubuntu Suomen keskustelualueet

Ubuntun käyttö => Ubuntu tietokoneissa => Aiheen aloitti: ilkant - 07.02.26 - klo:21.22

Otsikko: Gzip ei pakkaa kunnolla
Kirjoitti: ilkant - 07.02.26 - klo:21.22
Pakkasin kokonaisen hakemistorakenteen yhdeksi pakatuksi paketiksi ohjeen (https://www.linux.fi/wiki/Gzip) 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
Otsikko: Vs: Gzip ei pakkaa kunnolla
Kirjoitti: SuperOscar - 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.
Otsikko: Vs: Gzip ei pakkaa kunnolla
Kirjoitti: ilkant - 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.
Otsikko: Vs: Gzip ei pakkaa kunnolla
Kirjoitti: SuperOscar - 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.
Otsikko: Vs: Gzip ei pakkaa kunnolla
Kirjoitti: SuperOscar - 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.
Otsikko: Vs: Gzip ei pakkaa kunnolla
Kirjoitti: ilkant - 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.
Otsikko: Vs: Gzip ei pakkaa kunnolla
Kirjoitti: SuperOscar - 08.02.26 - klo:10.58
Jos noita ottaa varmuuskopiomielessä, niin vähempi kompressio riittää.

Tai päinvastoin: riippuu asianhaaroista. Minulla suurin osa noista koko kansiopuun varmuuskopioista on .tar.xz-tiedostoina, koska XZ pakkasi kokeissani parhaiten ja varmuuskopioita kuitenkin vuosien varrella kertyy. Toisaalta jos usein joutuu hakemaan varmuuskopioista jotakin, Zstandardin nopeampi purku saattaa olla etu.
Otsikko: Vs: Gzip ei pakkaa kunnolla
Kirjoitti: Tomin - 08.02.26 - klo:11.03
Perinteisesti, jos haluaa katsoa merkkijonoja binäärien sisältä, niin käytetään strings-ohjelmaa.

Koodia: [Valitse]
strings tiedosto | less