S tjære eller Star er en åpen kildekode-kommandolinjeprogram som kan komprimere / arkiv mange filer sammen til en enkelt tape eller disk arkiv. Det er også i stand til å gjenopprette enkeltfiler fra den genererte arkivet.
S tjære inkluderer en FIFO for fart, flerbinds støtte, et mønster matcher, evnen til å arkivere sparsom filer, automatisk byte for anerkjennelse, automatisk arkiv format deteksjon, automatisk arkiv kompresjon og dekompresjon, fjern arkivering, samt andre spesielle funksjonalitet som gjør at program som skal brukes til fulle sikkerhetskopiering av systemet.
S tjære inkluderer også `RMT", en virkelig bærbar versjon av den eksterne tape server som støtter ekstern drift mellom ulike operativsystemer og maskinarkitekturer, samt en bærbar `mt 'båndstasjon kontrollprogram.
S tjære er den raskeste kjente implementeringen av en tjære -arkiveringssystem enda raskere enn ufsdump i nesten alle tilfeller
Hva er nytt i denne utgaven:.
< ul>
Hva er nytt i versjon 1.5.2:
- Prøv å lage stjerne immune mot signaler som vises mens åpne en fil fra en nettverks filsystem.
- La stjernen FIFO bedre håndtere media endre driften ved enden av et bånd volum i multi volum skape modus.
- Tillat stjerne til auto-detektere & quot; EOF & quot; tilstand på en rå disk når du skriver i multi volum skape modus. ENXIO er lagt til som et alias for EFBIG og ENOSPC.
- star.4 manpage ble forbedret.
- star_sym.c bruker nå O_SEARCH for å åpne kataloger.
- star / longnames.c legger til flere midlertidige løsninger mot feil buffer overflow avbrytes fra gcc.
- star / extract.c bruker nå tilgang (navn, F_OK) i stedet for tilgang (navn, 0)
- stjerne nå bare setter opp signalbehandlere for eksisterende signaler å støtte MSC
- stjerne fikset en skrivefeil i dumpdates.c som rammet på WIN-DOS fordi flokk () ikke er tilstede
- stjerne sjekker nå HAVE_FSYNC å støtte MSC
- stjerne :: findinfo.c sjekker nå om stat.st_blksize finnes
- star / dumpdates.c arbeider rundt et problem med LOCK_EX / LOCK_EX / LOCK_UN definert selv om flokken () kaller ikke lenger eksisterer.
- Ny (tidligere mangler) man-sidene: bsh / pfbsh.1 sh / bosh.1 sh / jsh.1 sh / pfsh.1 mt / mt.1 scgskeleton / scgskeleton.1 etikett / label.1 stjerne / ustar. 1 star_sym / star_sym.1 Ved / Ved-E.1 Ved / Ved-w.1
- stjerne støtter nå automatisk gjenkjenning av xz (1) komprimerte arkiver og tilbyr en ny alternativ -xz
- stjerners tilbyr ny adferd:
- En tar-arkiv opprettet med & quot; stjerners -c -dump -meta ... & quot; omfatter ikke innholdet for rene filer, men bare metadataene. Med & quot; stjerners -c -xmeta & quot; disse filene kan hentes ut som 0 ved store filer i tilfelle at dette ikke ville overskrive eksisterende filer. Stjerne støtter nå & quot; stjerners -x -xmeta -fore-hulls & quot; å trekke ut disse filene som filer av den opprinnelige størrelsen, men som spredte filer uten noen data inne. Dette er tilstrekkelig som en referanse for wget -mirror.
- Mannen side star / spax.1 fikset en skrivefeil.
- star / header.c bruker nå en ny struktur & quot; ndbuf & quot; som definerer en namelength av 101 i stedet for 100 for å kunne få tilgang til 101th element i arrays uten tilgang til en aray utenfor banen.
- Fikset en skrivefeil i stjerne / buffer.c som forårsaket stjernen for å dumpe kjernen på Linux med -c -mulvivol grunn av den uvanlige minne layout funnet på Linux.
- Stjernen -multivol bufferstyring mallocs nå mindre minne. Før det malloc () d samme størrelse som FIFO størrelse, nå er det bare malloc () s 2 * bufsize
- stjerne -c -Finn er nå interruptable av ^ C
- stjerne -x -U -k fungerer nå, samt stjerne -x -U -Hold gammel
- Noen skrivefeil rettinger i star.4 mannen siden
- Star -sparse -force-hulls nå arkiver alle filer som spredte filer i tilfelle at de i det minste inneholde 512 blokk justert byte med nullverdier. Takket være markk@clara.co.uk
- stjerne -Finn fjerner nå ledende & quot; ./& quot; i filnavn som stjerne gjør i andre tilfeller.
- stjerne -r / -u nå avhenger riktig på gamle arkivformat type.
- Star legger et nytt alternativ -lzip og automatisert støtte til å gjenkjenne lzip komprimerte arkiver. Takket være markk@clara.co.uk
- stjerne aksepterer nå en kommando som:
- stjerne -c -onull -Finn. -Er
- så er det ingen arkiv utgang til stdout som kan blande seg med -Er utgang
- Fikset en bug i libfind / walk.c (ringer strcatl () med siste parameter 0 i stedet for (char *) 0)
- libfind bumped til versjon 1.5
- Ny fil libfind / find_tok.h å skille tokennavnene fra resten av gjennomføringen.
- Flyttet token definisjoner fra find.c å find_tok.h
- Den primære -perm implementerer nå en ny funksjon:
- -perm + modus vil vurdere som sant hvis noen av bits satt i modus er satt i tillatelse biter fro en fil.
- En bug med exec introdusert med hjelp vfork () i stedet for gaffel () ble fikset. Utskifting av strengen & quot; {} & quot; nå fungerer riktig igjen, selv om plasseringen av banen i minne ble endret i løpet av en realloc ().
- Nye primære operatører: -amin foreldet - bare for GNU finne kompatibilitet -cmin foreldet - bare for GNU finne kompatibilitet -mmin foreldet - bare for GNU finne kompatibilitet-tom TRUE null størrelse vanlig fil eller tom katalog -execdir program [argument. ..] \; -fls fil liste filene ligner på 'ls -ilds' inn 'file' (alltid SANN) -fprint fil print filnavn linje delt opp i 'file' (alltid sant) -fprint0 fil utskrifts filnavn nul delt opp i 'file' (alltid TRUE) -fprintnnl fil print filnavn plass delt inn i 'file' (alltid SANN) -ilname glob TRUE hvis symlink navn matcher shell glob -ilpat mønster TRUE hvis symlink navn matcher mønster -iname glob TRUE hvis banen komponent kamper shell glob -ipat mønster TRUE hvis banen komponent kamper mønster -ipath glob TRUE hvis full bane samsvarer shell glob -ippat mønster TRUE hvis full bane samsvarer mønster -okdir program [argument ...] \; -print0 utskrifts filnavn nul skilt til stdout (alltid SANN) -executable TRUE hvis filen er kjørbar etter ekte bruker-id for prosessen -readable TRUE hvis filen er lesbar av ekte bruker-id for prosessen -writable TRUE hvis filen er skrivbar for ekte bruker-id av prosessen
- libfind ikke lenger kommer ut av prosessen i treewalk () i tilfelle at banestrengene ikke kunne tildeles.
- libfind :: walkclose () nå gratis () s interne datastrukturer i tilfelle av en bruker som ikke kaller treewalk () (f.eks stjerners -x)
- Funksjonen defltcntl () i libdeflt jobber nå, og gjør det mulig å velge en sak insensitive modus.
- Ny funksjon defltsect () i libdeflt gjør det mulig å lage underdeler i konfigurasjonsfiler. Disse underseksjoner trenger et navn: & quot; [seksjon-navn] & quot; og "[" må være i begynnelsen av en linje.
- Støtte for & quot; pcc & quot; på Solaris x86 ble lagt til som et første skritt. C-kompilator & quot; pcc & quot; http://pcc.ludd.ltu.se/ er basert på den bærbare C-Comppiler fra AT & T fra slutten av 1970-tallet. Det er under BSDL og gir dermed samling med en virkelig fri bygge miljøet.
- Legg merke til at på grunn av en pcc bug, de autoconf resultater for Large File støtte er feil. Med mindre du redigere fila økninger / i386-sunos5-pcc / xconfig.h og manuelt rette opp filen til å inneholde dette:
- #define _FILE_OFFSET_BITS 64 / * # bits i off_t hvis innstillbare * /
- Du vil ikke få jobbe stor fil støtte med pcc.
- Støtte for mer Operativsystem vil følge etter problemene i kompilatoren har blitt løst.
- conf / mkdep-aix.sh nå kaller & quot; cc -M -qsyntaxonly & quot; i stedet for & quot; cc -M -E & quot; som IBM C-preprosessor ikke liker #pragma svak a = b selv om kompilatoren støtter det.
- Lagt til støtte for DragonFly / x86_64
- Ny autoconf test for nanosekund tidsstempler på AIX.
- conf / mkdep-aix.sh ble endret for å unngå advarsler for #pragma svak a = b som IBM C-kompilator kaller en ikke & quot; #pragma svak & quot; CPP når kalt med -E
- include / Schily / stat.h støtter nå nonosecond tidsstempler i struct stat på AIX.
- include / Schily / stat.h støtter nå struct stat.st_atime_n for AIX nanosekund støtte.
- Prøver å legge til støtte for 32 bit samling på nyere Mac OS X versjon via Smake CCOM = cc32 Dette fungerer bare hvis 32 Bit utviklingsstøtte er installert på Mac OS X.
- Prøver å legge til støtte for 32 bit samling på nyere Linux-versjon via Smake CCOM = cc32 Dette fungerer bare hvis 32 Bit utviklingsstøtte er installert på Linux.
- Nye autoconf testen sjekker om fnmatch () har en fungerende FNM_IGNORECASE
- Nye autoconf tester for å støtte tilstandsmultibyte steder mbsinit () mbrtowc () wcrtomb ()
- Nye autoconf tester for wctype_t mbstate_t
- Nye autoconf tester for basename () dirname () strndup () wcsndup ()
- include / Schily / wchar.h forbedret for å støtte mbrtowc () og wcrtomb ()
- inkluderer / Schily / regex.h lagt
- inkluderer / Schily / libgen.h lagt
- Ny autoconf test for strlcat () wcslcat () strnlen () wcsnlen ()
- Ny autoconf test for strndup () wcsndup ()
- libschily fnmatch () støtter nå FNM_IGNORECASE
- libschily fnmatch () støtter nå flerbytetegn
- libschily: nye filer strlcat.c wcslcat.c strnlen.c wcsnlen.c strndup.c wcsndup.c basename.c dirname.c
- En ny algoritme i libschily strncat.c strncmp.c strncpy.c strnlen.c wcsncat.c wcsncmp.c wcsncpy.c wcsnlen.c gjør koden raskere og mindre.
- Konf-filer i / etc / default er nå installert 0644
- Man sider er nå som standard installert i $ (INS_BASE) / share / mann Basen katalogen & quot; aksje & quot; kan endres av caling
- Smake DEFMANBASE = noe
- README.compile nevner nå:
- INS_RBASE = Sett forskjellige & quot; rot & quot; installeringsbanen DEFMANBASE = Still annen mann basen katalogen STRIPFLAGS = -s Strip alle binærfiler med & quot; make install & quot; RUNPATH = Over ELF RUNPATH DEFUMASK = Innstilling av ulike standardtillatelser for å lage kataloger DEFINSUMASK = Sett forskjellige standardtillatelser for å lage kataloger i installeringsbanen
- Man sider er nå som standard installert i $ (INS_BASE) / share / mann Basen katalogen & quot; aksje & quot; kan endres av caling
- Alle Makefile.dfl nå oppdage om / etc / default / * allerede eksisterer
- De makroer XARCH_GEN & XARCH_OPT er nå i REGLER / cc-sunpro * .rul
- Den inkluderer filen inkluderer / Schily / ccomdefs.h tillater nå å deaktivere printf () format sjekker for GCC med -DNO_PRINTFLIKE Dette er nødvendig for å tillate stjerne til å kompilere i Solaris PÅ cosolidation som GCC id for dum for printf () utvidelser.
- libschily /? Eterrno.c ikke lenger overskrive _TS_ERRNO definisjonen for å passere kompileringsvalgene constrints i Solaris PÅ consoliation.
- Flere nye globale symboler i mapfile for libschily / libschily-mapvers
- libschily / wcsndup.c hadde frgotten kode og fortsatt innvortes implementere strndup ()
- librmt.so omfatter nå libsocked i TRENGTE ELF tag
- Alle har filer (selv de som er laget av autoconf) er nå beskyttet mot multippel inkludering.
- Ny autoconf test for pathconf () og fpathconf ()
- De linker kartfiler blir nå behandlet via & quot; CPP & quot; (Eller $ CC -E), og utgangen er lagret i $ (ARCHDIR). Dette gjør det mulig å ha et enkelt linker kart fil kilde for alle plattformer.
- Ny autoconf test for en arbeids CPP.
- Ny autoconf test for / dev / stdin, / dev / stdout, / dev / stderr, / dev / fd / 0, / dev / fd / 1, / dev / FD2
- Nye autoconf tester for: qecvt () qfcvt () qgcvt () _ldecvt () _ldfcvt () _ldgcvt () _ldecvt_r () _ldfcvt_r () _ldgcvt_r () qeconvert () qfconvert () qgconvert () som trengs for lang dobbel støtte.
- Alle linker kartfiler har blitt endret for å tillate plattform avhengige # ifdef s
- libschily nå som standard omdøper getline (), fgetline () og fexec * () inn js_getline (), js_fgetline () og js_fexec * (). Dette var nødvendig fordi POSIX-standarden Committee ignorert POSIX grunnleggende regler ikke å definere funksjoner som er i konflikt med eksisterende publiserte funksjoner. Funksjonene fra linschily har vært i offentlig siden mer enn 25 år, og funksjonene som er definert av POSIX.1-2008 det bryte med POSIX regler. POSIX fexec * () funksjoner ville f.eks har for å være korrekt heter fdexec * ().
- Eksisterende programmer kan beholde den offisielle navn getline (), fgetline () og fexec * () som de er som standard #defined til de nye js _ * () navn. For å deaktivere denne bekvemmelighet, legge til:
- #define NO_SCHILY_GETLINE å deaktivere Schily getline (), fgetline () #define NO_SCHILY_FEXEC å deaktivere Schily fexec * () #define NO_SCHILY_FSPAWN å deaktivere Schily fspawn * ()
- Libschily har nå ny & quot; lang dobbel & quot; støttefunksjoner: qftoes () og qftofs ()
- Libschily støtter nå et locale dependend desimaltegnet for utskrift flyttall.
- Libschily støtter nå til å skrive ut lange doble tall ved hjelp av formatet () basert bærbar printf () gjennomføring. Hvis dette ikke fungerer for din plattform eller hvis dette ikke fungerer riktig for din plattform, vennligst rapporter. Dette var nødvendig for ut ny & quot; od & quot; implementeringen.
- Alternativet parsing implementerings getargs () / getfiles () fra libschily nå støtter å kombinere enkelt karakter boolske flagg selv i tilfelle valgstrengen nevner å kalle en tilbakeringingsfunksjonen hvis en gyldig alternativet ble funnet. Dette var nødvendig for ut ny & quot; od & quot; implementeringen.
- filereopen () fra libschily ikke lenger kaller open () internt, så lenge det ikke er behov for å opprette eller avkorte filen.
- include / Schily / wchar.h inneholder nå en workyround for plattformer som ikke har wcwidth ().
- libschily sin findinpath () har fått en ny bane parameter for å tillate å bruke funksjonen fra BSH.
- fnmatch er nå alltid tilgjengelig som js_fnmatch ()
- Ny autoconf test for _qecvt () _qfcvt () _qgcvt () og _qecvt_r () _qfcvt_r () _qgcvt_r () på AIX
- libschily / getexecpath.c ny
- include / Schily / nlsdefs.h omfatter nå makroer _ (e) og __ (e) for å støtte gettext () og xgettext (1)
- Deaktiver Enkle suffikset regler og Sufffix regler i Smake til speedup bygger
- Lagt til en kommentar i REGLER / rules.rdi at denne regelen ikke lenger er nødvendig. Bruke regler / rules.dir i alle tilfeller.
- Nye konfigurasjonsfiler i Schily makefilesystem for:
- - * BSD på amd64
- - MacOS X på amd64
- - kfreebsd (Debian på en FreeBSD kernel)
- - Android
- Schily makefilesystem støtter nå CC_COM for alle plattformer å tillate å overskrive det lave nivået kommandoen for C-kompilator.
- Schily makefilesystem støtter nå CC ++ _ COM for alle plattformer å tillate å overskrive det lave nivået kommandoen for C ++ -. Kompilatoren
- MinGW nå av standardkoblingene mot -lminwg32 istedenfor -lmgw32
- Mac OS X nå av standardkoblingene mot -lgcc_s.1 istedenfor -lgcc
- Speed opp avhengighet generasjon for cl.exe ved å samle noen aliserte kommandoer i en enkelt sed samtale
- Fikset en bug med avhengigheten generasjon for HP-UX
- Schily makefilesystem restructuresd noen avhengig å tillate å kjøre en parallell make.
- Android er ikke POSIX (ved å ikke definere ulike funksjoner som funksjoner i libc som kreves av POSIX) fordi den prøver å definere mange funksjoner som er en del av standarden som inline makroer i inkludere filer. Dette bryter autoconf, så vi trengte å skrive noen tester (f.eks for getpagesize, tcgetpgrp, tcsetpgrp)
- Schily autoconf systemet har blitt forbedret for å støtte kryss kompilering. Schily autoconf er basert på GNU autoconf og GNU autoconf støtter ikke kryss samling fordi det er behov for å kjøre skript på målsystemet for noen av testene.
- & quot; configure & quot; skript som leveres med Schily Makefile systemet kjører 718 tester og 68 av dem trenger å bli kjørt på målsystemet.
- Schily autoconf Systemet støtter nå en metode for å kjøre disse 65 testene opprinnelig på et mål system. Du må enten ha en maskin med fjerninnloggingsfunksjoner eller du trenger en emulator med en metode for å kopiere filer til emulert system og å kjøre binærfiler på emulert system som f.eks Android emulator.
- Vi leverer i dag tre skript for & quot; fjern & quot; kjøring av programmer på målsystemet:
- runrmt_ssh kjører kommandoene fjerne via ssh runrmt_rsh kjører kommandoene fjerne via rsh runrmt_android kjører kommandoene fjerne via debug bro
- Hvis du trenger å fjern kjøre programmer på et system som ikke støttes av en av det tre skript, må du endre en av dem som passer dine behov.
- For å aktivere Cross Compilation bruke følgende miljøvariabler:
- CONFIG_RMTCALL = Sett opp til å peke på et skript som gjør ekstern kjøring, f.eks:
- CONFIG_RMTCALL = `pwd` / conf / runrmt_ssh
- CONFIG_RMTHOST = Sett opp til å peke til den eksterne verten, f.eks:
- CONFIG_RMTHOST = vertsnavn eller CONFIG_RMTHOST = bruker @ vertsnavn
- bruke en dummy hvis du liker å bruke noe sånt til Android-emulatoren.
- CONFIG_RMTDEBUG = Sett til noe som ikke er null for å la ekstern kjøring av script mark eksterne comands. Dette vil resultere i Konfigurer meldinger som:
- sjekker biter i mindre enhet nummer ... FJERNKONTROLL 8
- Merk at Smake inkluderer autofunksjoner som automatisk henter system ID-informasjon. Av denne grunn, må du overskrive relaterte makroer fra kommandolinjen hvis du liker å gjøre et kors kompilering.
- Relaterte make makroer:
- K_ARCH = # (sun4v) Kernel ARCH fylt fra uname -m / bue -k M_ARCH = # (sun4) Maskin fylt fra erke P_ARCH = # (SPARC) CPU ARCH fylt fra uname -p / mach OSNAME = # SunOS, linux, .... OSREL = # 5.11 OSVERSION = # snv_130 CCOM = # generisk kompilatoren navn (f.eks & quot; gcc & quot;) CC_COM = # kompilatoren å ringe (navn + grunnleggende args)
- ARCH = overskriver M_ARCH og P_ARCH
- Det er vanligvis suffucient å sette ARCH og OSNAME.
- For å bruke et kors kompilatoren miljø i stedet for en innfødt kompilator, sett gjøre makro CC_COM til noe annet enn & quot; cc & quot;.
- Hvis du er på Linux og liker å kompilere for Android, gjør du følgende:
- 1) satt opp CC acording til instruksjonene fra korset kompilatoren verktøy kjeden
- 2) sette miljøvariabler CONFIG_RMTCALL / CONFIG_RMTHOST, f.eks: setenv CONFIG_RMTCALL `pwd` / conf / runrmt_android setenv CONFIG_RMTHOST NONE
- 3) samtale Smake:
- Smake ARCH = armv5 OSNAME = linux CCOM = gcc & quot; CC_COM = $ CC & quot;
- Flere programmer ikke lenger test for HAVE_DEV_ * men for HAVE__DEV_ * som vi gjorde overgangen fra håndskriftlige prøver for / dev / tty, / dev / null og ligner AC_CHECK_FILES (/ dev / tty / dev / null / dev / null )
- Støtte for Pyro (en stavelse klone) ble tilsatt. Takk til Flemming H. Sørensen
- Bedre støtte for Win32 stikkontakter når du bruker cl.exe
- Unngå problemer med ikke-standard prototyper for linken () oppheve koblingen () lese () og skrive () fra cl.exe
- Legg til støtte for semi-statisk (forhåndskonfigurert) inkluderer filer for Android: include / Schily / armv5tejl-linux-gcc / xconfig.h
- Ny inkluderer filer inkludere / Schily / feile _ *. H brukes til å kapsle #error CPP uttalelser som ellers alltid hindre samling med K & R kompilatorer.
- Lagt til en midlertidig løsning for et LLVM kompilator bug som skaper kode med endeløse løkker i noen tilfeller.
- Libschily er nå knyttet mot $ (LIB_INTL) når en delt libschily er opprettet.
- Unngå advarsler fra cl.exe for libschily / gettimeofday.c
- De make programspesifikke konfigurasjonsfiler for Schily Makefilesystem REGLER / mk-.id (for SunPro make), REGLER / mk-smake.id REGLER / mk-gmake.id nå inkluderer definisjoner for makroene:
- SPACE En enkelt mellomrom ('') NUMBER_SIGN ASCII nummer synge ('#')
- Legg merke til at POSIX standarden ellers krever make program for å være ute av stand til å ha '#' vises i ikke-kommentar seksjoner av Make-filer.
- Prøv å omgå en uklok endring i filen windef.h fra Cygwin-1.7.17 (Høst 2012) relatert til den type BOOL som gjør windefs.h fra den siste Cygwin ikke lenger kompatibel til den opprinnelige filen fra Microsoft. Feilrettingen er i include / Schily / windows.h
- Takk til Alain Hoang, Thomas Plank og andre for rapportering og hjelpe med å få en løsning på problemet nevnt ovenfor
- Bedre kommentar i libschily / comerr.c å bidra til å forstå exit () kode folding til 8 bits og hvordan det kan unngås.
Kommentarer ikke funnet