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

98

    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. Ikävöin sinua kokoyön!

      En halua odottaa, että voisin näyttää sinulle kuinka paljon rakastan sinua. Toivon, että uskot, että olen varsin hullun
      Ikävä
      59
      4044
    2. KALAJOEN UIMAVALVONTA

      https://www.kalajokiseutu.fi/artikkeli/ei-tulisi-mieleenkaan-jattaa-pienta-yksinaan-hiekkasarkkien-valvomattomalla-uimar
      Kalajoki
      93
      2408
    3. Jos sinä olisit pyrkimässä elämääni takaisin

      Arvelisin sen johtuvan siitä, että olisit taas polttanut jonkun sillan takanasi. Ei taida löytyä enää kyliltä naista, jo
      Tunteet
      45
      2062
    4. Älä mahdollisesti ota itseesi

      En voinut tietää. Sitäpaitsi.. niin
      Ikävä
      22
      1793
    5. Kadonnut poika hukkunut lietteeseen mitä kalajoella nyt on?

      Jätelautta ajautunut merelle ja lapsi uponnut jätelautan alle?
      Kalajoki
      26
      1601
    6. Ota nainen yhteyttä ja tee Tikusta asiaa?

      Niin sitten minä teen Takusta asiaa.
      Ikävä
      28
      1536
    7. Joku hukkui Hyrynsalmella?

      Oliko mökkiläinen taas?
      Hyrynsalmi
      15
      1212
    8. Metsästysmökki

      Metsästyskortti saapui. Lisäksi metsästysmökki varata!
      Kuhmo
      31
      1148
    9. Mitä sinä mietit

      Mies?
      Ikävä
      110
      1125
    10. Emme voi elää velaksi, sanoi Riikka

      Valtionvelan odotetaan nousevan 86,3 prosenttiin bruttokansantuotteesta vielä kuluvan vuoden aikana. https://www.iltale
      Perussuomalaiset
      79
      1062
    Aihe