S tar nebo Star je open source příkazového řádku program, který umí komprimovat / archivní více souborů do jednoho pásky nebo disku archivu. Je také možné obnovit jednotlivé soubory z vytvořeného archivu.
S tar zahrnuje FIFO pro rychlost, vícesvazkový podporu, modelové dohazovač, schopnost archivovat řídkých souborů, automatické rozpoznávání byte pořadí, automatická detekce formátu archiv, automatické archivu komprese a dekomprese, dálkové archivaci, ale i další speciální funkce, které umožňují Žádost má být použit pro plné systémové zálohy.
S dehet také `rmt ', skutečně přenosná verze vzdáleného serveru, který podporuje pásky dálkové ovládání mezi různými operačními systémy a strojních architektur, stejně jako přenosné` mt' ovládacím pásková jednotka programu.
S tar je nejrychlejší známá implementace dehtu archívů, dokonce rychleji než ufsdump téměř ve všech případech
Co je nového v této verzi:.
< ul>
Anketa
Co je nového ve verzi 1.5.2:
- Snažte se, aby hvězdy imunní proti signály, které se objevují chvíli otevření souboru ze síťového souborového systému.
- Nechte hvězda FIFO lépe zvládat operaci změny média na konci svazku pásku v multi objemu režimu vytvořit.
- Povolit hvězda automaticky detekovat & quot; OSZ & quot; Stav na syrové disku při psaní ve více objemu režimu vytvořit. ENXIO byl přidán jako alias pro EFBIG a ENOSPC.
- star.4 manuálové stránky byla posílena.
- star_sym.c nyní používá O_SEARCH pro otevření adresáře.
- hvězda / longnames.c přidává další možná řešení proti chybnému přetečení vyrovnávací paměti zruší od gcc.
- hvězda / extract.c nyní využívá přístupu (jméno, F_OK) namísto přístupu (název, 0)
- star nyní pouze nastaví signál manipulátory pro stávající signálů na podporu MSC
- star opravena překlep v dumpdates.c, které zasáhly na WIN-DOS, protože stádo () není k dispozici
- star nyní zkontroluje HAVE_FSYNC podporovat MSC
- star :: findinfo.c nyní kontroluje, zda stat.st_blksize existuje
- hvězda / dumpdates.c obejde problém s LOCK_EX / LOCK_EX / LOCK_UN definované, i když stádo () volání již neexistuje.
- New (dříve chybějící) manuálové stránky: bsh / pfbsh.1 sh / bosh.1 sh / jsh.1 sh / pfsh.1 mt / mt.1 scgskeleton / scgskeleton.1 štítek / label.1 hvězda / ustar. 1 star_sym / star_sym.1 pf / pf-e.1 ved / pf-W.1
- star nyní podporuje automatické rozpoznání xz (1), archívy a nabízí nové možnosti -xz
- star nabízí nové chování:
- archiv tar vytvořen & quot; hvězdy -c dump -meta ... & quot; nezahrnuje obsah obyčejnými soubory, ale pouze meta data. S & quot; hvězdy -c -xmeta & quot; Tyto soubory by mohly být získány za 0 o velikosti souborů v případě, že by to přepsat existující soubory. Hvězda nyní podporuje & quot; hvězda X -xmeta -fore díru & quot; extrahovat tyto soubory jako soubory v původní velikosti, ale jako řídké soubory bez jakýchkoli dat uvnitř. To je dostačující jako reference pro wget -mirror.
- man stránka hvězda / spax.1 opraven překlep.
- hvězda / header.c nyní používá novou strukturu & quot; ndbuf & quot; že definuje namelength 101 místo 100, aby bylo možno získat přístup k 101. prvek v poli bez přístupu k Aray mimo meze.
- Opraven překlep v hvězda / buffer.c, který způsobil hvězda vypsat jádro systému Linux s -c -mulvivol kvůli neobvyklé rozložení paměti nacházejí na Linuxu.
- The Star -multivol buffer management nyní mallocs méně paměti. Před tím, než malloc () d stejnou velikost jako velikost FIFO, nyní je to pouze malloc () s 2 * bufsize
- hvězda -c -find je nyní přerušitelnou o ^ C
- star -x -u -k nyní pracuje, stejně jako hvězda X -U -keep starý
- Některé typo opravy v star.4 manuálové stránky
- Star -sparse -force-ti jamkové nyní archivuje všechny soubory, jako jsou řídké soubory v případě, že alespoň obsahují 512 blokových vyrovnané bytů nul. Díky markk@clara.co.uk
- star -find nyní odstraňuje vedení & quot; ./& quot; v názvech souborů jako hvězda činí v ostatních případech.
- hvězda r / -u nyní správně, závisí na starém archivu typu formátu.
- Star přidává novou volbu -lzip a automatizovanou podporu rozpoznat lzip komprimovaných archivů. Díky markk@clara.co.uk
- star nyní přijímá příkaz, jako je:
- star -c -onull -find. -ls
- , protože není archiv výstup na standardní výstup, který by mohl smíchat s -ls výstupu
- Opravena chyba v libfind / walk.c (volání strcatl () s poslední parametr 0 namísto (char *), 0)
- libfind narazil na verzi 1.5
- New file libfind / find_tok.h oddělit jména tokenu od zbytku implementace.
- přesunuto symbolické definice z find.c na find_tok.h
- Primární -perm nyní zavádí novou funkci:
- -perm + mode vyhodnotí jako pravdivý, jestliže některý z bitů nastavení režimu jsou uvedeny v bitech oprávnění spatřují souboru.
- chyba -exec seznámí s pomocí vfork () namísto vidlice (), byla opravena. Nahrazení řetězce & quot; {} & quot; Nyní zase správně funguje, i když došlo ke změně umístění cesty do paměti během realloc ().
- Nové základní operátory: -amin zastaralé - pouze pro GNU najít soulad -cmin zastaralé - pouze pro GNU najít soulad -mmin zastaralé - pouze pro GNU najít soulad -empty skutečné nuly velikosti obyčejný soubor nebo adresář prázdný -execdir programu [argument. ..] \; -fls seznam souborů soubory podobný 'ls -ilds' do spisu "(vždy TRUE) jména -fprint tiskový soubor soubor řádek rozdělí na" Soubor "(vždy pravda) jména -fprint0 soubor tisknout soubor nul rozdělit na" Soubor "(vždy TRUE) -fprintnnl názvy souborů pro tisk souborů prostor rozdělen na "Soubor" (vždy TRUE) -ilname GLOB true, pokud symlink název odpovídá shell glob -ilpat vzor TRUE pokud symlink název odpovídá vzoru -iname glob TRUE, pokud součást cesty zápasy shell glob -ipat vzor TRUE pokud součást cesty zápasy vzor -ipath glob TRUE, pokud plná cesta zápasů shell glob -ippat vzor TRUE, pokud plná cesta odpovídá vzoru -okdir programu [argumenty ...] \; Názvy -print0 tiskový soubor nul rozdělen na standardní výstup (vždy pravda) -executable TRUE, pokud soubor je spustitelný skutečným ID uživatele procesu -readable TRUE, pokud soubor je čitelný skutečným ID uživatele procesu -writable TRUE, pokud soubor je zapisovatelný skutečným ID uživatele procesu
- libfind již ukončí proces treewalk (), v případě, že cesta řetězce nemohly být přiděleny.
- libfind :: walkclose () nyní zdarma () s vnitřní datové struktury v případě, že uživatel, který nevolá treewalk () (např hvězda -x)
- Funkce defltcntl (), ve libdeflt se nyní pracuje, a umožňuje zvolit rozlišení velikosti písmen režimu.
- Nová funkce defltsect () v libdeflt umožňuje vytvořit dílčí části v konfiguračních souborech. Tato podsekce je potřeba být jmenován: & quot; [oddíl-name] & quot; a "[", musí být na začátku řádku.
- Podpora & quot; KCP & quot; Solaris x86 byla přidána jako první krok. C-Compiler & quot; pcc & quot; http://pcc.ludd.ltu.se/ je založen na přenosném C-Comppiler od AT & T od pozdní 1970. Je to pod BSDl, a tak nabízí kompilaci s opravdu volné sestavení prostředí.
- Uvědomte si, že vzhledem k PCC chybu, výsledky autoconf pro podporu velkých souborů jsou nesprávné. Pokud upravíte soubor pracujících v civilním sektoru / i386-sunos5-PCC / xconfig.h a ručně opravit soubor obsahuje toto:
- #define _FILE_OFFSET_BITS 64 / * # bitů v off_t pokud nastavitelná * /
- nebudete mít práci podporu velkých souborů s PCC.
- Podpora pro další operační systém bude následovat po problémech v kompilátoru byly vyřešeny.
- conf / mkdep-aix.sh nyní volá & quot; cc -M -qsyntaxonly & quot; místo & quot; cc -M-E & quot; jak IBM C-preprocessor nelíbí #pragma slabé A = B, i když překladač podporuje.
- Byla přidána podpora pro vážka / x86_64
- New autoconf test pro ns časových razítek v systému AIX.
- conf / mkdep-aix.sh byl změněn, aby se zabránilo upozornění pro #pragma slabou = b jako IBM C-kompilátor volá non & quot; # pragma slabá & quot; CPP když dorovnal s -E
- include / Schily / stat.h nyní podporuje nonosecond časová razítka v struct stat v systému AIX.
- include / Schily / stat.h nyní podporuje struct stat.st_atime_n pro podporu AIX nanosekundy.
- Při pokusu o přidat podporu pro 32 bit kompilaci na novější Mac OS X verze přes smake CCOM = cc32 to funguje pouze v případě, podpora rozvoje 32 Bit je nainstalován na Mac OS X.
- Při pokusu o přidání podpory pro 32 bit kompilaci na novější verzi Linuxu přes smake CCOM = cc32 to funguje pouze v případě, podpora rozvoje 32 Bit je nainstalován na systému Linux.
- Nové autoconf test kontroluje, zda fnmatch () má pracovní FNM_IGNORECASE
- Nové autoconf testy na podporu multibytových stavové locales mbsinit () mbrtowc () wcrtomb ()
- Nové autoconf testy pro wctype_t mbstate_t
- Nové autoconf zkoušky na jméno () dirname () strndup () wcsndup ()
- include / Schily / wchar.h zvýšenou podporu mbrtowc () a wcrtomb ()
- include / Schily / regex.h přidán
- include / Schily / libgen.h přidán
- New autoconf test pro strlcat () wcslcat () strnlen () wcsnlen ()
- New autoconf test pro strndup () wcsndup ()
- libschily fnmatch () nyní podporuje FNM_IGNORECASE
- libschily fnmatch () nyní podporuje vícebajtové znaky
- libschily: nové soubory strlcat.c wcslcat.c strnlen.c wcsnlen.c strndup.c wcsndup.c basename.c dirname.c
- Nový algoritmus libschily strncat.c strncmp.c strncpy.c strnlen.c wcsncat.c wcsncmp.c wcsncpy.c wcsnlen.c dělá kód rychlejší a menší.
- konf-soubory v / etc / default jsou nyní nainstalovány 0644
- Man stránky jsou nyní ve výchozím nastavení nainstalován v $ (INS_BASE) / share / man základní adresář & quot; podíl na & quot; lze změnit caling
- smake DEFMANBASE = něco
- README.compile nyní obsahuje:
- INS_RBASE = nastavit různé & quot; root & quot; instalační cesta DEFMANBASE = sestava jiný člověk základní adresář STRIPFLAGS = -s Strip všechny binární soubory s & quot; make install & quot; RUNPATH = Přepsat ELF RUNPATH DEFUMASK = nastavit různé výchozí oprávnění k vytváření adresářů DEFINSUMASK = nastavit různé výchozí oprávnění pro vytváření adresářů v instalační cestě
- Man stránky jsou nyní ve výchozím nastavení nainstalován v $ (INS_BASE) / share / man základní adresář & quot; podíl na & quot; lze změnit caling
- Všechny Makefile.dfl nyní zjistit, zda / etc / default / * již existuje,
- Makra XARCH_GEN a XARCH_OPT jsou nyní v pravidlech / CC-sunpro * RUL
- zahrnout soubor include / Schily / ccomdefs.h nyní umožňuje zakázat printf () kontroly formátu GCC s -DNO_PRINTFLIKE To je nutné, aby bylo možné hvězda na kompilaci v Solaris ON cosolidation jako GCC id příliš hloupý na printf () rozšíření.
- libschily /? Eterrno.c již přepsat definici _TS_ERRNO, aby se projít kompilace constrints v Solaris ON consoliation.
- Několik nové globální symboly v mapfile pro libschily / libschily-mapvers
- libschily / wcsndup.c se frgotten kód a stále ještě interně realizovat strndup ()
- librmt.so nyní zahrnuje libsocked v potřebné ELF tagu
- Všechny jsou soubory (dokonce i ty, které vytvořil autoconf), jsou nyní chráněny proti více začleňování.
- New autoconf test pathconf () a fpathconf ()
- Na linker soubory map jsou nyní zpracovávány pomocí & quot; CPP & quot; (Nebo $ CC-E) a výstup je uložen v $ (ARCHDIR). To umožňuje, aby jeden spojovací mapy zdroj souborů pro všechny platformy.
- New autoconf zkouška pro pracovní CPP.
- New autoconf test / dev / stdin, / dev / stdout, / dev / stderr, / dev / fd / 0, / dev / fd / 1, / dev / FD2
- Nové autoconf zkoušky na: qecvt () qfcvt () qgcvt () _ldecvt () _ldfcvt () _ldgcvt () _ldecvt_r () _ldfcvt_r () _ldgcvt_r () qeconvert () qfconvert () qgconvert () potřebný pro dlouhou dvojitou podporu.
- Všechny spojovací mapa soubory byly upraveny tak, aby závislé na platformě # ifdef je
- libschily nyní ve výchozím nastavení přejmenuje getline (), fgetline () a fexec * () na js_getline (), js_fgetline () a js_fexec * (). To bylo potřeba, protože standardní Výbor POSIX ignorovat základní pravidla POSIX není definovat funkce, které jsou v rozporu se stávajícími publikovanými funkcemi. Funkce z linschily byli na veřejnosti od té doby více než 25 let a funkce definované POSIX.1-2008 dokonce porušují pravidla pojmenování POSIX. POSIX fexec * () funkce by např. musí být správně nazvaný fdexec * ().
- Stávající programy může držet oficiální jména getline (), fgetline () a fexec * (), jak jsou ve výchozím nastavení #defined na nové JS _ * () názvy. Chcete-li zakázat tuto pohodlí, přidejte:
- #define NO_SCHILY_GETLINE Pro Schily zakázat getline (), fgetline () #define NO_SCHILY_FEXEC Chcete-li zakázat Schily fexec * () #define NO_SCHILY_FSPAWN Chcete-li zakázat Schily fspawn * ()
- Libschily má nyní nový & quot; dlouhý double & quot; podpůrné funkce: qftoes () a qftofs ()
- Libschily nyní podporuje národní dependend desetinnou čárku pro tisk s plovoucí desetinnou čárkou.
- Libschily nyní podporuje tisknout dlouhé dvojité čísla pomocí formátu () na základě přenosný printf () implementace. Pokud to nebude fungovat pro vaši platformu, nebo pokud to nebude fungovat správně pro vaši platformu, nahlaste. To bylo potřeba na ven nový & quot; od & quot; implementace.
- Možnost analýzy implementace getargs () / GetFiles () z libschily nyní podporuje kombinovat jeden znak logické vlajky a to iv případě, že volba řetězec zmiňuje volání funkce zpětného volání, pokud byl nalezen platný možnost. To bylo potřeba na ven nový & quot; od & quot; implementace.
- filereopen () z libschily již volání open () interně tak dlouho, dokud není třeba vytvářet nebo zkrátit souboru.
- include / Schily / wchar.h nyní obsahuje workyround na platformách, které nemají wcwidth ().
- libschily je findinpath () nyní obsahuje novou cestu parametr, který umožňuje používat funkce z BSH.
- fnmatch je nyní k dispozici vždy jako js_fnmatch ()
- New autoconf test _qecvt () _qfcvt () _qgcvt () a _qecvt_r () _qfcvt_r () _qgcvt_r () v systému AIX
- libschily / getexecpath.c nový
- include / Schily / nlsdefs.h nyní obsahuje makra _ (y) a __ (y) podporovat gettext () a xgettext (1)
- Zakázat Jednoduché příponu pravidla a pravidla Sufffix v smake na zrychlení staví
- přidal komentář v pravidlech / rules.rdi, že již není potřeba toto pravidlo. Pomocí pravidel / rules.dir ve všech případech.
- Nové konfigurační soubory v Schily makefilesystem pro:
- - * BSD na amd64
- - MacOS X na amd64
- - kFreeBSD (Debian na jádro FreeBSD)
- - Android
- Schily makefilesystem nyní podporuje CC_COM pro všechny platformy umožňující přepsat nízké úrovni velení pro C-kompilátor.
- Schily makefilesystem nyní podporuje CC ++ _ COM pro všechny platformy, aby přepsat nízké úrovni velení pro C ++. - Překladač
- mingw nyní ve výchozím nastavení spojení podle -lminwg32 místo -lmgw32
- Mac OS X nyní ve výchozím nastavení spojení podle -lgcc_s.1 místo -lgcc
- Zrychlete tvorbu závislosti na Cl.exe sdílením některých SED, příkazy v jednom sed volání
- Opravena chyba s generací závislostech pro HP-UX
- Schily makefilesystem restructuresd některých závislostí, aby spustit paralelní make.
- Android není POSIX (tím, že se definuje různé funkce jako funkce v libc, jak je požadováno podle POSIX), protože se snaží definovat mnoho funkcí, které jsou součástí standardu jako inline makra v zahrnovat pouze soubory. Tím se přeruší autoconf, takže jsme museli přepsat některé zkoušky (např getpagesize, tcgetpgrp, tcsetpgrp)
- autoconf systém Schily byl rozšířen o podporu cross kompilaci. Schily autoconf je založen na GNU autoconf a GNU autoconf nepodporuje cross kompilaci, protože musí spouštět skripty na cílovém systému pro některé z testů.
- & quot; configure & quot; skript, který je dodáván s Schily makefile systém provozuje 718 testů a 68 z nich je třeba spustit na cílovém systému.
- autoconf Systém Schily nyní podporuje metodu spuštění těchto 65 testy nativně na cílovém systému. Buď je třeba stroj s dálkovým přihlášením funkcemi, nebo potřebujete emulátor s metodou kopírovat soubory do emulovaného systému a spuštění binárky na emulovaného systému jako např Android emulátor.
- V současné době dodáváme tři skripty pro & quot; dálkové & quot; provádění programů v cílovém systému:
- runrmt_ssh běží příkazy odstranit pomocí ssh runrmt_rsh spustí příkazy odstranit pomocí rsh runrmt_android běží příkazy odstranit pomocí ladění mostu
- Pokud potřebujete vzdáleně spouštět programy v systému, který není podporován jedním ze tam tři skripty, je třeba upravit jeden z nich, aby odpovídaly vašim potřebám.
- Aby Cross kompilace pomocí proměnné následující prostředí:
- CONFIG_RMTCALL = Nastavení přejděte na skript, který dělá na vzdálené spuštění, například:
- CONFIG_RMTCALL = `pwd` / conf / runrmt_ssh
- CONFIG_RMTHOST = Nastavení přejděte do vzdáleného hostitele, například:
- CONFIG_RMTHOST = hostname nebo CONFIG_RMTHOST = user @ hostname
- používat figuríny, pokud budete chtít použít něco jako na Android emulátoru.
- CONFIG_RMTDEBUG = Nastavit na něco non-null, aby se umožnilo vzdálenému spuštění skriptu značek vzdálených comands. To bude mít za následek konfiguračních zpráv, jako:
- kontrolní bity v menším počtu zařízení ... Dálkové 8
- Poznámka smake obsahuje automake funkce, které se automaticky načítají systém identifikační údaje. Z tohoto důvodu je třeba přepsat související makra z příkazového řádku, pokud chcete dělat křížové kompilace.
- Související make makra:
- K_ARCH = # (sun4v) Kernel ARCH naplněné z uname -m / arch -k M_ARCH = # (sun4) Stroj naplněný od arch P_ARCH = # (SPARC) CPU ARCH obsadit uname -p / mach OSNAME = # SunOS, linux, .... OSREL = # 5.11 OSVersion = # snv_130 CCOM = # generický název kompilátor (např & quot; gcc & quot;) CC_COM = # kompilátor volání (jméno + základní args)
- ARCH = přepíše M_ARCH a P_ARCH
- To je obvykle suffucient nastavit ARCH a OSNAME.
- Chcete-li místo toho použít křížový kompilátor prostředí nativní kompilátor, nastavte aby makro CC_COM na něco jiného, než & quot; cc & quot;.
- Pokud jste na Linuxu a rádi se sestavit pro Android, proveďte následující:
- 1) nastavit CC doplňujte podle pokynů z kříže kompilátor nástroje řetězce
- 2) nastaveny proměnné prostředí CONFIG_RMTCALL / CONFIG_RMTHOST, např: setenv CONFIG_RMTCALL `pwd` / conf / runrmt_android setenv CONFIG_RMTHOST NONE
- 3) volání smake:
- smake ARCH = ARMv5 OSNAME = linux CCOM = gcc & quot; CC_COM = $ CC & quot;
- Některé programy již test pro HAVE_DEV_ * ale HAVE__DEV_ *, jak jsme to udělali přechod z ruky písemných testů na / dev / tty, / dev / null a podobné AC_CHECK_FILES (/ dev / tty / dev / null / dev / zero )
- Podpora pro Pyro (Syllable klon) byl přidán. Díky Flemming H. Sorensen
- Lepší podpora pro zásuvky Win32 při použití Cl.exe
- se předešlo problémům s nestandardní prototypů pro spojení () odpojit () read () a write () z Cl.exe
- Přidává podporu pro semi-statické (je přednastavena) hlavičkové soubory pro Android: include / Schily / armv5tejl-linux-gcc / xconfig.h
- New jsou soubory include / Schily / chybovat _ * h. Se používají k zapouzdření #Error CPP prohlášení, která by se jinak vždy zabránily kompilaci s K & R překladačů.
- Přidána řešení pro LLVM kompilátoru chybu, která vytvoří kód, s nekonečnými smyčkami v některých případech.
- Libschily je nyní propojen proti $ (LIB_INTL), když sdílené libschily je vytvořen.
- Vyvarujte se varování od Cl.exe pro libschily / gettimeofday.c
- Konkrétní Konfigurační soubory pro make programové Schily Makefilesystem PRAVIDLA / mk-.id (pro SunPro make), PRAVIDLA / mk-smake.id PRAVIDLA / mk-gmake.id nyní zahrnuje definice pro makra:
- SPACE jednom prostoru znak ('') NUMBER_SIGN číslo ASCII zpívat ("#")
- Uvědomte si, že norma POSIX jinak vyžaduje, aby make program nebude moci mít "#" se objeví v non-comment úseků Makefile.
- Zkuste pracovat kolem neopatrného změny v souboru windef.h z Cygwin-01.7.17 (podzim 2012), týkající se typu BOOL, která dělá windefs.h z nedávné Cygwin už není slučitelný s původním souborem od společnosti Microsoft. Oprava je v include / Schily / windows.h
- Díky Alain Hoang, Thomas Plank a další hlášení a pomoc při získání opravu pro problém uvedený výše
- v libschily / comerr.c lepší komentář k pomoci pochopit exit (), kód skládání na 8 bitů a jak se lze vyhnout.
Komentáře nebyl nalezen