Miten NFS mounttaus bootissa?

Koitin laittaa fstabiin ohjeiden mukaan, mutta ei toiminut. Veikkaan ettei toimi, koska wifi verkko ei ehdi avautumaan niin nopeasti. Pitäisi siis saada scriptinä ajettua kun verkko on muodostettu.

Miten tämän tekisi?
14504
Äänestä

Muut lukivat myös

Vastaukset 14

Vanhimmat

Minä ratkaisin tässä http://i.imgur.com/7tL1HgW.png ohjelmassa tuon verkottumisen tunnistamisen Lazaruksella näin:

OK:=FALSE;
while (OK = false)
do begin
OK := RunCommand(HomeDir '/bin/ping.sh',['opendns.com'],s);
end;

eli tuo ylempi silmukka pyörii niin kauan kunnes tämä alempi funktio kertoo verkkoselvityksen tapahtuneen

#!/bin/sh
ping -c 1 "$1" > /dev/null

Eli Lazarus ohjelma tekee kyselyn verkontilasta sh scriptille. On aivan sama onko kyselijänä Lazarus, Python vai joku toinen Bash Schell scripti.

Äänestä

Oletko kokeillut _netdev optiota?

Äänestä
  • En. Miten tuon kanssa tehdään fstabiin tarvittavat muutokset?
    Tämä löytyy ubuntun sivuilta:

    <nfs-server-IP>:/ /mnt nfs auto 0 0

    Äänestä

  • nfs kirjoitti:

    En. Miten tuon kanssa tehdään fstabiin tarvittavat muutokset?
    Tämä löytyy ubuntun sivuilta:

    <nfs-server-IP>:/ /mnt nfs auto 0 0

    <nfs-server-IP>:/ /mnt nfs defaults,_netdev 0 0

    Äänestä

  • Debianisti kirjoitti:

    <nfs-server-IP>:/ /mnt nfs defaults,_netdev 0 0

    Ei toimi, mutta nyt jako onnistuu antamalla:

    sudo mount /jako
    tai
    sudo mount -a

    Pitäisi kehittää scripti joka ajetaan kun yhteys on muodostettu.

    Äänestä

  • nfs kirjoitti:

    Ei toimi, mutta nyt jako onnistuu antamalla:

    sudo mount /jako
    tai
    sudo mount -a

    Pitäisi kehittää scripti joka ajetaan kun yhteys on muodostettu.

    Löysin netistä hyvän ohjeen kun käytössä on systemd. Se kuitenkin poistettiin pikaisesti sääntöjen vastaisena. Tällä palstalla saa vain trollata ja jauhaa paskaa.

    Äänestä

  • nfs kirjoitti:

    Ei toimi, mutta nyt jako onnistuu antamalla:

    sudo mount /jako
    tai
    sudo mount -a

    Pitäisi kehittää scripti joka ajetaan kun yhteys on muodostettu.

    Onkohan tuosta mitään apua: http://i.imgur.com/yKle02x.png

    Äänestä

  • Kokemus-opettaa kirjoitti:

    Onkohan tuosta mitään apua: http://i.imgur.com/yKle02x.png

    Huomaa että kummallekin tiedostolle on annettava suoritus-oikeudet, vaikka näin:

    chmod u=rwx,g=rx,o=r ~/bin/ping.sh
    chmod u=rwx,g=rx,o=r ~/bin/mountnfs

    Tiedostojen nimet voit vaihtaa miksi haluat, kunhan huomioit muutokset shell scriptien sisällä myös. Nämä esimerkit toimii Mint 17.3 ylös päin, ja luultavasti myös Ubuntu 14.06 ylös-päin, kunhan Ubuntussa liittää ympäristö muuttujaan $PATH tuon ~/bin hakemiston, mintissä se on jo oletuksena.

    Äänestä

  • Sain skritin toimimaan, mutta muokkasin sitä vähän:

    #!/bin/bash

    while :
    do
    if ping -c 1 <IP/HOSTNAME> > /dev/null

    then
    break
    fi

    sleep 1

    done
    gksu mount /sharedfolder

    Näin scripti odottaa sekunnin joka pingin jälkeen ja kysyy salasanaa.
    Ongelma on vielä etten saa scriptiä automaattisesti ajettua kirjautuessa.

    Distro on Elementary OS ja tässä täytyy olla joku bugi, koska startup application kohtaan laitetut scriptit eivät toimi, kuten ei crontab -e laitetut myöskään.

    .profile tiedostoon kun sen laittaa, niin toimii, mutta silloin kirjautuminen jää odottamaan scriptin loppumista.

    Äänestä

  • nfs kirjoitti:

    Sain skritin toimimaan, mutta muokkasin sitä vähän:

    #!/bin/bash

    while :
    do
    if ping -c 1 <IP/HOSTNAME> > /dev/null

    then
    break
    fi

    sleep 1

    done
    gksu mount /sharedfolder

    Näin scripti odottaa sekunnin joka pingin jälkeen ja kysyy salasanaa.
    Ongelma on vielä etten saa scriptiä automaattisesti ajettua kirjautuessa.

    Distro on Elementary OS ja tässä täytyy olla joku bugi, koska startup application kohtaan laitetut scriptit eivät toimi, kuten ei crontab -e laitetut myöskään.

    .profile tiedostoon kun sen laittaa, niin toimii, mutta silloin kirjautuminen jää odottamaan scriptin loppumista.

    Minusta tuo sleep on täysin turha.

    Perustelen asiaa sillä että timeout oletus on 10sek, joka tarkoittaa sitä että ellei vastausta saada heti, sitä odotellaan 10 sekuntia ja luovutetaan. Jo tuonkin perusteella, ei tuo 1 sekunnin lisä ole tarpeen.

    Jos nyt ajatellaan että vastaus saadaan kerta kyselyllä, niin miksi sleep.

    Tai jos pelätää kyselyn tapahtuvan syystä tai toisesta epämukavan tiheään, voi ping komennon timeout arvoa nostaa tai laskea (Mintissä oletus 10 sekuntia). Kun käytät alla olevaa IP:tä saat selville oman timeout ajan näin

    time ping -c 1 52.19.33.246

    tässä pudotettuna 1 sekuntiin
    time ping -c 1 -W 1 52.19.33.246

    tässä nostettu 20 sekuntiin
    time ping -c 1 -W 20 52.19.33.246

    Äänestä

