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 3 e 28 (in 25 versioni)
Versione 3 del 17/04/2013 21.21.30
Dimensione: 11523
Autore: jeremie2
Commento:
Versione 28 del 13/10/2021 16.51.10
Dimensione: 4199
Autore: ivantu
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 1: Linea 1:
#format wiki
#LANGUAGE it
## page was renamed from jeremie2/Prove1
#format wiki
#language it
Linea 4: Linea 5:
<<Indice(depth=2)>>
<<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?t=88784")>>
<<Indice>>
<<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?f=46&t=612945")>> 
Linea 9: Linea 10:
'''Ubuntu''' rilascia una nuova versione del sistema ogni 6 mesi (periodo conosciuto come ''ciclo di sviluppo''). Dopo ciascun rilascio, la versione di tutti i pacchetti rimane invariata fino alla versione successiva, genericamente denominata '''Ubuntu+1''' fino a prima del rilascio. Ad esempio: un software con numero di versione pari a 1.0.1 (''programma 1.0.1'' nel seguito) facente parte di una generica versione '''Ubuntu X.YY''', vedrà aumentato il suo numero di versione soltanto con il rilascio in versione stabile di Ubuntu+1, ciò accade anche se nel frattempo viene rilasciata una versione superiore del software. Il team di Ubuntu è in grado di applicare delle patch di sicurezza a ''programma 1.0.1'', ma non saranno rese disponibili nuove caratteristiche del programma o altre risoluzioni di bug, diverse da quelle di sicurezza. Come noto in ambiente Linux si può intervenire con comandi da [[AmministrazioneSistema/Terminale|terminale]] per svolgere svariate operazioni sul sistema operativo.<<BR>>
Talvolta può essere necessario impartire una serie più o meno lunga di comandi o fare in modo che un comando possa essere eseguito automaticamente all'avvio, ecc..<<BR>>
In queste situazioni torna comodo radunare i comandi in un così detto '''script''', vale a dire un file di testo che riporta al suo interno tutta la sequenza di comandi. Al bisogno lo script può essere richiamato per eseguire con un unico comando tutta la procedura.
Linea 11: Linea 14:
Qui è dove entrano in gioco i '''Backports'''. Il gruppo che li gestisce ritiene che la miglior politica di aggiornamento sia quella costituita da un giusto compromesso tra la tradizionale politica di Ubuntu sugli aggiornamenti di sicurezza e l'esigenza di utilizzare le versioni più recenti dei singoli software. Tra questi, tipici candidati per l'aggiornamento di versione sono le applicazioni desktop come i browser web, gli elaboratori di testo, i client IRC, i programmi di messaggistica istantanea e così via. Questi, infatti, possono essere tranquillamente aggiornati senza dover apportare modifiche sostanziali a parti vitali del sistema operativo, correndo il rischio di comprometterne la stabilità e/o sicurezza. {{{#!wiki note
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 13: Linea 17:
Nei Backports è anche compreso un repository di software extra comprendente alcuni pacchetti non disponibili nei repository predefiniti in Ubuntu. Tra questi vi sono alcuni pacchetti con licenze restrittive: diversi formati per il multimedia o alcuni programmi commerciali ''freeware'' come '''Acrobat Reader''' di '''Adobe''' o il '''Java Runtime Environment/Development Kit''' di '''Sun''' presentano EULA vincolanti non compatibili con il software ''libre'' normalmente incluso nei componenti '''main''' e '''restricted'''. = Creazione e utilizzo =
Linea 15: Linea 19:
A partire dal giugno 2005, '''Ubuntu Backports''' è un progetto ufficialmente supportato da Ubuntu e riconosciuto dai suoi sviluppatori.

= Stabilità =

I pacchetti software candidati per l'inserimento in Backports sono verificati da diversi sviluppatori del progetto prima di essere inseriti nel repository. Sono quindi sicuri da usare quanto quelli già presenti in un'installazione tipica di Ubuntu. Tali pacchetti devono possedere un livello minimo di usabilità che possa essere garantito dalle verifiche da un qualunque sviluppatore del progetto. Poiché si introducono in una versione stabile del sistema dei pacchetti aggiornati che provengono da una distribuzione in sviluppo, possono sorgere problemi inaspettati: ad esempio bug non rilevati durante la fase di test oppure un nuovo formato per i file di configurazione o incompatibilità di altro genere. In caso di problemi rilevati in pacchetti inclusi nel repository Backports, è possibile segnalarli utilizzando il [[https://launchpad.net/lucid-backports/+filebug|bugtracker]] dei backports (non quello principale di Ubuntu).

= Utilizzo =

Verificare di aver abilitato i [[Repository| repository]] '''Updates''' e '''Security''' (alcuni pacchetti nei Backports dipendono infatti da questi). Inoltre, verificare che ciascuno di questi abbia abilitate le componenti '''main''', '''restricted''', '''universe''' e '''multiverse'''. I backport sono inseriti in una componente separata in modo tale da non essere inclusi in altri repository ufficiali.

== Installare pacchetti ==

Un elenco dei pacchetti disponibili in Backports è reperibile su [[http://packages.ubuntu.com/|Ubuntu Packages]] il sito su cui sono elencati tutti i pacchetti disponibili nell'[[http://archive.ubuntu.com/|archivio]] di Ubuntu.

 * '''Ubuntu 13.04''': [[http://packages.ubuntu.com/raring-backports/]]
 * '''Ubuntu 12.10''': [[http://packages.ubuntu.com/quantal-backports/]]
 * '''Ubuntu 12.04''': [[http://packages.ubuntu.com/precise-backports/]]
## * '''Ubuntu 11.10''': [[http://packages.ubuntu.com/oneiric-backports/]]
## * '''Ubuntu 10.04''': [[http://packages.ubuntu.com/lucid-backports/]]
## * '''Ubuntu 11.04''': [[http://packages.ubuntu.com/natty-backports/]]
## * '''Ubuntu 10.10''': [[http://packages.ubuntu.com/maverick-backports/]]
## * '''Ubuntu 9.10''': [[http://packages.ubuntu.com/karmic-backports/]]||
## * '''Ubuntu 8.04''': [[http://packages.ubuntu.com/hardy-backports/]]

I pacchetti possono essere scaricati usando il proprio browser (avendo cura di scegliere il link corretto in relazione al proprio sistema, nella colonna "Architecture").

Facendo clic con il tasto destro sul pacchetto scaricato, sarà possibile scegliere l'opzione per installarlo. I pacchetti possono anche essere installati con il tradizionale comando '''dpkg -i''' da terminale:{{{
sudo dpkg -i ~/Desktop/<filename>.deb
 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/sh
}}}{{{
#!
#!/usr/bin/python
}}}{{{
#!
#!/usr/bin/env python
}}}ecc..<<BR>>In questo modo viene automaticamente impostato il linguaggio corretto per interpretare il contenuto dei comandi.
<<Anchor(exec)>>
 0. '''Permesso di esecuzione''': a seconda del modo in cui vengono eseguiti, gli script per funzionare necessitano del [[AmministrazioneSistema/PermessiFile|permesso]] di esecuzione. È possibile settarlo andando nelle proprietà del file (clic di destro sul file) oppure da [[AmministrazioneSistema/Terminale|terminale]] digitando:{{{
chmod u+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.<<BR>>Per l'esecuzione di un script può essere sufficiente un comando in cui viene specificato il nome del linguaggio utilizzato e il percorso del file. Ad esempio uno script '''bash''' può essere avviato nel seguente modo:{{{
bash /percorso/file
}}}Tuttavia nella pratica comune, grazie all'utilizzo della direttiva nella prima riga e ai permessi di esecuzione mostrati nei passaggi precedenti, il comando di avvio prende comunemente la seguente forma:{{{
./percorso/file
Linea 45: Linea 43:
Al termine dell'installazione del pacchetto è consigliabile eseguire il seguente comando:{{{
sudo apt-get -f update
= 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.

 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/Terminale|terminale]] digitando:{{{
touch script.sh
Linea 48: Linea 50:
per risolvere eventuali problemi legati alle dipendenze.

== Abilitare il repository ==

=== Da terminale ===

Aggiungere le righe relative alla propria versione al file di configurazione `/etc/apt/sources.list`:

 * '''Ubuntu 13.04''': {{{
deb http://archive.ubuntu.com/ubuntu raring-backports main universe multiverse restricted
 0. 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.
 0. Rendere eseguibile lo script. Lo si può fare accedendo ai permessi del file tramite clic di destro sull'icona oppure da [[AmministrazioneSistema/Terminale|terminale]] digitando:{{{
chmod u+x script.sh
Linea 59: Linea 59:

 * '''Ubuntu 12.10''': {{{
deb http://archive.ubuntu.com/ubuntu quantal-backports main universe multiverse restricted
 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 63: Linea 64:

 * '''Ubuntu 12.04''': {{{
deb http://archive.ubuntu.com/ubuntu precise-backports main universe multiverse restricted
}}}

## * '''Ubuntu 11.10''': {{{
##deb http://archive.ubuntu.com/ubuntu oneiric-backports main universe multiverse restricted
##}}}

## * '''Ubuntu 11.04''': {{{
##deb http://archive.ubuntu.com/ubuntu natty-backports main universe multiverse restricted
##}}}

## * '''Ubuntu 10.10''': {{{
##deb http://archive.ubuntu.com/ubuntu maverick-backports main universe multiverse restricted
##}}}

## * '''Ubuntu 10.04''': {{{
##deb http://archive.ubuntu.com/ubuntu lucid-backports main universe multiverse restricted
##}}}

## * '''Ubuntu 9.10''': {{{
##deb http://archive.ubuntu.com/ubuntu karmic-backports main universe multiverse restricted
##}}}

## * '''Ubuntu 8.04''': {{{
##deb http://archive.ubuntu.com/ubuntu hardy-backports main universe multiverse restricted
##}}}

Aggiornare l'indice dei pacchetti digitando il seguente comando in una finestra di terminale:
{{{
sudo apt-get update
}}}

=== Per via grafica ===

Seguire le indicazioni per [[Repository/Ubuntu|Ubuntu]] o [[Repository/Kubuntu|Kubuntu]] e aggiungere i seguenti parametri:

 * '''Ubuntu 13.04''': {{{
url: http://archive.ubuntu.com/ubuntu
distribuzione: raring-backports
sezioni: main universe multiverse restricted
}}}

 * '''Ubuntu 12.10''': {{{
url: http://archive.ubuntu.com/ubuntu
distribuzione: quantal-backports
sezioni: main universe multiverse restricted
}}}

 * '''Ubuntu 12.04''': {{{
url: http://archive.ubuntu.com/ubuntu
distribuzione: precise-backports
sezioni: main universe multiverse restricted
}}}

## * '''Ubuntu 11.10''': {{{
##url: http://archive.ubuntu.com/ubuntu
##distribuzione: oneiric-backports
##sezioni: main universe multiverse restricted
##}}}

## * '''Ubuntu 11.04''': {{{
##url: http://archive.ubuntu.com/ubuntu
##distribuzione: natty-backports
##sezioni: main universe multiverse restricted
##}}}

## * '''Ubuntu 10.10''': {{{
##url: http://archive.ubuntu.com/ubuntu
##distribuzione: maverick-backports
##sezioni: main universe multiverse restricted
##}}}

## * '''Ubuntu 10.04''': {{{
##url: http://archive.ubuntu.com/ubuntu
##distribuzione: lucid-backports
##sezioni: main universe multiverse restricted
##}}}

## * '''Ubuntu 9.10''': {{{
##url: http://archive.ubuntu.com/ubuntu
##distribuzione: karmic-backports
##sezioni: main universe multiverse restricted
##}}}

## * '''Ubuntu 8.04''' «'''Hardy Heron'''»: {{{
##url: http://archive.ubuntu.com/ubuntu
##distribuzione: hardy-backports
##sezioni: main universe multiverse restricted
##}}}

<<Anchor(richieste)>>
= Richiedere nuovi pacchetti =

È possibile richiedere l'inserimento di pacchetti non ancora disponibili sulla propria versione del sistema come se si stesse segnalando un bug; per fare questo aprire una nuova segnalazione di bug presso la pagina su Launchpad corrispondente alla propria versione del sistema.

 * '''Ubuntu 12.10''': [[https://launchpad.net/products/quantal-backports/+filebug]]
 * '''Ubuntu 12.04''': [[https://launchpad.net/products/precise-backports/+filebug]]
 * '''Ubuntu 11.10''': [[https://launchpad.net/products/oneirc-backports/+filebug]]
 * '''Ubuntu 10.04''': [[https://launchpad.net/products/lucid-backports/+filebug]]
## * '''Ubuntu 11.04''': [[https://launchpad.net/products/natty-backports/+filebug]]
## * '''Ubuntu 10.10''': [[https://launchpad.net/products/maverick-backports/+filebug]]
## * '''Ubuntu 9.10''': [[https://launchpad.net/products/karmic-backports/+filebug]]
## * '''Ubuntu 8.04''': [[https://launchpad.net/products/hardy-backports/+filebug]]

Completare la segnalazione aggiungendo una breve nota per indicare ciò di cui si necessita (ad esempio: "Please backport Bittornado"). Indicare la versione del pacchetto presente nella versione stabile insieme a quella che si sta richiedendo. Se si è effettuato un controllo, per facilitare il compito agli sviluppatori, indicare se la versione che si sta richiedendo è già disponibile in Ubuntu+1.

Quelle che seguono sono le regole cui attenersi quando viene effettuato il ''backport'' di un pacchetto:

 0. È possibile proporre soltanto i pacchetti appartenenti al ramo di sviluppo di Ubuntu.
 0. Il ''backporting'' di applicazioni importanti e dipendenti tra è altamente sconsigliato.
 0. Nuove versioni dei programmi possono essere inserite tra i backports se compatibili con il sistema e le relative librerie.
 0. Non verranno considerate per l'inserimento librerie che possano condurre ad una rottura delle dipendenze (o rendere anche solo parzialmente inusabile il sistema) oppure vadano ad interferire con il funzionamento di altri programmi (ad esempio, libvorbis, libz, ecc.) a meno che non si tratti di aggiornamenti che risolvano degli ''exploit''.
 0. Non sono ammesse variazioni agli interpreti dei linguaggi di programmazione (Python, Mono, ecc.). Queste variazioni potrebbero infatti avere ripercussioni sui pacchetti esistenti, in maniera non prevedibile.
 0. Per essere inseriti nel repository, i programmi devono presentare significative nuove caratteristiche oppure correzioni di bug critici.
Linea 182: Linea 67:
 * [[https://help.ubuntu.com/community/UbuntuBackports|Documento originale]]
 * [[https://wiki.ubuntu.com/BackportRequestProcess|Norme per la richiesta di backporting]]
 * [[http://ubuntuforums.org/forumdisplay.php?f=47|Board sul forum internazionale]]
 * [[http://lists.ubuntu.com/mailman/listinfo/ubuntu-backports|Backports Mailing List]]
 * [[http://ubuntuforums.org/showthread.php?t=153402|Discussione sul forum internazionale sulle richieste di nuovi inserimenti nel repository]]
 * [[AmministrazioneSistema/Terminale|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 188: Linea 73:
CategoryAmministrazione CategoryProgrammazione CategoryDaRevisionare


Problemi in questa pagina? Segnalali in questa discussione

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 o fare in modo che un comando possa essere eseguito automaticamente all'avvio, ecc..
In queste situazioni torna comodo radunare i comandi in un così detto script, vale a dire un file di testo che riporta al suo 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.

  1. Permesso di esecuzione: a seconda del modo in cui vengono eseguiti, gli script per funzionare necessitano del permesso di esecuzione. È possibile settarlo andando nelle proprietà del file (clic di destro sul file) oppure da terminale digitando:

    chmod u+x /percorso/file
  2. Esecuzione dello script: è possibile impostare il file manager affinché gli script vengano avviati tramite clic del mouse. Tuttavia è più prudente agire da terminale.
    Per l'esecuzione di un script può essere sufficiente un comando in cui viene specificato il nome del linguaggio utilizzato e il percorso del file. Ad esempio uno script bash può essere avviato nel seguente modo:

    bash /percorso/file

    Tuttavia nella pratica comune, grazie all'utilizzo della direttiva nella prima riga e ai permessi di esecuzione mostrati nei passaggi precedenti, il comando di avvio prende comunemente la seguente forma:

    ./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 u+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 CategoryDaRevisionare