Od soboty do úterý probíhá v Hamburku konference 39C3 (Chaos Communication Congress) věnovaná také počítačové bezpečnosti nebo hardwaru. Program (jiná verze) slibuje řadu zajímavých přednášek. Streamy a záznamy budou k dispozici na media.ccc.de.
Byl představen nový Xserver Phoenix, kompletně od nuly vyvíjený v programovacím jazyce Zig. Projekt Phoenix si klade za cíl být moderní alternativou k X.Org serveru.
XLibre Xserver byl 21. prosince vydán ve verzi 25.1.0, 'winter solstice release'. Od založení tohoto forku X.Org serveru se jedná o vůbec první novou minor verzi (inkrementovalo se to druhé číslo v číselném kódu verze).
Wayback byl vydán ve verzi 0.3. Wayback je "tak akorát Waylandu, aby fungoval Xwayland". Jedná se o kompatibilní vrstvu umožňující běh plnohodnotných X11 desktopových prostředí s využitím komponent z Waylandu. Cílem je nakonec nahradit klasický server X.Org, a tím snížit zátěž údržby aplikací X11.
Byla vydána verze 4.0.0 programovacího jazyka Ruby (Wikipedie). S Ruby Box a ZJIT. Ruby lze vyzkoušet na webové stránce TryRuby. U příležitosti 30. narozenin, první veřejná verze Ruby 0.95 byla oznámena 21. prosince 1995, proběhl redesign webových stránek.
Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.
Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.
Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.
Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.
Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.
Odkazy
Syslog-NG je nástroj na centralizovanú správu logov. Logy môžu pochádzať z rôznych zdrojov(source) - zariadenie, súbor, vzdialený stroj vysielajúci UDP packety na určitom porte … Podľa konfigurácie sa správy zo zdrojov posielajú do zvolených cieľov(destination).
Vzťahy medzi zdrojmi a cieľmi majú kardinalitu M:N tj. jeden cieľ môže mať viacej zdrojov a zároveň jeden zdroj môže byť priradený viacerým cieľom. Vzťah sa vyjadruje v konfiguračnom súbore Syslog-NG príkazom log. Voliteľne môže byť pri definícii vzťahu použité filtre (príkaz filter).
Konfiguračný súbor Syslog-NG sa obyčajne nachádza na adrese /etc/syslog-ng/syslog-ng.conf. Obvykle obsahuje direktívu options ovplyvňujúcu správanie Syslog-NG. Štandardné nastavenia sú pre väčšinu prípadov postačujúce. Ja používam nasledujúce nastavenia:
options {
# jednoduchý formát hostname
chain_hostnames(no);
# vypnutie logovania STATS, štandardne je čas nastavený na 10 minút
stats_freq(0);
# vypnutie logovania MARK
mark_freq(0);
};
Zdroje logov sa v konfiguračnom súbore zapisujú direktívou source. Nasledujúci kód nastavuje ako interný (lokálny) zdroj unixový socket /dev/log. Spravovať logy je samozrejme možné aj z viacerých zdrojov súčasne napr. z UDP portu pre spracovanie logov z routra.
source src {
unix-stream("/dev/log" max-connections(256));
internal();
file("/proc/kmsg");
};
# Sieťový zdroj logov napr. router
# source src_router { udp(); };
Ciele sú nastavené direktívou destination. Cieľom môže byť súbor, zariadenie, port … Nasledujúce nastavenia sú ukážkou cieľov pre logovanie:
destination d_cron { file("/var/log/crond.log"); };
destination d_kernel { file("/var/log/kernel.log"); };
destination d_messages { file("/var/log/messages.log"); };
destination d_errors { file("/var/log/errors.log"); };
Aby sme mohli logy roztriediť do rôznych cieľov musíme definovať pravidlá, na základe ktorých budú správy triedené. Tie sa zapisujú kľúčovým slovom filter. V nasledujúcom príklade je použitých niekoľko spôsobov definície filtrov a ich kombinácie.
# Filtrovanie správ obsahujúcich IN= a OUT=
filter f_iptables { match("IN=" value("MESSAGE")) and match("OUT=" value("MESSAGE")); };
# Správy pochádzajúce od cronu
filter f_cron { facility(cron); };
# Správy pochádzajúce od kernelu, ale nepochádzajú od iptables
filter f_kernel { facility(kern) and not filter(f_iptables); };
# Správy úrovne info - varovanie nepochádzajúce od cronu ani od iptables
filter f_messages { level(info..warn) and not facility(cron) and not program(/usr/sbin/cron) and not filter(f_iptables); };
# Varovania až kritické správy
filter f_warn { level(warn); };
filter f_crit { level(crit); };
filter f_err { level(err); };
filter f_emergency { level(emerg); };
Po nastavení zdrojov a filtrov môžme konečne prejsť k prepojeniu zdrojov s cieľmi. To dosiahneme použitím direktívy log.
log { source(src); filter(f_cron); destination(d_cron); };
log { source(src); filter(f_kernel); destination(d_kernel); };
log { source(src); filter(f_messages); destination(d_messages); };
log { source(src); filter(f_warn); destination(d_errors); };
log { source(src); filter(f_crit); destination(d_errors); };
log { source(src); filter(f_err); destination(d_errors); };
log { source(src); filter(f_emergency); destination(d_errors); };
Po úspešnej konfigurácii logovania do súborov môžme nakonfigurovať zobrazovanie logov na samostatnej konzole. Táto funkcia príde vhod v prípade, že často pracujete v konzole, alebo máte KMS, takže prepínanie z X do konzoly je veľmi rýchle. Konfiguráciu začneme deklaráciou cieľa.
destination console_all { file("/dev/tty12"); };
Voliteľne môžme definovať filter pre odstránenie správ, ktoré nie sú zaujímavé. Napríklad pre odstránenie cronu je možné použiť nasledujúci príkaz:
# Správy určené pre konzolu (všetko okrem cron-u)
filter f_console_all { not facility(cron) and not program(/usr/sbin/cron); };
Následne stačí už len prepojiť zdroj a cieľ a to nasledujúcim kódom:
# s použitím filtra
log { source(src); filter(f_console_all); destination(console_all); };
# bez použitia filtra
# log { source(src); destination(console_all); };
Po reštarte Syslog-NG by sa mali na 12. konzole (CTRL + ALT + F12) začať objavovať logy.
Program grcat sa obvykle nachádza v balíku grc. Tento program pochádza zo Slovenska, čo je mimochodom patrné aj z jeho názvu
. Jeho úlohou je čítať štandardný vstup a na štandardný výstup vypisovať pôvodný vstup ofarbený ANSII sekvenciami. Jediným parametrom programu je konfiguračný súbor (konfiguračné súbory sa vyhľadávajú obyčajne v adresári /usr/share/grc).
Pre použitie grcat na ofarbenie logov na tty12 stačí vymeniť nastavenie destination pre console_all za nasledujúci kód a po reštarte Syslog-NG sa môžme kochať farebnými výpismi
destination console_all { program("grcat conf.log gt; /dev/tty12"); };
Supercat a grc sú veľmi podobné projekty. Hlavný rozdiel medzi týmito nástrojmi je v použitom programovacom jazyku - grc je v pythone zatiaľ čo supercat v C. Pre mnohých ľudí môže byť práve výber jazyka prekážkou v nasadení.
Konfiguračné súbory grc a supercat sú medzi sebou navzájom nekompatibilné. Zatiaľ čo grc sa dodáva s konfiguračným súborom pre logy u supercat-u si musíme tento súbor vytvoriť. Ja som napísal jednoduchú konfiguráciu podobnú tej, ktorú používa grc:
HTML COLOR NAME COL A N T STRING or REGULAR EXPRESSION
#################### ### # # # ################################################################
Magenta mag b ([0-9]{1,3}(\.[0-9]{1,3}){3})
Yellow yel b (`[^'`]*')
Yellow yel b s WARNING
Green grn b [[:space:]](/[^[:space:]&|;(){}]*)
Green grn 1 (\([^)]*\))
Green grn (^...[ ]*[0-9]{1,2} [0-9]{2}:[0-9]{2}:[0-9]{2} )
Brown yel ^...[ ]*[0-9]{1,2} [0-9]{2}:[0-9]{2}:[0-9]{2} (\w*)
Red red b ^...[ ]*[0-9]{1,2} [0-9]{2}:[0-9]{2}:[0-9]{2} \w* ([^ ]*):
Blue blu b ^...[ ]*[0-9]{1,2} [0-9]{2}:[0-9]{2}:[0-9]{2} \w* [^ \[]*(\[\w*\])
Tento súbor je možné uložiť napr. ako /etc/supercat/syslog. Zodpovedajúci príkaz destination v syslog-ng.conf bude vyzerať nasledovne:
destination console_all { program("spc -c /etc/supercat/syslog > /dev/tty12"); };
Po dokončení konfigurácie by sme mali mať na 12. konzole pekne ofarbené výpisy ako v prípade použitia grc.
Nástroje ako supercat a grc nám samozrejme nič nebráni používať aj pri parsovaní logovacích súborov. Na zobrazovanie výpisov v reálnom čase sa dajú kombinovať s príkazom tailf napr.
tailf /var/log/messages|spc -c /etc/supercat/syslog
Tiskni
Sdílej:

Mohol som ho pomenovať aj podľa iného v česku obľúbeného nápoja, ale dnešná mládež bez základov chémie netuší čo je metanol
sys-apps/udevil), automount mi funguje i bez *kitu a jinych sracek :)