Na YouTube je k dispozici videozáznam z včerejšího Czech Open Source Policy Forum 2024.
Fossil (Wikipedie) byl vydán ve verzi 2.24. Jedná se o distribuovaný systém správy verzí propojený se správou chyb, wiki stránek a blogů s integrovaným webovým rozhraním. Vše běží z jednoho jediného spustitelného souboru a uloženo je v SQLite databázi.
Byla vydána nová stabilní verze 6.7 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 124. Přehled novinek i s náhledy v příspěvku na blogu. Vypíchnout lze Spořič paměti (Memory Saver) automaticky hibernující karty, které nebyly nějakou dobu používány nebo vylepšené Odběry (Feed Reader).
OpenJS Foundation, oficiální projekt konsorcia Linux Foundation, oznámila vydání verze 22 otevřeného multiplatformního prostředí pro vývoj a běh síťových aplikací napsaných v JavaScriptu Node.js (Wikipedie). V říjnu se verze 22 stane novou aktivní LTS verzí. Podpora je plánována do dubna 2027.
Byla vydána verze 8.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu. Zdůrazněn je průvodce migrací hostů z VMware ESXi do Proxmoxu.
R (Wikipedie), programovací jazyk a prostředí určené pro statistickou analýzu dat a jejich grafické zobrazení, bylo vydáno ve verzi 4.4.0. Její kódové jméno je Puppy Cup.
IBM kupuje společnost HashiCorp (Terraform, Packer, Vault, Boundary, Consul, Nomad, Waypoint, Vagrant, …) za 6,4 miliardy dolarů, tj. 35 dolarů za akcii.
Byl vydán TrueNAS SCALE 24.04 “Dragonfish”. Přehled novinek této open source storage platformy postavené na Debianu v poznámkách k vydání.
Oznámeny byly nové Raspberry Pi Compute Module 4S. Vedle původní 1 GB varianty jsou nově k dispozici také varianty s 2 GB, 4 GB a 8 GB paměti. Compute Modules 4S mají na rozdíl od Compute Module 4 tvar a velikost Compute Module 3+ a předchozích. Lze tak provést snadný upgrade.
Po roce vývoje od vydání verze 1.24.0 byla vydána nová stabilní verze 1.26.0 webového serveru a reverzní proxy nginx (Wikipedie). Nová verze přináší řadu novinek. Podrobný přehled v souboru CHANGES-1.26.
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: