Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 4.5.0. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.
Byl vydán Mozilla Firefox 138.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 138 je již k dispozici také na Flathubu a Snapcraftu.
Šestnáctý ročník ne-konference jOpenSpace se koná 3. – 5. října 2025 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytvářejí všichni účastníci, se skládá z desetiminutových
… více »Richard Stallman přednáší ve středu 7. května od 16:30 na Technické univerzitě v Liberci o vlivu technologií na svobodu. Přednáška je určená jak odborné tak laické veřejnosti.
Jean-Baptiste Mardelle se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 25.04.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.
TmuxAI (GitHub) je AI asistent pro práci v terminálu. Vyžaduje účet na OpenRouter.
Byla vydána nová verze R14.1.4 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5, Wikipedie). Přehled novinek i s náhledy v poznámkách k vydání. Podrobný přehled v Changelogu.
Bylo vydáno OpenBSD 7.7. Opět bez písničky.
V Tiraně proběhl letošní Linux App Summit (LAS) (Mastodon). Zatím nesestříhané videozáznamy přednášek jsou k dispozici na YouTube.
* označuje popis $ označuje SHELL / označení pro dodatkové informace ------------------ Jelikož jsem se snažil zapísnik nějak utřídit, tak : NAZEV SEKCE takto je označena sekce. ------------------ Není to ovšem roztříděno zcela dokonale. Proč také? ---cut--- označuje, kde "říznout", používám pro krátké scripty
---------------------------------------------------------------------------- : CVS ---------------------------------------------------------------------------- * Zalozeni noveho repozitare $ cvs -d/cesta/k/cvsroot init * Zalozeni noveho modulu$ cvs -d/cesta/k/cvsroot import -m"Initial import." SOCRATES INITIAL ---------------------------------------------------------------------------- : MASTER BOOT RECORD ---------------------------------------------------------------------------- * Zalohovani MBR $ dd if=/dev/hda of=mbr.backup bs=512 count=1 * Obnoveni CELEHO MBR ze zalohy $ dd of=/dev/hda if=mbr.backup bs=512 count=1 * Obnoveni MBR, ale BEZ ZMEN PARTISEN $ dd of=/dev/hda if=mbr.backup bs=1 count=446 / 446 byty = bootloader / 4x16 byty (64 bytu) = partition table / 2 byty = boot record signature ---------------------------------------------------------------------------- : SSH ---------------------------------------------------------------------------- * Vypis otisku $ ls /etc/ssh/*.pub | xargs -n 1 ssh-keygen -l -f * Vyuziti klicu k prihlasovani $ ssh-keygen -t dsa $ scp ~/.ssh/id_dsa.pub username@server:~/ $ ssh username@server "cat ~/id_dsa.pub >> ~/.ssh/authorized_keys" $ rm ~/id_dsa.pub * Trik s tarem: poslat na remote host $ tar cf - myfiles | ssh remotehost " ( cd /destination/path ; tar xf - ) " * ziskat z remotehost $ ssh remotehost "( cd /source/path; tar cf - desiredfiles ) " | tar xf - * Trik s tarem, ale skrz nekolik masin: poslat ("rh" == remotehost) $ tar cf - myfiles | ssh rh1 " ssh rh2 \" ( cd /dest/path ; tar xf - ) \" " * ziskat $ ssh rh1 " ssh rh2 \"( cd /src/path; tar cf - desfiles ) \" " | tar xf - * SSH forvarding portu na localu $ ssh -N -L9090:localhost:80 localhost ---------------------------------------------------------------------------- : GS ---------------------------------------------------------------------------- * Prevod PS do jineho formatu $ gs -sDEVICE=jpeg -g500x500 -r40x40 -dBATCH -dNOPAUSE \ -sOutputFile=soubor.jpg soubor.ps * Prevod PS do PDF $ gs -sDEVICE=pdfwrite -dBATCH -dNOPAUSE -sOutputFile=soubor.pdf soubor.ps * Prevod ISO-8859-2 do PS $ a2ps --column=1 --portrait --no-header --borders=no -P display \ --encoding=latin2 -o vystup.ps vstup.txt * Prevod vsech souboru v adresari $ for i in *; do \ a2ps --column=1 --portrait --no-header --borders=no -P display \ --encoding=latin2 \ -o `basename $i txt`ps $i; \ done ---------------------------------------------------------------------------- : PSTOOLS ---------------------------------------------------------------------------- * Otoceni vzhuru nohama $ pstops '0U(1w,1h)' in.ps > out.ps ---------------------------------------------------------------------------- : FIND ---------------------------------------------------------------------------- * Vyuziti 'find' na spusteni akce; do '{}' prijde nazev nalezeneho souboru $ find cesta -name regex -exec program parametry {} \; * Prava na soubory $ chmod 664 `find * -type f -print0` $ find -type f -print0 | xargs -0 chmod 0664 * Prava na adresare $ chmod 775 `find * -type d -print0` $ find -type d -print0 | xargs -0 chmod 0775 * Smazani souboru, pokud jich je priliz mnoho $ find . | grep 'filtr_souboru' | xargs rm -f * Zjisteni souhrnne velikosti vsech podadresaru v adresar $ find . -maxdepth 1 -type d -print | xargs du -sk | sort -rn * Velka na mala pismena a na velka $ find . | perl -nle 'rename $_, lc' $ find . | perl -nle 'rename $_, uc' ---------------------------------------------------------------------------- : BASH ---------------------------------------------------------------------------- * Odecteni dvou ASCII hodnot $ num=$(( 64#Z - 64#Z )) ; echo $num $ num=$(( 48#z - 48#a )) ; echo $num * Cykly, priklady vypisi cisla od 1 do 10 $ for (( i=1; i <= 10; i++ )); do echo $i; done $ for i in `seq 1 10`; do echo $i; done $ i=1; stop=11; while [ "$i" != "$stop" ]; do echo "$i"; i=$(($i+1)); done * Nahrada prikazu 'ls' $ for A in *; do printf "$A\n"; done * Automaticky renice (ve scriptech) $ renice +15 -p $$ >/dev/null 2>&1 * Trocha aritmetiky $ echo $(echo scale=2\; 100/5 | bc) * Ruzna nastaveni podle terminalu ---cut--- i=`tty` case "$i" in "/dev/tty1") setterm parametry -store;; "/dev/tty2") setterm parametry -store;; "/dev/tty3") setterm parametry -store;; esac ---cut--- * Zjisteni hodnoty packet loss pomoci pingu a echa pouze $ pl=$(ping -q -c 3 localhost) ; pl=${pl#*,*, } ; echo ${pl%%%*} * Funkce, ktera zjisti, zda je retezec IP adresou ci nikoliv ---cut--- isip() { case "$*" in ""|*[!0-9.]*|*[!0-9]) return 1 ;; esac local IFS=. set -- $* [ $# -eq 4 ] && [ ${1:-666} -le 255 ] && [ ${2:-666} -le 255 ] && [ ${3:-666} -le 255 ] && [ ${4:-666} -le 254 ] } ---cut--- * Zjisteni basename souboru (odstraneni cele cesty) $ basename () { local path="${1##*/}" ; echo ${path%${2}}; } * Funkce: soubor se spusti, pokud ma spustitelny atribut $ eix () { [ -x $1 ] && "$@" & } * Nahrada za `echo "ahoj" | sed 's/a/A/'` (vypise "Ahoj") $ S="ahoj";S="${S//a/A}";echo $S ---------------------------------------------------------------------------- : PERL ---------------------------------------------------------------------------- * Instalace novych modulu (napr. Date::Parse) $ su root -c 'perl -MCPAN -e shell' cpan> install Date::Parse cpan> exit ---------------------------------------------------------------------------- : IPTABLES ---------------------------------------------------------------------------- * Totalni vycisteni pravidel ---cut--- #!/bin/sh /sbin/iptables -F /sbin/iptables -X /sbin/iptables -t nat -F cat /proc/ip_tables_names | while read $table do /sbin/iptables -t $table -F /sbin/iptables -t $table -X done ---cut--- ---------------------------------------------------------------------------- : TAR ---------------------------------------------------------------------------- * Rozbaleni .bz2 archivu $ tar -xjf archiv.tar.bz2 * Zabaleni adresare do .tar.gz $ tar czvf adresar.tar.gz adresar * Rozbaleni adresare.tar.gz $ tar xzvf adresar.tar.gz * Uklizeni po rozbaleni spatneho balicku $ rm `tar ftz jmeno_balicku.tar.gz` ---------------------------------------------------------------------------- : DIFF ---------------------------------------------------------------------------- * Ruzna pouzifi prikazu "diff" $ diff -u puvodni_soubor novy_soubor > patch $ diff -ru puvodni_strom/ novy_strom/ > patch $ diff -ruN puvodni_strom/ novy_strom_s_novymi_soubory/ > patch ---------------------------------------------------------------------------- : RUZNE ---------------------------------------------------------------------------- * "Executable" bit jen pro adresare, vse pro cteni pro vsechny $ chmod -R a+rX * Alternativa k "tail -f soubor" $ less +F soubor * Zapnuti numlocku ($tty je tty1-N) $ setleds -D +num < $tty & * Hodnota CPU load $ echo "CPU Load is `ps -eao \"pcpu\" | awk '{a+=$1} END {print a}'`." * Hodnota MEM load $ echo "MEM Load is `ps -eao \"pmem\" | awk '{a+=$1} END {print a}'`." * Vypsani vsech uzivatelu s UID>500&&<1010 $ awk -F: '{if($3>500&&$3<1010)print$1}' /etc/passwd * Vypsani jednoduche napovedy k prikazum v adresari /bin $ ls -1 /bin | xargs -l1 whatis 2>/dev/null | grep -v "nothing appropriate" * Generator nahodneho retezce z predem daneho rozsahu znaku (hexa, hesla apod.) $ tr -dc '1234567890abcedf' < /dev/urandom | head -c 9 * Odmazani vseho za poslednim znakem "/" vcetne (takze zbude a/b) $ echo "a/b/c" | sed -e "s/\(.*\)\/[^\/]*/\1/" * Odmazani vseho za poslednim znakem "/" (takze zbude a/b/) $ echo "a/b/c" | sed -e "s/\(.*\/\)[^\/]*/\1/" * Odmazani vseho pred poslednim znakem "/" vcetne (takze zbude jen c) $ echo "a/b/c" | sed -e "s/.*\/\([^\/]*\)/\1/" * Domazani prazdnych znaku ze zacatku radku $ cat soubor | sed -e "s/^[\ \t]*//" ---------------------------------------------------------------------------- : POZOR - NEBEZPECI! ---------------------------------------------------------------------------- * Fork bombs jsou sakra nebezpecne! (chrante se pomoci `ulimit -u 100') $ :(){ :|:& };: $ $0 & $0 & ---cut--- #!/bin/sh $0 & exec $0 ---cut--- ---cut--- #!/bin/bash while true do $0 & done exit 0 ---cut--- * Take je treba dat pozor, aby se zadny adresar nejmenovat "-r|-R" apod., * protoze by to nemuselo dopadnout dobre! * Prikaz 'rm -rf' nikdy nepouzivame pod rootem!!!
Tiskni
Sdílej:
-dProcessColorModel=/DeviceCMYKPokud pouzivate ghostscript ke generovani ps nebo pdf souboru, mohou vas zajimat take nasledujici volby
-dEmbedAllFonts=true -dCompressPages=true -dUseFlateCompression=trueUvedene volby funguji prinejmensim v ghostscriptu verze gs7.04 nebo vyssich.