Håndtering RAR og 7-Zip arkiver i Linux


RAR og 7-Zip filen komprimering formater oppsto på Windows, så støtte for dem på Linux er ikke like automatisk som det er for gamle Unix restene som Gzip og TAR. Men med riktig programvare, kan du håndtere disse komprimerte filer uten mye bråk.



Først litt bakgrunn. RAR - forkortelse for Roshal Arkiv - er et proprietært filkomprimering format utviklet av Eugene Roshal. Roshal selger et kommersielt verktøy for Windows som heter WinRAR, men tilbyr også dekomprimere-bare klienter for en rekke operativsystemer uten kostnad.

7-Zip er et Windows-program utviklet for å håndtere så mange komprimeringsformater som mulig. Det opprinnelige formatet er 7z, som bruker en moderne avlegger av LZ77 komprimering algoritmen. 7-Zip Windows app og en 7z software development kit er tilgjengelig under LGPL.

Begge formatene hensikt å oppnå bedre komprimering prosenter for vanlige datatyper enn eldre algoritmer. De støtter også splitte store arkiver i flere små volumer for enklere mobilitet og feilretting. Kombinasjonen av disse to funksjonene hadde gjort dem populære valg for online distribusjon av ekstremt store filer, for eksempel ISO bilder.

7z og Linux

Den 7-Zip app er åpen kildekode, men er fortsatt Windows -bare. For Linux-brukere, prosjekt linker til en kommandolinjeklient pakken heter p7zip som gir to kjørbare, 7z og 7za. De to har samme syntaks og alternativer, som bare er forskjellig i at 7za er en selvstendig app utarbeidet til bruk bare med 7z og de grunnleggende Unix-formater (tjære, gzip, bzip2, etc.), mens 7z bruker en plugin-arkitektur som gjør det mulig det å støtte mange flere komprimeringsformater.

Den grunnleggende syntaks er 7z funksjons alternativer filename.7z. Å pakke et arkiv, bruker 7z x myfile.7z
. Du kan pakke ut filer fra et arkiv med 7z e myotherfile.7z
, men ved hjelp av e-funksjonen trekker ut alle filene til den gjeldende arbeidskatalog, mens x bevarer sine baner.

RAR og Linux

Den RAR situasjonen er litt mer komplisert, på grunn av filformatet proprietære komprimering ordningen. Den RARLAB nettstedet gir en gebyrfri proprietær dekomprimere-bare-klient for Linux som heter unrar, designet for 32-bits Intel-distroer i både RPM og Slackware pakker, og som frittstående binærfiler for PowerPC, 64-bits Intel og ARM Linux-systemer. Siden RARLAB s unrar program verken fri programvare eller åpen kildekode, er du neppe å finne det frakt med mange Linux-distribusjoner. Du kan laste ned en kildekode tarball fra RARLAB, men vedlagte lisens eksplisitt forbyr deg fra å bruke kildekoden til å utvikle noen form for RAR en
koder.

Et annet alternativ er en GPLv2-lisensiert kommandolinjeverktøy utviklet av Gna! prosjekt. Forveksling nok, er den åpen kildekode RAR dekoder også kalt unrar. Gna! unrar er utformet som en wrapper rundt unrarlib, en åpen kildekode RAR dekoding bibliotek utviklet av Christian Scheurer og Johannes Winkelmann - som ikke er en del av Gna !.

Scheurer og Winkelmann utviklet unrarlib fra den opprinnelige RARLAB kildekode, men bedt om og fått tillatelse fra Eugene Roshal å slippe sitt arbeid som fri programvare. Dermed er unrarlib tilgjengelig under GPLv2 og under RARLAB opprinnelige proprietær lisens.

At konsesjonsordningen synes å klare en bane for interesserte å gjøre en slutt kjøre rundt RARLAB og skape et konkurrerende RAR encoder fra den opprinnelige kildekoden, men det har ikke skjedd ennå. Scheurer selv ikke er interessert i å forfølge det, sier at han foretrekker å bruke åpen kildekode-formater for å lage arkiver. " Du kan ikke alltid velge i hvilket format du få data, så det er greit å ha en åpen måte å få tilgang til det. Men du kan velge hvordan du oppretter et arkiv. Hvis du ikke ønsker lukkede kilde komprimering verktøy, det finnes gode alternativer ".

Den proprietære unrar bruker samme grunnleggende syntaks som 7z og 7za. Slik pakker og arkiv og bevare filbaner, type unrar x myarchive.rar
. I GPL unrar, du bare legge en bindestrek før x: unrar -x myotherarchive.rar

I dag, unrarlib bare støtter opp til versjon 2 av RAR-fil format.. Scheurer sier han arbeider med å legge til støtte for nyere RAR3 format til unrarlib, men sier at han ikke er sikker på hva reaksjonen du kan forvente fra RARLAB.

GUI støtte

Hvis du gjør det meste av arbeidet ditt fra en Linux vindusbehandler, har du flaks. Både GNOME og KDE har grafiske arkivledere - File Roller for GNOME og Ark for KDE. Nyere versjoner av begge bruker plugins for å støtte et bredt utvalg av arkiv formater, og stole på p7zip for 7z støtte og Gna! unrar for RAR støtte. På grunn av uforlikelighet av nyere RAR3 filer, men du kan fortsatt trenger å installere proprietær unrar på systemet ditt også.

Som jeg nevnte i begynnelsen, både 7z og RAR støtte splitte store filer i mindre biter . Men i mine tester, anerkjent verken File Roller heller Ark som en katalog full av sekvensielt nummererte filer myfile.7z.001, myfile.7z.002, myfile.7z.003, og så videre utgjorde én 7z fil delt i biter store biter.

Derfor, for å få på data inne, jeg trengte å vende tilbake til de delte filer til én på kommandolinjen ved hjelp av cat-kommandoen. katt myfile.7z.001 myfile.7z.002 myfile.7z.003 > myfile.7z vil lime delvise filene sammen igjen i orden, navngi resultatet myfile.7z. På dette punktet, kan du åpne 7z arkiv opp i File Roller eller Ark, men så lenge du er allerede på kommandolinjen, er det mye raskere bare å skrive 7z x myfile.7z, og Voil à - Data, vakre data, rett på fingertuppene
.