MALUS je kontroverzní proprietarní nástroj, který svým zákazníkům umožňuje nechat AI, která dle tvrzení provozovatelů nikdy neviděla původní zdrojový kód, analyzovat dokumentaci, API a veřejná rozhraní jakéhokoliv open-source projektu a následně úplně od píky vygenerovat funkčně ekvivalentní software, ovšem pod libovolnou licencí.
Příspěvek na blogu Ubuntu upozorňuje na několik zranitelností v rozšíření Linuxu o mandatorní řízení přístupu AppArmor. Společně jsou označovány jako CrackArmor. Objevila je společnost Qualys (technické detaily). Neprivilegovaný lokální uživatel se může stát rootem. Chyba existuje od roku 2017. Doporučuje se okamžitá aktualizace. Problém se týká Ubuntu, Debianu nebo SUSE. Red Hat nebo Fedora pro mandatorní řízení přístupu používají SELinux.
Byla vydána nová verze 19 integrovaného vývojového prostředí (IDE) Qt Creator. Podrobný přehled novinek v changelogu.
Bitwig Studio (Wikipedie) bylo vydáno ve verzi 6. Jedná se o proprietární multiplatformní (macOS, Windows, Linux) digitální pracovní stanici pro práci s audiem (DAW).
Společnost Igalia představila novou linuxovou distribuci (framework) s názvem Moonforge. Jedná se o distribuci určenou pro vestavěné systémy. Vychází z projektů Yocto a OpenEmbedded.
Google Chrome 146 byl prohlášen za stabilní. Nejnovější stabilní verze 146.0.7680.71 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 29 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
D7VK byl vydán ve verzi 1.5. Jedná se o fork DXVK implementující překlad volání Direct3D 3 (novinka), 5, 6 a 7 na Vulkan. DXVK zvládá Direct3D 8, 9, 10 a 11.
Bylo vydáno Eclipse IDE 2026-03 aneb Eclipse 4.39. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.
Ze systému Slavia pojišťovny uniklo přibližně 150 gigabajtů citlivých dat. Jedná se například o pojistné dokumenty, lékařské záznamy nebo přímou komunikaci s klienty. Za únik může chyba dodavatelské společnosti.
Sněmovna propustila do dalšího kola projednávání vládní návrh zákona o digitální ekonomice, který má přinést bezpečnější on-line prostředí. Reaguje na evropské nařízení DSA o digitálních službách a upravuje třeba pravidla pro on-line tržiště nebo sociální sítě a má i víc chránit děti.
echo "datum_a_cas" >> soubor
echo "datum" >> soubor_na_webudo vašeho restarteru. S tím že soubor_na_webu je cesta k souboru na vašem lokálním webserveru. Ale to by zapisovalo spouštění té aplikace a ne její pád...
$allowed_ip="192.168.0.1"; // adresa, ktera muze zapsat
// Pokud je volano "write" z povolene IP zapis do logu jinak zobraz samotny log
if($_GET["write"] and $_SERVER["REMOTE_ADDR"]==$allowed_ip) {
file_put_contents("app.log",date("d.m.y - H:i")."\n",FILE_APPEND)
} else {
echo nl2br(file_get_contents("app.log"));
}
$allowed_ip="moje.ip";
// Pokud je volano "write" z povolene IP zapis do logu jinak
zobraz samotny log
if($_GET["write"] and $_SERVER["REMOTE_ADDR"]==$allowed_ip) {
file_put_contents("app.log",date("d.m.y -
H:i")."\n",FILE_APPEND)
} else {
echo nl2br(file_get_contents("app.log"));
}
Ale co s nim?
Omlouvam se, jsem v mnoha ohledech zacatecnik
#!/bin/sh
# zmena adresare na pracovni
cd /opt/aplikace/bin
# re-starter
start() {
# spoustim aplikaci
aplikaceCoSeRestartuje
# jakmile spadne (coz je prave ted), zapisuju na web
wget -q http://domena.com/applog.php?write=1 -O /dev/null
# volam znovu re-starter
start
}
# volam re-starter
start
V PHP skriptu (viz. vyse) staci zmenit jen povolenou IP (aby ti tam nezapisovali vtipalkove) a snad cestu k souboru s logem..
Tot vse.
nicmene ten postup mam dat misto obsahu obsahu restarteru (timto souborem jsem to drive spoustel spustim) ? Nebo mam proste jen ten postup spustit po prvnim spusteni toho restarteru?
(kvuli nejakemu bufferovani jak se tam pise)
#!/usr/bin/env python
import time, subprocess, os
appdir = '/home/honza'
prg1 = './prvni.py'
prg2 = './druha.py'
logfilename = 'restarty.log'
os.chdir(appdir)
subprocess.Popen(prg1)
time.sleep(2)
fw = file(logfilename, 'a')
while True:
time.sleep(1)
prg2_process = subprocess.Popen(prg2)
prg2_process.wait()
fw.write(time.strftime("%d.%m.%y - %H:%M\n"))
fw.flush()
Tohle změní pracovní adresář, pustí první aplikaci, počká nějakou dobu, a pak stále pouští druhou aplikaci, přičemž časy pádů zaznamenává do souboru v tom formátu jak jsi chtěl. Pro jistotu volám flush() (kvůli bufferování), aby obsah logu byl vždy aktuální.
> přepíše původní soubor
>> připíše na konec
Takže tam zkus místo jednoho > dát dvě >>.
PS: Používej tag PRE pro výpis kódu, logu, ... - je to přehlednější.
.... Ale jdu juknout na ten serial... Nicmene budu prubezne koukat i sem :D - nejsem si jisty, zda toto v tom serialu najdu...
26.02.07 13:19 26.02.07 14:06 26.02.07 14:28 26.02.07 - takto to vypada kdyz ten soubor zobrazim na webu
ale ten soubor pritom ma sam o sobe spravny format - kdyz ho otevru editorem, tak je spravne ve sloupci...
echo vypadalo:
echo "$(date "+%d.%m.%y %H:%M")<br>"
Diky za pomoc
cd /opt/AdresarAplikace/bin&&(./JmenoAplikace&)&&sleep 2&&while sleep 1; do ./JmenoAplikace; echo $(date "+%d.%m.%y %H:%M") >> /srv/www/htdocs/restartlog.php; done
?
- nějaký minimální čas to dá). Jak ale říkám, složité to nebude
, zvládnul bys to i sám. Každopádně, pokud to uděláš Ty, já, nebo někdo jiný, řešit se to bude zde (né e-maily, nebo jinak)!
)
(off topik: Jinak pokud by jsi chtel nejakou tu cokoladku - klidne i cokoladu nebo i vic cokolad, tak shanim pomocnika s linuxem
- pokud by jsi mel chut - treba na tu cokoladu - zajem a cas, tak se mi ozvi na icq
)
#!/bin/sh declare -i LT CT DT declare -i HOD MIN SEC LT=$(date +"%s") while : do sleep 1 ./JmenoAplikace CT=$(date +"%s") DT=$CT-$LT # DT=$CT-$LT+30 # ak sa ma zaokruhlovat na cele minuty LT=$CT SEC=$DT%60 MIN=$DT/60 HOD=$MIN/60 MIN=$MIN%60 STR="$(date "+%d.%m.%y %H:%M") - vydrzel " if [ "$HOD" -gt 0 ]; then STR="$STR $HOD hodin a "; fi STR="$STR $MIN minut bez padu" echo $STR >> /srv/www/htdocs/restartlog.php doneRiešenie by mohlo byť generovanie PHP súboru (a nie len textu) a tie dátumy/rozdiely by sa vygenerovali pomocou php až pri zobrazovaní.
cd /opt/AdresarAplikace/bin&&(./JmenoAplikace&)&&sleep 2&&while sleep 1; do ./JmenoAplikace; echo $(date "+%d.%m.%y %H:%M") >> /srv/www/htdocs/restartlog.php; done ??
me prave prijde, ze to je jine - protoze tam v tom scriptu nevidim treba to cd /opt/..........
Dekuji
#!/bin/sh cd /opt/AdresarAplikace/bin ./JmenoAplikace sleep 2 declare -i LT CT DT declare -i HOD MIN SEC LT=$(date +"%s") while : do sleep 1 ./JmenoDruheAplikace CT=$(date +"%s") DT=$CT-$LT+30 # ak sa ma zaokruhlovat na cele minuty LT=$CT SEC=$DT%60 MIN=$DT/60 HOD=$MIN/60 MIN=$MIN%60 STR="$(date "+%d.%m.%y %H:%M") - vydrzel " if [ "$HOD" -gt 0 ]; then STR="$STR $HOD hodin a "; fi STR="$STR $MIN minut bez padu" echo $STR >> /srv/www/htdocs/restartlog.php done #koniec
#!/usr/bin/python
import mx.DateTime, os, subprocess, time
appdir = '/opt/aplikace/bin'
prg1 = './PrvniAplikace'
prg2 = './PadajiciAplikace'
logfilename = '/srv/www/htdocs/restartlog.php'
def stopky():
old = mx.DateTime.now()
while True:
now = mx.DateTime.now()
diff = now - old
old = now
h_diff = int(diff.hours)
m_diff = diff.second
diff_str = ' - vydrzel %d hod. %d min. bez padu.' %(h_diff, m_diff)
now_str = now.strftime("%d.%m.%y - %H:%M")
yield now_str, diff_str
os.chdir(appdir)
subprocess.Popen(prg1)
time.sleep(2)
fw = file(logfilename, 'a')
for cas, rozdil in stopky():
fw.write(cas + rozdil + '\n')
fw.flush()
time.sleep(1)
prg2_process = subprocess.Popen(prg2)
prg2_process.wait()
Nes:~ # ./mangosstart2
-bash: ./mangosstart2: /usr/bin/python^M: bad interpreter: No such file or directory
Nes:~ #
python a pokud ti odpoví bash: python: command not found., kontaktuj svého správce. Pokud tam je, změň první řádek na
#!/usr/bin/env python
predpokladejme, ze mate na serveru prostredi s php, pak napriklad nejaky takovyto skript ulozte do souboru s priponou php nekam mezi skripty verejne pristupne "z webu"
<?php
$output = shell_exec('grep JMENOPADAVEAPLIKACE /var/log/messages');
echo "<pre>$output</pre>";
?>>
vypis by se dale naporcoval podle predstav ...
mohlo by se stat, ze to i bude fungovat, ma to nekolik predpokladu:
- vas webovy server (asi apache) bezi s pravy uzivatele, ktery muze cist /var/log/messages
- grep lezi nekde, kde to shell_exec prohledava
- nasly by se i dalsi
Tiskni
Sdílej: