S gudron sau Star este un open source program de linie de comandă care pot comprima / arhivă multe fișiere împreună într-un singur bandă sau disc arhivă. De asemenea, este capabil de a restabili fișiere individuale din arhivă generat.
S tar include o FIFO pentru viteză, sprijin multe volume, un matcher model, capacitatea de a arhiva fișierele rare, recunoaștere automată, pentru octet, detectarea automată a format arhivă, compresia automată arhivă și decompresie, arhivare la distanță, precum și alte funcționalități special care permite cerere pentru a fi utilizate pentru backup complete de sistem.
S tar include, de asemenea `RMT", o versiune cu adevărat portabilă a serverului bandă la distanță care sprijină funcționarea de la distanță între diferite sisteme de operare si arhitecturi de mașini, precum și un `mt portabil" program de control unitate de bandă.
S gudron este punerea în aplicare mai rapidă cunoscute de arhivare gudron, chiar mai repede decât ufsdump în aproape toate cazurile
Ce este nou în această versiune:.
< ul>
Sondaj
Ce este nou în versiunea 1.5.2:
- Încercați să facă imun stea împotriva semnale care apar în timp ce deschiderea unui fișier de pe un sistem de fișiere de rețea.
- Să stea FIFO mai bine se ocupe de funcționarea schimbare mass-media, la sfârșitul unui volum bandă în mai multe volume modul crea.
- Permiteți stea la auto-detecta & quot; EOF & quot; condiție pe un disc crud atunci când scrieți în mai multe volume modul crea. ENXIO a fost adăugat ca un alias pentru EFBIG și ENOSPC.
- star.4 pagina de manual a fost îmbunătățită.
- star_sym.c juca acum O_SEARCH pentru deschiderea directoare.
- stea / longnames.c adaugă mai multe soluții împotriva greșit buffer overflow eșuează din gcc.
- stea / extract.c juca acum acces (nume, F_OK) în loc de acces (nume, 0)
- stea acum stabilește doar până Stivuitoare de semnal pentru semnalele existente pentru a sprijini MSC
- stea fix unei greșeli în dumpdates.c care a lovit pe WIN-DOS, deoarece efectiv () nu este prezent
- stea verifică acum HAVE_FSYNC pentru a sprijini MSC
- stea :: findinfo.c verifică acum dacă există stat.st_blksize
- stea / dumpdates.c lucrează în jurul unei probleme pentru LOCK_EX / LOCK_EX / LOCK_UN definit deși turmă () apel nu mai există.
- New (lipsesc anterior) pagini de manual: BSH / pfbsh.1 sh / bosh.1 sh / jsh.1 sh / pfsh.1 etichetă mt / mt.1 scgskeleton / scgskeleton.1 / label.1 stea / ustar. 1 star_sym / star_sym.1 mir / mir-e.1 mir / mir-w.1
- stea suportă acum recunoașterea automată a XZ (1) arhive comprimat și oferă o nouă opțiune -xz
- stele oferă un comportament nou:
- O arhivă tar creat cu & quot; stele -c -dump meta ... & quot; nu include conținutul de fișiere simple, dar numai datele meta. Cu & quot; stea Ci -xmeta & quot; aceste fișiere pot fi extrase ca 0 de fișiere de dimensiuni în cazul în care acest lucru nu s-ar suprascrie fișierele existente. Steaua suportă acum & quot; stele -x -xmeta -fore-găuri & quot; pentru a extrage aceste fișiere ca fișiere de dimensiunea originală, dar fișierele rare fără date în interiorul. Acest lucru este suficient ca o referință pentru wget -mirror.
- pagina man stea / spax.1 fix o greșeală de scriere.
- stea / header.c juca acum o nouă structură & quot; ndbuf & quot; care definește o namelength de 101 în loc de 100, pentru a putea accesa elementul 101th în matrice fără acces la o Aray în afara limitelor.
- fix unei greșeli în stea / buffer.c care a cauzat stea să-și arunce bază pe Linux cu -mulvivol -c din cauza planului de memorie neobișnuit găsit pe Linux.
- de management tampon Steaua -multivol mallocs acum mai puțin de memorie. Înainte de malloc () d aceeași dimensiune ca dimensiunea FIFO, acum numai malloc () s 2 * bufsize
- stea Găsește-Ci este acum interruptable de ^ C
- stea -x -u -k lucrează acum la fel de bine ca stea -x U -keep-vechi
- Unele remedieri greșeli în pagina man star.4
- Steaua -sparse -Force-hole acum arhivele toate fișierele ca fișiere rare, în cazul în care acestea conțin cel puțin 512 bloc bytes aliniate de null-uri. Datorită markk@clara.co.uk
- Găsește-stele indeparteaza acum de conducere & quot; ./& quot; în numele de fișiere ca stea nu în alte cazuri.
- -r stea / u acum depinde în mod corect pe vechiul tip de format arhiva.
- Steaua adaugă un nou -lzip opțiune și asistență automat să recunoască lzip arhive comprimate. Datorită markk@clara.co.uk
- stea accepta acum o comandă cum ar fi:
- stea -c -onull Găsește-. -Este
- ca nu exista nici o ieșire arhivă la stdout care ar putea amesteca cu ieșire -Este
- Fixed un bug în libfind / walk.c (apel strcatl (), cu ultimul parametru 0 în loc de (char *) 0)
- libfind lovit la versiunea 1.5
- New libfind fișier / find_tok.h pentru a separa numele de jetoane de restul în aplicare.
- definiții simbolice mutat de la find.c la find_tok.h
- -perm primar implementează în prezent o nouă funcție:
- -perm + modul va evalua ca fiind adevărat dacă oricare dintre biți stabilite în mod sunt stabilite în biții de permisiuni fro un fișier.
- Un bug cu exec introdus cu ajutorul vfork () în loc de furcă () a fost stabilit. Înlocuirea șir & quot; {} & quot; acum funcționează corect din nou, chiar dacă locația calea în memorie a fost schimbat în timpul unei realloc ().
- noi operatori primare: -amin depreciat - doar pentru a găsi GNU compatibilitate -cmin depreciat - doar pentru a găsi GNU compatibilitate -mmin depreciat - doar pentru a găsi GNU compatibilitate -empty TRUE zero, de dimensiuni fișier simplu sau gol director -execdir program de [argument. ..] \; Lista -fls fișier fișiere similar cu "ls -ilds" în "Dosarul" (întotdeauna adevărat) nume de fișiere fișier -fprint imprimare de linie separată în "Dosarul" (întotdeauna adevărat) nume de fișiere -fprint0 imprimare fișier Nul separat în "Dosarul" (mereu TRUE) fișier -fprintnnl nume de fișiere de imprimare spațiu separat în "Dosarul" (întotdeauna adevărat) glob -ilname TRUE dacă numele legătură simbolică Meciuri glob coajă -ilpat model TRUE dacă numele legătură simbolică Meciuri model -iname glob TRUE dacă componentă de traseu Meciuri glob coajă -ipat model TRUE dacă componentă de traseu Meciuri model -ipath glob TRUE dacă calea completă Meciuri coajă glob -ippat model TRUE dacă calea completă Meciuri model -okdir program de [argument ...] \; nume de fișiere de imprimare -print0 Nul separat la stdout (întotdeauna adevărat) -executable TRUE dacă fișierul este executabil de la alt utilizator reală a procesului de -readable TRUE dacă fișierul poate fi citit de la alt utilizator reală a procesului de -writable TRUE dacă fișierul are permisiuni de scriere alt utilizator reală de proces
- libfind nu mai iese din procesul de la treewalk (), în cazul în care siruri de caractere cale nu au putut fi alocate.
- libfind :: walkclose () în prezent gratuit () s structurile de date interne în cazul unui utilizator care nu necesită treewalk () (de exemplu, -x stea)
- Funcția defltcntl () în libdeflt este acum de lucru și permite să selectați un mod insensibil caz.
- Noua funcție defltsect () în libdeflt permite de a crea sub-secțiuni în fișiere de configurare. Aceste subsecțiuni trebuie să fie numit: & quot; [secțiunea nume] & quot; și "[" trebuie să fie la începutul unei linii.
- Suport pentru & quot; PCC & quot; pe Solaris x86 a fost adăugat ca un prim pas. C-Compiler & quot; PCC & quot; http://pcc.ludd.ltu.se/ se bazează pe Portable C-Comppiler de la AT & T de la sfârșitul anilor 1970. Este în BSDL și, prin urmare, oferă compilatie cu un mediu construi cu adevărat liber.
- Rețineți că din cauza unui bug PCC, rezultatele autoconf de sprijin fișiere mari sunt incorecte. Dacă nu editați fișiere INCS / i386-sunos5-CCP / xconfig.h și corectați manual fișierul să conțină această:
- #define _FILE_OFFSET_BITS 64 / * # de biți în off_t dacă reglabil * /
- Tu nu va primi sprijin de lucru fișier mare, cu PCC.
- Suport pentru mai multe sistem de operare vor urma după problemele din compilatorul au fost rezolvate.
- conf / mkdep-aix.sh solicită acum & quot; cc -M -qsyntaxonly & quot; în loc de & quot; cc -M -E & quot; ca IBM C-preprocesor nu-i place #pragma slab a = b, deși compilator suporta.
- Adăugat suport pentru DragonFly / x86_64
- New încercare autoconf pentru timbre de timp nanosecunde pe AIX.
- conf / mkdep-aix.sh a fost schimbat pentru a evita avertismente pentru #pragma a = b slab ca IBM C-compilator solicită un non & quot; #pragma slab & quot; CPP când a plătit cu -E
- includ / Schily / stat.h suportă acum marcajele de timp nonosecond in struct stat pe AIX.
- includ / Schily / stat.h suportă acum stat.st_atime_n struct pentru sprijin nanosecundă AIX.
- Încercarea de a adăuga suport pentru 32 de biți compilare pe versiune mai noua Mac OS X prin smake CCOM = cc32 Aceasta funcționează doar dacă sprijinul pentru dezvoltare de 32 de biți este instalat pe Mac OS X.
- Încercarea de a adăuga suport pentru 32 de biți compilare pe versiune mai noua Linux prin smake CCOM = cc32 Aceasta funcționează doar dacă sprijinul pentru dezvoltare de 32 de biți este instalat pe Linux.
- New test verifică dacă autoconf fnmatch () are un FNM_IGNORECASE de lucru
- Noi teste autoconf pentru sprijinirea locații stare determinată multioctet mbsinit () mbrtowc () wcrtomb ()
- Noi teste autoconf pentru wctype_t mbstate_t
- Noi teste autoconf pentru basename () dirname () strndup () wcsndup ()
- includ / Schily / wchar.h îmbunătățită pentru a sprijini mbrtowc () și wcrtomb ()
- includ / Schily / regex.h adăugat
- includ / Schily / libgen.h adăugat
- New încercare autoconf pentru strlcat () wcslcat () strnlen () wcsnlen ()
- New încercare autoconf pentru strndup () wcsndup ()
- fnmatch libschily () suportă acum FNM_IGNORECASE
- fnmatch libschily () suportă acum caractere multioctet
- libschily: o nouă piesă strlcat.c wcslcat.c strnlen.c wcsnlen.c strndup.c wcsndup.c basename.c dirname.c
- Un nou algoritm în libschily strncat.c strncmp.c strncpy.c strnlen.c wcsncat.c wcsncmp.c wcsncpy.c wcsnlen.c face codul mai rapid și mai mici.
- Conf fișiere în / etc / default sunt acum instalate 0644
- Pagini Man sunt acum în mod implicit instalat în $ (INS_BASE) / share / man Anuarul de bază & quot; social & quot; pot fi modificate prin caling
- smake DEFMANBASE = ceva
- README.compile menționează acum:
- INS_RBASE = set diferit & quot; rădăcină & quot; calea de instalare DEFMANBASE = Setare director de bază om diferit STRIPFLAGS = -s Strip toate fișierele binare cu & quot; make install & quot; RUNPATH = Overwrite ELF RUNPATH DEFUMASK = Setați diferite permisiuni implicite pentru a crea directoare DEFINSUMASK = Setați diferite permisiuni implicite pentru crearea directoare în calea de instalare
- Pagini Man sunt acum în mod implicit instalat în $ (INS_BASE) / share / man Anuarul de bază & quot; social & quot; pot fi modificate prin caling
- Toate Makefile.dfl detecta acum dacă / etc / default / * există deja
- macro-uri XARCH_GEN & XARCH_OPT sunt acum în NORME / cc-sunpro * .rul
- includă fișier conține / Schily / ccomdefs.h permite acum pentru a dezactiva printf () controalele format pentru a CCG cu este necesară pentru a permite stea a compila în Solaris ON cosolidation ca GCC id prea prost pentru -DNO_PRINTFLIKE acest printf () extensii.
- libschily /? Eterrno.c nu mai suprascrie definiția _TS_ERRNO pentru a trece constrints de compilare în Solaris ON consoliation.
- Mai multe tipuri de noi simboluri globale în fișierul de mapare pentru libschily / libschily-mapvers
- libschily / wcsndup.c a frgotten cod și încă a pus în aplicare internaly strndup ()
- librmt.so acum include libsocked în tag-ul ELF NECESARE
- Toate includ fișiere (chiar si cele create de autoconf) sunt acum protejate împotriva includerii multiple.
- New încercare autoconf pentru pathconf () și fpathconf ()
- Harta de legătură Fișierele sunt acum procesate prin & quot; cpp & quot; (Sau $ CC -E) și ieșirea este stocat în $ (ARCHDIR). Acest lucru permite să aibă o singură hartă de legătură sursă de fișier pentru toate platformele.
- New încercare autoconf pentru o cpp de lucru.
- New încercare autoconf pentru / dev / stdin, / dev / stdout, / dev / stderr, / dev / fd / 0, / dev / fd / 1, / dev / FD2
- Noi teste autoconf pentru: qecvt () qfcvt () qgcvt () _ldecvt () _ldfcvt () _ldgcvt () _ldecvt_r () _ldfcvt_r () _ldgcvt_r () qeconvert () qfconvert () qgconvert () necesar pentru sprijin dubla mult timp.
- Toate fișierele harta de legătură au fost modificate pentru a permite platformă dependente # ifdef de
- libschily acum implicit redenumește getline (), fgetline () și fexec * () în js_getline (), js_fgetline () și js_fexec * (). Acest lucru a fost necesar deoarece COMITETULUI standard de POSIX ignorat regulile de bază POSIX nu a defini funcții care sunt în conflict cu funcții publicate existente. Funcțiile din linschily au fost în public, deoarece mai mult de 25 de ani, iar funcțiile definite de POSIX.1-2008 chiar încalcă regulile de denumire POSIX. POSIX fexec * () funcții ar de exemplu trebuie să fie numit corect fdexec * ().
- programele existente pot păstra oficial numele dovedesc critice (), fgetline () și fexec * (), deoarece acestea sunt în mod implicit #defined la noile JS _ * (nume). Pentru a dezactiva această delectare, adaugă:
- #define NO_SCHILY_GETLINE Pentru a dezactiva Schily getline (), fgetline () #define NO_SCHILY_FEXEC Pentru a dezactiva Schily fexec * () #define NO_SCHILY_FSPAWN Pentru a dezactiva Schily fspawn * ()
- Libschily are acum nouă & quot; lung dublu & quot; funcții de sprijin: qftoes () și qftofs ()
- Libschily suportă acum un punct zecimal localizare dependend pentru tipărire numere reale cu virgulă.
- Libschily suportă acum pentru a imprima numere duble lungi folosind formatul () printf portabil () punerea în aplicare pe baza. Dacă acest lucru nu funcționează pentru platforma dumneavoastră sau dacă acest lucru nu funcționează corect pentru platforma dumneavoastră, vă rugăm să raportați. Acest lucru a fost necesar pentru faptul quot nou &; od & quot; punere în aplicare.
- Opțiunea parsarea getargs de punere în aplicare () / GetFiles () din libschily acum suporta să combine caracterul unic steaguri Boolean chiar în cazul în care șirul opțiunea menționează pentru a apela o funcție de apel invers, dacă s-a găsit o opțiune validă. Acest lucru a fost necesar pentru faptul quot nou &; od & quot; punere în aplicare.
- filereopen () de la libschily nu mai solicită open () intern atâta timp cât nu este nevoie de a crea sau trunchia fișierul.
- includ / Schily / wchar.h include acum un workyround pentru platformele care nu au wcwidth ().
- findinpath libschily lui () include acum un nou parametru cale de a permite să utilizeze funcția de BSH.
- fnmatch este acum disponibil întotdeauna ca js_fnmatch ()
- New încercare autoconf pentru _qecvt () _qfcvt () _qgcvt () și _qecvt_r () _qfcvt_r () _qgcvt_r () pe AIX
- libschily / getexecpath.c nou
- includ / Schily / nlsdefs.h include acum macro-uri _ (e) și __ (e) să sprijine gettext () și xgettext (1)
- Dezactivați norme de sufixe simple și reguli Sufffix în smake de accelerare construiește
- a adăugat un comentariu la NORME / rules.rdi că nu mai este nevoie de această regulă. Folositi REGULI / rules.dir în toate cazurile.
- Noi fișiere de configurare în makefilesystem Schily pentru:
- - * BSD pe amd64
- - MacOS X pe amd64
- - kfreebsd (Debian pe un kernel FreeBSD)
- - Android
- Schily makefilesystem suportă acum CC_COM pentru toate platformele pentru a permite pentru a suprascrie comanda de nivel scăzut pentru C-compilator.
- makefilesystem Schily suportă acum CC ++ _ COM pentru toate platformele pentru a permite pentru a suprascrie comanda de nivel scăzut pentru C ++ -. Compilator
- MinGW acum de link-uri implicit împotriva -lminwg32 în loc de -lmgw32
- Mac OS X acum de link-uri implicit împotriva -lgcc_s.1 în loc de -lgcc
- Accelerarea generație dependență de cl.exe prin punerea în comun unele comenzi SED într-un singur apel sed
- Fixed un bug cu generația dependență pentru HP-UX
- makefilesystem Schily restructuresd unor dependențe, pentru a permite să ruleze o face în paralel.
- Android nu este POSIX (de nu definirea diferite funcții și funcții în libc conform POSIX) pentru că încearcă să definească mai multe funcții care fac parte din standard ca macro-uri inline din includ numai fișiere. Această sparge autoconf, asa ca am nevoie pentru a rescrie unele teste (de exemplu, pentru getpagesize, tcgetpgrp, tcsetpgrp)
- Sistemul autoconf Schily a fost îmbunătățită pentru a sprijini compilare centra. Schily autoconf se bazează pe GNU autoconf și GNU autoconf nu are suport pentru compilare centrare pentru că are nevoie pentru a rula scripturi pe sistemul țintă pentru unii dintre testele.
- & quot; & quot; de configurare script care este livrat cu sistemul de Schily Makefile rulează 718 teste și 68 dintre ei trebuie să fi rulat pe sistemul țintă.
- Sistemul autoconf Schily suportă acum o metodă de a rula aceste teste 65 nativ pe un sistem țintă. Ori nevoie de un aparat cu caracteristici de conectare la distanță sau aveti nevoie de un emulator cu o metodă de a copia fișierele în sistemul emulat și pentru a rula binare în sistemul emulat ca de exemplu emulator Android.
- Livram in prezent trei scenarii pentru & quot; de la distanță & quot; executarea de programe pe sistemul țintă:
- runrmt_ssh ruleaza comenzile elimina prin SSH runrmt_rsh ruleaza comenzile elimina prin rsh runrmt_android ruleaza comenzile elimina prin podul de depanare
- Dacă aveți nevoie pentru a rula de la distanță programe pe un sistem care nu este susținută de una dintre cele trei scripturi acolo, trebuie să modificați una dintre ele pentru a se potrivi nevoilor dumneavoastră.
- Pentru a activa Crucea de elaborare a utiliza variabilele de mediu următoarea:
- CONFIG_RMTCALL = Configurarea pentru a indica un script care face executarea de la distanță, de exemplu:
- CONFIG_RMTCALL = `pwd` / conf / runrmt_ssh
- CONFIG_RMTHOST = Configurarea la punctul la gazda de la distanță, de exemplu:
- CONFIG_RMTHOST = nume de gazdă sau CONFIG_RMTHOST = utilizator @ hostname
- utiliza un fals, dacă doriți să utilizați ceva de genul pentru emulatorul Android.
- CONFIG_RMTDEBUG = Set de ceva nenulă, în scopul de a permite executarea de la distanță marca script comands la distanță. Acest lucru va duce la mesaje de configurare cum ar fi:
- biți de control în număr mic aparat ... DISTANȚĂ 8
- Rețineți că smake include caracteristici automake care prelua automat informații despre identitatea sistem. Din acest motiv, trebuie să suprascrie macro-uri legate de la linia de comandă, dacă doriți să faceți o compilație cruce.
- Asigurați-asemanatoare macro-uri:
- K_ARCH = # (sun4v) Kernel ARCH umplut de uname -m / arc -k M_ARCH = # (sun4) Masina umplut de arc P_ARCH = # (SPARC) CPU ARCH umplut de uname -p / următor OSNAME = # SunOS, OSREL = # 5.11 OSVERSION = # snv_130 CCOM = # Numele compilator generic linux .... (de exemplu, & quot; GCC & quot;) CC_COM = # compilator pentru a apela (nume + bază args)
- ARCH = suprascrie M_ARCH și P_ARCH
- Este de obicei suffucient a seta ARCH și OSNAME.
- Pentru a utiliza un mediu compilator cruce în loc de un compilator nativ, setați facă CC_COM macro la ceva diferit decât & quot; cc & quot;.
- Dacă sunteți pe Linux și vrea să compila pentru Android, procedați în felul următor:
- 1), instituit CC bustean la instrucțiunile din centrare lanțul instrument compilator
- 2) setați variabilele de mediu CONFIG_RMTCALL / CONFIG_RMTHOST, de exemplu: setenv CONFIG_RMTCALL `pwd` / conf / runrmt_android setenv CONFIG_RMTHOST NONE
- 3) apel:
- smake ARCH = OSNAME armv5 = linux CCOM = gcc & quot; CC_COM = $ CC & quot;
- Mai multe programe de nici un test mai lung pentru HAVE_DEV_ * dar pentru HAVE__DEV_ * așa cum am făcut trecerea de la testele scrise de utilaje pentru / dev / tty, / dev / null și similare cu AC_CHECK_FILES (/ dev / tty / dev / null / dev / zero, )
- Suport pentru Pyro (o clonă silabelor) s-a adăugat. Datorită Flemming Sorensen H.
- Suport mai bun pentru prize Win32 atunci când se utilizează cl.exe
- Evitați probleme cu prototipuri de bază non-standard pentru link () deconectez () citire () și scrie () de la cl.exe
- Adauga suport pentru semi-static (preconfigurat) includ fișiere pentru Android: includ / Schily / armv5tejl-linux-gcc / xconfig.h
- New includ fișiere includ / Schily / săvârșit o eroare _ *. H sunt utilizate pentru a încapsula #error declarații CPP, care ar împiedica altfel mereu compilatie cu K & R compilatoare.
- Adăugat o soluție pentru un compilator bug LLVM care creează cod cu bucle nesfarsite, în unele cazuri.
- Libschily este acum legat de $ (LIB_INTL), atunci când un shared libschily este creat.
- Evitați avertismente de la cl.exe pentru libschily / gettimeofday.c
- programului mărci Fișierele de configurare specifice pentru Schily Makefilesystem NORME / mk-.id (pentru SunPro marca), REGULI / REGULI mk-smake.id / mk-gmake.id includ acum definiții pentru macro-uri:
- SPACE un singur caracter spațiu ("") NUMBER_SIGN Numărul ASCII cânta ("#")
- Rețineți că standardul POSIX impune altfel programul face să fie în imposibilitatea de a avea "#" apar în secțiunile de bază non-comentariu de Makefiles.
- Încercați să lucreze în jurul o schimbare imprudent în windef.h dosar din Cygwin-1.7.17 (toamna anului 2012), referitoare la bool tip care face windefs.h de recenta Cygwin nu mai este compatibilă cu fișierul original de la Microsoft. Fix este în include / Schily / windows.h
- Datorită Alain Hoang, Thomas Plank și altele pentru raportarea și ajuta cu obtinerea un remediu pentru problema numit mai sus
- O mai bună comentariu în libschily / comerr.c a ajuta sa inteleaga ieșire () codul de pliere pentru a 8 biți și cum pot fi evitate.
Smake
Comentariile nu a fost găsit