Interaktivní editor binárních dat GNU poke byl vydán ve verzi 5.0 (seznam změn).
Byla vydána verze 0.85 telnet a ssh klienta PuTTY (Wikipedie). Řešeno je 5 zranitelností.
Byly publikovány novinky z vývoje GIMPu. Pracuje se na novém formátu souborů. Stávající binární XCF bude nahrazen "zazipovaným XML". XCF zůstane plně podporován pouze pro načítání starých souborů.
Workshop o umělé inteligenci v Dartmouthu proběhl před 70 lety, od 18. června do 17. srpna 1956. Dvouměsíční soustředění 6–11 informatiků, iniciované Johnem McCarthym, položilo základy oboru umělé inteligence.
Po 9 týdnech vývoje od vydání Linuxu 7.1 oznámil Linus Torvalds vydání Linuxu 7.2. Podrobný přehled novinek a vylepšení na Linux Kernel Newbies nebo LWN.net: první a druhá polovina začleňovacího okna.
Debian dnes slaví 33 let. Ian Murdock oznámil vydání "Debian Linux Release" 16. srpna 1993.
Probíhá hlasování o používání LLM při vývoji Debianu. Vývojáři Debianu mají na výběr 9 možností (návrhy A až H a žádný z nich).
Omarchy je linuxová distribuce s dlaždicovým správcem oken Hyprland. Založena je na Arch Linuxu. Vydána byla v nové major verzi 4.0.0 - The Quattro Release. Videopředstavení na YouTube. Celý desktop shell byl přepsán do Quickshellu. Přidána byla podpora pluginů.
Francouzská Ústavní rada zamítla zákaz používání sociálních sítí dětem mladším 15 let. Francouzská obdoba ústavního soudu uvedla, že opatření představuje nepřiměřený zásah do svobody projevu. Francouzský parlament zákaz schválil na konci července, začít platit měl od září. Šlo o první zákaz sociálních sítí pro děti v Evropě. Členové Ústavní rady se domnívají, že ustanovení „představuje zásah, který není přiměřený, nezbytný ani
… více »Open-source trackball Ploopy Adept má novou verzi nazvanou A+. Stále jde o symetrický desktopový trackball s šasi z 3D tiskárny a firmwarem QMK. Novinkami jsou dvojice tlačítek, jimiž půjde také otáčet, a volitelná opěrka ruky. Funkcionalita firmwaru je rozšířena o gesta, vrstvy a možnost konfigurace za běhu. Schémata a kód jsou jako obvykle na GitHubu. A+ půjde předobjednat za 99 CAD (bez dopravy a cla/DPH).
Začínám doslova šílet, protože už několik hodin trávím nad hledáním jedné chyby. Používám na dohled nad servery Zabbix. Napsal jsem si v bashi skript pro posílán sms, který mi spolehlivě fungoval....než jsem jej začal používat právě v Zabbixu.
Věc se má tak, že Zabbix pošle alert skriptu nazývaným sms-courier a to tímto způsobem:
sms-courier 999000999 "router-plzen" "Host is down"
Přičemž to, co zde výše popisuji je reálný příkaz až na zaměněné tel. číslo. Sms-courier už se jen postará o odeslání přes bránu operátora. Pokud jej provedu na příkazové řádce nebo použiji v jiném skriptu, tak mi smska přijde. Jakmile ale tento (úplně ten samý) příkaz vygeneruje a vykoná Zabbix, nic se nestane.
Přišel jsem na to, že za to tak trochu v sms-courieru může tato řádka:
message=$(echo "$2 : $3" | sed 's/ /%20/g;y/áÁéÉěĚčČďĎíÍóÓňŇřŘšŠťŤůŮúÚýÝžŽ/aAeEeEcCdDiIoOnNrRsStTuUuUyYzZ/')
Výstupem sedu je totiž v tento moment prázdný řetězec, což je přinejmenším divné. Tento příkaz nahrazuje mezery %20 a odstraňuje diakritiku.
Dokáže mi někdo vysvětlit, proč se to děje? Nepřijde mi ani trochu logické, že při nahrazování diakritiky v řetězci, kde žádná není, je výstupem prázdný řetězec (a to pouze pokud příkaz spouští zabbix).
Pokud v sms-courieru krok pro odstranění diakritiky vynechám, tak se sice zpráva odešle, ale pro změnu ji pak někde zahodí operátor. Vypadá to jako by byl řetězec v nějakém divném kódování nebo obsahoval neviditelné znaky.
Zkoušel jsem řetězec před protažením výše zmíněným sedem zpracovat také těmito příkazy:
sed 's/.$//'
sed 's/\r//'
sed 's/[^a-zA-Z]*//g')
tr -d '\a\b\f\n\r\t\v'
Ale bezúspěšně. Vždy mě čeká prázdný řetězec. Dokáže mi někdo poradit?
Předem díky za jakoukoliv myšlenku...
Řešení dotazu:
#! /bin/sh -vzobrazi kazdy prikaz pred spustenim tak, ako by bol spusteny, a
#! /bin/sh -xurobi to iste, ale prikazi sa vypisu po aplikovani aliasov, substitucii a expanzii. Tak je mozne vidiet co sa skutocne spusta.
Sms-courier je napsán pro bash. Používám Debian Lenny, kde je symlink sh>bash, takže v tom problém nebude. Bohužel ten výstup, který to dělá s parametrem -x nebo -v, pokud jej spouští zabbix, vidět nemohu.
Začíná to pro mě být čím dál větší záhada, protože pokud alert "Host is down" pošlu do souboru tímto způsobem:
#!/bin/bash
echo $1 > output
a potom provedu:
#!/bin/bash
sed 'y/áÁéÉěĚčČďĎíÍóÓňŇřŘšŠťŤůŮúÚýÝžŽ/aAeEeEcCdDiIoOnNrRsStTuUuUyYzZ/' output
..tak je výstup v pořádku
ALE pokud to celé udělám v rámci jednoho skriptu, tak je výstup opět prázdný! To je už je mimo mé chápání.
[babjak][~/tmp/bash][21:52:32] cat together.sh #! /usr/local/bin/bash message=$(echo "$2 : $3" | sed 's/ /%20/g') echo "'$message'" [babjak][~/tmp/bash][21:53:03] ./together.sh 999999 "Router-Plzen" "Host is down" 'Router-Plzen%20:%20Host%20is%20down' [babjak][~/tmp/bash][21:53:41]co sa zda byt ok, ale asi som to prilis zjednodusil. Mimochodom, pocas pisania toho skriptu sa mi stalo, ze v prvom prikaze som mal napsane meno premennej "mesage" (chyba jedno s), ale v druhom prikaze uz spravne "message". Tym padom som v druhom prikaze vypisoval nedefinovanu premennu a dostal som ... nic. Nemozes mat aj Ty niekde nejaky blby preklep? Clovek to po sebe jednoducho nevidi, vzdy precita to co tam ma byt, nie to co tam v skutocnosti je.
Ten skript právě funguje, ale pokud do něj parametry předává Zabbix, výstup je prázdný. Pokusím se to demonstrovat, co nejjednoduššejí. Jsem si téměř jist, že nikde nemám chybu, protože to by to pak nefungovalo takto:
#!/bin/bash
phone=$1
host=$2
echo "$phone $host" > /cbin/input
echo "$phone $host" | sed 'y/áÁéÉěĚčČďĎíÍóÓňŇřŘšŠťŤůŮúÚýÝžŽ/aAeEeEcCdDiIoOnNrRsStTuUuUyYzZ/' > /cbin/output
Pokud tento skript zavolám skript 999 router-plzen, tak se do do obou souborů uloží totéž: 999 router-plzen.
Pokud jej zavolá Zabbix, tak je sice v souboru input 999 router-plzen, ale soubor output je prázdný.
To mě ani nenapadlo, ale bohužel to cestou k sedu není. Zadal jsem ji celou a výsledek stejný.
S tím přesměrováním výstupu to byla velmi dobrá myšlenka. Mimochodem nevíte, jak přesměrovat stderr až uvnitř skriptu?
/bin/sed: -e expression #1, char 94: strings for `y' command are different lengths
Což zní zvláštně. Vypadá to, jako kdyby sed v případě, kdy jej spuští zabbix, "neviděl" některá ta písmena s diakritikou, která má nahradit, ale proboha proč...
exec 2>/cbin/output.errpokud byste to chtěl vrátit tak si ještě předtím musíte udělat zálohu:
exec 3>&2 exec 2>/cbin/output.err necodelej exec 2>&3
Díky :)
Mnohem elegantnější než to moje spouštění nového procesu.
Mám to!
export LC_ALL=cs_CZ.UTF-8
Těžko říct, a v tom kódu by se to jen těžko hledalo. Podle mě jej spouští jako jakýkoliv jiný program v terminálu, ale proč nepoužije defaultně nastavenou českou lokalizaci, to nevím.
Mimochodem takto vypadá passwd:
zabbix:x:105:107::/var/run/zabbix-server/:/bin/false
echo "$phone $host" | sed 'y/áÁéÉěĚčČďĎíÍóÓňŇřŘšŠťŤůŮúÚýÝžŽ/aAeEeEcCdDiIoOnNrRsStTuUuUyYzZ/' > /cbin/output 2>/cbin/output.errono na chybovém výstupu občas něco bývá.
Tiskni
Sdílej: