home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-05-04 | 54.6 KB | 1,117 lines |
-
- -------------------------------------------------------------------------------
- DOKUMENT TYPE : X1 BRUGER VEJLEDNING
- SPROG : DANSK
- TEKST TYPE : IKKE-FORMATERET ASCII
- KARAKTER SÆT : IBM CODEPAGE 850
- PROGRAM VERSION BESKREVET : X1 v0.94e (beta)
- SIDST OPDATERET (ÅR MÅNED..): 960430
- SIDSTE OPDATERINGS NOTE : FOREL¥BIG TEKST -- SENERE ÆNDRINGER KAN FOREKOMME
- SKREVET AF : S.V.
- OVERSÆTTELSE : S.V.
- ANDRE DOKUMENTER : X1 DISCLAIMER,
- X1 CHANGE HISTORY,
- -------------------------------------------------------------------------------
-
- VIGTIGT: Brug ikke dette program f¢r De har læst, forstået og
- accepteret betingelserne angivet i 'disclaimer' dokumentet.
-
- ===============================
- = X1 BRUGER VEJLEDNING =
- = GENEREL VERSION OVERSIGT =
- ===============================
-
- 1. Maskinelle forudsætninger (minimum)
- 2. "Hvad er dette?" (abstract)
- 3. "Hvordan-bruger-man"
- (kommando-linie format og kommandoer/option gennemgang)
- 4. Environment variable (sprog modulet)
- 5. Formater og komprimerings metoder (oversigt og eksempler)
- 6. Midlertidige fil navne
- 7. Slut retur værdier
-
-
-
- 1. Maskinelle forudsætninger
- ===========================
- CPU : 386sx eller bedre
- RAM : minimum 4Mb hukommelse er stærkt anbefalelsesværdigt
- OS : DOS 3.3 (eller senere)
- OS/2 (32-bit)
-
- Anskaf et specifikt program for hvert operativ system.
-
- Vær klar over, at hukommelses-mængden angivet af programmet er indirekte
- rapporteret via DPMI - hvilket er den "synlige" mængde. Afhængig af gældende
- hukommelses-styring (DOS...OS2...), så kan disk-simuleret hukommelse være
- anvendt og den rapporterede mængde hukommelse dermed overstige den fysisk
- installerede mængde. Men det betyder mindre for programmet, hvordan hukommelsen
- er organiseret. Det er vigtigere, hvor meget der tillades anvendt (af
- hukommelses manageren).
-
-
- 2. "Hvad er dette?"
- ==================
- Dette er et arkiv program. Det komprimerer flere filer til en enkelt fil.
- Det er helt kommando-linie styret. Komprimering og dekomprimering er kombineret
- i samme program. Det har en hastighed-formindskelses-
- hukommelses vægtning, der hælder mod bedre komprimerings grad og fors¢ger
- fuldt ud at udnytte tilgængelige ressourcer (hukommelse) på den platform, der
- anvendes.
-
- Mest fremtrædende egenskaber er:
-
- * Introducerer .x arkiv format
- * Kompatibel med ARJ,(PK)ZIP,LHA(RC),ZOO,HA
- * Flersproget bruger-grænseflade
- * Indeholder "eksperimentelle" metoder, som f¢lge af en udforskning af
- h¢jt-ydende algoritmer. "eksperimentel" indikerer ikke ustabilitet
- - men snarere at metoderne ikke kan forventes underst¢ttet med
- tilbagevirkende kraft i alle fremtidige versioner.
-
- Kommando-linie grænsefladen svarer til den for ZOO og HA. Men udvalget af
- options svarer mere til ARJ og LHA. Grænsefladen har lidt til fælles med
- PKZIP. Men en basal viden til andre arkiv programmer, så skulle det være
- muligt at overspringe dele af denne dokumentation.
-
- 3. "Hvordan-bruger-man" (kommando-linie format og kommandoer/option gennemgang)
- ==============================================================================
-
- Dette er specifikationerne for programmet. Hvis programmet opf¢rer sig
- anderledes, så kan det enten skyldes egentlige fejl - eller en ufuldendt
- implementation af funktionerne if¢lge specifikationen.
- Brugen af beskrivelsen "arkiv program" for et program vil stille
- forventninger - baseret på egenskaberne for andre tilsvarende programmer.
- Derfor bliver det n¢dvendigt at notere hvad der ER! - men også til nogen grad
- hvad der IKKE ER - implementeret.
- Hvis en del af programmet ikke er implementeret, så vil en besked
- "**Ikke implementeret**" indlede afsnittet. Yderligere arbejde skulle
- reducere antallet af sådanne beskeder.
-
-
- Kommando-linie format
- ---------------------
-
- X1 kommando[<options>..] <arkiv> [<filmaske>..]
- Definitioner:
- kommando[<options>..] kun een kommando er tilladt (f¢rste enkelte karakter)
- fulgt af en serie options - uden blanktegn mellem
- kommando og options - eller imellem options.
- <arkiv> er arkiv navnet - i mangel af endelse benyttes .ZIP
- <filmaske> angiver filerne, der skal arkiveres, som i mangel af
- en rigtig filmaske inkluderer alle filer som standard.
- Fil selektions symboler *, ? kan anvendes. Filnavn
- er specificeret i normal forlængelse af direktorie-sti
- navnet.
-
-
- Kommando-linie syntaks regler
- -----------------------------
- Kommandoer og options kan specificeres med enten små eller store bogstaver.
-
- Vær klar over at "x1" har to direktorie-sti ekskluderings options i stedet
- for een, som normalt. Dette er en f¢lge af regel #1 og #2.
-
- Regel #1 (direktorie-sti inkluderet):
- -------------------------------------
- Som standard inkluderes alle direktorie-stier angivet på kommando-linien
- i arkivet - med mindre ekskluderings option "X" er tilkoblet.
-
- Regel #2 (direktorie-sti inkluderet):
- -------------------------------------
- Som standard inkluderes alle direktorie-stier under rekursiv fil
- s¢gning ("R" option tilkoblet) i arkivet - med mindre ekskluderings
- option "E" er tilkoblet. Dette er noget forskellig fra andre
- arkiv programmer.
-
- Regel #3 (flere filmasker relaterende til samme direktorie)
- -----------------------------------------------------------
- Filmaske uden direktorie-sti overtager automatisk samme direktorie-sti
- som forudgående filmaske.
- Forklaret mere detaljeret:
- Antag "x1 a test <arg[1]> .. <arg[i]> <arg[i+1]>..". Hvis <arg[i+1]>
- ikke indeholder "\" ("/") eller ":" så antages den at virke under samme
- direktorie-sti som <arg_i> (som kan virke under samme direktorie-sti som
- <arg[i-1]>...etc.). Hvad betyder det? Det indebærer at:
- "x1 a test \dir1\dir2\*.c *.h" bevirker samme resultat som
- "x1 a test \dir1\dir2\*.c \dir1\dir2\*.h". Hvad betyder det ikke? Tja,
- "x1 a test dir1\*.c dir2\*.h" virker ikke som
- "x1 a test dir1\*.c dir1\dir2\*.h" fordi "dir2\*.h" indeholder "\".
- Ej heller vil "x1 a test dir1 *.c" virke som "x1 a test dir1\*.* dir\*.c",
- hvilket ville være meningsl¢st.
- Berettigelsen for denne konvention hviler helt på sparet indtastning
- (bemærk hvordan De ikke beh¢vede at gentage "\dir1\dir2\" på kommando-
- linien i det f¢rste eksempel).
- Side-effekter/ulemper? Hvis De ¢nsker filer fra det aktuelle
- direktorie, så må de specificeres f¢r individuelle direktorier angives...
- Dette er stadig kun en konvention, og skulle ikke begrænse brugeren på
- nogen måde.
-
- Regel #4 (direktorie lagret i arkivet)
- --------------------------------------
- Specificering af et direktorie-navn på kommando-linien foranlediger
- komprimering af alle filer i det pågældende direktorie. Bemærk at
- "x1 a test \dir1\dir2" bevirker samme resultat som "x1 a test \dir1\dir2\"
- eller "x1 a test \dir1\dir2\*.*". Og hvis den rekursive option "R" er
- tilkoblet, så vil alle filer h¢jere i "\dir1\dir2\.." også blive
- inkluderet.
- Men se Dem for! Hvis filnavne er identiske med direktorie-sti navne, så
- er det ikke altid indlysende, hvad slut-resultatet bliver.
-
-
- ==============
- = KOMMANDOER =
- ==============
-
- ? kommando (viser hjælpe-tekst)
- -----------------------------------
- Denne kommando bruges kun i sammenhængen "x1 ?".
- Der vil blive vist en kort oversigt over kommandoer og options.
- Den viste skærmside er ikke den samme som vises, når programmet startes
- uden parametre. Uden specificerede parametre vises kun kommandoer
- (imellem dem er "?").
-
- Hvis informationen vises for hurtigt, så kan det anbefales at
- omdirigere data til en fil ("x1 ? >arkiv.lst"), som efterf¢lgende
- kan gennemses i brugerens favorit fil-viser (Norton-Commander-F3) eller
- i dennes favorit editor...
-
- Mange sprog er underst¢ttet. Ikke desto mindre var nogle sprog
- vanskeligere at forstå end andre. Så det kan ikke garanteres at meninger
- altid er krystal klare. I tilfælde af tvivl, så b¢r de engelske, danske,
- franske, tyske, spanske sider konsulteres (i den prioritets rækkef¢lge).
-
- (På PC) Hvis brugerens codepage opsætning er forkert, så vil resultatet
- være manglende karakterer. Så brug venligst en smule tid på at få orden
- i codepage opsætningen.
-
-
-
- A kommando (adder filer til arkiv)
- ----------------------------------
- Tilladte options: $,A,C,E,F,I,K,L,M,N,O,R,S,T,U,V,X,Y,Z
-
- Denne kommando opererer på to niveauer:
- * skaber arkiv og tilf¢jer filer...
- * opdaterer (genåbner) arkiv og tilf¢jer filer...
- Men grundliggende komprimeres og adderes specificerede filer til et arkiv.
- Hvis det angivne arkiv ikke findes, så bliver et dannet med det
- specificerede navn. Eksisterer det allerede eksisterede, så bliver det
- opdateret. Det betyder, at nye filer med samme navn og direktorie-sti som
- allerede eksisterende arkiv indgange vil overskrive disse gamle indgange.
- Nogle få undtagelser findes (når der komprimeres til "solid" format)
- - men det falder udenfor sammenhængen lige nu.
-
- Hvis basis direktoriet er udeladt, så antages i mangel af bedre
- det aktuelle direktorie at gælde.
-
- Hvis der ikke er specificeret nogen filer på kommando-linien, så
- adderes alle filer (i det aktuelle direktorie). Dette betyder at
- "x1 a test.x" komprimerer alt i det gældende direktorie.
-
- På ingen måde er det muligt at komprimere et arkiv under opdatering
- ind i sig selv.
-
- Hvis endelsen på destinations-arkivet ikke er specificeret, så anvendes
- i mangel af anden angivelse endelsen ZIP. Hvis der ¢nskes komprimeret til
- et andet format, så er det n¢dvendigt at specificere destinations-arkivet
- med format endelsen (ARJ,LZH,..). Det er ikke muligt at komprimere til
- arkiver med helt vilkårlige endelser.
-
- Filnavne kan ekskluderes fra addition til arkivet ved brug af option
- "Z".
-
- Eksempel (komprimerer til standard format): x1 a arkiv.x min_fil.doc
- Eksempel (komprimerer til ZIP format) : x1 a arkiv.zip min_fil.doc
-
- C kommando (kommentarer tilf¢jes til arkiv)
- --------------------------
- **Ikke implementeret**
- Tilladte options: I,C
-
- Denne kommando tilf¢jer kommentarer til et arkiv. Kommentarer er mulige
- i ARJ,ZIP,ZOO,X - men ikke i LHA,HA formater. Dette skyldes forskelle i
- den indre struktur.
-
- D kommando (sletter filer fra arkiv)
- ---------------------------------------
- Tilladte options: I,S,Z
-
- For at kunne blive slettet, så må en navn og direktorie-sti indgang i
- arkivet svare til et argument på kommando-linien (ingen forskelle mellem
- store og små bogstaver - i DOS).
-
- Hvis en fil-angivelse ikke indeholder en direktorie-sti, så kommer den til
- at gælde for alle indgange i arkivet - uagtet brugerens direktorie-stier.
- Det betyder at "x1 d test.x *.pas" vil tillige slette indgange
- "dir1/dir2/*.pas" i arkivet (hvis forefindes). Ikke desto mindre, så vil
- "x1 d test.x /dir1/dir2/*.pas" kun slette sidstnævnte filer af denne type
- - ikke "*.pas" filer uden direktorie-sti.
-
- Hvis alle filer ¢nskes slettet, så fjernes hele arkivet (slettes).
-
- Filnavne kan ekskluderes fra sletning ved brug af option "Z".
-
- Eksempel (sletter adskillige indgange): x1 d arkiv.x *.pas *.doc
- Eksempel (sletter hele arkivet) : x1 d arkiv *.*
-
- E kommando (udpakker filer uden direktorie-sti)
- -------------------------------------------
- Tilladte options: $,A,F,I,N,O,T,W,Y,Z
-
- Denne kommando er identisk med "X" kommandoen ved "E" optionen.
- Den er kun underst¢ttet på grund af en generel enighed mellem
- arkiv programmer (om at underst¢tte denne kommando).
-
- Under udpakning vil dato/tid mærkningen for den originale fil blive
- genskabt sammen med fil indholdet. En CRC kontrol udf¢res for at
- konstatere at operationen lykkedes. Ikke desto mindre er filen
- kontrolleret f¢r skrivning til disk, snarere end kontrolleret under
- efterf¢lgende kontrol-læsning.
-
- Filer kan uddrages til et bruger-specificeret direktorie eller drev - men
- i mangel af anden angivelse, så uddrages filer til det aktuelle
- direktorie. Al udpakning sker uden direktorie-sti (til enkelt direktorie).
-
- Når der uddrages til et angivet direktorie, så skal direktorie-navnet
- ende med "/" eller "\" som i eksemplet "x1 e test.x c:\dir\". Hvis ikke
- direktorie-navnet ender med et sådant tegn, som i "x1 e test.x c:\dir"
- så vil det få programmet til at antage, at det er en fil, der fors¢ges
- udpakket fra arkivet.
-
- Hvis der uddrages til et ikke-eksisterende (kommando-linie angivet)
- direktorie, så vil brugeren blive advaret om hændelsen og konsulteret
- f¢r yderligere handling. Advarsels foresp¢rgslen præsenterer flere
- forskellige l¢sninger - fra "(j)a" (skab kun direktorie denne ene gang)
- til "(a)ldrig" (skab intet på noget tidspunkt). Brugeren svarer ved at
- trykke på tasten i parentes. De faktiske ord og bogstaver kan variere
- for forskellige sprog moduler. Det er muligt at komme foresp¢rgslen i
- fork¢bet ved at aktivere en af optionerne "Y" eller "N".
-
- Når der udpakkes til et specificeret drev, så er det tilladt at ende
- drev-angivelsen med ":" som angivet i eksemplet "x1 e test.x a:". Dette
- skyldes, at intet filnavn antages at ende med dette tegn. Hvis adskillige
- destinations drev/direktorier er angivet (som i eksempel
- "x1 e test.x a: b: c:"), så vil det sidst angivne drev/direktorie blive
- brugt til den faktiske udpakning ("c:").
-
- Hvis der fors¢ges udpakket en fil til et direktorie af samme navn, så vil
- filen blive oversprunget (med mindre smart overskrivning er valgt med
- option "W").
-
- Hvis der fors¢ges udpakket til et allerede benyttet filnavn, så vil
- brugeren blive advaret om hændelsen og konsulteret f¢r yderligere
- handling. Eneste undtagelse er 0-længde filer. De antages ikke at
- indeholde nogen vigtig information - og overskrives uden advarsel.
- Advarsels foresp¢rgslen tillader flere forskellige l¢sninger - fra
- "(j)a" (overskriv kun denne ene gang) til "(a)ldrig" (overskriv på intet
- tidspunkt). Brugeren svarer ved at trykke på tasten i parentes. De
- faktiske ord og bogstaver kan variere for forskellige sprog.
-
- Eksempel (udpakke fil): x1 e arkiv.x file_id.diz
-
-
- F kommando (opfrisk filer allerede i arkivet)
- ----------------------------------------------
- **Ikke implementeret**
- Tilladte options: E,F,I,X
-
- Denne kommando erstatter indgange i et arkiv med nyerere filer, om
- muligt. Dette betyder, at navnene og det totale antal filer forbliver
- uændrede for arkivet. Kun indholdet af de arkiverede filer ændres.
-
- Kun filers dato/tid mærkning er sammenlignet under s¢gningen efter
- nyerere filer. Hvis filer er ældre - eller har samme dato/tid (men
- muligvis forskellig st¢rrelse), så bliver de oversprunget.
-
- Mulig konflikt opstår i situationen, hvor arkivet indeholder direktorie-
- stier. Skal det være n¢dvendigt at specificere disse indgange specielt?
- Svaret valgt her er: nej! I stedet er det n¢dvendigt at ekskludere dem
- med option "E" - hvis de af ukendte grunde ikke ¢nskes opfrisket som
- andre filer.
-
- I lighed med "A" kommandoen, når der ikke er specificeret nogen filer på
- kommando-linien, så vil alle filer i arkivet blive fors¢gt opfrisket.
- Dette indebærer, at "x1 f test.x" fors¢ger at opfriske alle filer i
- "test.x" - mens "x1 f test.x *.pas" kun fors¢ger at opfriske "*.pas" filer
- (inklusiv muligvis "dir1/dir2/*.pas" filer). Kun
- "x1 fz test.x *.pas dir1/dir2/*.pas" s¢rger for at ekskludere sidstnævnte
- filer fra opfrisknings processen.
-
- Eksempel (opfrisk alle filer): "x1 f test.x"
-
- L kommando (lister arkivets indhold)
- ------------------------------------------
- Tilladte options: E,I,O,Z
- Denne kommando fremviser standard information for filer i arkivet. Dette
- inkluderer:
- * fuld navn inkl. direktorie-sti
- * komprimeret og ukomprimeret fil st¢rrelse
- * komprimering ratio (% komprimeret/ukomprimeret)
- * dato (i år-måned-dato format)
- * tid (i time-minut-sekund format)
- * CRC (16/32 bit)
- * DOS type fil attributter
- * komprimerings metode (angivet ved nummer snarere end navne-betegnelse)
-
- Tegnet "*" tilf¢jet for enden af filnavnet angiver at filen er krypteret
- og f¢lgelig ikke kan udpakkes.
-
- Dynamisk "justering" af direktorie-sti og navn bliver fors¢gt. Hvis ikke
- der er plads nok til navnet, så bliver alt listet på een linie. Ellers
- bliver direktorie og filnavn placeret på en linie for sig selv - og
- yderligere information anbragt på næste linie.
-
- Der er muligt at liste alle arkiver i et specifikt format ("x1 l *.lzh")
- eller alle arkiver, som programmet kan genkende ("x1 l *"), hvilket
- kun betyder unders¢gelse af filer med genkendelige navne-endelser (".arj",
- ".zip",..). Det er også muligt kun at vise udvalgte filer i arkiver
- ("x1 l test.x *.zip *.nfo *.diz").
-
- Hvis informationen bliver vist for hurtigt, så kan det tilrådes at
- omdirigere data til en fil ("x1 l *.zip >arkiv.lst"), som efterf¢lgende
- kan beses i brugerens favorit fil-viser (Norton-Commander-F3) eller i
- dennes favorit editor...
-
- Eksempel (lister alle *.ARJ,*.ZIP,...): "x1 l *"
-
- T kommando (tester arkiv indhold fejlfrihed)
- ------------------------------------------------
- Tilladte options: E,F,I,O,Z
-
- Denne kommando har to måder at virke på:
- * kontrollere at arkiv programmet ikke har lavet fejl under
- komprimeringen
- * kontrollere for fejl påf¢rt arkivet under transmission
- (lagrings medie eller hardware transmissions kanal fejl).
- Den f¢rste fejltype er klart den mest alarmerende. Derfor er det også
- normalt den slags fejl, der testes for. F¢lgelig kræves udpakning af
- data (til hukommelsen).
-
- For at sikre succes ved mulig udpakning, så er en kontrol funktion
- givet i form af CRC (cyclic-redundancy-checksum) kontrol. Selvom
- processen ikke er 100% sikker, så er det normalt tilstrækkeligt
- for de fleste praktiske situationer.
- Det er muligt at teste hele indholdet i flere arkiver ("x1 t *.zip"),
- individuelle filer i en gruppe af arkiver ("x1 t *.zip *.doc")
- eller individuelle filer i individuelle arkiver
- ("x1 t arkiv.x readme.doc").
-
- Når arkiv programmet kan antages at have udf¢rt sin opgave
- tilfredsstillende, så kan en simplere CRC kontrol udf¢res. Denne kontrol
- aktiveres med option "F". Hvordan vides at programmet har udf¢rt opgaven
- ordentlig? Tja, pr¢v f¢rst en normal CRC kontrol (straks efter
- kompression). Hvis resultatet er i orden, så kan kun efterf¢lgende
- transmissions fejl forventes.
-
- Brugeren informeres om alle uoverensstemmelser mellem den lagrede CRC og
- den faktisk konstaterede CRC værdi. I tilfælde af fejl, så er det meget
- usandsynligt at data kan reddes - med mindre en form for ECC (fejl
- korrigerende kode) er aktiveret. Opdatering af arkiver med CRC fejl er
- ofte mulig, men kan ikke anbefales.
-
- Hvis "solid" arkiver er involveret, så kan CRC kontrol tage ekstra lang
- tid. Dette skyldes, at udpakning af en fil kan kræve udpakning af en
- forudgående fil. I "solid" tilstand komprimeres filer i en st¢rre
- sammenhæng, og dette nedsætter tilgængeligheden.
-
- Eksempel (tester alle filer): "x1 t test.x"
-
- P kommando (beskyt arkiv mod fejl)
- -------------------------------------
- Tilladte options: I,L
-
- Denne kommando vil bevirke tilf¢jelse af fejlkorrigerende kode (ECC) til
- arkivet - hvilket skulle beskytte mod efterf¢lgende medie eller
- transmissions fejl.
-
- Tilf¢jelse af fejlkorrigende kode mere end een gang vil forhindres.
- Snarere end at bruge en simple metode flere gange - så anbefales
- det at bruge en mere sofistikeret metode, der bedre udnytter pladsen
- anvendt for fejlkorrigerende kode.
-
- På samme måde som komprimerings metoder kan specialiseres til bestemte
- typer data - så må fejlkorrigerende metoder optimeres for bestemte typer
- fejl. I modsat tilfælde, så vil resultatet være ¢get pladskrav til den
- fejlkorrigerende kode og mindre effektiv udnyttelse af denne. Flere
- metoder vil blive gjort tilgængelige senere.
-
- Den fremdeles anvendte beskyttelses metode er "Niveau-1" fejlkorrigerende
- kode.
-
- Niveau-1:
- Denne type beskyttelse henvender sig til den almindelige bruger, som
- ¢nsker lav sikkerhed mod en beskeden ¢gning af filst¢rrelsen. Metoden er
- specialiseret til at kompensere for disk(ette) medie fejl. Den kan
- kun kompensere for een (!) tabt sektor. Sektor st¢rrelsen kan
- konfigureres. I mangel af anden angivelse, benyttes 512 bytes.
- Hvis der ¢nskes sikret mere end een sektor, så b¢r h¢jere niveauer
- af fejlbeskyttelse benyttes.
- Hvis der beskyttes en (N) bytes stor sektor, så vil den tilf¢jede
- beskyttelses-data fylde (N+45) bytes. De 48 bytes dækker et hoved med
- en CRC for selve hovedet, en CRC for den totale fil og nogle
- test-vektorer brugt til hurtigere lokalisering af fejl.
- Beskyttelses-data anbringes i en sammenhængende blok i filens
- begyndelse.
-
- Niveau-2:
- Mangler stadig at blive implementeret.
-
- *ADVARSEL* Fejlkorrigende kode kan kun rette et begrænset antal fejl.
- En metode vil kun rette et antal fejl if¢lge specifikationen. Derfor:
- læs specifikationen - og forvent ingen yderligere retning af fejl!!!
- Fejlkorrektion giver kun en begrænset sikkerhed. Det er vigtigt ikke
- at have blind tillid til metoderne.
-
- Eksempel:
- Beskyttelse mod en enkelt tabt (floppy diskette) 512 byte sektor
- opnås med kommandoen "x1 p test.zip" eller "x1 pm1 test.zip".
- For at beskytte mod en tabt 1024 byte sektor (hvilket er 2*512, derfor
- "m2"), så bruges "x1 pm2 test.zip".
-
- R kommando (reparer arkiv for mulige fejl)
- ------------------------------------------------
- Tilladte options: I
-
- Denne kommando har to måder at virke på:
- * Egentlig reparation af fejl i arkivet
- * Kontrol af at arkivet er fri for fejl
- Anderledes normal CRC verifikation af arkivet ber¢rer kun
- komprimerede filer - ikke eventuelle defekter påf¢rt den
- fejlkorrigerende kode. Den "udvidede test" kan naturligvis kun
- udf¢res hvis der er fejlkorrigerende kode til stede.
-
- Reparering af arkiv med fejlkorrigerende beskyttelse:
- Denne kommando fjerner fejl - enten i den fejlkorrigerende kode - eller
- i de egentlige data. Hvis fejlene er korrigerbare, så vil de blive rettet
- og en besked vil tilkendegive at processen var succesfuld.
-
- Reparering af arkiv uden fejlkorrigerende beskyttelse:
- Dette har aldrig været meningen med kommandoen. I dette arkiv
- program er der ingen generel "reparerings" funktion for beskadigede
- arkiver. I stedet opfordres brugeren til at fors¢ge udpakning af
- arkivet - og gen-pakning af data. Problemet med at bibringe en generel
- "reparations" funktion er velkendte fra programmet "PKZipFix" vedlagt
- arkiv programmet "PKZIP". Reparations programmet opdaterer blot
- data-hoved strukturen - uden at kontrollere for fejl inden i individuelle
- filer. Nye filer kan derefter adderes til arkivet. Men uden kontrol (CRC)
- test, er det ikke muligt at vide om arkivet indeholder yderligere fejl.
- Undladen at kontrollere for denne mulighed kan resultere i en falsk
- tryghedsfornemmelse. Derfor virker det umiddelbart bedre kun at tillade
- udpakning fra arkivet - hvilket tillader brugeren at bed¢mme omfanget
- af skaderne. Hvis arkiv er lagret indenfor arkiv, så opstår farlige
- muligheder for fejltagelser. I sådanne tilfælde er det bedst at brugeren
- fors¢ger at bed¢mme situationen. Hvis på een eller anden måde folk ville
- være interesserede (og villige til at betale!), så kan et avanceret
- fejl-korrigerings program konstrueres for nogle/alle af de forskellige
- formater. Men det ville ikke ændre det faktum, at de fleste fejl normalt
- er uoprettelige.
-
- Eksempel: "x1 r test.x"
-
- U kommando (fjern arkiv beskyttelse - fjerner fejlbeskyttende kode)
- --------------------------------------------------------------
- Tilladte options: I
-
- Denne kommando har den modsatte effekt af "P" kommandoen. Der fors¢ges
- fjernet eventuel tilstedeværende beskyttende kode (ECC).
- Mislykket fors¢g på at fjerne fejlkorrigerende kode han have to grunde:
- ingen beskyttende kode - eller fejl der blokerer detektion af hovedet for
- de fejlbeskyttende data. I sidstnævnte tilfælde kan det anbefales at
- fors¢ge fejlkorrigering.
-
- Det kan tilrådes at fors¢ge at reparere for fejl f¢r sletning af
- fejlkorrigerende kode. Selv om processen lykkes med at finde de
- fejl-korrigerings data - så kan arkivet stadig indeholde fejl på andre
- positioner. Ingen egentlig fejl-kontrol foretages ved fjernelse af
- fejlkorrigerende data (for at ¢ge hastigheden).
-
- X kommando (udpakker filer med fuld direktorie-sti)
- --------------------------------------------------
- Tilladte options: $,A,E,F,I,N,O,T,W,Y,Z
-
- Den hovedsagelige forskel fra "E" kommandoen er, at filer udpakkes med
- direktorie-sti (registreret i arkivet). Direktorie-stier kan gennemses
- f¢r udpakning med "L" kommandoen.
-
- Filer kan udpakkes til et bruger specificeret direktorie - men i
- mangel af angivelse, så udpakkes til det aktuelle - og nye
- direktorier bygges ud fra aktuelle direktorie. Nogle direktorier kan ikke
- lægges i forlængelse af det aktuelle direktorie. Det er direktorie-stier
- som indeholder drev-angivelser eller angiver særlige rod-direktorier.
- Sådanne direktorier anbringes på disken i henhold til den angivne
- position.
- Når der udpakkes til et angivet direktorie eller drev, så udbygges
- direktorier i forlængelse af pågældende direktorie. For eksempel vil
- "x1 x test.x a:" fors¢ge at udpakke alle filer til "a:" (mens direktorier
- udbygges fra det aktuelle direktorie for det pågældende drev).
-
- Når udpakning kræver et ikke-eksisterende direktorie på disken, så
- behandles situationen, som når der udpakkes til et ikke-eksisterende
- (kommando-linie angivet) direktorie. Brugeren advares om hændelsen og
- konsulteres f¢r yderligere handling.
-
-
- ===========
- = OPTIONS =
- ===========
-
- $ option (adder/uddrag disk volume label)
- ----------------------------------------
- **Ikke implementeret**
- Komprimering:
- Tilf¢jer diskette label (for den f¢rste angivne filmaske) til
- arkivet. I eksemplet "x1 a test.x *.* a:*.* b:*.* c:*.*", så vil disk
- label for det aktuelle drev f¢jes til arkivet - fordi det aktuelle
- drev er brugt for den f¢rste filmaske. "x1 a test.x a:*.* b:*.* c:*.*"
- bevirker registrering af disk label for drev "a:".
-
- Udpakning:
- Uddrager disk label (hvis tilgængelig) fra arkiv til disken, hvor filer
- udpakkes. Fordi kun een disk label er tilladt i arkivet, så skulle
- forvirring ikke være mulig.
-
- A option (attributter gemme/gendanne)
- -------------------------------------
- **Ikke implementeret**
- General note: denne option var hovedsagelig tiltænkt "specielle
- attributter" sådan som udvidede attributter i OS/2. Simple attributter,
- sådan som fundet i DOS, gendannes altid.
-
- Komprimering:
- Her er funktionen at gemme alle attributter (muligvis udvidede) i arkivet.
-
- Udpakning:
- Her er funktionen at gendanne (muligvis udvidede) attributter. Operativ
- system (OS) afhængige attributter kan kun gendannes under samme OS. i
- tilfælde af OS konflikt, så gendannes attributterne enten ikke - eller
- en passende erstatning findes.
-
- C option (hent kommentar fra fil)
- --------------------------------------
- **Ikke implementeret**
- Kun brugt med "C" kommandoen.
- Der er to måder at tilf¢je kommentarer til et arkiv:
- * indskrivning fra tastaturet
- * indsætte karakterer fra fil
- Denne option aktiveres kun i tilfælde at kommentarer skal indlæses fra
- fil.
-
- E option (udelad direktorie-sti fra arkiv filer)
- ----------------------------------------
- Komprimering:
- Funktionen er at udelade direktorie-stien fundet under en eventuel
- rekursiv s¢gning for filer. Hvis ikke aktiveret, så inkluderes
- alle direktorier som standard.
-
- Udpakning:
- Her er funktionen at sikre at alle filer udpakkes til samme direktorie
- - uden hensyntagen til direktorierne gemt i arkivet.
-
- Fil opfriskning:
- Funktionen er her at undgå opfriskning af filer med direktorie-sti i
- arkivet. Hvis ikke aktiveret, så opfriskes alle filer som standard.
-
- F option (tving fil flytning ind/ud af arkiv)
- --------------------------------------------------
- **Ikke implementeret**
- Komprimering:
- Funktionen er her at slette filer fra disken, når alle filer er blevet
- komprimerede og hele operationen synes vellykket. Dette sker for at
- opnå ekstra sikkerhed - så hvis hele processen afbrydes i utide, så
- b¢r det ikke resultere i tabte data.
-
- Udpakning:
- Her er funktionen at reducere arkivets st¢rrelse - ved at slette indgange
- svarende til udpakke filer.
-
- I option (tavs mode)
- -----------------------
- **Ikke implementeret**
- Denne option undertrykker al skærm udskrift. Dette inkluderer alle
- standard udskrifter og %-færdig-angivelse. Dette skulle tillade andre
- programmer, at kalde programmet og lade arkiv programmet bearbejde
- data - uden at skærmen forstyrres af udskrifter.
-
- K option (overskriv eksisterende arkiv)
- ---------------------------------------
- **Ikke implementeret**
- Komprimering:
- Her funktionen at overskrive et eventuelt eksisterende arkiv. Eller ville
- arkivet være blevet opdateret - og nye indgange tilf¢jet til allerede
- eksisterende.
- L<nummer> option (komprimerings niveau)
- -----------------------------------------
- Komprimering:
- Denne option angiver et mere detaljeret niveau af komprimering. Dette kan
- betyde brug af mere hukommelse - eller nedsat/hurtigere komprimering
- - alt afhængig af den valgte komprimerings metode.
-
- .x metode 4 : her er tilladte niveauer 0,1,2,3. Hver niveau bestemmer en
- forskellig hukommelses model.
- andre metoder: <ingen effekt>
-
- M<metode> option (komprimerings metode)
- ------------------------------------------
- Komprimering:
- Angiver anvendte komprimerings metode. Metoden er specificeret som et
- nummer 0..256. Hvis nummeret ikke svarer til en gyldig komprimerings
- metode, så vil en fejlbesked blive vist.
-
- N option ("NEJ" antages ved alle foresp¢rgsler)
- ----------------------------------------
- Udpakning:
- Option "N" er komplementær til option "Y". Option "N" bevirker at alle
- eventuelle foresp¢rgsler bliver besvaret med et "NEJ". Dette vil modvirke
- alle fors¢g på at stoppe processen og sp¢rge brugeren til råds. Det
- ber¢rer hovedsageligt overskrivning af filer, oprettelse af direktorier,
- etc.
-
- O option (ordne filer if¢lge navn,st¢rrelse,dato,etc.)
- ---------------------------------------------------------
- **Ikke implementeret**
- Der b¢r altid være to 'O' karakterer i option strengen på kommando-linien.
- Mellem "O...O" angives sub-options - som definerer sorterings n¢gler
- - og deres rangorden. Ikke desto mindre, hvis ingen andre options
- efterf¢lger 'O' optionen, så kan det sidste 'O' udelades.
-
- Underst¢ttede sorterings sub-options er:
- N: navn
- S: st¢rrelse
- D: dato
- T: tid
- (B: bedste komprimering)
- Så for eksempel, "OSNO" betyder: sorter f¢rst med hensyn til st¢rrelse
- - og hvis to filer har samme st¢rrelse, sorter da efter navn.
-
- Komprimering:
- Under komprimering til et nyt arkiv, så indsættes filer i rækkef¢lgen
- angivet ved sorterings-n¢glerne. Ved opdatering af et arkiv, så bliver
- eksisterende indgange opdateret i gældende orden - mens nye
- medlemmer sorteres if¢lge angivne options.
-
- Udpakning:
- Her udpakkes filer i den orden, som fremgår af angivne options.
-
- Eksempel:
- Sorter komprimerede filer mht. (1) dato (2) st¢rrelse og (3) navn:
- "x1 aodsno test.x *.*"
-
- R option (rekursiv s¢gning gennem under-directorier)
- ----------------------------------------------------
- Komprimering:
- Uden denne option inkluderes kun filer i de kommando-linie specificere
- direktorier. Hvis intet direktorie er eksplicit defineret, så
- antages det aktuelle direktorie at gælde. Aktivering af denne option
- betyder yderligere inkludering af alle filer i alle under-direktorier.
- Under-direktorier bes¢ges rekursivt i den rækkef¢lge de forefindes på
- disken. Direktorie-stier forlænges i den rækkef¢lge som under-direktorier
- genneml¢bes - med mindre option "E" aktiveres. Filer er bes¢gt to gange:
- f¢rst under en indledende gennemgang - og senere når den faktiske
- behandling af filerne finder sted. Den f¢rste gennemgang foretages for at
- tillade en global %-færdig-indikator - og tillade st¢rrelses-beregning
- for "solid" blokke (med flere indgange).
-
- S option (ændre arkiv dato/tid til nyeste indgang i arkivet)
- ----------------------------------------------------------------
- **Ikke implementeret**
- Komprimering:
- Der er tre praktiske muligheder for at sætte dato/tid mærkningen
- svarende til nyeste fil:
- * vælge den nyeste dato/tid iblandt indgangene tilf¢jet til et
- opdateret arkiv
- * vælge den nyeste dato/tid iblandt indgangene allerede i arkivet
- - f¢r nye filer adderes
- * vælge den nyeste dato/tid iblandt alle filer efter overstået
- opdatering af arkivet
- Men i den aktuelle implementation er kun den sidste mulighed
- implementeret.
-
- En nem måde at sætte dato/tids mærkningen uden at addere filer er ved
- "x1 lis test.x", hvilket bevirker listning (men ikke fremvisning)
- af arkiv indholdet - og tillige opdatering af dato/tid mærkningen.
-
- T option (sæt fil dato/tid mærkning i henhold til aktuelle tid)
- ----------------------------------------------------------------
- **Ikke implementeret**
- Komprimering:
- Denne option sætter dato/tid for filer indsat i arkivet til den
- aktuelle dato/tid. Den oprindelige dato/tid for filerne er ignoreret.
-
- Udpakning:
- Mærk de udpakkede filer med den aktuelle dato/tid - snarere end den
- der er gemt i arkivet.
-
- Note: alle filer i een proces vil blive påf¢rt den samme dato/tid. Selv
- om filer behandles med nogle sekunders mellemrum, så vil de alle få
- tiden svarende til da processen startede.
-
- U option (solid komprimering mode)
- -----------------------------------
- Komprimering:
- Hvis kun een fil bliver komprimeret, så har denne option ingen effekt.
- Men dersom mere end een fil komprimeres - så bliver de indsat i
- "solid mode". Dermed komprimeres filerne som en sammenhængende
- sekvens af data (svarende til sammenhægtning) - hvilket for beslægtede
- filer burde betyde tættere komprimering.
-
- For optimal komprimering burde filerne grupperes intelligent, så de nærmest
- beslægtede filer placeres nærmest hinanden. Men det er ikke automatisk
- fors¢gt i den nuværende implementation.
-
- V<st¢rrelse> option (multi-volume behandling)
- -----------------------------------
- **Ikke implementeret**
- Komprimering:
- Hvis <st¢rrelse> ikke er angivet, så vil komprimering ske til et arkiv, der
- er begrænset i ¢vre st¢rrelse af den disponible disk-plads. Efter hver
- volume vil en prompt dukke op (med mindre option "Y" er aktiveret)
- hvilket for et udskiftelig disk drev vil tillade indsættelse af en ny
- disk. Når det tillades, så vil komprimeringen fortsætte med en anden
- arkiv del. Hvis <st¢rrelse> er angivet, så foretages komprimering til et
- (multi-volumen) arkiv begrænset i omfang af den angivne st¢rrelse. Under
- alle omstændigheder vil slut-resultatet være en række af arkiver med
- identiske navne - og varierende endelser x00,x01,. hvor x00 indeholder
- de f¢rst komprimerede data. Det er ikke muligt at opdatere et multi-
- volumen arkiv i multi-volumen mode. Men det er muligt at opdatere det med
- almindelige fil-indgange - eller opdatere et simpelt ikke-volumen arkiv
- i forlænget multi-volumen mode.
-
- Udpakning:
- Her har angivne <st¢rrelse> ingen relevans. Udpakning skulle kun fors¢ges
- for en fuldstændig sekvens af multi-volumen arkiver. Fors¢g på at udpakke
- individuelle multi-volumen arkiver er mulig - men vil kun lykkes for
- filer, der ikke fortsætter over flere volumener. Der ventes på hver ny
- volumen, med mindre option "Y" er aktiveret.
-
- W option (udpakning med smart overskrivning)
- ----------------------------------------
- **Ikke implementeret**
- Udpakning:
- Denne option fors¢ger intelligent at l¢se problemer, hvor udpakkede
- filer risikerer overskrivning af allerede eksisterende navne. Traditionelt
- ville problemet blive l¢st ved at sp¢rge brugeren om overskrivning var
- ¢nsket - og undlade at overskrive, hvis ikke det var tilfældet. Men en
- tredje mulighed er at udpakke til ændrede navne. Nye endelser 00X,01X,..
- (ikke at forveksle med egentlige .x arkiver) benyttes ved
- kollisions-forhindret udpakning.
-
- X option (ekskluder direktorie-sti(er) angivet på kommando-linien)
- ------------------------------------------------------
- Komprimering:
- Normalt vil alle direktorie-stier på kommando-linien blive
- inkluderet i direktorie/filnavne (for filer adderet til arkivet).
- Hvis et direktorie er angivet ved "x1 a test.x dir\*.*" så bliver
- navne "dir\file1", "dir\file2",... gemt i arkivet. Option "X" forhindrer
- standard registreringen af direktorie-navne på kommando-linien.
- "x1 ax test.x dir\*.*" vil registrere fil indgange som "file1",
- "file2",... Bemærk venligst, at optionen ikke har noget effekt på
- direktorie-sti navne for filer, der findes under rekursiv s¢gning på
- disken (option "R"). For at eliminere direktorie-stier i sådanne
- tilfælde, så er option "E" påkrævet.
-
- Udpakning:
- Her vil optionen ikke have nogen effekt - kun option "E" bruges til at
- ekskludere direktorie-stien fra udpakkede filnavne.
-
- Y option ("JA" antages ved alle foresp¢rgsler)
- -------------------------------------------
- Udpakning:
- Option "Y" er komplementær til option "N". Option "Y" bevirker at alle
- eventuelle foresp¢rgsler bliver besvaret med et "JA". Dette vil modvirke
- alle fors¢g på at stoppe processen og sp¢rge brugeren til råds. Det
- ber¢rer hovedsageligt overskrivning af filer, oprettelse af direktorier,
- etc.
-
- Z<nummer> option (ekskluderer filer, der ellers vil være blevet arkiveret)
- ---------------------------------------------
- Komprimering:
- Når denne option ikke anvendes, så bliver alle filmasker på
- kommando-linien brugt til at inkludere filer. Hvis optionen bruges,
- så vil i mangel af angivet nummer anvendes værdien 1. Nummeret angiver,
- hvor mange filmasker sidst på kommando-linien, som angiver ekskluderede
- filer. Denne konvention tillader ikke fri sammenblanding af inkluderings-
- og ekskluderings-masker. Alle(!) ekskluderings-masker skal angives samlet
- - for enden af kommando-linien. I eksemplet
- "x1 az3 test.x test1.* test2.* *.bak *.swp *.tmp" her efterf¢lges option
- "Z" af værdien "3" hvilket angiver at de sidste 3 filmasker
- "*.bak *.swp *.tmp" angiver filer, hvilke ikke(!) skal adderes til
- arkivet. Nummeret tæller bagfra, fra enden af kommando-linien og er
- derfor ikke påvirket af det forudgående antal inkluderings-masker.
-
- I tilfældet hvor ekskluderings-nummeret overstiger det samlede antal
- filmasker på kommando-linien, så inkluderes som standard filerne "*.*"
- - og alle specificerede filer ekskluderes.
-
- 4. Environment variable (sprog modulet)
- =========================================
- På nuværende tidspunkt underst¢ttes kun een environment variabel. Dette
- er "COUNTRY", som bruges til sprog/karaktersæt udvælgelse.
-
- I DOS bruges environment variablen COUNTRY til at angive det aktuelle
- land og karaktersæt. Specielle sprog-afhængige tegn er underst¢ttet i
- det ¢vre ASCII karaktersæt (afsæt 128 til 255) - og kan variere med
- konfigurationen. Afhængig af karaktersættet, så kan sprog-afhængige
- karakterer forekomme på forskellige afsæt i den udvidede ASCII
- karakter-tabel - hvis de overhoved underst¢ttes. Når sådanne karakterer
- beh¢ves, så er det n¢dvendigt f¢rst at identificere karakter-sættet.
-
- For eksempel kan konfigurationen for et amerikansk tastatur være:
- COUNTRY=001,437
- "001" angiver (amerikansk/engelsk) sprog, mens "437" specificerer
- codepage 437 (US karakter-sæt). Konsulter en DOS manual for en
- detaljeret liste af numre og deres betydning. For dette arkiv program
- vil "001" bevirke, at beskeder vises i engelsk. "437" medf¢rer, at mulige
- udvidede karakterer s¢ges på ASCII afsæt svarende til IBM codepage 850.
-
- Dersom environment variablen COUNTRY foretrækkes ikke anvendt - så kan
- den anden variabel LANGUAGE bruges i stedet. Samme syntaks er påkrævet.
-
- Bemærk, at hvis en sætning ikke forefindes i det pågældende sprog, så
- vil den originale engelske besked vises (i mangel af bedre valg).
-
- Andre environment variable underst¢ttes ikke på nuværende tidspunkt.
-
- 5. Formater og komprimerings metoder (bruger niveau)
- ==============================================
-
- F¢rst en oversigt over underst¢ttede arkiv formater og metoder.
-
- "x1" arkiv program svarende til version 0.94a ("+" angiver underst¢ttelse og
- "-" angiver manglende sådan):
- ------------------------------------------------------------------------------
- arkiver klarer at liste indhold
- name | klarer at udpakke
- | | klarer at pakke
- | | | komprimerings metoder underst¢ttet
- | | | | dekomprimerings metoder underst¢ttet
- | | | | | kommentarer
- | | | | | |
- arj + + + 0,1 0,1,2,3,4 1,..,4 er basalt set identiske
- zip + + + 0,1,8 0,1,7,8 1:shrink,7:implode,8:deflate
- lzh/lha + + + 0,5 0,1,5 ej AMIGA-LHA support (ej Amiga!)
- zoo + + + 0,2 0,2
- ha + + + 0,1,2 0,1,2
- tar + - - - -
- tgz + + + 8 8 kræver gzip'ed TAR headers
- rar + - (+) 0 0
- arc + - - - -
- pak + - - - -
- sqz + - (+) 0 0
- arx + - (+) 0 0,1 (5) algoritmer som LHA1.13
- put + + + 0,5 0,5 algoritmer som LHA2.x
- x + + + 0,1,.. 0,1,..
- ------------------------------------------------------------------------------
- (+) indikerer at der ikke er meget sjov ved lagring uden komprimering..
-
- Om ARJ modulet:
- ---------------------
- Et eksempel, hvor der komprimeres til ARJ formatet kunne være:
- "x1 a test.arj *.*"
- Dette vil bevirke komprimering af alle filer i det aktuelle direktorie
- til arkivet "test.arj" (som standart med metoden 1).
- Lagring uden komprimering: "x1 am0 test.arj *.*"
- Bemærk venligst, at ARJ multi-volumen (endnu) ikke underst¢ttes.
-
- Om ZIP modulet:
- ---------------
- Et eksempel, hvor der komprimeres til ZIP formatet kunne være:
- "x1 a test.zip *.*"
- Dette vil bevirke komprimering af alle filer - som standard med ZIP
- "deflate" metoden kendt fra ZIP versioner 2.x. Hvis bagud kompatibilitet
- er påkrævet, så er det også muligt at komprimere med en ældre metode:
- "x1 am1 test.zip *.*"
- Dermed anvendes metoden "shrink" fra ZIP versioner 0.9 og 1.1. Denne
- gamle metode er ikke tiltænkt seri¢s brug. Den stammer tilbage fra mine
- f¢rste ydmyge fors¢g med ZIP formatet i 1991...
- Kontrol af arkiv fejlfrihed (efter komprimering) udf¢res med:
- "x1 t test.x" eller "x1 t test.x *.*"
-
- Om LHA modulet:
- ---------------
- Et eksempel med komprimering til LHA formatet kunne være:
- "x1 a test.lha *.*" eller "x1 a test.lzh *.*"
- Endelserne ".lha" og ".lzh" er underst¢ttet på lige fod (begge fanget
- ved visning af arkiver "x1 l *"). I mangel af anden angivelse, så bruges
- metode 5 som standard.
-
- Om ZOO modulet:
- ---------------
- Et eksempel, der komprimerer til ZOO formatet ville være:
- "x1 a test.zoo *.*"
- ADVARSEL: ZOO formatet specificerer to header typer og kun een er for
- nuværende underst¢ttet af arkiv programmet (den dominerende type 2).
- Dette kan skabe problemer, når dette arkiv program opdaterer gamle
- zoo-skabte arkiver (header type 1?). Måske er jeg for forsigtig - umuligt
- at sige...
-
- Om HA modulet:
- ---------------
- Et eksempel, der komprimerer til HA format kunne være:
- "x1 a test.ha *.*"
- Dette vil bevirke komprimering af alle filer (i mangel af anden angivelse
- med metode 1:ASC). Dersom hårdere komprimering er påkrævet med en 4-ordens
- PPM, så kunne mere passende anvendes (HSC):
- "x1 am2 test.ha *.*"
- Overladning af valget til computeren, at automatisk udvælge bedste
- komprimering, opnås med: "x1 am# test.ha *.*"
-
- Om TGZ modulet:
- ---------------
- Et eksempel i komprimering til TAR+GZIP format kunne være:
- "x1 a test.tgz *.*"
- Dette medf¢rer indpakning af alle filer i TAR header format og
- efterf¢lgende komprimering i GZIP format. På platforme med underst¢ttelse
- af lange filnavne, her bruges normalt den mere passende endelse ".tar.gz".
- Når indholdet af et sådant arkiv skal listes, så er fuld dekomprimering
- (til hukommelse) n¢dvendig - så lidt ekstra tålmodighed kan være påkrævet.
- "x1 l test.x"
- For nuværende er det ikke muligt at udpakke indholdet af en GZIP fil
- til en enkelt fil.
-
- Om X modulet:
- --------------
- En ting, der ikke er direkte forbundet med nogen kompressions metode - men
- adskiller X header formatet fra andre arkiv programmer - er dobbelt-CRC
- registrering (mulighed for hurtig CRC kontrol). CRC udregnes for både
- ukomprimerede og komprimerede data. Når der kun ¢nskes kontrol for
- transmissions fejl, så vil kontrol af sidstnævnte CRC være tilstrækkelig.
-
- Fordi st¢rrelsen af komprimerede data normalt er mindre end den
- oprindelige st¢rrelse - så vil der normalt være forsvindende ekstra
- arbejde forbudet med CRC-beregning for komprimerede data. Det sl¢ver ikke
- processen i nævneværdig grad.
-
- Bemærk yderligere, at .x arkiver kan indeholde mere end een fil med præcis
- samme direktorie-sti og navn. Dette kan ikke undgås, når "solid" indgange
- er involveret. Hvis det "solide" medlem af arkivet med de(n) overfl¢dige
- fil(er) slettes - så kan andre filer ryge med i k¢bet (komprimeret
- sammen) - hvilket vil medf¢re tabte data. Dette problem kunne l¢ses ved
- at "lade som om" at identiske filnavne ikke er til stede (som i UC2
- eller HAPACK). Men set synes fornuftigt, når nu filer egentlig er til
- stede, at brugeren skal se dem... En beslutning!
-
- Metode nummer Navn Paknings eksempel Kommentarer
- ------------- ---- ------------------- --------
- 1 XLZ "x1 am1 test.x *.*" 64k vindue LZ77
- (2) -
- (3) -
- 4 XXC "x1 am4 test.x *.*" Variabel hukommelses-valg mulig
- kræver DOS mem. (1Mb)
- (5) LZP "x1 am5 test.x *.*"
- bedste metode - "x1 am# test.x *.*"
- ------------- --- --------------------
- NOTE: "bedste metode" vil f¢rst fors¢ge metode 4, herefter 1. Den endelige
- accepterede vil være den der tilbyder tættest resultat.
-
- ADVARSEL: metode 5 er for nuværende mål for yderligere arbejde... Forvent
- ingen bagud/forud kompatibilitet her!!!!
-
- X modulet underst¢tter "solid" format. Et eksempel i komprimering med
- "solid" format kunne være: "x1 aum1 test.x *.*"
- Et arkiv kan indeholde flere uafhængige "solid" indgange - frit blandet
- med normale individuelt komprimerede indgange. Når en "solid" indgang
- f¢rst er dannet, så kan den ikke opdateres.
- Kontrol af arkiv programmets evne til at udpakke sin egne pakkede filer:
- "x1 t test.x *.*"
- Kontrol for påf¢rte transmissions fejl:
- "x1 tf test.x *.*"
- Ja, det giver option "F" (tving filer ind/ud af arkiv) en anden mening
- (hurtigere CRC check), når filer testes. Men dette begrænser ikke brugen
- af optionen i dennes oprindelige sammenhæng, fordi det ikke har nogen
- mening at "tvinge" filer ud af et arkiv under en test.
-
- Fors¢g på at "TF" teste andre arkiv formater, som ikke underst¢tter denne
- måde, vil blot resultere i en normal CRC test.
-
- En kort kommentar til metode 4:
- Den virker med option "L" (komprimerings niveau) på den måde at:
- "x1 am4l2 test.x *.*"
- ...betyder komprimering på niveau 2 (7 Mb).
- Niveau Hukommelse Kommentar
- 0 640kb hukommelses manager kan kræve min. 1Mb
- 1 3Mb -
- 2 7Mb -
- 3 16Mb kunne ikke testes - ingen 16Mb RAM
- Vær opmærksom på at metoden kan ændres!
-
- 6. Midlertidige fil navne
- =========================
- Under komprimering, så bruger programmet en temporær fil "X???????.SWP"
- (hvor ??..?? er valgt tilfældige). Den indeholder det nye arkiv under
- konstruktion. Hvis hele operationen slutter vellykket, så omd¢bes filen til
- det ¢nskede navn.
-
- Under dekomprimering, så kan en udpakket fil ¢nskes udlagt til samme navn som
- selve arkivet. I det tilfælde, så er det originale arkiv midlertidigt omd¢bt
- til et neutralt navn (X???????.SWP) - og slettet, når alle filer er udpakket.
-
- På intet tidspunkt er mere end 3 filer åbne (når filer komprimeres til allerede
- eksisterende arkiv). Programmet vil maksimalt bruge een temporær fil - og kun
- eet navn for det (X???????.SWP).
-
- Endelsen kan virke en smule misvisende. Den temporære fil er ikke en swapfil.
- Til slut bliver filen omd¢bt - indholdet bliver ikke kopieret andetsteds.
- Men filnavn endelsen skulle gerne give associationer til andre programmer
- (Borland compilers..), hvilket skulle bevirke mindre t¢ven, hvis brugeren
- overvejer at slette en fil.
-
- Fordi egentlige swapfiler ikke er n¢dvendige, så underst¢ttes ikke specielle
- arbejds-direktorier. For optimal hastighed, så b¢r komprimerings-processen tage
- plads på en RAM-disk - og de(n) resulterende fil(er) efterf¢lgende kopieres
- til det ¢nskede ende-mål.
-
-
- 7. Slut retur værdier
- ====================
-
- Intern reference Værdi Kommentar
- ------------------ ----- -----------------------------
- EXIT_OK 0 Ingen fejl
- EXIT_INT_ERR 1 Intern fejl (?)
- EXIT_NO_MEM 2 L¢bet t¢r for hukommelse
- EXIT_NO_DISK 3 L¢bet t¢r for disk plads
- EXIT_NO_OPEN 4 Kan ikke åbne arkiv file
- EXIT_NO_TMP 5 Kan ikke åbne temporær fil
- EXIT_NO_FOUND 6 Kan ikke finde matchende arkiv(er)
- EXIT_NO_PATH 7 Kan ikke finde direktorie-sti
- EXIT_NO_BASE 8 Kan ikke få adgang til basis direktoriet
- EXIT_NO_MKDIR 9 Formår ikke at oprette direktorie
- EXIT_BREAK 10 Bruger afbrydelse
- EXIT_FILE_ERR 11 Ukendt fil fejl - kan ikke læse fra fil
- EXIT_BAD_HDR 12 Arkiv direktorie (delvis) korrupt
- EXIT_BAD_EXT 13 Indholdet af arkivet svarer ikke til endelsen
- EXIT_BAD_ARC 14 Er det overhovedet taget et arkiv?
- EXIT_LONG_NO 15 Ej support af lang arg.format - eller for mange arg.
- EXIT_LONG_PATH 16 Direktorie-sti for lang
- EXIT_NO_OVERRIDE 17 Kan ikke tilsidesætte basis direktorie
- EXIT_NEST 18 Direktorier i for mange niveauer
- EXIT_SCRIPT_ERR 19 Fejl i script fil
- EXIT_NOTHING 20 Ingenting at lave
- EXIT_UNSP 21 Metode ikke underst¢ttet i denne version..
- EXIT_COM 22 Ukendt kommando
- EXIT_OPT 23 Ukendt option
- EXIT_OPT_DIR 24 Ukendt option
- EXIT_OPT_WR 25 Ukendt option
- EXIT_OPT_VIEW 26 Ukendt option
- EXIT_WC_FORM 27 Upassende brug af wildcards
- EXIT_WC_NAME 28 Upassende brug af wildcards
- EXIT_WC_COMPL 29 Upassende brug af wildcards
- EXIT_CHG_WRPROT 30 Fejlet fors¢g på at ændre (skrive-beskyttet) arkiv
- EXIT_CHG_DEL 31 Fejlet fors¢g på at ændre (slettet) arkiv
- EXIT_CHG_UNI 32 Fejlet fors¢g på at ændre (blok komprimeret) arkiv
- EXIT_CHG_MULTI 33 Fejlet fors¢g på at ændre (multi-volume) arkiv
- EXIT_CHG_CR 34 Fejlet fors¢g på at ændre (krypteret) arkiv
- EXIT_CHG_UNCR 35 Fejlet fors¢g på at ændre (ukrypteret) arkiv
- EXIT_BAD_KEYFILE 36 Fejlagtig n¢gle-fil (kryptering)
- EXIT_PASS_NO 37 Ikke gyldigt (bruger)ID (kryptering)
- EXIT_PASS_DIFF 38 Password kontrol fejlede (kryptering)
- EXIT_SECURITY 39 General secur/encryp fejl (kryptering)
- EXIT_NOCRYPT 40 Kan ej håndtere encryp.arkiv (kryptering)
-
- ------------------------------------------------------------------------------
-
- Stig Valentini, x1develop@internet.dk (indtil marts 1997)
-
- ------------------------------------------------------------------------------
-