~/.config/autostart/sharesup.desktop

[Desktop Entry]
Name[en_US]=Connect shares
Comment[en_US]=mountnfs
Exec=mountnfs
Icon=application-default-icon
X-GNOME-Autostart-enabled=true
Type=Application

Komentorivillä kun antaa komennon mountnfs, kaikki pelaa loistavasti

Äänestä

En ole nyt varma, mutta voisi kannattaa opiskella vähän autofs:ää(apt install autofs). Sillä pystyy tekemään nfs:n kanssa aika hauskojakin juttuja, kuten mounttaamaan hakemiston silloin, kun sitä yritetään lukea.

Äänestä
  • Eipä tämä autofs myöskään toimi tässä Elementary OS:ssa.

    Paska distro, ei voi muuta sanoa. Mikään ei tässä toimi. :/

    Äänestä

En käytä nfs mutta kokeile systemctl enable NetworkManager-wait-online.
Arch ja Gentoo linux wikit hyviä tietolähteitä.
Olen hieman huono systemd jutuissa. openrc paremmin hallussa.
Oletan että tuossa systemd käytössä ja myös networkmanager

dmesg antanee vihjeitä missä vika. Idea on, että netti olisi käytössä ennen kuin fstab tiesdoston liitokset tehdään. openrc:ssä tuo on yksinkertaista kun sripteihin on helppo lisätä tai poistaa riippuvuus nettiyhteyteen.

Opiskele https://wiki.archlinux.org/index.php/NetworkManager

Äänestä

Ketjusta on poistettu 1 sääntöjenvastainen viesti.

Kommentoi aloitusta


nfs kirjoitti:

Koitin laittaa fstabiin ohjeiden mukaan, mutta ei toiminut. Veikkaan ettei toimi, koska wifi verkko ei ehdi avautumaan niin nopeasti. Pitäisi siis saada scriptinä ajettua kun verkko on muodostettu.

Miten tämän tekisi?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu