abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 03:55 | Nová verze

    Multiplatformní multimediální knihovna SDL (Simple DirectMedia Layer) byla oficiálně vydána v nové major verzi 3 (3.2.0). Změny jsou popsány v README pro migraci aplikací z SDL 2 na SDL 3.

    Ladislav Hagara | Komentářů: 1
    včera 19:22 | Nová verze

    Wine bylo po roce vývoje od vydání verze 9.0 vydáno v nové stabilní verzi 10.0. Přehled novinek na GitLabu. Vypíchnuta je nová architektura ARM64EC a podpora High DPI škálování.

    Ladislav Hagara | Komentářů: 0
    včera 16:11 | Zajímavý software

    Edvard Rejthar na blogu zaměstnanců CZ.NIC představil nástroj deduplidog pro odstranění duplicitních souborů.

    Ladislav Hagara | Komentářů: 3
    včera 05:22 | IT novinky

    Společnost DeepSeek představila (𝕏) AI model DeepSeek-R1 (Hugging Face) srovnatelný s OpenAI o1 a uvolnila jej pod open source licencí MIT, tj. zdarma i pro komerční použití.

    Ladislav Hagara | Komentářů: 29
    20.1. 23:44 | Nová verze

    GKrellM (GNU Krell Monitors, Wikipedie), tj. grafická aplikace pro sledování systémů a různých událostí, byla po pěti a půl letech vydána v nové verzi 2.4.0. Přehled novinek na Gitea.

    Ladislav Hagara | Komentářů: 4
    20.1. 19:55 | Humor

    Americká první dáma Melania Trumpová vydala v předvečer manželovy inaugurace vlastní kryptoměnu. Jmenuje se $Melania. Donald Trump vydal vlastní kryptoměnu $Trump den před manželkou.

    Ladislav Hagara | Komentářů: 27
    20.1. 11:33 | Nová verze

    GNU Project Debugger aneb GDB byl vydán ve verzi 16.1. Podrobný přehled novinek v souboru NEWS.

    Ladislav Hagara | Komentářů: 0
    20.1. 03:00 | Nová verze

    Po 9 týdnech vývoje od vydání Linuxu 6.12 oznámil Linus Torvalds vydání Linuxu 6.13. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a Linux Kernel Newbies. Odstraněn byl souborový systém ReiserFS.

    Ladislav Hagara | Komentářů: 0
    19.1. 16:11 | IT novinky

    19. ledna 2038 přeteče hodnota time_t na 32bitových systémech, na vyřešení problému roku 2038 (Y2K38) tedy zbývá 13 let. Např. Debian v uplynulém roce přešel na 64bitový čas. Bernhard Wiedemann z openSUSE sdílí chyby v sestavení rozšířeného softwaru.

    Fluttershy, yay! | Komentářů: 1
    19.1. 15:44 | Nová verze

    Byla vydána druhá opravná verze 21.2 v dubnu loňského roku vydané verze 21 multimediálního centra Kodi (dříve XBMC, Wikipedie) s kódovým označením Omega.

    Ladislav Hagara | Komentářů: 0
    Rozcestník

    Dotaz: Prazdne soubory do tar

    6.2.2007 18:45 PetrK
    Prazdne soubory do tar
    Přečteno: 222×
    Ahoj,
    asi to uvedu na prikladu. Dejme tomu ze mam /home/ferda/mp3/ a tam nekolikset mp3, a ja bych chtel udelat jejich seznam, tim ze ty soubory zabalim do tar, ale s nulovou velikosti(i s jejich cestou..). Da se to udelat nejak elegantne? Me napada jedine napred nekde vytvorit soubory se stejnym nazvem(ale prazdny) a ty pak zabalit.
    dik.

    Odpovědi

    Prcek avatar 6.2.2007 19:00 Prcek | skóre: 43 | Jindřichův Hradec / Brno
    Rozbalit Rozbalit vše Re: Prazdne soubory do tar
    A samotny seznam souboru v textovem souboru by nestacil?

    Pokud to chces udelat pres prazdne soubory, tak me napada treba skriptem cist vsechna jmena souboru v adresari a ty pak prikazem touch vytvaret (vytvori se soubor o nulove delce). Vyslednou hromadu prazdnych souboru pak muzes zabalit tarem.
    Člověk je takový, jak vypadá... A já vypadám jako pravá, nefalšovaná děvka!!!
    6.2.2007 21:09 iSteve | skóre: 15 | blog: isteve
    Rozbalit Rozbalit vše Re: Prazdne soubory do tar
    A proc? Ponevadz sou tam i metadata? To je pitomost. Pouzij stat(1).

    Pokud bys na tom trval, neni problem to napsat, tar format je celkem jednoduchej (kdyz pominem GNU aj. extenze), ale porad trvam na tom, ze je to pitomost:)
    6.2.2007 23:18 PetrK
    Rozbalit Rozbalit vše Re: Prazdne soubory do tar
    Nj, ona to zase takova blbost neni:)
    , asi hlavni duvod je zachovani stromove struktury. Nechci to pouzivat jen na mp3, a seznam jako
    /home/ferda/mp3/VVV/sf.mp3

    /home/ferda/mp3/VVV/ssf.mp3
    /home/ferda/mp3/VVV/rsaf.mp3
    /home/ferda/mp3/RSF/ad.mp3
    .....


    Akorat ze treba pro 1000 souboru se mi zdaj maximalne neprehledny:)
    7.2.2007 06:10 iSteve | skóre: 15 | blog: isteve
    Rozbalit Rozbalit vše Re: Prazdne soubory do tar
    Ale ano, je -- nebo vubec nechapu, o co ti vlastne jde:) Presne stejne (nebo s relativnimi cestami, ale to umis samozrejme taky i jinak) je v taru ulozen seznam souboru taky. Muzes mi najit deset rozdilu mezi (krom lomitka na konci nazvu adresare, coz se da dodelat trivialne, pokud te nejak vic trapi):
    isteve@silver:~$ tar -cf test1.tar ./junk/
    isteve@silver:~$ tar -tf test1.tar 
    ./junk/
    ./junk/file1
    ./junk/file2
    ./junk/file3
    
    a
    
    isteve@silver:~$ find ./junk
    ./junk
    ./junk/file1
    ./junk/file2
    ./junk/file3
    
    6.2.2007 21:22 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: Prazdne soubory do tar
    S tím tarem si nejsem jistý. Myslím, že neumí zabalit obsah roury, takže možností je asi několik
    # seznam souborů do souboru
    find adresar -type -f -printf "%P\n" > seznam
    # pripadne zatarovat
    tar -cf seznam.tar seznam
    # nebo radeji primo gzipnout
    find adresar -type -f -printf "%P\n" | gzip > seznam.gz
    # jde prohlizet pomoci zcat, zless, prohledavat pres zgrep, ...
    zless seznam.gz
    
    When your hammer is C++, everything begins to look like a thumb.
    7.2.2007 00:36 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: Prazdne soubory do tar
    Využiju toho, že se zde nedávno podobná věc řešila:

    http://www.abclinuxu.cz/forum/show/167572#10

    a jen trochu pozměním ten prográmek:
    #!/usr/bin/env python
    import os, sys
    srcdir = os.path.realpath(sys.argv[1])
    destdir = sys.argv[2]
    
    srchead, srctail = os.path.split(srcdir)
    srcheadlen = len(srchead)
    newdir = os.path.join(destdir, srctail)
    print 'creating root dir', newdir
    os.mkdir(newdir)
    for root, dirs, files in os.walk(srcdir):
        relroot = root[srcheadlen + 1:]
        for dirname in dirs:
            newdir = os.path.join(destdir, relroot, dirname)
            print 'creating dir ', newdir
            os.mkdir(newdir)
        for filename in sorted(files):
            newfile = os.path.join(destdir, relroot, filename)
            print 'creating file', newfile
    
    Programu se zadávají dva parametry: cesta k originálnímu adresáři a cesta k adresáři, v němž se má udělat ta prázdná kopie.
    7.2.2007 01:39 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: Prazdne soubory do tar
    Že mě to nenapadlo dřív! Vždyť python má přímou podporu pro zacházení s tarem (i tar.bz2), takže je možné projít celý strom a zaarchivovat ho, přičemž každé položce se nastaví nulová velikost. Všechny ostatní atributy se zachovají.
    #!/usr/bin/env python
    import tarfile, os, sys
    tarname = sys.argv[1]
    srcdir = os.path.realpath(sys.argv[2])
    srchead, srctail = os.path.split(srcdir)
    srcheadlen = len(srchead)
    
    tar = tarfile.open(tarname + '.tar.bz2', 'w:bz2')
    for root, dirs, files in os.walk(srcdir):
        relroot = root[srcheadlen + 1:]
        for item in dirs + files:
            fullpath = os.path.join(root, item)
            relpath = os.path.join(relroot, item)
            print fullpath, relpath        
            tarinfo = tar.gettarinfo(fullpath, relpath)
            tarinfo.size = 0
            tar.addfile(tarinfo)
    tar.close()
    
    Skriptu se zadají dva parametry: název archivu (bez koncovky) a cesta k adresáři pro archivaci. Vytvoří se soubor s koncovkou tar.bz2. A co mě úplně dostalo je to, že po rozbalení vznikne textový soubor, který připomíná výstup 'ls -l'. To jsem fakt nevěděl.
    7.2.2007 23:13 PetrK
    Rozbalit Rozbalit vše Re: Prazdne soubory do tar
    juu,
    to je presne ono;) Jste moc hodnej. Sam bych to asi jen tak nenapsal:)
    8.2.2007 07:41 rastos | skóre: 62 | blog: rastos
    Rozbalit Rozbalit vše Re: Prazdne soubory do tar
    Keď máš kladivo, každý problém vyzerá ako kliniec ;-). Potrebujš python na to aby si urobil
    
    cd /archive
    mkdir -p `cd /home/ferda/mp3; find . -type d -print`
    cd /home/ferda/mp3
    find . -type f -exec touch /archive/{} \;
    ?
    8.2.2007 10:09 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: Prazdne soubory do tar
    Python opravdu potřebuji, když nechci skript v shellu, který
    -nefunguje, jsou-li v názvech adresářů mezery
    -ničí informaci o datu a čase
    -výsledek neuloží do taru
    -musí procházet adresářový strom dvakrát
    -pouští jeden externí program mockrát po sobě
    -má v sobě natvrdo napsané cesty
    -mění svůj vlastní pracovní adresář (ano, považuji to za špatné)
    -běží pomaleji
    -má mizivou možnost ladících výpisů
    -je téměř nemožné nějak vylepšovat

    Ale kdybych strašně spěchal a šlo mi o počet popsaných řádků, tak bych to možná v shellu napsal. Ale ono by se to časem vymstilo.
    8.2.2007 18:16 PetrK
    Rozbalit Rozbalit vše Re: Prazdne soubory do tar
    Jsem tu zase:)
    Maximalne s tebou souhlasim, jen jsem narazil jeste na jeden problem:(

    Traceback (most recent call last):
    File "All2tar.py", line 17, in ?
    tar.addfile(tarinfo)
    File "/usr/lib/python2.3/tarfile.py", line 1270, in addfile
    raise ValueError, "name is too long (>%d)" \
    ValueError: name is too long (>100)

    Da se nejak dosahnout toho aby mu nevadilo vic jak 100 znaku v ceste? Dik
    8.2.2007 19:06 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: Prazdne soubory do tar
    Aha, to je zrada. Máš starý python 2.3, který defaultně dodržuje posix standard a podle něj nesmí mít cesta v taru víc než sto znaků. Od Pythonu 2.4 už se přešlo na GNU rozšíření, které už takové omezení nemá. Pomoc je snadná - zakázat posix řádkem "tar.posix = False". Raději ukážu celý program:
    #!/usr/bin/env python
    import tarfile, os, sys
    tarname = sys.argv[1]
    srcdir = os.path.realpath(sys.argv[2])
    srchead, srctail = os.path.split(srcdir)
    srcheadlen = len(srchead)
    
    tar = tarfile.open(tarname + '.tar.bz2', 'w:bz2')
    tar.posix = False
    for root, dirs, files in os.walk(srcdir):
        relroot = root[srcheadlen + 1:]
        for item in dirs + files:
            fullpath = os.path.join(root, item)
            relpath = os.path.join(relroot, item)
            print fullpath, relpath        
            tarinfo = tar.gettarinfo(fullpath, relpath)
            tarinfo.size = 0
            tar.addfile(tarinfo)
    tar.close()
    
    Bude to fungovat teď? To jsem sám zvědav.
    9.2.2007 20:44 PetrK
    Rozbalit Rozbalit vše Re: Prazdne soubory do tar
    Jojo, ted to slape dobre a rychle. Diky moc:)

    PS.: Na ten Python se budu muset taky poradne mrknout.
    8.2.2007 14:54 Tomáš | skóre: 31 | blog: Tomik
    Rozbalit Rozbalit vše Re: Prazdne soubory do tar
    Mozna blba otazka, uz jsi videl disksearch? http://disksearch.sourceforge.net/. Pokud jenom potrebujes mit seznam souboru s velikosti a hledat podle nazvu, tak je to presne ono. Ted jsem k tomu dodelaval podporu pro export do XML a tisk obalu CD/DVD (ale myslim, ze to Stefan jeste necommitnul).

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.