FFmpeg nechal kvůli porušení autorských práv odstranit z GitHubu jeden z repozitářů patřících čínské technologické firmě Rockchip. Důvodem bylo porušení LGPL ze strany Rockchipu. Rockchip byl FFmpegem na porušování LGPL upozorněn již téměř před dvěma roky.
K dispozici je nový CLI nástroj witr sloužící k analýze běžících procesů. Název je zkratkou slov why-is-this-running, 'proč tohle běží'. Klade si za cíl v 'jediném, lidsky čitelném, výstupu vysvětlit odkud daný spuštěný proces pochází, jak byl spuštěn a jaký řetězec systémů je zodpovědný za to, že tento proces právě teď běží'. Witr je napsán v jazyce Go.
Yazi je správce souborů běžící v terminálu. Napsán je v programovacím jazyce Rust. Podporuje asynchronní I/O operace. Vydán byl v nové verzi 25.12.29. Instalovat jej lze také ze Snapcraftu.
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.
wget nejaka.url.cz/adresar/soubor -N
Tento prikaz soubor stahne pouze v pripade ze soubor na serveru je novejsi nez soubor ulozeny na lokalu.
Pokud je soubor na serveru starsi nez soubor na lokalnim disku, tak server vrati:
HTTP request sent, awaiting response... 200 OK
Length: 2,776 (2.7K) [text/plain]
Server file no newer than local file `vgdwww' -- not retrieving.
Ja potrebuji, aby se v pripade stazeni souboru spustily dalsi prikazy.
Pokud se soubor nestahne (prikaz wget vrati not retrieving) chci, aby se skript ukoncil
Takze treba vygrepuji slovicko not, ulozim ho do promenne a dale pak udelam podminku, ktera pokud se promenna bude rovnat not, skript ukonci. A pokud se promenna not rovnat nebude provede zbytek skriptu.
Soubor je seznam povolenych domen pro squidguard.
Timto skriptem chci zajistit to, ze kdyz zaktualizuji soubor na hlavnim serveru, dojde po spusteni skriptu na vzdalenych serverech ke stazeni noveho souboru s povolenymi domenami a k atualizaci databaze squidguardu.
Vim, ze reseni musi byt celkem trivialni, ale i tak pro mne vase rady budou znamenat znacne usetreni casu.
Predem diky moc.
#!/bin/sh
wget nejaka.url.cz/adresar/soubor -N
if [ $? -gt 0 ]; then
...nepovedlo se stahnout...
exit 1
else
...povedlo se stahnout, dalsi prikazy...
fiNeboli nemusis grepovat hodnotu not apod., $? vraci navratovou hodnotu posledniho prikazu.
#! /bin/sh wget nejaka.url.cz/adresar/soubor -N || exit 1 #...povedlo se stahnout, dalsi prikazy...
... if [ `wget .... -N | grep not | wc -l` -ge 1 ]; then ... else ... fiakurat je to asi zbytocne a viac nachylne na chyby (akoze bude not v ceste stahovaneho suboru) ako pasmenove riesenie
wget nejaka.url.cz/adresar/soubor -N | grep not
Nevraci vubec nic. :(
#!/bin/bash
wget wget nejaka.url.cz/adresar/soubor -N
echo $?
A at uz se soubor stahl nebo ne, tak navratova hodnota byla vzdy 0.
stat -c %Y zjistit čas poslední modifikace souboru před stahováním a po něm a ta dvě čísla porovnat..?
mtime="$(wget -S --delete-after nejaka.url.cz/adresar/soubor 2>&1 | sed -n 's|^.*Last-Modified:\ \(.*\)$|\1|p')"tento mozes porovnat s casom poslednej modifikacie lokalneho suboru a rozhodnut sa, co ho stiahnut alebo nie a ten
grep not sa mi vobec nepozdava, radsej si nastav nejaku (boolean) premennu a rozhoduj podla nej (tato moze byt zaroven aj return value)
#!/bin/bash
#tady zjitim casovou znacku souboru na serveru
stime="$(wget -S --delete-after nejaka.url.cz/adresar/soubor 2>&1 | sed -n 's|^.*Last-Modified:\ \(.*\)$|\1|p')"
#tady ji konvertuji do pouzitelnejsiho formatu
stimec="$( date -u --date "$stime" +%s)"
#otestuji existenci souboru na lokalu a pripadne zjistim jeho casovou znacku nebo ho stahnu
test -e soubor
if [ $? -eq 0 ]; then
ltime="$(stat -t soubor|awk '{print $13}')"
else
echo 'soubor neexistuje'
echo 'stahuji novy soubor'
wget nejaka.url.cz/adresar/soubor -q
exit
fi
#Jen tak pro kontrolu si vypisu promenne
echo $stime
echo $stimec
echo $ltime
#Pokud je soubor na serveru novejsi nez ten na lokale, puvodni smazu a stahnu novy soubor
if [ $stimec -gt $ltime ]; then
echo 'soubor na serveru je starsi'
echo 'mazu puvodni soubor'
rm -f soubor
echo 'Stahuji novou verzi'
wget nejaka.url.cz/adresar/soubor -q
else
echo 'no need to update'
fi
Dal sem se zatim nedostal, ted potrebuji jeste nejak inteligentne vyresit spusteni prikazu:
squidGuard -C soubor
a restart pripadne reload squidu
/etc/init.d/squid restart
Tyto dva prikazy se budou provadet v pripade platnosti jak prvni tak i druhe podminky.
Uvital byc hradu ja kto udealt, tak abych nemusel tyto prikazy psat do kazde podminky zvlast.
Vsem moc diky za radu.
Tiskni
Sdílej: