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 20:11 | IT novinky

GOG nabízí klasickou cRPG Wasteland 2 do pátku 13. prosince 2019 zdarma. Hra je k dispozici pro Linux (oficiálně Ubuntu LTS) a bez DRM. Stojí za ní inXile Entertainment, navazující na Interplay, od nějž pochází původní Wasteland (1988) či Fallout.

Fluttershy, yay! | Komentářů: 0
dnes 17:11 | Komunita

osxfuse, implementace FUSE (Filesystem in Userspace) na macOS, již není open source. Autor se prostě rozhodl zdrojové kódy pod licencí BSD dál nešířit. Diskuse na Hacker News.

Ladislav Hagara | Komentářů: 12
dnes 10:44 | Zajímavý projekt

Na Humble Bundle běží akce Humble Paradox Management Bundle. Počítačové hry v balíčcích za 1 dolar, 7,91 dolaru a 18 dolarů běží také na Linuxu. Jedná se o série Prison Architect, Cities in Motion, Cities: Skylines a Surviving Mars.

Ladislav Hagara | Komentářů: 0
včera 22:55 | Bezpečnostní upozornění

Byl vydán Git ve verzích 2.24.1, 2.23.1, 2.22.2, 2.21.1, 2.20.2, 2.19.3, 2.18.2, 2.17.3, 2.16.6, 2.15.4 a 2.14.6. Opraveno je 9 bezpečnostních chyb: CVE-2019-1348, CVE-2019-1349, CVE-2019-1350, CVE-2019-1351, CVE-2019-1352, CVE-2019-1353, CVE-2019-1354, CVE-2019-1387 a CVE-2019-19604, viz například Ubuntu USN-4220-1.

Ladislav Hagara | Komentářů: 0
včera 22:33 | Nová verze

Google Chrome 79 byl prohlášen za stabilní (YouTube). Nejnovější stabilní verze 79.0.3945.79 tohoto webového prohlížeče přináší řadu oprav a vylepšení. Vylepšeny byly také nástroje pro vývojáře. Opraveno bylo 51 bezpečnostních chyb. Za nalezení nejvážnější z nich bylo vyplaceno 20 tisíc dolarů.

Ladislav Hagara | Komentářů: 0
včera 22:11 | Nová verze

V září Microsoft potvrdil, že portuje klienta Microsoft Teams na Linux. Dnes byla vydána první veřejná verze k testování. Ke stažení jsou balíčky .deb a .rpm. Microsoft Teams je firemní platforma, která umožňuje textovou komunikaci, video hovory, datové úložiště pro ukládání souborů (na těchto souborech lze také spolupracovat) a integraci dalších aplikací do tohoto prostředí. Služba je integrována v předplatném Office 365.

Ladislav Hagara | Komentářů: 8
včera 15:22 | IT novinky

Společnost PFU (divize Fujitsu) představila (prezentace v japonštině) novou generaci Happy Hacking Keyboard, řady klávesnic původně navržené Eiiči Wadou pro unixové systémy začátkem 90. let – bez nutnosti přidání dalších fyzických kláves. Nové modely (Hybrid, Hybrid Type-S a Classic) navazují na řadu Pro 2, stále je tedy vyrábí Topre a používají příslušné kapacitní spínače, všechny se ale nově připojují přes USB-C a „Hybrid“ navíc podporuje i Bluetooth.

Fluttershy, yay! | Komentářů: 42
včera 12:22 | Pozvánky

Konference DevConf.CZ 2020, již dvanáctý ročník jedné z největších akcí zaměřených na Linux a open source ve střední Evropě, proběhne v Brně na FIT VUT od 24. do 26. ledna 2020. Zveřejněn byl program konference a spuštěna byla povinná a bezplatná registrace.

Ladislav Hagara | Komentářů: 0
9.12. 22:55 | Zajímavý článek

Příspěvek Prozkoumejte Česko na Wikidatech: druhý díl zajímavých Wikidata Queries na blogu Wikimedie Česká republika je volným pokračováním příspěvku Prozkoumejte Česko na Wikidatech: 10 nejlepších Queries datového žurnalisty z července 2017. Tentokrát jsou díky Wikidatům a SPARQL zobrazeny Železniční tratě v Česku, Díly pořadu Gebrian VS na mapě nebo Citace vědeckých článků – srovnání českých univerzit, na níž publikující autoři působí.

Ladislav Hagara | Komentářů: 0
9.12. 19:44 | Komunita

Ovlivnit Ubuntu 20.04 LTS lze vyplněním dotazníku. Více v příspěvku na blogu Ubuntu.

Ladislav Hagara | Komentářů: 0
Jaké hodinky nosíte (nejčastěji)?
 (23%)
 (5%)
 (18%)
 (54%)
Celkem 558 hlasů
 Komentářů: 135, poslední 6.12. 20:54
Rozcestník

www.AutoDoc.Cz

Dotaz: libvirt seznam disku

28.11. 15:00 marek
libvirt seznam disku
Přečteno: 166×

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. 19:00 xkucf03 | skóre: 48 | 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. 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. 11:00 xkucf03 | skóre: 48 | 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. 11:14 marek
Rozbalit Rozbalit vše Re: Znak konce řádku v XML atributech

Bohuzel to takto vraci libvirt.

marek

xkucf03 avatar 29.11. 11:23 xkucf03 | skóre: 48 | 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. 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. 12:09 xkucf03 | skóre: 48 | 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.