Päivitysskripti

automatisointia

Haluaisin niputtaa "sudo apt update":n ja "sudo apt upgrade -y":n esimerkiksi skripitiksi "päivitä". Siis kaksi riviä. Laitoin nuo tekstieditoriin ja tallensin nimella "päivitä". Kun kirjoitan komentoruutuun "päivitä", niin herjaa "päivitä: command not found". Tiedosto "päivitä" löytyy kuitenkin kotihakemistosta.

Jatkokehityksenä haluaisin yhdistää tuon koneen sammuttamiseen. Siis kun kone sammutetaan, niin ensin tehdään päivitykset ja vasta sen jälkeen sammutetaan virta.

17

52

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • dfhdfhdsgsgsg

      /bin/bash
      sudo apt update
      sudo apt upgrade -y
      --------------------------
      ^toi on sisältö. Sitten muutat sen suoritettavaksi:
      chmod a x päivitä
      ------
      sitten siirretään se vielä suoritettavien ohjelmien hakemistoon:
      sudo mv päivitä /usr/bin
      ----
      nyt pitäisi toimia komennolla
      päivitä

      • automatisointia

        Kiitos ohjeesta. Nyt "päivitä" kyllä suoriutuu, mutta ei ilmeisesti tee mitään, koska niitä normaalisti päivityksen yhteydessä tulostuvia rivejä ei ilmesty. Päivityksiä on kuitenkin tarjolla esimerkiksi graafisen päivitysmanagerin kautta tarkastellessa.

        Mitä tuo ensimmäinen /bin/bash rivi muuten tekee?


      • automatisointia
        automatisointia kirjoitti:

        Kiitos ohjeesta. Nyt "päivitä" kyllä suoriutuu, mutta ei ilmeisesti tee mitään, koska niitä normaalisti päivityksen yhteydessä tulostuvia rivejä ei ilmesty. Päivityksiä on kuitenkin tarjolla esimerkiksi graafisen päivitysmanagerin kautta tarkastellessa.

        Mitä tuo ensimmäinen /bin/bash rivi muuten tekee?

        Ajoin tuon nyt sudolla, jonka jälkeen polku siirtyi root-käyttäjälle. Mitään ei kuitenkaan tapahtunut. Sitten kirjoitin exit, jonka jälkeen päivitysskirpti alkoi tekemään päivityksiä. Toimii siis hieman kummasti, koska vaatii ylimääräistä näpyttelyä.


      • Debianisti
        automatisointia kirjoitti:

        Kiitos ohjeesta. Nyt "päivitä" kyllä suoriutuu, mutta ei ilmeisesti tee mitään, koska niitä normaalisti päivityksen yhteydessä tulostuvia rivejä ei ilmesty. Päivityksiä on kuitenkin tarjolla esimerkiksi graafisen päivitysmanagerin kautta tarkastellessa.

        Mitä tuo ensimmäinen /bin/bash rivi muuten tekee?

        Se kertoo että scripti ajetaan bash komentotulkilla.


      • Debianisti
        Debianisti kirjoitti:

        Se kertoo että scripti ajetaan bash komentotulkilla.

        Ja oikeaoppinen muoto on
        #!/bin/bash


      • automatisointia
        Debianisti kirjoitti:

        Ja oikeaoppinen muoto on
        #!/bin/bash

        Tuo muutos (#! lisäys) ei muuttanut skripitin käyttäytymistä miksikään. Ei siis näyttäisi suorittavan komentoja.


      • automatisointia kirjoitti:

        Ajoin tuon nyt sudolla, jonka jälkeen polku siirtyi root-käyttäjälle. Mitään ei kuitenkaan tapahtunut. Sitten kirjoitin exit, jonka jälkeen päivitysskirpti alkoi tekemään päivityksiä. Toimii siis hieman kummasti, koska vaatii ylimääräistä näpyttelyä.

        sudo aiheuttaa ongelmia.
        Pitäisin kansion /usr/bin puhtaana vain paketinhallinnan asentamia ohjelmia varten.
        Käyttäjän polussa usein kotikansiossa /bin jonne käyttäjän ohjelmat asennetaan. Toinen sallittu paikka /usr/local/bin ja rootin ohjelmat /usr/local/sbin mikä oikea paikka päivitysohjelmalle.

        yksinkertaistettu versio
        #!/bin/bash
        apt update && apt upgrade -y

        suoritus kotihakemistossa (# tarkoittaa rootin oikeuksia)
        #./päivitys


      • Debianisti
        automatisointia kirjoitti:

        Tuo muutos (#! lisäys) ei muuttanut skripitin käyttäytymistä miksikään. Ei siis näyttäisi suorittavan komentoja.

        #!/bin/bash on tiedoksi komentotulkille että scripti on bashia.

        /bin/bash tarkoittaa sitä että ajetaan komentotulkki bash.


      • automatisointia
        Mikko_Tku kirjoitti:

        sudo aiheuttaa ongelmia.
        Pitäisin kansion /usr/bin puhtaana vain paketinhallinnan asentamia ohjelmia varten.
        Käyttäjän polussa usein kotikansiossa /bin jonne käyttäjän ohjelmat asennetaan. Toinen sallittu paikka /usr/local/bin ja rootin ohjelmat /usr/local/sbin mikä oikea paikka päivitysohjelmalle.

        yksinkertaistettu versio
        #!/bin/bash
        apt update && apt upgrade -y

        suoritus kotihakemistossa (# tarkoittaa rootin oikeuksia)
        #./päivitys

        Kiitokset! Tuo yhden rivin versio näyttää toimivan kuten haluankin. Lisäsin vielä perään "&& shutdown now", niin kone sammuu lopuksi.


      • automatisointia kirjoitti:

        Kiitokset! Tuo yhden rivin versio näyttää toimivan kuten haluankin. Lisäsin vielä perään "&& shutdown now", niin kone sammuu lopuksi.

        sudo scripteissä huono idea. Sen voi kiertää muokkaamalla sudoers tiedostoa. Muitakin tapoja on. Tässä tapauksessa ei järkeä. Jos on joku palvelu käynnissä niin sille voi olla aiheellista antaa suorittaa joitain rootin komentoja. Esim digiboxissa käynnistysajan kirjoitus ja koneen sammutus. Silloin sudoers tiedoston muokkaus tarpeen. Tietosuojan kannalta salasanoja ei juuri kirjoitella. Komentotulkin historiaan ym niitä voi jäädä vahingossa.


    • jakkaraongelma

      Mikset päivitä ihan normaalisti, miksi sudotella?????

      • automatisointia

        Haluan minimoida turhan jumppaamisen.


      • jumppa_pois
        automatisointia kirjoitti:

        Haluan minimoida turhan jumppaamisen.

        Laita automaattisesti päivittymään.


      • heiveröistä_on

        Nykynuoriso on niin heikkoa ja heiveröistä, tahtoo säästää aikaa kännykän näpyttelyyn ja facebook-tilanteen tarkasteluun.


      • Eisudojamintissä
        automatisointia kirjoitti:

        Haluan minimoida turhan jumppaamisen.

        toihan sitä jumppaamista on.


      • dist-upgrade
        automatisointia kirjoitti:

        Haluan minimoida turhan jumppaamisen.

        Mielestäni on tärkeää tietää, mitä kukin päivitys asentaa koneelle. Laitteisto on toki viimeisen päälle päivitetty, mutta silloin, kun se on parasta suorittaa.


    • ainakin_ubuntusa

      Komennoista kannattaa tehdä aliaksia.
      Esimerkiksi:
      alias päivitä='sudo apt update && sudo apt -y upgrade'
      Tuo rivi lisätään tiedoston .bashrc loppuun.

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Kuka maksaa Elokapinan töhrinnän?

      Vieläkö tukevat Elokapinan toimintaa mm. Aki Kaurismäki, Sofi Oksanen, Paleface, Koneen Säätiö ym. ? Kenen kukkarosta ot
      Maailman menoa
      573
      3806
    2. Muuttaisiko viesti mitään

      Haluaisin laittaa viestin, mutta muuttaisiko se mitään. Oletko yhä yhtä ehdoton vai valmis kyseenalaistamaan asenteesi j
      Ikävä
      48
      3288
    3. Jos sinulla kiinnostaisi

      Nyt, miten antaisit minun ymmärtää sen?
      Ikävä
      38
      2771
    4. Valpuri Nykänen elokapina

      Aikas kiihkomielinen nainen kun mtv:n uutiset haastatteli. Tuollaisiako ne kaikki on.
      Maailman menoa
      66
      2709
    5. Oon vähän ihastunut suhun nainen

      Vaikka toisin jokin aika sitten väitin mutta saat mut haluamaan olemaan parempi ihminen :)
      Ikävä
      19
      2104
    6. Jospa me nähtäisiin

      Sinne suuntaan menossa🤣
      Ikävä
      32
      2061
    7. Se että tavattiin

      Hyvin arkisissa olosuhteissa oli hyvä asia. Olimme molemmat lähestulkoon aina sitä mitä oikeasti olemme. Tietysti pieni
      Ikävä
      12
      1887
    8. Elämä jatkuu

      Onneksi ilman sinua
      Ikävä
      29
      1835
    9. Oot pala mun sielua

      Jos toivot, että lähden mä lähden. Jos toivot, että jään mä jään. Koen, että olet mun sielunkumppani, mutta lämmöllä my
      Ikävä
      17
      1760
    10. Hei T........

      Ajattelin kertoa että edelleen välillä käyt mielessä.... En ole unohtanut sinua, enkä varmasti ikinä... Vaikka on kulunu
      Suhteet
      47
      1719
    Aihe