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 03:44 | Komunita

    Open source konference DevConf.CZ 2026 proběhne 18. a 19. června v Brně na FIT VUT. Publikován byl program a spuštěna byla registrace.

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

    Společnost JetBrains uvolnila verzi 2 svého open-source velkého jazykového modelu (LLM) pro vývojáře Mellum.

    Ladislav Hagara | Komentářů: 0
    včera 14:44 | IT novinky

    Probíhá konference Microsoft Build 2026. Microsoft představuje své novinky: kvantový čip Majorana 2, Surface Laptop Ultra a Surface RTX Spark Dev Box s NVIDIA RTX Spark, Intelligent Terminal, Coreutils for Windows (fork Rust Coreutils), AI modely MAI, AI agenta Scout, platformu pro agent-first zařízení Project Solara, …

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

    Google Chrome 149 byl prohlášen za stabilní. Nejnovější stabilní verze 149.0.7827.53 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    včera 10:55 | Nová verze

    Pluto.jl, reaktivní notebook pro programovací jazyk Julia, dospěl do verze 1.0.

    Ladislav Hagara | Komentářů: 3
    2.6. 13:44 | Nová verze

    Byla vydána nová verze 12.0.0 vizuálního programovacího jazyka Snap! (Wikipedie) inspirovaného jazykem Scratch (Wikipedie). Přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 0
    2.6. 11:44 | IT novinky

    Počítačovou hru Gravity Circuit (ProtonDB) lze do 14. června do 19:00 získat na Steamu zdarma. Napořád.

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

    Nejnovější X.Org X server 21.1.23 a Xwayland 24.1.12 řeší 9 bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 0
    1.6. 22:33 | Bezpečnostní upozornění

    npm balíčky @redhat-cloud-services byly kompromitovány.

    Ladislav Hagara | Komentářů: 5
    1.6. 22:22 | Bezpečnostní upozornění

    Byly publikovány informace o zranitelnosti CVE-2026-46243 pojmenované CIFSwitch v Linuxu od roku 2007. Běžný uživatel může získat práva roota (lokální eskalaci práv). V upstreamu je již opraveno.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (12%)
     (8%)
     (2%)
     (15%)
     (31%)
     (4%)
     (6%)
     (3%)
     (15%)
     (26%)
    Celkem 1809 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: Automatické připojení síťových disků

    16.3.2013 09:32 tom
    Automatické připojení síťových disků
    Přečteno: 1191×
    Ahoj, potřeboval bych poradit s nastavením automatického připojování sítových disků.

    Mám několik notebooků, které se mohou nacházet doma, v práci nebo kdekoliv jinde. Doma i v práci jsou NASy a je možné připojovat sdílení přes Sambu.

    Očekávané chování je takové, že je-li některý s NASů dostupný, automaticky se připojí některá sdílení do zadané složky. Případně by stačilo, aby se připojil až ve chvíli, kdy do dané složky vstoupím.

    Zkoušel jsem několik postupů. Jednak fstab, jenže tam dochází k připojení jen při startu počítače. Poté autofs, který sdílení připojí automaticky, pokud do dané složky vstoupím (popř. se spustí zálohování Backintime, který tam chce zapisovat). Ten by i vyhovoval, kdyby se nestávalo to, že při uspání počítače se disk neodpojí (např. proto, že jej v tu chvíli něco využívá, většinou otevřený Krusader nebo často i nepomuk nebo Backintime) a při vzbuzení se pak zasekne Plasma, popř. další aplikace. Navíc, připojení docela dlouhou dobu trvá (ale to by nebyl tak velký problém). Zkoušel jsem si i napsal vlastní skript, který dělal mount při připojení k síti a umount při odpojení, jenže právě to odpojování moc nefungovalo. V podstatě bych rád, aby se odpojení nějak vynutilo (jenže ani umount -fl často nepomůže), když už to sdílení není dostupné.

    Odpovědi

    16.3.2013 11:53 Petr MOTEJLEK | skóre: 6
    Rozbalit Rozbalit vše Re: Automatické připojení síťových disků
    Ahoj,

    Jsi trochu v začarovaném kruhu ;).

    Pokud se nejdříve budeme bavit o naprosto ideálních podmínkách, přijde mi tvůj mount/umount skript při připojení k síti/odpojení od sítě asi nejlepší řešení, protože tak máš plně pod kontrolou, kdy se co bude připojovat/odpojovat. Pokud ti neprochází umount -fl (protože něco pravděpodobně drží zámek (i.e. má otevřený file descriptor někde tam, co se pokoušíš odpojit) - tady ti nepomůže ani force, ani cokoliv ;)). Koukni se na prográmek fuser, ten umí dělat to, že ti pro daný mount point najde všechny procesy, co si někde v něm drří file descriptor. Mimo toho, že ty procesy najde, je umí taky ustřelit (což je to, co budeš muset udělat před tím, než se pokusíš udělat umount). Píšu to rychle, takže to moc neřeší chybové use casy, ale ten umount skript bych koncipoval asi takto. Funguje tak, že se nejdřív pokusí udělat běžný umount - když projde, tak skončí, protože není co dál dělat. Když neprojde, tak se spustí fuser - parametr -m určuje soubor (v našem případě adresář, resp. mount point), parametr -k říká zabít, -s je tiše (takže se nic zbytečně nevypisuje) a -INT je zabít signálem INT, -TERM zabít signálem TERM a -KILL zabít signálem KILL. Proč po řadě zabíjím procesy nejdřív INT, pak TERM a pak KILL? Protože INT je v podstatě shodný s tím, když do nějakého konzolového prográmku pošleš Ctrl-C, a pro prográmek je to to nejlepší, protože má dost času, aby zavřel svoje file descriptory, vyčistila se paměť, atd. Pokud by se náhodou stalo, že nějaké procesy nebudou na INT reagovat (na něco čekají, atd.), dostanou TERM (ten je trochu hrubší než INT, ale pořád docela v pohodě, protože procesy pořád mají čas si všechno zavřít a vyčistit). No a pokud i přesto zůstatnou nějaké procesy, odstřelí se signálem KILL, který na nic nečeká a proces prostě odstřeli (tohle je dobé používat obravdu jako rezervní řešení, protože ti to bude nechávat bordel v paměti, ve file descriptorech, atd). Nakonec se opět pokusíme o umount - ten by měl už proběhnout bez chyb.

    #!/bin/bash

    MOUNTPOINT=/mnt/myNAS/

    umount "${MOUNTPOINT}" && exit 0 sleep 1s

    fuser -m "${MOUNTPOINT}" -k -s -INT sleep 1s

    fuser -m "${MOUNTPOINT}" -k -s -TERM sleep 1s

    fuser -m "${MOUNTPOINT}" -k -s -KILL sleep 1s

    umount /mnt/myNAS

    exit $?

    No a teď už k těm neúplně ideálním podmínkám, na které si je potřeba dát pozor. Pokud se ti například stane, že ztratíš spojení s NASem a nějaký proces se pokusí z něho číst/zapsat na něj, dostane se nejspíš do Waiting for I/O stavu (ze kterého se prakticky nejde dostat jinak, než nějak obnovit to spojení ;)). Jde o to, že ten proces prostě čeká na interrupt z toho zařízení, ze kterého zrovna čte/na které zapisuje (ten pravděpodobně nikdy nepřijde, protože zařízení nereaguje), a žádný jiný signál nepřijme... V tule chvíli je nejlepší PC prostě vypnout ;). Tohle by se ti mělo stávat minimálně, ale měl bys o tom vědět.
    16.3.2013 11:56 Petr MOTEJLEK | skóre: 6
    Rozbalit Rozbalit vše Re: Automatické připojení síťových disků
    Ahoj,

    Koukám, že se mi to trochu rozhodilo. Přikládám skript znovu, teď snad hezčeji ;).
    
    #!/bin/bash
    
    MOUNTPOINT=/mnt/myNAS/
    
    umount "${MOUNTPOINT}" && exit 0
    sleep 1s
    
    fuser -m "${MOUNTPOINT}" -k -s -INT
    sleep 1s
    
    fuser -m "${MOUNTPOINT}" -k -s -TERM
    sleep 1s
    
    fuser -m "${MOUNTPOINT}" -k -s -KILL
    sleep 1s
    
    umount "${MOUNTPOINT}"
    
    exit $?
    
    17.3.2013 21:07 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: Automatické připojení síťových disků
    Netestoval jsem to, ale můj mount.cifs(8) tvrdí, že implementuje soft, a dokonce je to výchozí nastavení. Pak je jen otázka, jaký je časový limit. Jestli standardní TCP, tak to se trochu načeká.

    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.