abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 04:33 | IT novinky

    Společnost Espressif (ESP8266, ESP32, …) získala většinový podíl ve společnosti M5Stack, čímž posiluje ekosystém AIoT.

    Ladislav Hagara | Komentářů: 0
    včera 23:44 | Nová verze

    Byla vydána nová stabilní verze 3.5 svobodného multiplatformního softwaru pro editování a nahrávání zvukových souborů Audacity (Wikipedie). Přehled novinek také na YouTube. Nově lze využívat cloud (audio.com). Ke stažení je oficiální AppImage. Zatím starší verze Audacity lze instalovat také z Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    včera 16:44 | Zajímavý článek

    50 let operačního systému CP/M, článek na webu Computer History Museum věnovaný operačnímu systému CP/M. Gary Kildall z Digital Research jej vytvořil v roce 1974.

    Ladislav Hagara | Komentářů: 0
    včera 16:22 | Pozvánky

    Byl zveřejněn program a spuštěna registrace na letošní konferenci Prague PostgreSQL Developer Day, která se koná 4. a 5. června. Na programu jsou 4 workshopy a 8 přednášek na různá témata o PostgreSQL, od konfigurace a zálohování po využití pro AI a vector search. Stejně jako v předchozích letech se konference koná v prostorách FIT ČVUT v Praze.

    TomasVondra | Komentářů: 0
    včera 03:00 | IT novinky

    Po 48 letech Zilog končí s výrobou 8bitového mikroprocesoru Zilog Z80 (Z84C00 Z80). Mikroprocesor byl uveden na trh v červenci 1976. Poslední objednávky jsou přijímány do 14. června [pdf].

    Ladislav Hagara | Komentářů: 6
    včera 02:00 | IT novinky

    Ještě letos vyjde Kingdom Come: Deliverance II (YouTube), pokračování počítačové hry Kingdom Come: Deliverance (Wikipedie, ProtonDB Gold).

    Ladislav Hagara | Komentářů: 3
    21.4. 19:11 | Komunita

    Thunderbird 128, příští major verze naplánovaná na červenec, přijde s nativní podporou Exchange napsanou v Rustu.

    Ladislav Hagara | Komentářů: 19
    21.4. 04:44 | Komunita

    Byly vyhlášeny výsledky letošní volby vedoucího projektu Debian (DPL, Wikipedie). Novým vedoucím je Andreas Tille.

    Ladislav Hagara | Komentářů: 7
    21.4. 00:11 | Nová verze

    Po osmi měsících vývoje byla vydána nová verze 0.12.0 programovacího jazyka Zig (GitHub, Wikipedie). Přispělo 268 vývojářů. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 2
    20.4. 23:55 | Pozvánky

    Poslední měsíc byl plný zajímavých akcí, o kterých Vám bastlíři z projektu MacGyver mohou povědět, protože se na ně sami vydali. Kde všude byli, ptáte se? Objevili se na Installfestu, Arduino Day, Hackaday Europe a tajném srazu bastlířů z Twitteru. A z každé akce pro vás mají zajímavé poznatky.

    … více »
    bkralik | Komentářů: 1
    KDE Plasma 6
     (71%)
     (10%)
     (2%)
     (17%)
    Celkem 670 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: md5sum a standardní výstup

    4.12.2005 21:30 diverman | skóre: 32 | blog: život s tučňáčkem
    md5sum a standardní výstup
    Přečteno: 394×
    Ahoj přátelé, tvořím skript pro hromadné zpracování kontrolních součtů md5sum. Příkaz
    md5sum -c -v MD5SUM
    vypíše:
    test1.txt   OK
    test2.txt   OK
    test3.txt   OK
    test4.txt   CHYBNÝ
    
    To je v pořádku. Teď chci tento výstup zapsat do souboru MD5SUM_RESULT, abych mohl výsledky dále zpracovávat:
    md5sum -c -v MD5SUM > MD5SUM_RESULT
    Ale vzniklý soubor MD5SUM_RESULT je prázdný. Zkouším to tedy jinak:
    echo `md5sum -c -v MD5SUM` > MD5SUM_RESULT
    Soubor MD5SUM_RESULT je opět prázdný... Kdybyste mě někdo nakopnul, co dělám špatně...
    díky Pavel
    deb http://ftp.cz.debian.org/debian jessie main contrib non-free

    Odpovědi

    4.12.2005 21:40 Michal Karas | skóre: 45 | blog: /dev/random
    Rozbalit Rozbalit vše Re: md5sum a standartní výstup
    Ahoj, zkus:
    md5sum -c -v MD5SUM 2> MD5SUM_RESULT
    4.12.2005 21:55 diverman | skóre: 32 | blog: život s tučňáčkem
    Rozbalit Rozbalit vše Re: md5sum a standartní výstup
    Díky moc, to je vono!
    deb http://ftp.cz.debian.org/debian jessie main contrib non-free
    4.12.2005 22:02 Michal Karas | skóre: 45 | blog: /dev/random
    Rozbalit Rozbalit vše Re: md5sum a standartní výstup
    Ale nechápu proč to md5sum posílá na stderr. V Arch Linuxu se přitom chová korektně.
    4.12.2005 22:16 diverman | skóre: 32 | blog: život s tučňáčkem
    Rozbalit Rozbalit vše Re: md5sum a standartní výstup
    Já to dělám v Debianu a fakt je to do stderr. Taky mě to překvapilo. Teď ještě musím z toho vyparsovat soubory OK a soubory neeOK :-(
    deb http://ftp.cz.debian.org/debian jessie main contrib non-free
    4.12.2005 22:32 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: md5sum a standartní výstup
    V SuSE 10.0 to posílá také na standardní výstup
      mike@lion:~/tmp> md5sum --version
      md5sum (GNU coreutils) 5.3.0
      Written by Ulrich Drepper and Scott Miller.
    
    Jakou verzi máte vy?
    David Watzke avatar 4.12.2005 22:42 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: md5sum a standartní výstup
    Gentoo / amd64, stejná verze, taky OK.
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    4.12.2005 22:55 diverman | skóre: 32 | blog: život s tučňáčkem
    Rozbalit Rozbalit vše Re: md5sum a standartní výstup
    Heh, no v té mé ani přepínač --version nefunguje. Takže asi mám nějakou prehistorickou verzi. (Debian Sarge)
    deb http://ftp.cz.debian.org/debian jessie main contrib non-free
    4.12.2005 22:58 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: md5sum a standartní výstup
    Tak to nejspíš nebude GNU verze… :-)
    4.12.2005 23:05 diverman | skóre: 32 | blog: život s tučňáčkem
    Rozbalit Rozbalit vše Re: md5sum a standartní výstup
    Hmmm čekal bych, že program jako md5sum instalovaný z "pravého debiálního" (heh to je teda výraz :-) ) mirroru bude GNU.
    deb http://ftp.cz.debian.org/debian jessie main contrib non-free
    5.12.2005 10:34 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: md5sum a standartní výstup
    Pro inspiraci jsem se pokusil něco podobného udělat.

    Následující program projde všechny soubory v daném adresáři, u každého vypočítá md5sum a výsledky uloží do XML souboru. Formát XML jsem vybral záměrně, aby bylo možné uložit stromovou strukturu, kdybych procházel adresář rekurzivně (což prozatím nedělám). Také se rozumně vypořádá i s podivnými názvy souborů. Navíc ho lze "hezky" zobrazovat v prohlížeči ;-)

    Při dalším spuštění program otevře XML soubor a porovná kontrolní součty se skutečností. Vypíše, které soubory se změnily.

    Chtělo by to ještě přidat kontrolu chybových stavů, zjišťování, který soubor přibyl či ubyl, ale o to tu, myslím, nešlo.
    import os, sys, md5
    from elementtree.ElementTree import Element, SubElement, ElementTree, dump
    
    def CalcMD5(filename):
      buffersize = 1000000
      sum = md5.new()
      f = open(filename)
      while True:
        data = f.read(buffersize)
        if not data: break
        sum.update(data)
      f.close()
      return sum.hexdigest()
    
    
    def StoreChecksums(basedir, xmlname):
    
      root = Element("checksums")
      Files = SubElement(root, "Files")
      for name in os.listdir(basedir):
        name_fullpath = os.path.join(basedir, name)
        if not os.path.isfile(name_fullpath): continue
        md5sum = CalcMD5(name_fullpath)
        elem_file = SubElement(Files, "file") 
        elem_file.set("name", name_fullpath)
        elem_file.set("md5sum", md5sum)
     
      tree = ElementTree(root)
      dump(root)
      tree.write(xmlname, encoding="utf-8")
    
    def CheckChecksums(basedir, xmlname):
      root = ElementTree(file=xmlname)
      files_old = root.find('Files')
      for file_old in files_old:
        name = file_old.get('name')
        md5sum_old = file_old.get('md5sum')
        md5sum_new = CalcMD5(os.path.join(basedir, name))
        if not md5sum_old == md5sum_new:
          print 'File', name, 'has changed!'
    
    ###############################  MAIN #############
    
    xmlname = 'md5sums.xml'
    basedir = '.'
    
    if not os.path.exists(xmlname):
      print 'md5sums have not been calculated yet. Creating', xmlname
      StoreChecksums(basedir, xmlname)
      sys.exit(0)
    
    CheckChecksums(basedir, xmlname)
    

    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.