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í
×

    včera 22:22 | Nová verze

    CyberChef je webová aplikace pro analýzu dat a jejich kódování a dekódování, šifrování a dešifrování, kompresi a dekompresi, atd. Často je využívaná při kybernetických cvičeních a CTF (Capture the Flag). Vydána byla nová major verze 10 (aktuálně 10.4.0). Přehled novinek v Changelogu.

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

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch OTA-1 Focal založené na Ubuntu 20.04 Focal Fossa.

    Ladislav Hagara | Komentářů: 0
    včera 17:11 | IT novinky

    Společnost Red Hat slaví 30 let.

    Ladislav Hagara | Komentářů: 1
    včera 15:22 | IT novinky

    Ve věku 91 let zemřel izraelský informatik Ja'akov Ziv, spolutvůrce bezztrátových kompresních algoritmů LZ77, LZ78 a LZW (Lempel–Ziv–Welch).

    Ladislav Hagara | Komentářů: 0
    včera 11:00 | IT novinky

    Byla představena nová Arduino deska Arduino UNO R4 s 32bitovým MCU RA4M1 (Arm Cortex-M4). Desku lze zatím získat pouze v rámci early access programu.

    Ladislav Hagara | Komentářů: 0
    26.3. 18:33 | Nová verze

    Operační systém MidnightBSD, fork FreeBSD optimalizovaný pro desktop s prostředím Xfce, byl vydán ve verzi 3.0. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 7
    26.3. 18:22 | IT novinky

    Na GOG.com běží Spring Sale. Při té příležitosti lze získat zdarma počítačovou hru Neurodeck: Psychological Deckbuilder (ProtonDB).

    Ladislav Hagara | Komentářů: 0
    25.3. 12:33 | Komunita

    Alex Ellis upozornil 15. března, že firma Docker se chystala zrušit bezplatný hosting open-source projektů na Docker Hubu. Po vlně odporu se představitelé firmy omluvili a posléze byl původní záměr odvolán.

    Fluttershy, yay! | Komentářů: 29
    25.3. 07:00 | IT novinky

    Ve věku 94 let zemřel Gordon Moore, mj. spoluzakladatel společnosti Intel a autor Moorova zákona.

    Ladislav Hagara | Komentářů: 1
    24.3. 17:11 | Nová verze

    Mercurial (Wikipedie), software pro SCM (Source Code Management), byl vydán ve verzi 6.4. Přehled novinek v poznámkách k vydání. Ve dnech 5. až 7. dubna proběhne konference Mercurial Paris.

    Ladislav Hagara | Komentářů: 0
    Používáte WSL (Windows Subsystem for Linux)?
     (74%)
     (12%)
     (4%)
     (11%)
    Celkem 342 hlasů
     Komentářů: 4, poslední 24.3. 06:42
    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: 1079×
    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.