abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 01:11 | Nová verze

    Byl vydán Debian 13.6, tj. šestá opravná verze Debianu 13 s kódovým názvem Trixie a Debian 12.15, tj. poslední patnáctá opravná verze Debianu 12 s kódovým názvem Bookworm, k dispozici je LTS. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 a Debianu 12 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

    Ladislav Hagara | Komentářů: 0
    10.7. 16:11 | Bezpečnostní upozornění

    V jádře Linux byla nalezena a v upstreamu již byla opravena kritická zranitelnost GhostLock aneb CVE-2026-43499. Lokálnímu uživateli umožňuje získat práva roota a také obejít kontejnerovou izolaci. Zranitelnost existovala v Linuxu 15 let, tj. od roku 2011, od Linuxu verze 2.6.39.

    Ladislav Hagara | Komentářů: 2
    10.7. 13:55 | IT novinky

    Evropská komise předběžně shledala, že návykový design aplikací Instagram a Facebook od americké společnosti Meta porušuje unijní nařízení o digitálních službách (DSA). Návykový design zahrnuje například takzvané nekonečné posouvání, automatické přehrávání videí, tzv. push notifikace, kdy aplikace uživatele vybízí k návratu do jejího prostředí, či vysoce personalizovaný algoritmus, který rychle pozná, co uživatele baví a snaží

    … více »
    Ladislav Hagara | Komentářů: 8
    10.7. 12:11 | Nová verze

    Byla vydána verze 1.97.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.

    Ladislav Hagara | Komentářů: 0
    10.7. 05:00 | IT novinky

    Švýcarská společnost Punkt. má nově v nabídce telefon Punkt. MC03. Telefon byl navržen ve Švýcarsku s důrazem na soukromí a digitální suverenitu a vyroben v Německu. V telefonu běží operační systém AphyOS (Apostrophy OS) založený na AOSP (Android Open Source Project) 15. Cena telefonu je 745 eur.

    Ladislav Hagara | Komentářů: 20
    10.7. 04:44 | Nová verze

    TypeScript (Wikipedie), tj. JavaScript rozšířený o statické typování a další atributy, byl vydán v nové verzi 7.0. Kompilátor byl kvůli výkonu přepsán z TypeScriptu do Go.

    Ladislav Hagara | Komentářů: 0
    9.7. 17:00 | IT novinky

    Europarlament podpořil pozměněnou verzi výjimky známé jako „chat control 1.0“ umožňující firmám skenovat soukromou komunikaci na internetu kvůli ochraně dětí před zneužitím. Pozměňovací návrhy přijaté europoslanci však počítají s tím, že z výjimky bude vyřazena šifrovaná komunikace. Výjimka přestala platit začátkem dubna poté, co se Evropský parlament a Rada EU nedokázaly shodnout na jejím prodloužení. Rada následně přijala

    … více »
    Ladislav Hagara | Komentářů: 12
    9.7. 04:44 | Bezpečnostní upozornění

    Nejnovější X.Org X server 21.1.24 a Xwayland 24.1.13 řeší 2 bezpečnostní chyby.

    Ladislav Hagara | Komentářů: 0
    9.7. 04:22 | Komunita

    Clement "Clem" Lefebvre publikoval souhrn dění v Linux Mintu za červen 2026. Vypíchnuta je vylepšená podpora Waylandu. Už není považována za experimentální. V příští verzi Linux Mintu, plánována je na Vánoce, bude běh Cinnamonu plně podporován na X11 i Waylandu. V květnu na vývoj Linux Mintu přispělo 611 dárců celkovou částkou 19 612 dolarů. Dalších 2 326 patronů přispělo na Patreonu celkovou částkou 5 334 dolarů.

    Ladislav Hagara | Komentářů: 4
    9.7. 04:00 | Bezpečnostní upozornění

    V Linuxu v KVM byla nalezena a v upstreamu již byla opravena kritická zranitelnost Januscape aneb CVE-2026-53359. Root na hostovaném počítači (virtuální stroj) může obejít izolaci a získat plnou kontrolu nad hostitelským systémem (DoS útok nebo vzdálené spuštění kódu s právy roota). Na obou hlavních architekturách – Intel i AMD. Zranitelnost v Linuxu existovala téměř 16 let (od srpna 2010 do června 2026).

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (17%)
     (31%)
     (4%)
     (6%)
     (2%)
     (16%)
     (25%)
    Celkem 2095 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    GNU/Linuxový zapisníček

    25.1.2005 14:16 | Přečteno: 1664× | © | poslední úprava: 25.1.2005 15:27

    Oč běží

    Rozhodl jsem se, že sem umístím svůj taj(em)ný GNU/Linuxový zápisníček. Postupně budu budu přidávat další věci, podle toho, jak se mi bude zápisníče rozrůstat. Snad to někomu k něčemu bude.

    Pokud byste někdo měl čím přispět k tomuto zápisníčku (něco, co tam není, co byste změnili, další variace na věci v něm již uvedené, zajímavé konstrukce příkazů, nestandartní využití příkazů, zjednodušení příkazů apod.) pište to prosím do komentářů. Budu to průběžně zpracovávat a doplňovat. Do nadpisu vašeho komentáře prosím na začátek napište, které sekce se to týká, ať se v tom vyznám. Časem také celému tomuto záznamu dám poněkud lepší formu než pouze pastnutý text mezi pre tagy a lépe jej uspořádám. Rád bych, aby se z toho stala jakási znalostní baze užitečných a často používaných věcí nad příkazovým řádkem. Mirror baze umístím časem také někde na mých domovských stránkách http://vcp.ligatura.org/, kde budou ke stažení i PS a PDF verze vysázené typografickým systémem TeX.

    Legenda k zápisníčku

    *     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
    

    Zápisníček

    ----------------------------------------------------------------------------
    : 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!!!
    

    Závěrem

    No a to je asi tak prozatím vše... Užijte to ve zdraví. A hlavně nezapomeňte, že to psal člověk a nadto já, takže tam můžou - ne to není rozhodně přesně formulováno - takže tam s největší pravděpodobností jsou chyby!        

    Hodnocení: -

    zatím nehodnoceno
            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    25.1.2005 16:10 OldFrog {Ondra Nemecek} | skóre: 36 | blog: Žabákův notes | Praha
    Rozbalit Rozbalit vše doplneni - dalsi uzitecne volby pro ghostscript
    Pokud zpracovavate ps nebo pdf soubory pomoci ghostcriptu, nepriklad je prevadite do bitmapove podoby, ma nekdy vystup neprirozene kriklave barvy. Tehdy pomuze rici ghostsriptu, ze vstup je v barevnem prostoru CMYK, pridejte tuto volbu
    -dProcessColorModel=/DeviceCMYK
    
    Pokud pouzivate ghostscript ke generovani ps nebo pdf souboru, mohou vas zajimat take nasledujici volby
    -dEmbedAllFonts=true
    -dCompressPages=true
    -dUseFlateCompression=true
    
    Uvedene volby funguji prinejmensim v ghostscriptu verze gs7.04 nebo vyssich.
    -- OldFrog
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.