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 04:22 | Komunita

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za březen (YouTube).

    Ladislav Hagara | Komentářů: 0
    včera 16:44 | Nová verze

    ESP-IDF (Espressif IoT Development Framework), tj. oficiální vývojový framework pro vývoj aplikací na mikrokontrolérech řady ESP32, byl vydán v nové verzi 6.0. Detaily na portálu pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    včera 12:33 | Nová verze

    DeepMind (Alphabet) představila novou verzi svého multimodálního modelu, Gemma 4. Modely jsou volně k dispozici (Ollama, Hugging Face a další) ve velikostech 5-31 miliard parametrů, s kontextovým oknem 128k až 256k a v dense i MoE variantách. Modely zvládají text, obrázky a u menších verzí i audio. Modely jsou optimalizované pro běh na desktopových GPU i mobilních zařízeních, váhy všech těchto modelů jsou uvolněny pod licencí Apache 2.0. Návod na spuštění je už i na Unsloth.

    NUKE GAZA! 🎆 | Komentářů: 5
    včera 03:55 | Nová verze

    Cursor (Wikipedie) od společnosti Anysphere byl vydán ve verzi 3. Jedná se o multiplatformní proprietární editor kódů s podporou AI (vibe coding).

    Ladislav Hagara | Komentářů: 0
    2.4. 19:55 | Zajímavý projekt

    Průkopnická firma FingerWorks kolem roku 2000 vyvinula vícedotykové trackpady s gesty a klávesnice jako TouchStream LP. V roce 2005 ji koupil Apple, výrobu těchto produktů ukončil a dotykové technologie využil při vývoji iPhone. Multiplatformní projekt Apple Magic TouchstreamLP nyní implementuje funkcionalitu TouchStream LP na současném Apple Magic Trackpad, resp. jejich dvojici. Diskuze k vydání probíhá na Redditu.

    |🇵🇸 | Komentářů: 0
    2.4. 18:22 | Nová verze

    Byla vydána nová verze 10.3 sady aplikací pro SSH komunikaci OpenSSH. Přináší řadu bezpečnostních oprav, vylepšení funkcí a oprav chyb.

    Ladislav Hagara | Komentářů: 0
    2.4. 15:11 | Zajímavý software

    Cloudflare představil open source redakční systém EmDash. Jedná se o moderní náhradu WordPressu, která řeší bezpečnost pluginů. Administrátorské rozhraní lze vyzkoušet na EmDash Playground.

    Ladislav Hagara | Komentářů: 3
    2.4. 14:00 | Komunita

    Bratislava OpenCamp 2026 zverejnil program a spustil registráciu. Štvrtý ročník komunitnej konferencie o otvorených technológiách prinesie 19 prednášok na rôzne technologické témy. Konferencia sa uskutoční v sobotu 25. apríla 2026 v priestoroch FIIT STU v Bratislave.

    Ladislav Hagara | Komentářů: 0
    2.4. 13:44 | Humor

    Na iVysílání lze zhlédnout všechny díly kultovního sci-fi seriálu Červený trpaslík.

    Ladislav Hagara | Komentářů: 5
    2.4. 04:44 | IT novinky

    Společnost Valve aktualizovala přehled o hardwarovém a softwarovém vybavení uživatelů služby Steam. Podíl uživatelů Linuxu dosáhl v březnu 5,33 % (Windows -4,28 %, OSX +1,19 %, Linux +3,10 %). Nejčastěji používané linuxové distribuce jsou Arch Linux, Linux Mint a Ubuntu. Při výběru jenom Linuxu vede SteamOS Holo s 24,48 %. Procesor AMD používá 67,48 % hráčů na Linuxu.

    Ladislav Hagara | Komentářů: 3
    Které desktopové prostředí na Linuxu používáte?
     (15%)
     (7%)
     (1%)
     (12%)
     (30%)
     (3%)
     (6%)
     (1%)
     (14%)
     (23%)
    Celkem 1218 hlasů
     Komentářů: 30, poslední včera 20:20
    Rozcestník

    Dotaz: Skript spustí jen něco

    8.10.2017 12:56 Luky
    Skript spustí jen něco
    Přečteno: 791×
    Ahoj, chtěl bych se zeptat, proč v sh skriptu mohu spouštět příkazy jako např. mount a touch, ale cryptsetup ne? Jaký je v tom rozdíl?

    Řešení dotazu:


    Odpovědi

    8.10.2017 13:13 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Skript spustí jen něco
    Možná proto, že Bash obsahuje správně nastavenou cestu v PATH, ale sh ji nastavenou nemá.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    8.10.2017 13:24 Luky
    Rozbalit Rozbalit vše Re: Skript spustí jen něco
    No nevím, když pustím sh skript, ve kterém mám cryptsetup ručně, spustí se...
    8.10.2017 13:37 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Skript spustí jen něco
    Co takhle zkusit spustit cryptsetup ručně v sh?

    Také by se hodilo spouštět takové příkazy s absolutní cestou.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    8.10.2017 13:47 Luky
    Rozbalit Rozbalit vše Re: Skript spustí jen něco
    spustit ručně v sh funguje
    8.10.2017 13:28 Luky
    Rozbalit Rozbalit vše Re: Skript spustí jen něco
    # which cryptsetup
    /usr/sbin/cryptsetup
    
    # which touch
    /bin/touch
    
    # which mount
    /usr/bin/mount
    
    # echo $PATH
    /usr/sbin:/usr/bin:/sbin:/bin
    
    k3dAR avatar 8.10.2017 16:01 k3dAR | skóre: 63
    Rozbalit Rozbalit vše Re: Skript spustí jen něco
    kdyz to takto pustis v shellu, tak to neznamena ze z pozice kde poustis script (predpokladam udev pravidlo) to bude stejne...
    obecne kdyz resis ze neco se nepousti tak proste do scriptu pridej tyhle tve prikazy s presmerovanim do souboru, nech to pustit tim co se to vola a zkoukni vystupni soubory... pripadne nesrovnalosti v porovnani s vystupem prikazu v shellu te uz navedou ;)
    porad nemam telo, ale uz mam hlavu... nobody
    8.10.2017 13:47 petr
    Rozbalit Rozbalit vše Re: Skript spustí jen něco
    co pouzivas za shell ve svem skriptu? Na zacatku budes mit treba #!/bin/bash nebo neco jineho... Pokud ti to ve skriptu nefunguje, zkus si spustit treba ten /bin/bash a spustit to co potrebujes rucne v nem... jak jiz ti nekdo napovida, patrne nemas validni PATH... Dalsi vec ze bez nejakeho chyboveho hlaseni ti tezko nekdo pomuze kdyz nevime co se deje ve tvem skriptu, tudiz mam tady na stole takovou tu kristalovku a vestim odrazem z oblohy...
    8.10.2017 13:56 Luky
    Rozbalit Rozbalit vše Re: Skript spustí jen něco
    #!/bin/sh
    
    # Copyright (C) 2009 OpenWrt.org
    PRODID="1058/10b8/1012"
    
    case "$ACTION" in
        add)
            
            if [ "${PRODUCT}" = "${PRODID}" ];
             then
                 /usr/sbin/cryptsetup --key-file /etc/ssl/usbbackup_key luksOpen /dev/sdb1 backup
            fi
            ;;
    
        remove)
    
             if [ "${PRODUCT}" = "${PRODID}" ];      
              then            
                 umount /mnt/usbbackup
             fi           
    
            ;;
    esac
    Ruční spouštění cryptsetup v sh funguje.
    8.10.2017 14:29 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Skript spustí jen něco
    if [ "${PRODUCT}" = "${PRODID}" ];
    Tato podmínka zřejmě nikdy není splněna.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    8.10.2017 14:36 Luky
    Rozbalit Rozbalit vše Re: Skript spustí jen něco
    Je, protože když vyměním příkaz cryptsetup... za touch /tmp/test a rm /tmp/test, soubor se po připojení USB disku vytvoří a po odpojení odstraní
    8.10.2017 16:08 NN
    Rozbalit Rozbalit vše Re: Skript spustí jen něco
    po připojení USB disku
    Kdy? Po bootu? Skript se pousti pres udev? Co znamena "nespusti se", nevytvri se mapper zarizeni? K cemu je tam ten umount?

    Mimochodem uz si se jednou ptal, priste laskave nezakladej dalsi vlakna..
    8.10.2017 20:07 Luky
    Rozbalit Rozbalit vše Re: Skript spustí jen něco
    Připojeni, odpojení za běhu. Skript se spouští před hotplug.d. Ne, nevytvoří. Když ho ale spustím ručně nebo s rc.local po startu, vytvoří se. Ten umount tam je proto, protože jsem tam měl ještě && mount v add části. Ptal, ale ve vlákně, kde jsem primárně řešil něco jiného a tenhle dotaz tam zřejmě zanikl, omlouvám se. Podstata dotazu je, jaký rozdíl je mezi jednotlivými příkazy.. v čem je "mount" a "touch" pro systém "víc", než cryptsetup?
    8.10.2017 20:15 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Skript spustí jen něco
    Ten umount spouštíš až po vytažení flešky? To by leccos vysvětlovalo...
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    8.10.2017 21:49 Luky
    Rozbalit Rozbalit vše Re: Skript spustí jen něco
    No ale to, proč se nespustí příkaz cryptsetup narozdíl od touch to bohužel nevysvětluje.
    8.10.2017 22:15 NN
    Rozbalit Rozbalit vše Re: Skript spustí jen něco
    Jak vypada cely proces v dmesg/messages? Zkousel jsi dat pred cryptsetup nejakou prodlevu (sleep 5) a jeste by mohlo pomoct --debug ..
    8.10.2017 22:21 Luky
    Rozbalit Rozbalit vše Re: Skript spustí jen něco
    Sleep 10 jsem zkoušel a nepomohlo. V dmesg vidím jen nalezení nového USB disku, víc podrobností jsem bohužel nenašel. Je to openwrt, takže se to chová řekněme nestandardně:)
    9.10.2017 08:32 NN
    Rozbalit Rozbalit vše Re: Skript spustí jen něco
    Dej tam --debug a na konec '> ~/setup.log 2>&1 &'
    9.10.2017 09:23 Luky
    Rozbalit Rozbalit vše Re: Skript spustí jen něco
    Díky, mám tu nová zjištění:)
    [  282.560000] usb-storage 1-1.2:1.0: USB Mass Storage device detected
    [  282.580000] scsi host1: usb-storage 1-1.2:1.0
    [  283.580000] scsi 1:0:0:0: Direct-Access     WD       Elements 10B8    1012 PQ: 0 ANSI: 6
    [  283.590000] sd 1:0:0:0: [sdb] Spinning up disk...
    [  284.620000] .....ready
    [  288.660000] sd 1:0:0:0: [sdb] 1465081856 512-byte logical blocks: (750 GB/698 GiB)
    [  288.670000] sd 1:0:0:0: [sdb] Write Protect is off
    [  288.670000] sd 1:0:0:0: [sdb] Mode Sense: 47 00 10 08
    [  288.680000] sd 1:0:0:0: [sdb] No Caching mode page found
    [  288.680000] sd 1:0:0:0: [sdb] Assuming drive cache: write through
    [  288.710000]  sdb: sdb1
    [  288.730000] sd 1:0:0:0: [sdb] Attached SCSI disk
    /Device /dev/sdb1 doesn't exist or access denied.
    Command failed with code 15: Block device required
    # cryptsetup 1.6.7 processing "/usr/sbin/cryptsetup --debug --key-file /etc/ssl/usbbackup_key luksOpen /dev/sdb1 backup"
    # Running command open.
    # Locking memory.
    # Installing SIGINT/SIGTERM handler.
    # Unblocking interruption on signal.
    # Allocating crypt device /dev/sdb1 context.
    # Trying to open and read device /dev/sdb1 with direct-io.
    # Trying to open device /dev/sdb1 without direct-io.
    # Unlocking memory.
    Takže příkaz se spouští, omlouvám se všem za zavádějící informaci:) Ale pro změnu nerozumím tomu, jak je to možné /Device /dev/sdb1 doesn't exist or access denied.. Nepomohl ani sleep 10. Mám prodloužit interval? Přitom když USB připojím, tak ruční připojení cryptsetupem zhruba po 5 vteřinách funguje. Každopádně díky všem, že jsem se posunul dál:)
    9.10.2017 10:23 Luky
    Rozbalit Rozbalit vše Re: Skript spustí jen něco
    Tak jsem sleep nakonec vyšponoval až na 30 a funguje. Ale dobrý to se dá zvládnout:) Díky moc všem za pomoc.
    9.10.2017 11:11 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Skript spustí jen něco
    To už zní skoro jako chyba v resolveru. Nemáš tam někde hledání IP podle domény?
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    9.10.2017 12:38 Luky
    Rozbalit Rozbalit vše Re: Skript spustí jen něco
    Co to s tím má (nebo by mohlo mít), prosím Tě, společnýho?
    9.10.2017 16:13 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Skript spustí jen něco
    Stačí někde ve skriptu některého z démonů poslat dotaz na DNS a čekat na odpověď s chybně nakonfigurovaným resolverem. Může to být i dotaz na reverzní záznam. Zkusil bych to zopakovat s odpojenou sítí.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    9.10.2017 20:21 lertimir | skóre: 64 | blog: Par_slov
    Rozbalit Rozbalit vše Re: Skript spustí jen něco
    Myslím že skript spouštíš na špatném mistě. Evidentně ho spustíš ve chvíli, kdy ještě zařízení /dev/sdb1 neexistuje. Takže ho mužeš spustí něčím, co spustí triger "něco je v USB", ale zatím neproběhly akce, které dělá udev, aby /dev/sdb1 vytvořil. To jak je to se sleepama může být i to, že jsi skrip narval tak dopředu, že udev na něj třeba čeká, a teprve po nějaké timeoutu pustí akci, když je tam obrovský sleep. vžycky mi pomáhaly výpisy. dej si do skriptu výpis do syslogu před a po, nebo cyklus na existenci /dev/sdb1.
    9.10.2017 22:21 NN
    Rozbalit Rozbalit vše Re: Skript spustí jen něco
    Podle skriptu je to poustene na starem OpenWrt pres hotplug.d ..
    9.10.2017 16:24 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Skript spustí jen něco
    sleep není dobré řešení, resp. je to poslední zoufalý pokus to nějak obejít. Protože když spustíte ten skript, evidentně nejsou splněné podmínky, které ke svému běhu potřebuje – a tím sleep jenom oddálíte spuštění požadovaného příkazu a doufáte, že se to zatím nějak samo magicky spraví. Ono se vám to teď možná samo magicky spraví, jenže když se něco magicky samo spravuje, má tendenci se to zase samo magicky rozbíjet. Takže pokud chcete dlouhodobě udržitelné řešení, měl byste zjistit, co jsou ty další podmínky, které skript ke svému běhu potřebuje, a zajistit, aby byly splněné.
    8.10.2017 16:53 petr
    Rozbalit Rozbalit vše Re: Skript spustí jen něco
    zadna chybova hlaska? Kdyz tam pouzijes --verbose porad nic nevidis?
    8.10.2017 16:04 R
    Rozbalit Rozbalit vše Re: Skript spustí jen něco
    Skontroluj navratovu hodnotu cryptsetup, pripadne jeho vystup (aj chybovy) presmeruj do nejakeho tmp suboru.
    8.10.2017 21:58 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Skript spustí jen něco
    Pod kterým uživatelem se skript spouští?
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    8.10.2017 22:07 Luky
    Rozbalit Rozbalit vše Re: Skript spustí jen něco
    Řekl bych, že hotplug.d se spouští pod rootem, ale pro jistotu, jak to ověřím?
    8.10.2017 22:14 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Skript spustí jen něco
    Například když se tam dá ten touch, tak podle vlastníka vytvořeného souboru.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    8.10.2017 22:23 Luky
    Rozbalit Rozbalit vše Re: Skript spustí jen něco
    super, díky.. tak je to root
    8.10.2017 22:04 jekub
    Rozbalit Rozbalit vše Re: Skript spustí jen něco
    jak vite, ze se prikaz nespusti?
    8.10.2017 22:10 Luky
    Rozbalit Rozbalit vše Re: Skript spustí jen něco
    protože se nevytvoří /dev/mapper/backup (když pustím cryptsetup skriptem nebo nechám spustit v rc.local po startu, vytvoří se)
    8.10.2017 22:27 jekub
    Rozbalit Rozbalit vše Re: Skript spustí jen něco
    Jenze to neznamena, ze se nespusti. Jen neudela, co potrebujete.

    Zkusil bych prikaz volani cryptsetup nahradit skriptem a logovat spusteni, volani a navratovy kod.

    8.10.2017 22:32 Luky
    Rozbalit Rozbalit vše Re: Skript spustí jen něco
    zkoušel jsem, jenže jediný log na openwrt se vyvolá příkazem logread (-f) a tam se žádná chyba neobjevila
    k3dAR avatar 8.10.2017 23:57 k3dAR | skóre: 63
    Rozbalit Rozbalit vše Re: Skript spustí jen něco
    tohle si prehlid nedopatrenim nebo umyslne aby jsi mohl trollovat? ;)
    porad nemam telo, ale uz mam hlavu... nobody
    Jendа avatar 9.10.2017 04:37 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Skript spustí jen něco
    Vytvoř skript, který spustí tvůj skript s >/tmp/a 2>/tmp/b a spouštěj ten wrapper.
    9.10.2017 10:37 Luky
    Rozbalit Rozbalit vše Re: Skript spustí jen něco
    Díky, vyřešeno, viz výše (sleep 20). A ještě bych měl jeden dotaz a nevím, jestli založit nové vlákno, tak to dám sem a budu doufat, že to tu zase nezanikne:) Stává se mi, že ten disk někdy změní název /dev/sdb1, což je blbý, protože cryprsetup s ním počítá. Jsou dvě možnosti, jak to ošetřit. První, že se budu odkazovat na UUID, ale na OpenWrt není cesta k dispozici. Druhá možnost je, že si podle zařízení bude pamatovat název. Jenže tady nejsou udev pravidla. Napadá vás, jak to vyřešit?
    9.10.2017 10:38 Luky
    Rozbalit Rozbalit vše Re: Skript spustí jen něco
    jen detail, sleep 30.. pardon :)
    9.10.2017 11:49 trubicoid2
    Rozbalit Rozbalit vše Re: Skript spustí jen něco
    co treba pustit lsscsi a z toho si vybrat?
    9.10.2017 18:15 Luky
    Rozbalit Rozbalit vše Re: Skript spustí jen něco
    Když bych ošetřil nějak ten luksOpen, bylo by mi v podstatě jedno, jestli se USB disk připojí jako sda nebo sdb.. Ale jak v tom skriptu nastavit proměnou k luksOpen, aby např. z blkid (mám k dispozici na openwrt) vytáhl, že patřičné uuid patří třeba k /dev/sda1 a to by vložil do příkazu za luksOpen. Lze to vůbec nebo je to úplná blbost?
    9.10.2017 19:36 trubicoid2
    Rozbalit Rozbalit vše Re: Skript spustí jen něco
    man blkid

    ...

    -U uuid Look up the device that uses this filesystem uuid. For more details see the -L option.
    k3dAR avatar 9.10.2017 20:21 k3dAR | skóre: 63
    Rozbalit Rozbalit vše Re: Skript spustí jen něco
    predvedeno v prikladu... nejdriv si zjistit UUID daneho LUKS oddilu a ve scriptu:
    UUID="SemNapsatRucneToUUID"
    LUKS="$(blkid -U ${UUID})"
    ...
    /usr/sbin/cryptsetup --key-file /etc/ssl/usbbackup_key luksOpen ${LUKS} backup
    ...
    
    pripadne misto nevhodneho reseni pres sleep 30, cekat ve scriptu dokud neni dostupne
    UUID="SemNapsatRucneToUUID"
    until [ $LUKS ]; do LUKS="$(blkid -U ${UUID})"; sleep 1; done
    ...
    /usr/sbin/cryptsetup --key-file /etc/ssl/usbbackup_key luksOpen ${LUKS} backup
    ...
    
    porad nemam telo, ale uz mam hlavu... nobody
    9.10.2017 20:50 Luky
    Rozbalit Rozbalit vše Re: Skript spustí jen něco
    Tak tohle je pomoc nad zlato.. a dokonce to i chápu:) Zítra otestuju a dám vědět. MOC DÍKY:)
    k3dAR avatar 9.10.2017 23:50 k3dAR | skóre: 63
    Rozbalit Rozbalit vše Re: Skript spustí jen něco
    jen pozor, to SemNapsatRucneToUUID je potreba UUID primo LUKS oddilu, tedy pred odemcenim, ve vypisu blkid je zobrazen na radku koncicim TYPE="crypto_LUKS", tedy ne aby jsi vkladal UUID jiz odemceneho, v tvem pripade ne z radku zacinajici /dev/mapper/backup ;)
    porad nemam telo, ale uz mam hlavu... nobody
    10.10.2017 08:23 Luky
    Rozbalit Rozbalit vše Re: Skript spustí jen něco
    jj, to jsem pochopil, díky:)
    10.10.2017 08:56 Luky
    Rozbalit Rozbalit vše Re: Skript spustí jen něco
    Šlape to jako víno.. ještě jednou díky (všem:). PS: To odpojování asi líp nevymyslím.

    Založit nové vláknoNahoru

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

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.