Chcete vědět, co se odehrálo ve světě techniky za poslední měsíc? Nebo si popovídat o tom, co zrovna bastlíte? Pak dorazte na prosincovou Virtuální Bastlírnu s mikrofonem a kamerou, nalijte si něco k pití a ponořte se s strahovskými bastlíři do diskuze u virtuálního piva o technice i všem možném okolo. O čem budou tentokrát strahováci referovat? Téměř každý už si všiml významného zdražení RAM a SSD, jsou zde ale i příjemnější zprávy. Průša uvádí
… více »Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) podporuje vyjádření partnerů ze Spojeného království, kteří upozorňují na škodlivé aktivity společností Anxun Information Technology (též „I-S00N“) (pdf) a Beijing Integrity Technology (též „Integrity Tech“) působících v kyberprostoru a sídlících v Čínské lidové republice (ČLR). Tyto společnosti jsou součástí komplexního ekosystému soukromých subjektů v ČLR,
… více »Společnost Pebble představila (YouTube) prsten s tlačítkem a mikrofonem Pebble Index 01 pro rychlé nahrávání hlasových poznámek. Prsten lze předobjednat za 75 dolarů.
Společnost JetBrains v listopadu 2021 představila nové IDE s názvem Fleet. Tento týden oznámila jeho konec. Od 22. prosince 2025 již nebude možné Fleet stáhnout.
Byl vydán Mozilla Firefox 146.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 146 bude brzy k dispozici také na Flathubu a Snapcraftu.
Před rokem převzala Digitální a informační agentura (DIA) vlastnictví a provoz jednotné státní domény gov.cz. Nyní spustila samoobslužný portál, který umožňuje orgánům veřejné moci snadno registrovat nové domény státní správy pod doménu gov.cz nebo spravovat ty stávající. Proces nové registrace, který dříve trval 30 dní, se nyní zkrátil na několik minut.
IBM kupuje za 11 miliard USD (229,1 miliardy Kč) firmu Confluent zabývající se datovou infrastrukturou. Posílí tak svoji nabídku cloudových služeb a využije růstu poptávky po těchto službách, který je poháněný umělou inteligencí.
Nejvyšší správní soud (NSS) podruhé zrušil pokutu za únik zákaznických údajů z e-shopu Mall.cz. Incidentem se musí znovu zabývat Úřad pro ochranu osobních údajů (ÚOOÚ). Samotný únik ještě neznamená, že správce dat porušil svou povinnost zajistit jejich bezpečnost, plyne z rozsudku dočasně zpřístupněného na úřední desce. Úřad musí vždy posoudit, zda byla přijatá opatření přiměřená povaze rizik, stavu techniky a nákladům.
Organizace Free Software Foundation Europe (FSFE) zrušila svůj účet na 𝕏 (Twitter) s odůvodněním: "To, co mělo být původně místem pro dialog a výměnu informací, se proměnilo v centralizovanou arénu nepřátelství, dezinformací a ziskem motivovaného řízení, což je daleko od ideálů svobody, za nimiž stojíme". FSFE je aktivní na Mastodonu.
Paramount nabízí za celý Warner Bros. Discovery 30 USD na akcii, tj. celkově o 18 miliard USD více než nabízí Netflix. V hotovosti.
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.
marekViz 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.
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
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; = = \n = LF)
Pokud v tom XML bude:
file='/var/lib/libvirt/images/dvoj radek.qcow2'
tak se tam to zalomení řádku zachová.
Jak to XML vzniklo? Psal ho někdo ručně nebo je vygenerované libvirtem?
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)
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
$
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.
Tiskni
Sdílej: