Byla vydána (𝕏) nová verze 24.7 open source firewallové a routovací platformy OPNsense (Wikipedie). Jedná se o fork pfSense postavený na FreeBSD. Kódový název OPNsense 24.7 je Thriving Tiger. Přehled novinek v příspěvku na fóru.
Binarly REsearch upozorňuje na bezpečnostní problém PKFail (YouTube) v ekosystému UEFI. Stovky modelů zařízení používají pro Secure Boot testovací Platform Key vygenerovaný American Megatrends International (AMI) a jeho privátní část byla při úniku dat prozrazena. Do milionů zařízení (seznam v pdf) po celém světě tak útočníci mohou do Secure Bootu vložit podepsaný malware. Otestovat firmware si lze na stránce pk.fail. Ukázka PoC na Linuxu na Windows na YouTube.
Mobilní operační systém /e/OS (Wikipedie) založený na Androidu / LineageOS, ale bez aplikací a služeb od Googlu, byl vydán ve verzi 2.2 (Mastodon, 𝕏). Přehled novinek na GitLabu. Vypíchnuta je rodičovská kontrola.
Společnost OpenAI představila vyhledávač SearchGPT propojující OpenAI modely umělé inteligence a informace z webů v reálném čase. Zatím jako prototyp pro vybrané uživatele. Zapsat se lze do pořadníku čekatelů.
Distribuce Linux Mint 22 „Wilma“ byla vydána. Je založená na Ubuntu 24.04 LTS, ale s desktopovým prostředím Cinnamon (aktuálně verze 6.2), příp. MATE nebo Xfce, balíkem aplikací XApp, integrací balíčků Flatpak a dalšími změnami. Více v přehledu novinek a poznámkách k vydání.
Příspěvek na blogu Truffle Security: Kdokoli může přistupovat ke smazaným a privátním repozitářům na GitHubu.
Byla vydána nová verze 14 integrovaného vývojového prostředí (IDE) Qt Creator. Podrobný přehled novinek v cgitu. Vypíchnout lze podporu rozšíření v Lua.
Byla vydána verze 1.80.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Apple oznámil, že v beta verzi spustil své Apple Maps na webu. Podporován je také webový prohlížeč Chrome. Ne však na Linuxu.
Portál Stack Overflow po roce opět vyzpovídal své uživatele, jedná se především o vývojáře softwaru, a zveřejnil detailní výsledky průzkumu. Průzkumu se letos zúčastnilo více než 65 tisíc vývojářů. Z Česka jich bylo 710. Ze Slovenska 246.
du /home/finn/ | sort | head
Schválně jsem vynechal parametry všech příkazů a omáčku okolo, abys to neměl až tak snadné (chceš se přeci něco nového naučit, že?).
usage: du.py [options] [-d DIR] where directory will be searched for largest subdirectory options: --version show program's version number and exit -h, --help show this help message and exit -d DIR directory (default is current)Za parametr "-d" se píše název adresáře, který se má prohledávat (defaultně se bere ten aktuální). V něm najde podadresář, který zabírá nejvíc a pokud existuje, tak vypíše jeho název a velikost.
#!/usr/bin/env python import os, sys from optparse import OptionParser def getdirsize(base): size = 0 for root, dirs, files in os.walk(base): for file in files: filepath = os.path.join(root, file) if os.path.islink(filepath): continue size = size + os.path.getsize(filepath) return size usage = "usage: %prog [options] [-d DIR]\n\ where directory will be searched for largest subdirectory" parser = OptionParser(usage, version="%prog version 0.1") parser.add_option("-d", action = "store", type = "string", default = os.getcwd(), dest="dir", help="directory (default is current)") (options, args) = parser.parse_args() if not os.path.isdir(options.dir): print "Sorry, %s is not a valid directory" %options.dir sys.exit(-1) size_max = -1 for directory in os.listdir(options.dir): dir_fullpath = os.path.join(options.dir, directory) if not os.path.isdir(dir_fullpath): continue size = getdirsize(dir_fullpath) if size > size_max: size_max = size dir_max = directory if size_max != -1: print 'Directory "%s" contains largest subdirectory\n\ "%s", with size of %d bytes.'%(options.dir, dir_max, size_max) else: print 'Directory "%s" does not contain any subdirectory' %options.dir
find . -maxdepth 0 -type d -print0 | xargs -0 du | sort -k 1 -g | tail -n 10ale opravdu celý program napsaný od začátku až do konce, který má help, optiony, jakous takous kontrolu chyb a aspoň trochu se snaží komunikovat s uživatelem. Uvidíte, že oněch "pět řádků" spotřebujete jen na výpisy výsledků.
du -s * | sort -n -r | headPřípadně zapnout
shopt -s dotglob
pro skryté adresáře.
$ du -s * du: invalid option -- du: invalid option -- o du: invalid option -- u du: invalid option -- e du: invalid option -- n du: invalid option -- t du: invalid option -- r du: invalid option -- n du: invalid option -- i du: invalid option -- du: invalid option -- f du: invalid option -- i du: invalid option -- yAsi mám v názvech souborů mezery ...
du -s -- *
Tak mě ale napadlo, že velmi zlomyslný učitel by mohl chtít
find -type d -print0 | xargs -0 du -Ss -- | sort -n -r | headOsobně bych si vyžádal upřesnění pojmu soubory v adresáři
$ du --version du (GNU coreutils) 5.3.0 Written by Torbjorn Granlund, David MacKenzie, Paul Eggert, and Jim Meyering. Copyright (C) 2005 Free Software Foundation, Inc. Toto je volné programové vybavení; podmínky pro kopírování a rozšiřování naleznete ve zdrojových textech. Toto programové vybavení je zcela BEZ ZÁRUKY, a to i bez záruky PRODEJNOSTI nebo VHODNOSTI PRO NĚJAKÝ KONKRÉTNÍ ÚČEL.
bash
při expanzi problém s mezerama, tak by to bylo dost smutné. Problém má du
s argumentem začínajícím na pomlčku.
find -maxdepth 1 -mindepth 1 -type d -print0 | xargs -0 du -s -- | sort -nr | headnebo
find -type d -print0 | xargs -0 du -sS -- | sort -nr | headPodle toho co se myslí pojmem soubory v adresáři, případně první případ bez -maxdepth nebo -mindepth podle toho co tím zadáním chtěl vlastně básník říct.
Tiskni
Sdílej: