Tallennustila ja tiedostot
Pakkaus ja zip-tiedostot: miten tieto tiivistyy pienempään
Pakkaus ei tiivistä tietoa taikomalla vaan poistamalla toistoa. Kun tietää mitä toistoa etsitään, ymmärtää myös miksi tekstikansio kutistuu murto-osaan ja lomakuvat eivät pienene lainkaan.
Lyhyt vastaus
Pakkaus etsii aineistosta toistuvia kuvioita ja korvaa ne lyhyillä viittauksilla aiempaan kohtaan, minkä lisäksi yleisimmille kuvioille annetaan lyhyemmät koodit kuin harvinaisille. Häviöttömässä pakkauksessa alkuperäinen palautuu purettaessa tavu tavulta samanlaisena, joten mitään ei katoa. Valokuvat, videot ja musiikki eivät juuri pienene, koska niistä on jo poistettu toisto tallennusvaiheessa. Zip on tiedosto, joka sisältää sekä pakatut tiedostot että luettelon niistä, ja sekä Windows että macOS osaavat luoda ja purkaa sen ilman erillistä ohjelmaa.
Sisällys
- Toiston etsiminen on koko temppu
- Miksi jo pakattu aineisto ei enää pienene
- Zip on arkisto ja luettelo samassa tiedostossa
- Näin teet ja purat pakatun kansion
- Salasanasuojatun arkiston rajat
- Milloin pakkaaminen on oikea ratkaisu
- Tarkistuslista ennen kuin lähetät arkiston
- Usein kysytyt kysymykset
- Lähteet ja lisälukemista
Pakkaaminen kuulostaa mahdottomalta. Miten sama tieto mahtuu pienempään tilaan ilman että jotain jätetään pois? Vastaus on, että aineistossa on lähes aina turhaa toistoa, ja toiston voi korvata lyhyellä muistiinpanolla siitä, missä sama asia on jo kerran nähty. Tieto ei katoa, koska muistiinpanosta osataan rakentaa alkuperäinen takaisin.
Tavallisin väärinkäsitys on, että pakkaus toimisi aina ja yhtä hyvin kaikelle. Se ei toimi. Pakkauksen teho riippuu täysin siitä, kuinka paljon säännönmukaisuutta aineistossa on. Tekstissä ja taulukoissa sitä on runsaasti, ja siksi ne kutistuvat murto-osaan. Lomakuvien kansiossa sitä ei enää ole, koska toisto on poistettu jo silloin kun kamera tallensi kuvat.
Tässä artikkelissa katsotaan mekanismi läpi ja käydään sitten käytännön tilanteet: milloin pakkaaminen kannattaa, miten pakattu kansio tehdään ja mitä salasanasuojaus oikeasti antaa. Muotojen välinen ero, eli miksi jokin tiedosto on valmiiksi pakattu, on selitetty artikkelissa tiedostomuodoista.
Toiston etsiminen on koko temppu
Kuvittele lista, jossa lukee sata kertaa peräkkäin sama osoite. Alkuperäisenä se vie sata riviä. Jos kirjoitat sen sijaan yhden rivin ja merkinnän "toista tämä sata kertaa", olet pakannut aineiston, etkä ole menettänyt mitään. Purkaminen on saman merkinnän lukemista toisin päin.
Oikeat pakkausmenetelmät tekevät saman hienovaraisemmin. Ne pitävät muistissa juuri luettua osaa tiedostosta ja etsivät sieltä pisintä kohtaa, joka toistuu. Kun osuma löytyy, sitä ei kirjoiteta uudelleen vaan tilalle kirjoitetaan lyhyt viittaus: kuinka monta merkkiä taaksepäin ja kuinka pitkä pätkä. Suomenkielisessä tekstissä osumia tulee jatkuvasti, koska sanat, päätteet ja välilyönnit toistuvat.
Toinen puoli on yleisyyden hyödyntäminen. Kun aineisto on käyty läpi, tiedetään mitkä merkit ja viittaukset esiintyvät usein ja mitkä harvoin. Yleisimmille annetaan lyhyet koodit ja harvinaisille pidemmät. Koska yleisiä esiintyy paljon, kokonaisuus lyhenee, vaikka harvinaiset pitenevät.
Tästä seuraa myös pakkauksen teoreettinen raja. Jos aineisto on aidosti satunnaista, siinä ei ole toistoa eikä yleisyyseroja, eikä sitä voi pakata lainkaan. Mikään menetelmä ei pysty pienentämään kaikkea aineistoa, koska silloin purkaminen ei voisi tuottaa yksikäsitteistä tulosta. Käytännössä tämä ei haittaa, koska arjen tiedostot ovat kaukana satunnaisesta.
Näiden kahden yhdistelmä on tavallisimman pakkausmenetelmän ydin, ja se on määritelty avoimessa dokumentissa, jonka kuka tahansa voi toteuttaa. Siksi zip-tiedosto aukeaa käytännössä kaikilla laitteilla ilman lisenssikysymyksiä.
Miksi jo pakattu aineisto ei enää pienene
Pakkaus elää toistosta. Kun toisto on kertaalleen poistettu, sitä ei ole enää jäljellä. Valokuva-, video- ja äänitiedostot on tallennettu muodossa, joka on jo tehnyt tämän työn, ja usein vieläpä häviöllisesti eli karsimalla tietoa pois. Kun tällaisen tiedoston pakkaa uudelleen, tulos on lähes saman kokoinen tai muutaman prosentin pienempi.
Toisinaan pakattu tiedosto on jopa hieman alkuperäistä suurempi. Se ei ole vika. Arkistoon lisätään aina otsikkotietoja ja luettelo, ja jos itse sisällöstä ei löydy säästettävää, yleiskustannus jää näkyviin.
| Aineisto | Kutistuminen | Syy |
|---|---|---|
| Tekstitiedostot ja lokit | erittäin suuri | paljon toistuvia sanoja ja rakenteita |
| Taulukot ja tietokantavedokset | suuri | säännönmukainen muoto ja toistuvat arvot |
| Toimisto-ohjelmien asiakirjat | pieni | tiedostomuoto on itse asiassa jo pakattu arkisto |
| Valokuvat | hyvin pieni | häviöllinen pakkaus tehty jo tallennuksessa |
| Video ja musiikki | olematon | pakkaus on osa tallennusmuotoa |
| Ohjelmien asennuspaketit | olematon | paketti on valmiiksi pakattu |
Taulukon kolmas rivi yllättää usein. Monen toimisto-ohjelman asiakirjamuoto on rakenteeltaan pakattu paketti, jonka sisällä on erillisiä osia. Siksi asiakirjakansion pakkaaminen tuo hyötyä lähinnä siitä, että kymmenistä tiedostoista tulee yksi, ei niinkään koon pienenemisestä.
Zip on arkisto ja luettelo samassa tiedostossa
Zip-tiedosto ei ole pelkkä puristettu möykky. Se koostuu tiedostoista, jotka on pakattu kukin erikseen, ja lopussa olevasta luettelosta, joka kertoo mitä arkistossa on ja missä kohtaa kukin tiedosto sijaitsee.
Rakenteesta seuraa kolme käytännön ominaisuutta. Ensinnäkin arkiston sisällön voi listata avaamatta koko pakettia, koska luettelo luetaan erikseen. Toiseksi yksittäisen tiedoston voi purkaa purkamatta muita. Kolmanneksi kansiorakenne säilyy, koska polut on tallennettu tiedostojen nimien osaksi.
Arkisto säilyttää myös osan metatiedosta, kuten muokkausajat. Kaikki ei kuitenkaan säily. Käyttöoikeudet ja käyttöjärjestelmäkohtaiset lisätiedot voivat kadota matkalla, mikä näkyy tyypillisesti silloin kun arkisto tehdään yhdessä käyttöjärjestelmässä ja puretaan toisessa.
Pakkaustason voi usein valita. Tiukempi taso käyttää enemmän laskenta-aikaa saadakseen tiedoston hieman pienemmäksi, kevyempi taso on nopea mutta jättää enemmän jäljelle. Ero lopullisessa koossa on tavallisella aineistolla pieni, joten oletusasetus on lähes aina järkevä valinta. Purkaminen on joka tapauksessa nopeaa riippumatta siitä, millä tasolla arkisto tehtiin.
Zip ei ole ainoa arkistomuoto, mutta se on se, jonka jokainen laite osaa avata ilman erillistä asennusta. Jos vastaanottaja on tuntematon, zip on siksi turvallisin valinta.
Näin teet ja purat pakatun kansion
Pakatun kansion luonti on kaikissa järjestelmissä sama toimenpide eri nimillä.
- Windowsissa valitse tiedostot tai kansio, avaa hiiren oikean painikkeen valikko ja valitse pakkaustoiminto. Syntyvä zip-tiedosto ilmestyy samaan kansioon, ja sen nimen voi vaihtaa heti.
- macOSissa valitse tiedostot, avaa oikean painikkeen valikko ja valitse pakkaustoiminto. Useasta tiedostosta syntyy yksi arkisto, yhdestä tiedostosta samanniminen arkisto.
- Purkaminen Windowsissa: kaksoisnapsautus näyttää sisällön selattavana kansiona, mutta tiedostot kannattaa purkaa kunnolla omaan kansioonsa ennen käyttöä. Suoraan arkistosta avattu tiedosto voi kadota, koska se avataan väliaikaiskopiona.
- Purkaminen macOSissa: kaksoisnapsautus purkaa arkiston omaksi kansiokseen samaan paikkaan. Alkuperäinen arkisto jää jäljelle, ja sen voi poistaa purkamisen jälkeen.
- Androidissa ja iPhonessa: tiedostosovellus osaa sekä luoda että purkaa zip-arkiston. Purkaminen tehdään yleensä valitsemalla arkisto ja käyttämällä toimintoa, joka luo sisällöstä kansion.
- Tarkista purkamisen jälkeen, että tiedostomäärä vastaa odotettua. Keskeytynyt lataus tuottaa arkiston, joka avautuu osittain mutta jää vajaaksi.
Jos arkisto ei aukea, syy on useimmiten keskeneräinen tai vioittunut lataus. Lataa tiedosto silloin uudelleen ennen kuin etsit muita selityksiä. Toinen tavallinen syy on, että arkisto on tehty muodossa, jota käyttöjärjestelmä ei tunne, jolloin tarvitaan erillinen purkuohjelma.
Salasanasuojatun arkiston rajat
Arkiston voi suojata salasanalla, mutta suojauksen laatu vaihtelee enemmän kuin käyttäjä olettaa. Vanhassa zip-salauksessa on tunnettuja heikkouksia, kun taas uudemmat menetelmät käyttävät nykyaikaista salausta. Käyttöliittymä ei aina kerro kumpaa käytetään, mikä on itsessään syy suhtautua varauksella.
Yksi rajoitus on rakenteellinen. Tavallisessa zip-arkistossa salaus koskee tiedostojen sisältöä mutta ei luetteloa, joten tiedostojen nimet ja koot näkyvät ulospäin ilman salasanaa. Nimet paljastavat usein enemmän kuin luullaan. Osa arkistomuodoista osaa salata myös luettelon, mutta silloin vastaanottaja tarvitsee ohjelman, joka tuntee kyseisen muodon.
Toinen rajoitus on salasanan laatu ja sen välittäminen. Suojaus on täsmälleen niin vahva kuin salasana, ja pitkä salalause on tässä selvästi merkkisekamelskaa parempi. Salasanaa ei myöskään pidä lähettää samassa viestissä kuin arkistoa, koska silloin suojausta ei käytännössä ole.
Kolmas huomio koskee vastaanottavaa päätä. Salasanalla suojattu zip sähköpostin liitteenä on tuttu tapa myös haittaohjelmien levittäjille, koska salattua liitettä ei voi tarkastaa automaattisesti. Moni organisaatio estää tällaiset liitteet kokonaan. Miksi liitteet ovat suosittu levitystapa, on selitetty artikkelissa haittaohjelmista, ja saman ilmiön käyttö huijauksissa artikkelissa tietojenkalastelusta.
Jos tavoitteena on suojata sisältö luotettavasti, arkiston salasana ei ole paras työkalu. Jaettu linkki, jonka käyttöoikeudet on rajattu nimetyille henkilöille, on hallittavampi ja peruttavissa jälkikäteen. Miten oikeudet asetetaan, on käsitelty artikkelissa jakolinkeistä ja käyttöoikeuksista.
Milloin pakkaaminen on oikea ratkaisu
Pakkaus kannattaa silloin, kun tavoitteena on niputtaa monta tiedostoa yhdeksi, säilyttää kansiorakenne siirron yli tai pienentää säännönmukaista aineistoa. Se ei kannata silloin, kun aineisto on jo pakattua mediaa eikä niputtamiselle ole tarvetta.
Selkein hyötytilanne on siirto. Yksi arkisto latautuu ja lähtee liikkeelle luotettavammin kuin sata erillistä tiedostoa, koska jokainen erillinen siirto on oma tapahtumansa, joka voi epäonnistua. Sama pätee liitteisiin ja jaettuihin kansioihin.
Toinen hyötytilanne on arkistointi. Kun projekti on valmis, sen tiedostot voi niputtaa yhdeksi arkistoksi, jolloin kansiorakenne ei enää muutu vahingossa. Tämä sopii hyvin yhteen sen kanssa, että varmuuskopioita pidetään useammassa paikassa, mistä kerrotaan artikkelissa varmuuskopioinnista ja 3-2-1-säännöstä.
Kolmas tilanne on tilan säästö palvelimella tai levyllä, mutta vain tekstipohjaisen aineiston kohdalla. Kokoluokat ja se, mitä säästö oikeasti tarkoittaa gigatavuina, on käyty läpi artikkelissa tavuista ja gigatavuista.
Tarkistuslista ennen kuin lähetät arkiston
Nimeä arkisto niin, että vastaanottaja tietää mitä se sisältää. Yleisnimi kertoo vain sen, että joku pakkasi jotain. Nimeämisen periaatteet ovat samat kuin muussakin tiedostojen järjestämisessä.
Tarkista sisältö ennen lähetystä. Avaa arkisto ja katso luettelo läpi. Pakattuun kansioon lähtee helposti mukaan luonnoksia ja väliaikaistiedostoja, joita ei ollut tarkoitus jakaa.
Älä pakkaa suuria videoita toivoen niiden pienenevän. Ne eivät pienene. Jos koko on ongelma, oikea ratkaisu on jakaa video linkkinä tai muuntaa se pienempään tarkkuuteen.
Jos käytät salasanaa, välitä se eri kanavassa kuin itse tiedosto ja varaudu siihen, että vastaanottajan järjestelmä voi estää salatun liitteen kokonaan. Kysy tarvittaessa etukäteen, miten liitteet menevät perille.
Purkamisen jälkeen tarkista tiedostojen määrä ja avaa yksi tiedosto varmistukseksi. Vasta silloin tiedät, että arkisto siirtyi ehjänä.
Usein kysytyt kysymykset
Pieneneekö valokuvakansio, jos pakkaan sen zipiksi?
Ei käytännössä lainkaan. Valokuvat on tallennettu muodossa, joka on jo pakattu, joten toistoa ei ole jäljellä poistettavaksi. Zip on niille hyödyllinen vain siksi, että monesta tiedostosta tulee yksi siirrettävä paketti.
Katoaako tietoa, kun tiedosto pakataan zipiksi?
Ei katoa. Zip käyttää häviötöntä pakkausta, joten purettu tiedosto on tavu tavulta sama kuin alkuperäinen. Tämä eroaa esimerkiksi valokuvien häviöllisestä tallennuksesta, jossa osa tiedosta poistetaan pysyvästi.
Miksi pakattu tiedosto on joskus alkuperäistä suurempi?
Koska arkistoon lisätään otsikkotiedot ja luettelo sisällöstä. Jos itse aineistosta ei löydy poistettavaa toistoa, tämä yleiskustannus jää näkyviin kokona. Ilmiö näkyy tyypillisesti pienissä tai valmiiksi pakatuissa tiedostoissa.
Tarvitsenko erillisen ohjelman zip-tiedostojen avaamiseen?
Et tavallisesti. Windows, macOS sekä puhelinten tiedostosovellukset osaavat luoda ja purkaa zip-arkistoja ilman lisäasennusta. Erillistä ohjelmaa tarvitaan vasta harvinaisempien arkistomuotojen kanssa.
Kuinka turvallinen salasanalla suojattu zip on?
Vaihtelevasti. Vanha zip-salaus on heikko, uudemmat menetelmät ovat vahvoja, eikä käyttöliittymä aina kerro kumpaa käytetään. Lisäksi tavallisessa zip-arkistossa tiedostojen nimet näkyvät ilman salasanaa, joten arkiston sisältö ei ole täysin piilossa.
Miksi purkamani tiedosto katosi, vaikka avasin sen äsken?
Todennäköisesti avasit tiedoston suoraan arkiston sisältä, jolloin se avattiin väliaikaisena kopiona. Muutokset eivät tallennu arkistoon eivätkä säily. Pura arkisto ensin omaan kansioonsa ja avaa tiedosto sieltä.
Voiko zip-tiedosto sisältää haittaohjelman?
Voi, aivan kuten mikä tahansa muukin tiedosto. Arkisto ei itsessään ole vaarallinen, mutta se voi sisältää ohjelmatiedoston. Purkamisen jälkeen kannattaa katsoa, mitä tiedostoja sisällä oli, eikä avata suoritettavia tiedostoja, joita ei ole odottanut.