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.
cd /root/capture
for f in `ls *.cfile | sort`; do
rm "$f"
perc=`df -H / | grep linuxroot | tr -s " " | cut -d " " -f 5 | tr -d "%"`
if [ "$perc" -le 90 ]; then
break
fi
done
for f in `ls -rt *`; do
# výpis adresare v reverzním času
perc=`du -s | cut -f 1`
# perc je velikost adresáře
if [ "$perc" -le 100000000 ]; then
# je-li mensi nez 100G tak skoncit cyklus
break
fi
rm "$f"
# smazu nestarsi a pokracuji v cyklu
done
perc je velikost adresářeAch jo...
Spíš bych doporučil
ls -1rt | while read f; do
...
done
nebo
while read f; do done < <(ls -1rt)
aby se to nerozsypalo při mezeře ve jméno soubotu (která je bohužel celkem běžná), ale až při newline (což naštěstí až tak běžné není).
A taky bych asi nepouštěl du na celý adresář v každé iteraci, ale odečítal velikosti (podle du) mazaných souborů. Pokud tam jsou hardlinky, tak to sice nevyjde správně, ale to by se dalo ošetřit tak, že vnořím dva cykly do sebe, ve vnějším budu kontrolovat celý adresář a ve vnitřním jen počítat velikosti mazaných souborů.
find . -type f -a -size +1000 -a -size -1100 -printf '%T@ %s %p\n' | sort -n -k2 -r | awk -v maxsize=8887776 '{size+=$2}; size > maxsize{print $3}'
S tím je možné nastavit i další užitečné věci, jako třeba mazání jen souborů určité velikosti, nebo jen do určité hloubky, prostě vše co find nabízí. -- Další rouru a xargs rm nebo while už si každý doplní sám; uvedený příkaz jen generuje list. Já bych to nejspíš udělal ještě tak, aby to zanechalo třeba prázdný soubor s příponou del, pokud bych to mazal někomu jinému.
pokud nechají expandovat seznam o tisíci položkách v argumentu příkazu for, tak bude mít shell co dělat
Pokud se nebavíme o nějakém extrémně slabém stroji, tak s tisícem položek bash rozhodně problém mít nebude. Pro jistotu jsem zkusil porovnat rychlost
for f in *; do echo "$f"; done >/dev/null ls | while read f; do echo "$f"; done >/dev/nullv adresáři s 10000 soubory (kvůli potlačení nesouvisejících vlivů na tmpfs). U prvního příkazu vycházelo průměrně 59 ms, u druhého 119 ms. I pro 100000 souborů vycházejí obě čísla přibližně desetkrát vyšší, takže poměr je pořád stejný.
find . -type f -a -size +100M -printf '%T@ %s %p\0' | sort -z -r -n -k1 | awk -v RS="\0" -v maxsize=1300000000 '{size+=$2}; size > maxsize{$1="";$2="";system("echo \047"$0"\047")}'
One-liner tedy začne odstranňovat (nyní jen vytiskne) soubory z aktuálního adresáře při zaplnění adresáře soubory o velikosti nad 1.3G. Odstraňovat se budou jen soubory > 100M. \047 jsou apostrofy, které mají chránit argument před expanzí shellu (snad to funguje).
...;$2="";sub(/* /,""); printf "%s\0", $0}' | xargs -0 echotakto se spustí echo (tedy rm) jen jednou a bez shellu a všechny znaky jsou brány jako obyčejné (už žádné metaznaky není třeba ošetřovat).
Tiskni
Sdílej: