Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "Programmazione/Script"
Differenze tra le versioni 18 e 19
Versione 18 del 16/04/2016 17.21.22
Dimensione: 9291
Autore: jeremie2
Commento:
Versione 19 del 20/07/2016 18.40.24
Dimensione: 3678
Autore: jeremie2
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 6: Linea 6:
= Informazioni generali = = Introduzione =
Linea 8: Linea 8:
La release di sviluppo corrente è la '''16.10''', nome in codice (ancora da definire). Il suo rilascio è previsto ufficialmente a Ottobre 2016. Come noto in ambiente Linux si può intervenire con comandi da [[AmministrazioneSistema/RigaDiComando|terminale]] per svolgere svariate operazioni sul sistema operativo.<<BR>>
Talvolta può essere necessario impartire una serie più o meno lunga di comandi. In queste situazioni è preferibile utilizzare i cosiddetti '''script''', vale a dire file di testo che riportano al proprio interno tutta la sequenza di comandi. Al bisogno lo script può essere richiamato per eseguire con un unico comando tutta la procedura.
Linea 10: Linea 11:
Il ciclo di sviluppo di una nuova versione di '''Ubuntu''' dura circa sei mesi. In questo lasso di tempo, in preparazione della versione finale, vengono inoltre rilasciate versioni [[http://it.wikipedia.org/wiki/Versione_alpha|alpha]] (solo per le derivate ufficiali) e [[http://it.wikipedia.org/wiki/Versione_beta|beta]] intermedie. ||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Piccole/note.png,,center)>> ||<style="padding:0.5em; border:none;">''La pagina non intende essere una guida esaustiva, ma si limita a dare alcune nozioni di base a chi non conosce l'utilizzo degli script.''||
Linea 12: Linea 13:
Oltre alle versioni sopra indicate, vengono rilasciate le '''Daily Build''', ovvero immagini `.iso` generate quotidianamente. = Creazione e utilizzo =
Linea 14: Linea 15:
Su tutte le versioni il [[GruppoTest|Gruppo Test]] della comunità italiana esegue dei test durante l'intero ciclo di sviluppo. E' possibile [[GruppoTest/Partecipare|partecipare]].  0. '''Creare un nuovo file''': nel nome si può omettere l'estensione del file, tuttavia è consigliabile utilizzare l'estensione a seconda del linguaggio che verrà utilizzato (`nome_file.sh` per il linguaggio Bash, `nome_file.py` per il linguaggio Python, ecc..).
 0. '''Inserire il testo al suo interno''': di solito la prima riga presenta una stringa che riporta il percorso del file eseguibile relativo al linguaggio utilizzato. Qui alcuni esempi molto comuni:{{{
#!/bin/bash
#!/bin/bash
}}}{{{
#!/bin/sh
#!/bin/sh
}}}{{{
#!/usr/bin/python
#!/usr/bin/python
}}}{{{
#!/usr/bin/env python
#!/usr/bin/env python
}}}ecc..<<BR>>In questo modo viene automaticamente impostato il linguaggio corretto per interpretare il contenuto dei comandi.
 0. '''Permesso di esecuzione''': lo script per funzionare necessita del [[AmministrazioneSistema/PermessiFile|permesso]] di esecuzione. È possibile settarlo andando nelle proprietà del file (clic di destro sul file) oppure da [[AmministrazioneSistema/RigaDiComando|terminale]] digitando:{{{
chmod +x /percorso/file
}}}
 0. '''Esecuzione dello script''': è possibile impostare il file manager affinché gli script vengano avviati tramite clic del mouse. Tuttavia è più prudente agire da terminale con un comando del tipo:{{{
./percorso/file
}}}
Linea 16: Linea 36:
Per richieste di supporto, rivolgersi alla sezione [[http://forum.ubuntu-it.org/viewforum.php?f=7&sid=dbf7926bb9d8cc07520d675f08facaeb|Ubuntu in sviluppo]]. = Esempio pratico =
Linea 18: Linea 38:
= Scaletta di rilascio = Viene qui mostrato un esempio banale di script Bash. Lo script creato avrà il compito di creare un file e scrivere una frase al suo interno.
Linea 20: Linea 40:
Ancora da definire.  0. Creare un file con il nome `script.sh` nella propria '''Home'''. Questo può essere fatto tramite il file manager o tramite un [[Ufficio/EditorDiTesto|editor di testo]] oppure da [[AmministrazioneSistema/RigaDiComando|terminale]] digitando:{{{
touch script.sh
}}}
 0. Inserire al suo interno il seguente testo:{{{
#!/bin/bash
#!/bin/bash
touch ciao_mondo.txt
echo "Ciao mondo!" > ciao_mondo.txt
}}}e quindi chiudere e salvare il file.
 0. Rendere eseguibile lo script. Lo si può fare accedendo ai permessi del file tramite clic di destro sull'icona oppure da [[AmministrazioneSistema/RigaDiComando|terminale]] digitando:{{{
chmod +x script.sh
}}}
 0. Utilizzare lo script digitando il comando:{{{
./script.sh
}}}Se tutto è stato fatto in modo corretto si visualizzerà nella propria '''Home''' il file di testo `ciao_mondo.txt` che al suo interno conterrà la scritta:{{{
Ciao mondo!
}}}
Linea 22: Linea 58:
## * [[Rilasci/XenialXerus|Rilasci per Xenial Xerus]] = Ulteriori risorse =
Linea 24: Linea 60:
## * [[Rilasci/WilyWerewolf|Rilasci per Wily Werewolf]]
## * [[Rilasci/VividVervet|Rilasci per Vivid Vervet]]
## * [[Rilasci/UtopicUnicorn|Rilasci per Utopic Unicorn]]
## * [[Rilasci/TrustyTahr|Rilasci per Trusty Tahr]]

= Daily Build =

Le immagini giornaliere sono disponibili ai seguenti indirizzi:
 * Ubuntu:
  *[[http://cdimage.ubuntu.com/cdimage/daily-live/current/|Daily Live]]
## *[[http://cdimage.ubuntu.com/cdimage/daily/current/|Daily Alternate]]
 * Kubuntu:
  * [[http://cdimage.ubuntu.com/kubuntu/daily-live/current/|Daily Live]]
## * [[http://cdimage.ubuntu.com/kubuntu/daily/current/|Daily Alternate]]
 * Lubuntu:
  * [[http://cdimage.ubuntu.com/lubuntu/daily-live/current/|Daily Live]]
  * [[http://cdimage.ubuntu.com/lubuntu/daily/current/|Daily Alternate]]
 * Xubuntu:
  * [[http://cdimage.ubuntu.com/xubuntu/daily-live/current/|Daily Live]]
## * [[http://cdimage.ubuntu.com/xubuntu/daily/current/|Daily Alternate]]

##== Alpha ==

##Le immagini alpha sono disponibili ai seguenti indirizzi:
## * Ubuntu
## *[[http://cdimages.ubuntu.com/releases/raring/alpha-1/|Alpha 1]]
## *[[http://cdimages.ubuntu.com/releases/raring/alpha-2/|Alpha 2]]
## *[[http://cdimages.ubuntu.com/releases/raring/alpha-3/|Alpha 3]]
## * Kubuntu
## *[[http://cdimage.ubuntu.com/kubuntu/releases/raring/alpha-1/|Alpha 1]]
## *[[http://cdimage.ubuntu.com/kubuntu/releases/raring/alpha-2/|Alpha 2]]
## *[[http://cdimage.ubuntu.com/kubuntu/releases/raring/alpha-3/|Alpha 3]]
## * Lubuntu
## *[[http://cdimage.ubuntu.com/lubuntu/releases/raring/alpha-1/|Alpha 1]]
## *[[http://cdimage.ubuntu.com/lubuntu/releases/raring/alpha-2/|Alpha 2]]
## *[[http://cdimage.ubuntu.com/lubuntu/releases/raring/alpha-3/|Alpha 3]]
## * Xubuntu
## *[[http://cdimage.ubuntu.com/xubuntu/releases/raring/alpha-2/|Alpha 2]]
## *[[http://cdimage.ubuntu.com/xubuntu/releases/raring/alpha-3/|Alpha 3]]

##== Beta ==

## * Ubuntu
## *[[http://cdimages.ubuntu.com/releases/raring/beta-1/|Beta 1]]
## *[[http://cdimages.ubuntu.com/releases/raring/beta-2/|Beta 2]]
## * Kubuntu
## *[[http://cdimages.ubuntu.com/kubuntu/releases/raring/beta-1/|Beta 1]]
## *[[http://cdimages.ubuntu.com/kubuntu/releases/raring/beta-2/|Beta 2]]
## * Lubuntu
## *[[http://cdimages.ubuntu.com/lubuntu/releases/raring/beta-1/|Beta 1]]
## *[[http://cdimages.ubuntu.com/lubuntu/releases/raring/beta-2/|Beta 2]]
## * Xubuntu
## *[[http://cdimages.ubuntu.com/xubuntu/releases/raring/beta-2/|Beta 2]]

||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Piccole/note.png,,center)>> ||<style="padding:0.5em; border:none;">''Se si installa un qualsiasi rilascio della versione in sviluppo si passerà automaticamente ai rilasci successivi e alla versione stabile semplicemente facendo gli aggiornamenti, senza bisogno di scaricare nuove ISO e senza particolari procedure di avanzamento di versione.'' ||

= Problemi comuni =

I problemi più frequentemente riscontrati con le versioni di sviluppo sono i seguenti:

 * '''Problemi legati a difetti software''': l'introduzione di software aggiornato in Ubuntu, specialmente di quello non importato da Debian, può comportare la presenza di nuovi bug, anche molto pericolosi. Emblematico è stato il caso di un bug legato al [[https://bugs.launchpad.net/ubuntu/+source/control-center/+bug/78500|control center di GNOME]], il quale portava alla cancellazione della directory home dell'utente.
 * '''Problemi legati al kernel''': la versione di sviluppo include i rilasci più recenti del kernel Linux i quali, nonostante siano stati testati dagli sviluppatori, possono aggiungere nuove problematiche, soprattutto per nuove funzionalità introdotte ex-novo e che non sono state testate efficacemente dagli sviluppatori di Ubuntu.
 * '''Problemi legati al gestore aggiornamenti''': questo software ha alcuni problemi se non associato ai ''language pack'' aggiornati e risulta impossibile eseguire l'aggiornamento se non per mezzo della console o utilizzando i gestori di pacchetti.
 * '''Problemi legati alle dipendenze dei pacchetti''': la versione di sviluppo introduce giornalmente aggiornamenti di pacchetti preesistenti o software nuovo. Gli sviluppatori non caricano i pacchetti in formato `.deb` bensì sotto forma di pacchetti sorgente, i quali vengono compilati da sistemi specializzati chiamati [[https://launchpad.net/+builds|build machines]]. Queste macchine gestiscono una [[https://launchpad.net/ubuntu/wily/+queue|coda di pacchetti]], ognuno con una differente priorità. A volte succede che un pacchetto non venga compilato a causa di errore e, di conseguenza, non venga caricato nei repository. Nel caso in cui un pacchetto dipenda da quest'ultimo, è impossibile procedere all'installazione.

= Accorgimenti per un corretto utilizzo =

Onde evitare spiacevoli inconvenienti quali perdita di dati o impossibilità di utilizzare il proprio computer, coloro che hanno la necessità di utilizzare la versione di sviluppo di Ubuntu dovrebbero adottare accorgimenti adatti per utilizzarla in assoluta sicurezza. Questi sono alcuni dei metodi più diffusi per interfacciarsi con la versione di sviluppo:

 * '''Uso del LiveCD''': usare il LiveCD è sicuramente una scelta vincente. Non occorre installare alcunché e, come impostazione predefinita, le partizioni presenti non vengono modificate. Solo la partizione di swap, se presente, viene caricata per aumentare le prestazioni del sistema. Il LiveCD offre le medesime funzionalità di un sistema installato a patto che ci sia un quantitativo sufficiente di RAM, anche se con prestazioni notevolmente ridotte a causa dell'accesso ai dati su CD/DVD-ROM.

 * '''Uso di macchine virtuali o sistemi di virtualizzazione''': optando per questa scelta non si è costretti a sottostare alle limitazioni del LiveCD e la velocità di esecuzione dei programmi è migliore, anche se non paragonabile ad un sistema fisico. Essendo eseguita in un ambiente protetto, l'hardware sottostante non viene toccato, garantendo una ottima integrità dei dati. Per maggiori informazioni, consultare la pagina [[Virtualizzazione|Virtualizzazione]].

 * '''Uso di una partizione dedicata''': usando una partizione dedicata le prestazioni sono ottimali, ma occorre fare molta attenzione alla gestione delle partizioni sia durante il processo di installazione che durante l'uso quotidiano, limitando il più possibile gli accessi alle altre partizioni presenti sul disco. Per maggiori informazioni, consultare la pagina [[Hardware/DispositiviPartizioni/PartizionamentoManuale|Partizionamento manuale]].

 * '''Uso di un sistema dedicato''': questa soluzione è in assoluto la migliore, sia per le performance, sia per i rischi irrisori di perdita di dati. Anche se più problematica da attuare dal momento che richiede una macchina dedicata, è la scelta più praticata degli sviluppatori.

= Strumenti a supporto delle versioni stabili =

A volte le motivazioni per usare la versione di sviluppo sono legate alla mancanza di uno o più software nella versione stabile, presente invece nella versione di sviluppo. Per ovviare a queste esigenze, gli sviluppatori di Ubuntu mettono a disposizione alcune procedure:

 * '''Backport''': i pacchetti che appartengono a questa categoria sono prelevati dai repository della versione di sviluppo e compilati per la versione stabile. Nessuna modifica può essere introdotta nel pacchetto sorgente onde evitare di includere potenziali nuovi bug. Per maggiori informazioni o per richiedere un backport, si veda la pagina [[Repository/Backports|Backports]].
 * '''Stable Release Update''': alcuni pacchetti possono essere inclusi nella versione stabile dopo che una specifica richiesta sia stata approvata da un gruppo di sviluppatori. Per maggiori informazioni o per richiedere un ''update'', si veda la pagina [[Ubuntu:StableReleaseUpdates|StableReleaseUpdates]].

In caso di dubbi sull'utilizzo di tali strumenti, richiedere assistenza nei vari [[http://ubuntu-it.org/supporto|canali di supporto]] della comunità italiana.
 * [[AmministrazioneSistema/RigaDiComando|Utilizzo del terminale]]
 * [[AmministrazioneSistema/ComandiBase|Comandi base da terminale]]
 * [[AmministrazioneSistema/PermessiFile|Guida alla gestione dei permessi sui file]]
 * [[Programmazione/LinguaggioBash|Guida introduttiva allo scripting Bash]]
Linea 111: Linea 66:
CategoryComunita CategoryProgrammazione


Introduzione

Come noto in ambiente Linux si può intervenire con comandi da terminale per svolgere svariate operazioni sul sistema operativo.
Talvolta può essere necessario impartire una serie più o meno lunga di comandi. In queste situazioni è preferibile utilizzare i cosiddetti script, vale a dire file di testo che riportano al proprio interno tutta la sequenza di comandi. Al bisogno lo script può essere richiamato per eseguire con un unico comando tutta la procedura.

La pagina non intende essere una guida esaustiva, ma si limita a dare alcune nozioni di base a chi non conosce l'utilizzo degli script.

Creazione e utilizzo

  1. Creare un nuovo file: nel nome si può omettere l'estensione del file, tuttavia è consigliabile utilizzare l'estensione a seconda del linguaggio che verrà utilizzato (nome_file.sh per il linguaggio Bash, nome_file.py per il linguaggio Python, ecc..).

  2. Inserire il testo al suo interno: di solito la prima riga presenta una stringa che riporta il percorso del file eseguibile relativo al linguaggio utilizzato. Qui alcuni esempi molto comuni:

    #!/bin/bash
    #!/bin/sh
    #!/usr/bin/python
    #!/usr/bin/env python

    ecc..
    In questo modo viene automaticamente impostato il linguaggio corretto per interpretare il contenuto dei comandi.

  3. Permesso di esecuzione: lo script per funzionare necessita del permesso di esecuzione. È possibile settarlo andando nelle proprietà del file (clic di destro sul file) oppure da terminale digitando:

    chmod +x /percorso/file
  4. Esecuzione dello script: è possibile impostare il file manager affinché gli script vengano avviati tramite clic del mouse. Tuttavia è più prudente agire da terminale con un comando del tipo:

    ./percorso/file

Esempio pratico

Viene qui mostrato un esempio banale di script Bash. Lo script creato avrà il compito di creare un file e scrivere una frase al suo interno.

  1. Creare un file con il nome script.sh nella propria Home. Questo può essere fatto tramite il file manager o tramite un editor di testo oppure da terminale digitando:

    touch script.sh
  2. Inserire al suo interno il seguente testo:

    #!/bin/bash
    touch ciao_mondo.txt
    echo "Ciao mondo!" > ciao_mondo.txt
    e quindi chiudere e salvare il file.
  3. Rendere eseguibile lo script. Lo si può fare accedendo ai permessi del file tramite clic di destro sull'icona oppure da terminale digitando:

    chmod +x script.sh
  4. Utilizzare lo script digitando il comando:

    ./script.sh

    Se tutto è stato fatto in modo corretto si visualizzerà nella propria Home il file di testo ciao_mondo.txt che al suo interno conterrà la scritta:

    Ciao mondo!

Ulteriori risorse


CategoryProgrammazione