tar S o Star è un programma a riga di comando open source che può comprimere / archivio molti file in un unico nastro o disco di archiviazione. E 'inoltre in grado di ripristinare singoli file dall'archivio generato.
Tar S comprende un FIFO per la velocità, il supporto più volumi, un matcher modello, la possibilità di archiviare i file sparse, riconoscimento automatico l'ordine dei byte, rilevamento automatico formato di archivio, la compressione e la decompressione automatica archiviazione, archiviazione remota, così come altre funzionalità speciale che consente la applicazione da utilizzare per i backup completi di sistema.
Tar S comprende anche `rmt ', una versione veramente portatile del server nastro remoto che supporta il funzionamento a distanza tra diversi sistemi operativi e architetture di macchina, così come un portatile` mt' programma di controllo unità nastro.
Tar S è il più veloce nota implementazione di un archiviatore di catrame, anche più veloce di ufsdump in quasi tutti i casi
Cosa c'è di nuovo in questa versione:.
< ul>
Cosa c'è di nuovo nella versione 1.5.2:
- Provare a fare stelle immunitaria contro i segnali che appaiono mentre l'apertura di un file da un file system di rete.
- Lasciate che modo la stella FIFO meglio gestire l'operazione di cambio dei media al termine di un volume nastro in multi volume di creare.
- Consenti stella di rilevare automaticamente il & quot; EOF & quot; condizione su un disco grezzo quando si scrive in più volumi modalità creare. ENXIO è stato aggiunto come alias per EFBIG e ENOSPC.
- La pagina di manuale star.4 è stato rafforzato.
- star_sym.c utilizza ora O_SEARCH per aprire le directory.
- stella / longnames.c aggiunge altre soluzioni contro buffer overflow sbagliato interrompe da gcc.
- stella / extract.c ora utilizza accesso (nome, F_OK) invece di accesso (nome, 0)
- stella ormai imposta solo fino gestori di segnale per i segnali esistenti per sostenere MSC
- stella fissa un errore di battitura in dumpdates.c che ha colpito in WIN-DOS perché flock () non è presente
- stella ora controlla HAVE_FSYNC sostenere MSC
- stelle :: findinfo.c controlla ora se esiste stat.st_blksize
- stella / dumpdates.c lavora intorno ad un problema con LOCK_EX / LOCK_EX / LOCK_UN definito anche se la chiamata flock () non esiste più.
- Nuovo (precedentemente mancante) pagine man: BSH / pfbsh.1 sh / bosh.1 sh / jsh.1 sh / pfsh.1 etichetta mt / mt.1 scgskeleton / scgskeleton.1 / label.1 stella / USTAR. 1 star_sym / star_sym.1 ved / sp-e.1 ved / sp-W.1
- stella ora supporta il riconoscimento automatico dei xz (1) archivi compressi e offre una nuova opzione -xz
- stelle offre nuovo comportamento:
- Un archivio tar creata con & quot; la protagonista -c -dump -meta ... & quot; non include il contenuto dei file semplici, ma solo i dati meta. Con & quot; stella -c -xmeta & quot; Questi file potrebbero essere estratti come 0 dai file di dimensioni in caso che ciò non sovrascrivere i file esistenti. Stella supporta ora & quot; la protagonista -x -xmeta -fore buche & quot; per estrarre questi file come file di formato originale ma come file sparse senza dati all'interno. Questo è sufficiente come riferimento per wget -Specchio.
- La pagina man stella / spax.1 corretto un errore di battitura.
- stella / header.c utilizza ora una nuova struttura & quot; ndbuf & quot; che definisce un NameLength di 101 invece di 100 per essere in grado di accedere all'elemento 101th negli array senza accedere un aray fuori limite.
- Corretto un errore di battitura in stella / buffer.c che ha causato stella a discarica nucleo su Linux con -mulvivol -c causa del layout della memoria insolita trovato su Linux.
- gestione del buffer La stella -multivol ora mallocs meno memoria. Prima che malloc () d la stessa dimensione come la dimensione FIFO, ora solo malloc () s 2 * bufsize
- stelle -find -c è ora interrompibile da ^ C
- stelle -x -u -k ora funziona così come stelle -x -U mantenga-old
- Alcune correzioni di battitura a pagina star.4 man
- Star -sparse Consente -force buche ora archivia tutti i file come file sparsi nel caso che essi contengono almeno 512 byte di blocchi allineati di valori nulli. Grazie a markk@clara.co.uk
- stelle -find ora rimuove leader & quot; ./& quot; nei nomi dei file come stella fa in altri casi.
- stelle -r / -u ora dipende correttamente il vecchio tipo di formato di archivio.
- Star aggiunge una nuova opzione di -lzip e supporto automatizzato per riconoscere lzip archivi compressi. Grazie a markk@clara.co.uk
- stella ora accetta un comando come:
- stelle -c -onull -find. -ls
- in quanto non vi è alcuna uscita di archivio per stdout che potrebbe mescolare con l'uscita -ls
- Risolto un bug in libfind / walk.c (chiamando strcatl () con ultimo parametro 0 al posto di (char *) 0)
- libfind urtato alla versione 1.5
- Nuovo file libfind / find_tok.h per separare i nomi dei token dal resto dell'applicazione.
- Definizioni gettone spostato da find.c a find_tok.h
- Il -perm primario ora implementa una nuova funzione:
- -perm + modalità valuterà come vero se uno qualsiasi dei bit impostati in modalità si trovano in i bit dei permessi fro un file.
- Un bug con -exec introdotta con l'utilizzo di vfork () anziché fork () è stato fissato. La sostituzione della stringa & quot; {} & quot; ora funziona correttamente di nuovo, anche se la posizione del percorso in memoria è stato modificato durante una realloc ().
- Nuovi operatori primari: -amin deprecato - solo per GNU trovare compatibilità -cmin deprecato - solo per GNU trovare compatibilità -mmin deprecato - solo per GNU trovare compatibilità -empty zero reale di dimensioni del file normale o vuoto programma directory -execdir [argomento. ..] \; -fls elenco di file file simili a 'ls -ilds' in 'file' (sempre TRUE) i nomi dei file di stampa lima -fprint linea separati in 'file' (sempre vero) i nomi di file di file di stampa -fprint0 Nul separati in 'file' (sempre spazio TRUE) i nomi dei file di stampa di file -fprintnnl separato in 'file' (sempre TRUE) glob -ilname TRUE se il nome collegamento simbolico corrisponde glob shell -ilpat modello TRUE se il nome collegamento simbolico corrisponde a modello -iname glob TRUE se componente del percorso corrisponde shell glob -ipat modello TRUE se componente del percorso corrisponde a modello -ipath glob TRUE se percorso completo corrisponde shell glob -ippat modello TRUE se percorso completo corrisponde a modello -okdir programma [argomento ...] \; i nomi dei file di stampa -print0 Nul separati per stdout (sempre TRUE) -executable TRUE se il file è eseguibile da vero id utente del processo -readable TRUE se il file è leggibile da vero id utente del processo -writable TRUE se il file è scrivibile da vero user id di processo
- libfind non esce dal processo in treewalk () nel caso in cui le stringhe di percorso non potevano essere assegnati.
- libfind :: walkclose () ora free () s le strutture dati interne in caso di un utente che non chiamare treewalk () (ad esempio -x stella)
- Il defltcntl function () in libdeflt sta lavorando e consente di selezionare una modalità insensitive caso.
- Nuova funzione defltsect () in libdeflt permette di creare sotto-sezioni nei file di configurazione. Tali sottosezioni devono essere nominato: & quot; [sezione-name] & quot; e '[' deve essere all'inizio di una riga.
- Il supporto per & quot; pcc & quot; su Solaris x86 è stata aggiunta come un primo passo. Il C-Compiler & quot; pcc & quot; http://pcc.ludd.ltu.se/ si basa sulla Portable C-Comppiler da AT & T dalla fine del 1970. E 'sotto BSDL e offre quindi la compilazione di un ambiente di generazione veramente libera.
- Da notare che a causa di un bug PCC, i risultati autoconf per Grande supporto di file non sono corretti. A meno che non si modifica il file di Incs / i386-sunos5-PCC / xconfig.h e correggere manualmente il file per contenere questo:
- #define _FILE_OFFSET_BITS 64 / * # di bit in off_t se impostabile * /
- Non otterrete lavorando supporto di file di grandi dimensioni con il PCC.
- Il supporto per più sistemi operativi seguirà dopo i problemi del compilatore sono stati risolti.
- conf / mkdep-aix.sh chiama & quot ora; cc -M -qsyntaxonly & quot; invece di & quot; cc -M -E & quot; come IBM C-preprocessore non piace #pragma debole a = b, anche se il compilatore supporta.
- Aggiunto il supporto per FreeBSD / x86_64
- Nuovo test autoconf per timestamp nanosecondo su AIX.
- conf / mkdep-aix.sh è stato cambiato per evitare avvertenze per #pragma debole a = b come il C-compilatore IBM definisce un non & quot; #pragma debole & quot; cpp quando viene chiamato con -E
- include / schily / stat.h ora supporta timestamp nonosecond in struct stat su AIX.
- include / schily / stat.h ora supporta struct stat.st_atime_n per il supporto nanosecondo AIX.
- Il tentativo di aggiungere il supporto per 32 bit compilazione su nuova versione di Mac OS X con smake CCOM = CC32 Funziona solo se è installato il sostegno allo sviluppo a 32 bit su Mac OS X.
- Il tentativo di aggiungere il supporto per 32 bit compilation su più recente versione di Linux via smake CCOM = CC32 Funziona solo se è installato il sostegno allo sviluppo a 32 bit su Linux.
- Nuovi test controlla autoconf se fnmatch () ha un lavoro FNM_IGNORECASE
- Nuovi test autoconf di supporto locali multibyte stateful mbsinit () mbrtowc () wcrtomb ()
- Nuovi test autoconf per wctype_t mbstate_t
- Nuovi test autoconf di basename () dirname () strndup () wcsndup ()
- include / schily / wchar.h migliorato per supportare mbrtowc () e wcrtomb ()
- includono / schily / regex.h aggiunto
- includono / schily / libgen.h aggiunto
- Nuovo test autoconf per strlcat () wcslcat () strnlen () wcsnlen ()
- Nuovo test autoconf per strndup () wcsndup ()
- fnmatch libschily () ora supporta FNM_IGNORECASE
- fnmatch libschily () ora supporta i caratteri multibyte
- libschily: nuovi file strlcat.c wcslcat.c strnlen.c wcsnlen.c strndup.c wcsndup.c basename.c dirname.c
- Un nuovo algoritmo in libschily strncat.c strncmp.c strncpy.c strnlen.c wcsncat.c wcsncmp.c wcsncpy.c wcsnlen.c rende il codice più veloce e più piccolo.
- Conf-file in / etc / default sono ora installati 0644
- Le pagine man sono ora di default installato in $ (INS_BASE) / share / man La directory di base & quot; azione & quot; può essere modificato da caling
- smake DEFMANBASE = qualcosa
- README.compile ora menzioni:
- INS_RBASE = Imposta diverso & quot; radice & quot; percorso di installazione DEFMANBASE = Imposta directory base uomo diverso STRIPFLAGS = -s Striscia tutti i binari con & quot; make install & quot; RUNPATH = sovrascrittura ELF RUNPATH DEFUMASK = Impostare diverse autorizzazioni predefinite per la creazione di directory DEFINSUMASK = Imposta diverse autorizzazioni predefinite per la creazione di directory nel percorso di installazione
- Le pagine man sono ora di default installato in $ (INS_BASE) / share / man La directory di base & quot; azione & quot; può essere modificato da caling
- Tutti Makefile.dfl ora rilevare se / etc / default / * esiste già
- Le macro XARCH_GEN & XARCH_OPT sono ora in REGOLE / cc-sunpro * .RUL
- Il file include include / schily / ccomdefs.h permette ora di disattivare i printf () i controlli del formato per GCC con -DNO_PRINTFLIKE Ciò è necessario al fine di consentire stella di compilare in Solaris ON cosolidation come GCC id troppo stupidi per il printf () estensioni.
- libschily /? Eterrno.c non sovrascrivere la definizione _TS_ERRNO per passare le constrints compilazione del Solaris ON Consoliation.
- Molti nuovi simboli globali nel mapfile per libschily / libschily-mapvers
- libschily / wcsndup.c aveva frgotten codice ed ancora ha internaly implementare strndup ()
- librmt.so ora include libsocked nel tag ELF NECESSARI
- Tutte sono dotate di file (anche quelli creati da autoconf) sono ora protetti contro inclusione multipla.
- Nuovo test autoconf per pathconf () e fpathconf ()
- I file linker mappa vengono ora elaborati tramite & quot; cpp & quot; (O $ CC -E) e l'uscita viene memorizzato in $ (ARCHDIR). Questo permette di avere una sola fonte di file linker map per tutte le piattaforme.
- Nuovo test autoconf di cpp di lavoro.
- Nuovo test autoconf per / dev / stdin, / dev / stdout, / dev / stderr, / dev / fd / 0, / dev / fd / 1, / dev / fd2
- Nuovi test autoconf per: qecvt () qfcvt () qgcvt () _ldecvt () _ldfcvt () _ldgcvt () _ldecvt_r () _ldfcvt_r () _ldgcvt_r () qeconvert () qfconvert () qgconvert () necessario per lungo doppio supporto.
- Tutti i file linker mappa sono stati modificati per consentire la piattaforma dipendente # di ifdef
- libschily ora di default rinomina getline (), fgetline () e fexec * () in js_getline (), js_fgetline () e js_fexec * (). Questo è stato necessario perché il Comitato standard POSIX ignorato POSIX regole di base di non definire le funzioni che sono in conflitto con le funzioni esistenti pubblicati. Le funzioni di linschily sono stati in pubblico da più di 25 anni e le funzioni definite da POSIX.1-2008 anche violare le regole di denominazione POSIX. Il POSIX fexec * () funzioni sarebbe es devono essere chiamati correttamente fdexec * ().
- I programmi esistenti possono mantenere il nome ufficiale getline (), fgetline () e fexec * () come sono di default #defined ai nuovi js _ * (nomi). Per disabilitare questa convenienza, aggiungere:
- #define NO_SCHILY_GETLINE Per disabilitare Schily getline (), fgetline () # define NO_SCHILY_FEXEC Per disabilitare Schily fexec * () # define NO_SCHILY_FSPAWN Per disabilitare Schily fspawn * ()
- Libschily ha ora nuovo & quot; long double & quot; funzioni di supporto: qftoes () e qftofs ()
- Libschily supporta ora un punto decimale locale dependend per la stampa di numeri in virgola mobile.
- Libschily supporta ora per stampare lunghi numeri doppi utilizzando il formato () printf portatile () implementazione basata. Se questo non funziona per la piattaforma o se questo non funziona correttamente per la propria piattaforma, si prega di riportare. Ciò è stato necessario per i nuovi & quot; od & quot; implementazione.
- L'opzione di analisi getargs implementazione () / getfiles () da libschily ora supporta coniugare carattere unico bandiere booleani, anche nel caso in cui la stringa di opzione menziona per chiamare una funzione di callback se è stata trovata una valida opzione. Ciò è stato necessario per i nuovi & quot; od & quot; implementazione.
- filereopen () dal libschily non chiama più open () internamente quando non vi è alcuna necessità di creare o troncare il file.
- include / schily / wchar.h include ora una workyround per piattaforme che non hanno wcwidth ().
- findinpath di libschily () ora include un nuovo parametro percorso per consentire di utilizzare la funzione di BSH.
- fnmatch è ora sempre disponibile come js_fnmatch ()
- Nuovo test autoconf per _qecvt () _qfcvt () _qgcvt () e _qecvt_r () _qfcvt_r () _qgcvt_r () su AIX
- libschily / getexecpath.c nuovo
- include / schily / nlsdefs.h ora include macro _ (s) e __ (s) per supportare gettext () e xgettext (1)
- Disattiva le regole di suffisso semplici e regole Sufffix in smake per accelerare costruisce
- ha aggiunto un commento in REGOLE / rules.rdi che questa regola non è più necessario. Utilizzare le regole / rules.dir in tutti i casi.
- I nuovi file di configurazione nel makefilesystem Schily per:
- - * BSD su amd64
- - MacOS X su amd64
- - kfreebsd (Debian su un kernel FreeBSD)
- - Android
- Il Schily makefilesystem ora supporta CC_COM per tutte le piattaforme per consentire di sovrascrivere il comando di basso livello per il C-compiler.
- Il makefilesystem Schily ora supporta CC ++ _ COM per tutte le piattaforme per consentire di sovrascrivere il comando di basso livello per il C ++ -. Compilatore
- Mingw ora con collegamenti predefiniti contro -lminwg32 invece di -lmgw32
- Mac OS X ora con collegamenti predefiniti contro -lgcc_s.1 invece di -lgcc
- Accelerare la generazione di dipendenza per cl.exe raggruppando alcuni comandi di sed in una singola chiamata sed
- Risolto un bug con la generazione di dipendenza per HP-UX
- Il makefilesystem Schily restructuresd alcune dipendenze per consentire di eseguire un make parallelo.
- Android non è POSIX (non definendo varie funzioni come funzioni in libc come richiesto dalla POSIX) perché cerca di definire molte funzioni che fanno parte dello standard come macro in linea a includono solo i file. Questo rompe autoconf, quindi abbiamo bisogno di riscrivere alcuni test (ad esempio, per getpagesize, tcgetpgrp, tcsetpgrp)
- Il sistema autoconf Schily è stato migliorato per supportare croce compilazione. Schily autoconf è basato su autoconf GNU autoconf e GNU non supporta croce compilazione perché ha bisogno di eseguire script sul sistema di destinazione per alcuni dei test.
- Il & quot; configure & quot; script che viene fornito con il sistema Schily makefile gestisce 718 test e 68 di loro hanno bisogno di essere eseguito sul sistema di destinazione.
- Il sistema autoconf Schily supporta ora un metodo per eseguire questi 65 test in modo nativo su un sistema di destinazione. Si sia bisogno di una macchina con caratteristiche di accesso a distanza o avete bisogno di un emulatore di un metodo per copiare i file nel sistema emulato ed eseguire binari sul sistema emulato come ad esempio l'emulatore di Android.
- Al momento fornire tre script per & quot; a distanza & quot; esecuzione di programmi sul sistema di destinazione:
- runrmt_ssh esegue i comandi rimuovono via ssh runrmt_rsh esegue i comandi rimuovono via rsh runrmt_android esegue i comandi rimuovono attraverso il ponte di debug
- Se avete bisogno di eseguire in remoto i programmi su un sistema che non è supportato da uno di lì tre script, è necessario modificare una di esse per soddisfare le vostre esigenze.
- Per abilitare Croce Compilation utilizzare le seguenti variabili d'ambiente:
- CONFIG_RMTCALL = Imposta per puntare a uno script che fa l'esecuzione da remoto, ad esempio:
- CONFIG_RMTCALL = `pwd` / conf / runrmt_ssh
- CONFIG_RMTHOST = Imposta per puntare al vostro host remoto, ad esempio:
- CONFIG_RMTHOST = hostname o CONFIG_RMTHOST = user @ hostname
- utilizzare un manichino, se volete usare qualcosa come per l'emulatore Android.
- CONFIG_RMTDEBUG = Impostare qualcosa non nulla per permettere l'esecuzione remota marchio sceneggiatura Comandi remoti. Questo si tradurrà in messaggi di configurazione come:
- bit di controllo in numero di dispositivo secondario ... REMOTE 8
- Da notare che smake include funzioni automake che recuperano automaticamente le informazioni ID del sistema. Per questo motivo, è necessario sovrascrivere macro legate dalla riga di comando, se ti piace fare una compilation croce.
- Related macro make:
- K_ARCH = # (sun4v) Kernel ARCH riempita da uname -m / arch -k M_ARCH = # (sun4) Macchina riempita da arch P_ARCH = # (SPARC) CPU ARCH riempita da uname -p / mach OSNAME = # SunOS, linux, .... OSREL = # 5.11 OSVersion = # snv_130 CCOM = # nome del compilatore generico (ad esempio, & quot; gcc & quot;) CC_COM = # compilatore chiamare (nome + base args)
- ARCH = sovrascrive M_ARCH e P_ARCH
- Di solito è suffucient per impostare ARCH e OSNAME.
- Per poter utilizzare un ambiente cross-compilatore invece di un compilatore nativo, impostare il fare macro CC_COM a qualcosa di diverso rispetto a & quot; cc & quot;.
- Se siete su Linux e come compilare per Android, effettuare le seguenti operazioni:
- 1) istituito CC di tronchi con le istruzioni dalla croce tool chain compilatore
- 2) delle variabili di ambiente CONFIG_RMTCALL / CONFIG_RMTHOST, ad esempio: setenv CONFIG_RMTCALL `pwd` / conf / runrmt_android setenv CONFIG_RMTHOST NONE
- 3) chiamata smake:
- smake ARCH = OSNAME ARMv5 = linux CCOM = gcc & quot; CC_COM = $ CC & quot;
- Molti programmi non prova più per HAVE_DEV_ * ma per HAVE__DEV_ * come abbiamo fatto passare da prove scritte a mano per / dev / tty, / dev / null e simile a AC_CHECK_FILES (/ dev / tty / dev / null / dev / zero )
- è stato aggiunto il supporto per Pyro (un clone sillaba). Grazie a Flemming H. Sorensen
- Migliore supporto per socket Win32 utilizzando cl.exe
- evitare problemi con i prototipi non-standard per collegamento () unlink () read () e write () da cl.exe
- Aggiungere il supporto per semi-statico (preconfigurato) include i file per Android: include / schily / armv5tejl-linux-gcc / xconfig.h
- Nuovo file include includono / schily / sbagliare _ *. H vengono utilizzati per incapsulare #Error dichiarazioni CPP che altrimenti sempre impedire la compilazione con K & R compilatori.
- Aggiunta una soluzione per un compilatore LLVM bug che crea codice con loop senza fine in alcuni casi.
- Libschily è ora collegato contro $ (LIB_INTL) quando un condiviso libschily viene creato.
- Evitare avvertimenti cl.exe per libschily / gettimeofday.c
- I file di configurazione specifici di programma make di Schily Makefilesystem REGOLE / mk-.id (per SunPro marca), REGOLE / REGOLE mk-smake.id / mk-gmake.id ora includono definizioni per le macro:
- SPACE Un carattere singolo spazio ('') NUMBER_SIGN Il numero ASCII cantare ('#')
- Si noti che lo standard POSIX richiede altrimenti il programma make di essere in grado di avere il '#' apparire non commento sezioni Makefiles.
- Prova a lavorare attorno ad un cambiamento imprudente nel file Windef.h da Cygwin-1.7.17 (autunno 2012) relativo al BOOL tipo che fa windefs.h dalla recente Cygwin non è più compatibile con il file originale da Microsoft. La correzione è in include / schily / windows.h
- Grazie a Alain Hoang, Thomas Plank e altri per la segnalazione e contribuire a ottenere una correzione per il problema sopra citate
- Better commento in libschily / comerr.c per aiutare a comprendere il codice di uscita () pieghevole a 8 bit e come può essere evitato.
I commenti non trovato