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 00:33 | IT novinky

    FEL ČVUT vyvinula robotickou stavebnici pro mladé programátory. Stavebnice Brian byla navržená speciálně pro potřeby populární Robosoutěže. Jde ale také o samostatný produkt, který si může koupit každý fanoušek robotiky a programování od 10 let, ideální je i pro střední školy jako výuková pomůcka. Jádro stavebnice tvoří programovatelná řídicí jednotka, kterou vyvinul tým z FEL ČVUT ve spolupráci s průmyslovými partnery. Stavebnici

    … více »
    Ladislav Hagara | Komentářů: 3
    včera 20:33 | Komunita

    Ubuntu bude pro testování nových verzí vydávat měsíční snapshoty. Dnes vyšel 1. snapshot Ubuntu 25.10 (Questing Quokka).

    Ladislav Hagara | Komentářů: 0
    včera 14:55 | Nová verze

    Společnost Netgate oznámila vydání nové verze 2.8.0 open source firewallové, routovací a VPN platformy pfSense (Wikipedie) postavené na FreeBSD. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 14:00 | Nová verze

    Byla vydána nová verze 6.16 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Tor Browser byl povýšen na verzi 14.5.3. Linux na verzi 6.1.140. Další změny v příslušném seznamu.

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

    Člověk odsouzený za obchod s drogami daroval letos ministerstvu spravedlnosti 468 kusů kryptoměny bitcoin, které pak resort v aukcích prodal za skoro miliardu korun. Darováním se zabývá policejní Národní centrála proti organizovanému zločinu (NCOZ). Deníku N to potvrdil přímo ministr spravedlnosti Pavel Blažek (ODS). Podle resortu bylo nicméně vše v souladu s právem.

    Ladislav Hagara | Komentářů: 12
    28.5. 20:44 | Nová verze

    Svobodný a otevřený multiplatformní editor EPUB souborů Sigil (Wikipedie, GitHub) byl vydán ve verzi 2.5.0. Stejně tak doprovodný vizuální EPUB XHTML editor PageEdit (GitHub).

    Ladislav Hagara | Komentářů: 0
    28.5. 12:22 | IT novinky

    Na základě národního atribučního procesu vláda České republiky označila Čínskou lidovou republiku za zodpovědnou za škodlivou kybernetickou kampaň proti jedné z neutajovaných komunikačních sítí Ministerstva zahraničních věcí ČR. Tato škodlivá aktivita, která trvala od roku 2022 a zasáhla instituci zařazenou na seznam české kritické infrastruktury, byla provedena kyberšpionážní skupinou APT31, veřejně spojovanou se zpravodajskou službou Ministerstvo státní bezpečnosti (MSS).

    Ladislav Hagara | Komentářů: 29
    28.5. 00:11 | Nová verze

    Google Chrome 137 byl prohlášen za stabilní. Nejnovější stabilní verze 137.0.7151.55 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 11 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    27.5. 19:22 | Nová verze

    Byl vydán AlmaLinux OS 10 s kódovým názvem Purple Lion. Podrobnosti v poznámkách k vydání. Na rozdíl od Red Hat Enterprise Linuxu 10 nadále podporuje x86-64-v2.

    Ladislav Hagara | Komentářů: 0
    27.5. 15:11 | Nová verze

    Byl vydán Mozilla Firefox 139.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 139 je již k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 10
    Jaký je váš oblíbený skriptovací jazyk?
     (55%)
     (32%)
     (7%)
     (2%)
     (0%)
     (1%)
     (3%)
    Celkem 161 hlasů
     Komentářů: 12, poslední 28.5. 18:42
    Rozcestník

    Dotaz: libvirt seznam disku

    28.11.2019 15:00 marek
    libvirt seznam disku
    Přečteno: 466×

    Dobry den.

    Snazim se o script, ve kterem potrebuji seznam disku z bezici kvm-qemu domeny.

    Nevim, jak to udelat elegantne a bezpecne.

    Pokud nekdo pojmenuje disk:

    'dvoj
    radek.qcow2'
    

    Tak jsem v koncich.

    V xmldumpu je to dobre, ale neznam nastroj, ktery by parsoval xml tak, aby zachoval newline v hodnote atributu.

    Virsh s tim pracuje krome dumpu nekorektne.

    Api pythonu to prebira jako to xml(ve kterem je to spravne), takze jedine reseni napsat si vlastni parser.

    A to se mi moc nechce...

    Dalsi verze api jsem netestoval, ale obavam se, ze je to podobne.

    Prosim o nasmerovani k nejakemu elegantnimu reseni.

    marek

    Odpovědi

    xkucf03 avatar 28.11.2019 19:00 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Re: libvirt seznam disku

    Viz Reading Libvirt XML files using XMLTable :-) Tam jsem řešil přesně tohle – z XML se pomocí jednoho XPath dotazu vytahají záznamy (disky) a pomocí dalších XPath dotazů se vytahají jejich atributy (cesta k disku atd.).

    Výsledkem je relace/tabulka, kterou si pak převedeš na libovolný další formát – můžou to být třeba hodnoty oddělené nulovým bajtem, které se zpracuješ bashovským skriptem.

    Varování: ty Relační roury jsou zatím ve vývojové verzi a nemají stabilní API, ale na druhou stranu nepředpokládám, že by se CLI rozhraní příkazu relpipe-in-xmltable měnilo.

    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    29.11.2019 10:15 marek
    Rozbalit Rozbalit vše Re: libvirt seznam disku
    Dobry den.

    Dekuji za odpoved.

    pokusil jsem se prelozit relpipe, ale nedari se...

    gcc -I/usr/include/glibmm-2.4 -I/usr/lib64/glibmm-2.4/include -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sigc++-2.0 -I/usr/lib64/sigc++-2.0/include -I/usr/include/libxml++-2.6 -I/usr/lib64/libxml++-2.6/include -I/usr/include/libxml2 -lxml++-2.6 -lxml2 -lglibmm-2.4 -lgobject-2.0 -lglib-2.0 -lsigc-2.0 -I/home/marek/rel-pipe/relpipe-lib-writer.cpp/include/  -I /home/marek/rel-pipe/relpipe-lib-cli.cpp/include/ relpipe-in-xmltable.cpp/src/relpipe-in-xmltable.cpp 
    /usr/bin/ld: /tmp/ccDDgtfQ.o: undefined reference to symbol '_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_M_disposeEv@@GLIBCXX_3.4.21'
    /usr/bin/ld: //usr/lib64/libstdc++.so.6: error adding symbols: DSO missing from command line
    collect2: error: ld returned 1 exit status
    

    Ale stejne se obavam, ze libxml v cpp se bude chovat stejne - to znamena, ze:

    virsh  dumpxml --domain rhel7.7 | awk 'BEGIN {tisk=0} /<disk/ {tisk=1} tisk==1 {print $0} /<\/disk>/ {tisk=0}'
        <disk type='file' device='disk'>
          <driver name='qemu' type='qcow2'/>
          <source file='/var/lib/libvirt/images/rhel7.7-1.1574698366'/>
          <backingStore type='file' index='1'>
            <format type='qcow2'/>
            <source file='/var/lib/libvirt/images/rhel7.7-1.1574698364'/>
            <backingStore type='file' index='2'>
              <format type='qcow2'/>
              <source file='/var/lib/libvirt/images/rhel7.7-1.qcow2'/>
              <backingStore/>
            </backingStore>
          </backingStore>
          <target dev='vda' bus='virtio'/>
          <alias name='virtio-disk0'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
        </disk>
        <disk type='file' device='disk'>
          <driver name='qemu' type='qcow2'/>
          <source file='/var/lib/libvirt/images/CentOS-7-x86_64-Minimal-1810.1574698366'/>
          <backingStore type='file' index='1'>
            <format type='qcow2'/>
            <source file='/var/lib/libvirt/images/CentOS-7-x86_64-Minimal-1810.1574698364'/>
            <backingStore type='file' index='2'>
              <format type='raw'/>
              <source file='/var/lib/libvirt/images/CentOS-7-x86_64-Minimal-1810.iso'/>
              <backingStore/>
            </backingStore>
          </backingStore>
          <target dev='vdb' bus='virtio'/>
          <alias name='virtio-disk1'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/>
        </disk>
        <disk type='file' device='disk'>
          <driver name='qemu' type='qcow2'/>
          <source file='/var/lib/libvirt/images/dvoj
    radek.qcow2'/>
          <backingStore/>
          <target dev='vdc' bus='virtio'/>
          <alias name='virtio-disk2'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x0b' function='0x0'/>
        </disk>
    
    

    z tohoto vsechny mne zname parsery xml udelaji v tom poslednim source file '/var/lib/libvirt/images/dvoj radek.qcow2'

    marek

    xkucf03 avatar 29.11.2019 11:00 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Znak konce řádku v XML atributech

    Koukám, že ta hodnota je v atributu. Tam se text standardně normalizuje, viz Attribute-Value Normalization:

    For a white space character (#x20, #xD, #xA, #x9), append a space character (#x20) to the normalized value.

    (&#xA; = &#10; = \n = LF)

    Pokud v tom XML bude:

    file='/var/lib/libvirt/images/dvoj&#10;radek.qcow2'

    tak se tam to zalomení řádku zachová.

    Jak to XML vzniklo? Psal ho někdo ručně nebo je vygenerované libvirtem?

    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    29.11.2019 11:14 marek
    Rozbalit Rozbalit vše Re: Znak konce řádku v XML atributech

    Bohuzel to takto vraci libvirt.

    marek

    xkucf03 avatar 29.11.2019 11:23 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Re: libvirt seznam disku

    Co se týče kompilace: v jaké to bylo distribuci? Zatím to mám otestované v Debianu 9, Ubuntu 18.04 a v Haiku. Bylo to překládané cmakem?

    Podobnou chybu mi to dává, když se to snažím přeložit ručně bez cmaku pomocí C kompilátoru:

    gcc relpipe-in-xmltable.cpp/src/relpipe-in-xmltable.cpp $(pkg-config --libs --cflags libxml++-2.6 relpipe-lib-writer.cpp relpipe-lib-cli.cpp)

    místo pomocí C++ kompilátoru:

    g++ relpipe-in-xmltable.cpp/src/relpipe-in-xmltable.cpp $(pkg-config --libs --cflags libxml++-2.6 relpipe-lib-writer.cpp relpipe-lib-cli.cpp)
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    29.11.2019 11:55 marek
    Rozbalit Rozbalit vše Re: libvirt seznam disku

    cmake mi totiz koncilo chybou

    $ cat /etc/redhat-release 
    Fedora release 30 (Thirty)
    
    $pwd
    /home/marek/rel-pipe/relpipe-in-xmltable.cpp
    $ cmake --build .
    [ 50%] Building CXX object src/CMakeFiles/relpipe-in-xmltable.dir/relpipe-in-xmltable.cpp.o
    In file included from /home/marek/rel-pipe/relpipe-in-xmltable.cpp/src/relpipe-in-xmltable.cpp:24:
    /usr/include/libxml++-2.6/libxml++/libxml++.h:50:10: fatal error: libxml++/exceptions/internal_error.h: No such file or directory
       50 | #include <libxml++/exceptions/internal_error.h>
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    compilation terminated.
    gmake[2]: *** [src/CMakeFiles/relpipe-in-xmltable.dir/build.make:63: src/CMakeFiles/relpipe-in-xmltable.dir/relpipe-in-xmltable.cpp.o] Error 1
    gmake[1]: *** [CMakeFiles/Makefile2:91: src/CMakeFiles/relpipe-in-xmltable.dir/all] Error 2
    gmake: *** [Makefile:130: all] Error 2
    $
    
    xkucf03 avatar 29.11.2019 12:09 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Re: libvirt seznam disku

    Tam zřejmě chybí balíček libxml++-2.6 a je tam libxml++30.

    S touhle verzí jsem to nezkoušel, ale mohlo by to fungovat taky.

    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes

    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.