Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "leuci-giulio/Prova1"
Differenze tra le versioni 2 e 46 (in 44 versioni)
Versione 2 del 28/12/2016 20.14.55
Dimensione: 16572
Autore: leuci-giulio
Commento:
Versione 46 del 14/11/2021 11.03.05
Dimensione: 2582
Commento: Macro PaginaDiProva
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 2: Linea 2:
#language it #LANGUAGE it
Linea 4: Linea 4:
<<Indice(depth=3)>> <<Include(NuoviStrumentiWiki/PaginaDiProva)>>
<<Indice(depth=2)>>
<<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?t=104024";)>>
Linea 6: Linea 8:
<<Informazioni(rilasci="16.04";forum="http://forum.ubuntu-it.org/viewtopic.php?t=104024";)>>
Linea 9: Linea 10:
'''R''' è un linguaggio di programmazione open source specificatamente progettato per analisi statistiche.
<<BR>>
In questa guida è illustrato come installare una distribuzione di '''R''' e l'IDE specifico '''RStudio'''.
Linea 10: Linea 14:
Storicamente, i sistemi ''Unix-like'' (tra cui GNU/Linux e quindi Ubuntu) hanno avuto l'esigenza di poter controllare ogni aspetto del computer e del software tramite la riga di comando, e il sistema usato per avere questo tipo di controllo è cercare di trasformare tutto in un file, tramite i ''filesystem''. Pertanto i dati sono file, le directory tramite cui sono ordinati i file sono anch'esse file, i dispositivi, come anche i singoli processi e tutto ciò che riguarda lo stato attuale del computer, sono rappresentati tramite file. Tutti i file all'interno del sistema hanno associati un utente proprietario, un gruppo di utenti e dei permessi che ne regolano l'accesso. Solo il super utente "root" ha la possibilità di accedere a qualsiasi file nel sistema senza tenere conto dei permessi. = Installazione =
Linea 12: Linea 16:
= Interfaccia grafica = == Da repository ufficiali ==
[[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://r-base | r-base]].
Linea 14: Linea 19:
== Cambiare i permessi di lettura e scrittura ai file == == Da sorgenti esterne (Ubuntu 16.04) ==
Per ottenere una distribuzione di '''R''' aggiornata seguire i seguenti passaggi:
 0. Digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
sudo add-apt-repository 'deb [arch=amd64,i386] cran.mirror.garr.it/mirrors/CRAN/bin/linux/ubuntu xenial/'
}}}
 0. Aggiornare la lista dei pacchetti digitando:{{{
sudo apt update}}}
 0. Installare '''R''' digitando:{{{
sudo apt install r-base}}}
Linea 16: Linea 29:
 0. Avviare il [[AmbienteGrafico/FileManager|file manager]] e spostarsi nella cartella dove è presente il file da rendere eseguibile.
 0. Fare clic con il tasto destro del mouse sul file per aprire il menu contestuale e cliccare su '''Proprietà'''.
 0. Spostarsi nella scheda '''Permessi'''.
 0. In base al [[AmbienteGrafico/FileManager|file manager]], seguire i seguenti passaggi:
  * '''Nautilus''', '''Caja''', '''Thunar''': nei menu a tendina '''Accesso''' relativi ai vari utenti e gruppi selezionare l'opzione desiderata.
  * '''Pcmanfm''': nei menu a tendina relativi alle voci sotto '''Controllo accesso''' selezionare l'opzione desiderata.
  * '''Dolphin''': nei menu a tendina relativi alle voci sotto '''Permessi di accesso''' selezionare l'opzione desiderata.
= Ambienti di sviluppo =
Linea 24: Linea 31:
== Cambiare i permessi di esecuzione ai file == == RStudio ==
||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Piccole/warning.png,,center)>> ||<style="padding:0.5em; border:none;">'''Da Ubuntu 16.04 RStudio è disponibile solo per sistemi a 64 bit.''' ||
 0. Scaricare dalla [[https://www.rstudio.com/products/rstudio/download/#download|pagina di download ufficiale]] la versione adatta al proprio sistema.
 0. Procedere alla sua [[AmministrazioneSistema/InstallareProgrammi/PacchettiDebian|installazione]].
Una volta installato sarà possibile [[AmbienteGrafico/AvviareProgrammi|avviare]] il programma.
Linea 26: Linea 37:
 0. Avviare il [[AmbienteGrafico/FileManager|file manager]] e spostarsi nella cartella dove è presente il file da rendere eseguibile.
 0. Fare clic con il tasto destro del mouse sul file per aprire il menu contestuale e cliccare su '''Proprietà'''.
 0. Spostarsi nella scheda '''Permessi'''.
 0. In base al [[AmbienteGrafico/FileManager|file manager]], seguire i seguenti passaggi:
  * '''Nautilus''', '''Caja''', '''Thunar''': mettere la spunta a '''Consenti l'esecuzione del file come programma'''.
  * '''Dolphin''': mettere la spunta a '''Eseguibile'''.
  * '''Pcmanfm''': nel menu a tendina '''Esecuzione''' impostare gli utenti che si desidera possano avviare il file.

 ||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Piccole/note.png,,center)>> ||<style="padding:0.5em; border:none;">''Il file [[AmbienteGrafico/FileManager|file manager]] di '''Thunar''' permette di mettere la spunta solo ad alcuni tipi di file. Qualora per il file desiderato non sia possibile, seguire la [[#chmod|procedura testuale]].'' ||

= Interfaccia testuale =

== Visualizzare i permessi ==

Per visualizzare i permessi dei file e delle cartelle contenute in una data cartella, digitare nel '''[[AmministrazioneSistema/RigaDiComando|terminale]]''' il comando:{{{
ls -l /percorso/alla/cartella
== Jupyter Notebook ==
'''[[http://jupyter.org/|Jupyter]]''' è un editor basato su browser web specificatamente progetto per i linguaggi di programmazione '''Julia''', '''[[Programmazione|Python]]''' ed '''R'''.
Per utilizzare '''R''' in una cella di '''Jupyter''' è sufficiente inserire la stringa `%%R` all'inizio di ogni cella in cui si vuole scrivere in '''R'''. <<BR>>
Per installare '''Jupyter Notebook''' seguire i seguenti passaggi:
 0. Aprire un [[AmministrazioneSistema/Terminale|terminale]].
 0. Digitare a seconda della propria versione di Python il comando:
  * Python 2:{{{
python -m pip install jupyter
Linea 43: Linea 46:
dove al posto di `/percorso/alla/cartella` inserire il percorso alla cartella desiderata. Se l'argomento non viene fornito, il comando viene applicato alla directory corrente.

Il risultato saranno righe simili alle seguenti:
{{{
totale 28
drwx------ 2 root root 16384 2007-02-21 11:18 lost+found
drwxr-xr-x 33 utente1 utente1 4096 2007-05-21 11:41 utente1
  * Python 3:{{{
python3 -m pip install jupyter
Linea 51: Linea 49:

Il significato dei vari componenti del risultato è il seguente:
 * la prima riga indica il totale
 * Il primo carattere a sinistra indica un attributo specifico del file, per esempio nel caso il file rappresenti una directory comparirà il carattere «d».
 * I successivi nove caratteri rappresentano i permessi e sono divisi in tre terne descritte nel seguito.
 * Il successivo numero indica i collegamenti a tale file o cartella.
 * Il primo nome è il proprietario.
 * Il secondo nome è il gruppo.
 * Il successivo numero è la dimensione apparente in byte.
 * La data dell'ultima modifica.
 * Il nome del file o cartella.
 * Se collegamento simbolico, il carattere «->» seguito dalla destinazione del collegamento.

Il significato delle terne di numeri è riferito ai permessi relativi ai vari utenti e gruppi, come esposto dalla seguente tabella:
||<rowbgcolor="#cccccc":>'''Terna'''||<:>'''Output di ls''' ||<:>'''Utente''' ||
||<#f7f7f7> prima terna||<:> -rwx---``---|| owner (proprietario) ||
||<#f7f7f7> seconda terna||<:> --``--rwx---|| group (gruppo) ||
||<#f7f7f7> terza terna||<:> ---``---``-rwx|| other (altro) ||

Sono presenti tre diverse restrizioni di accesso, come esposto dalla seguente tabella:
||<rowbgcolor="#cccccc":>'''Simbolo'''||<:>'''Permesso'''||<:>'''Azione'''||
||<#f7f7f7 :>r || read || lettura ||
||<#f7f7f7 :>w || write || scrittura ||
||<#f7f7f7 :>x || execute || esecuzione ||

I significati variano a seconda si riferiscano a file o cartelle:
 * nel caso ci si riferisca a un file:
  * '''r''': consente di aprire un file per visualizzarne il contenuto;
  * '''w''': consente di sovrascrivere o aggiungere dati a un file;
  * '''x''': consente di eseguire un file (nel caso si tratti di un file eseguibile).
 * nel caso ci si riferisca a una directory:
  * '''r''': consente la visualizzazione del contenuto della directory, con il comando '''ls''';
  * '''w''': consente la creazione o l'eliminazione di file all'interno della directory;
  * '''x''': consente di accedere alla directory (per esempio con il comando [[AmministrazioneSistema/ComandiBase#cd|cd]]) anche nel caso non se ne possa visualizzarne il contenuto.

||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%><<Immagine(Icone/Piccole/warning.png,,center)>> ||<style="padding:0.5em; border:none;">'''Applicare il permesso di scrittura ad una cartella consente la cancellazione dei file contenuti in essa anche ad utenti che non possiedono i permessi di scrittura su tali file.''' ||

<<Anchor(chmod)>>
== Cambiare i permessi ai file ==

Il comando da utilizzare nel '''[[AmministrazioneSistema/RigaDiComando|terminale]]''' per la modifica dei permessi è '''chmod''', la cui sintassi è: {{{
chmod [OPZIONI] permessi nomefile
}}}
dove al posto di `nomefile` inserire il nome del file di cui si intende modificare i permessi.

Ci sono due metodi per modificare i permessi, attraverso l'uso dei numeri o delle lettere, esposti nei seguenti paragrafi.

||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Piccole/warning.png,,center)>> ||<style="padding:0.5em; border:none;">'''Non è consigliabile modificare i permessi ai file di sistema, alcuni file hanno dei permessi molto restrittivi per scongiurare accessi non autorizzati e problemi di sicurezza. Ad esempio, il file `/etc/shadow`, che contiene le password utente, non ha impostato alcun permesso per gli utenti.''' ||

=== Utilizzare chmod con i letterali ===

Quello che segue è il dizionario dei letterali da usare con i permessi:

||<rowbgcolor="#cccccc" :>'''Opzioni''' ||<:>'''Definizione''' ||
||<#f7f7f7 :> u || proprietario ||
||<#f7f7f7 :> g || gruppo ||
||<#f7f7f7 :> o || altri ||
||<#f7f7f7 :> x || esecuzione ||
||<#f7f7f7 :> w || scrittura ||
||<#f7f7f7 :> r || lettura ||
||<#f7f7f7 :> + || aggiungi permesso ||
||<#f7f7f7 :> - || annulla permesso ||
||<#f7f7f7 :> = || imposta permesso ||

In generale, la sintassi da adoperare è la seguente:{{{
chmod UTENTE+/-/=PERMESSI nomefile
}}}
dove al posto di `UTENTE` si deve inserire una qualsiasi combinazione di `u`, `g` e `o`, al posto di `+/-/=` uno dei tre simboli, al posto di `PERMESSI` una qualsiasi combinazione di `x`, `w`, e `r` e al posto di `nomefile` il nome del file di cui si intende manipolare i permessi.

Ad esempio:
 * Aggiungere il bit di esecuzione al «proprietario»: {{{
 chmod u+x nomefile
 }}}

 * Aggiungere agli «altri» i bit di scrittura ed esecuzione: {{{
 chmod o+wx nomefile
 }}}

 * Negare al «gruppo» il bit di lettura:{{{
 chmod g-r nomefile
 }}}

 * Aggiungere i bit di lettura, scrittura ed esecuzione a tutti gli utenti:{{{
 chmod ugo+rwx nomefile
 }}}

=== Utilizzare chmod con i numeri ===

||<rowbgcolor="#cccccc":>'''Opzioni''' ||<:>'''Definizione''' ||<:>'''Definizione in lettere''' ||
||<#f7f7f7 :> #-- || proprietario ||u (user)||
||<#f7f7f7 :> -#- || gruppo || g (group)||
||<#f7f7f7 :> --# || altri || o (others)||
||<#f7f7f7 :> 0 || nessun permesso || - ||
||<#f7f7f7 :> 1 || esecuzione || (x, execution)||
||<#f7f7f7 :> 2 || scrittura || (w, write) ||
||<#f7f7f7 :> 3 || esecuzione + scrittura || (xw) ||
||<#f7f7f7 :> 4 || lettura || (r, read)||
||<#f7f7f7 :> 5 || lettura + esecuzione|| (rx, somma dei valori 1+4) ||
||<#f7f7f7 :> 6 || lettura + scrittura|| (rw, somma dei valori 2+4) ||
||<#f7f7f7 :> 7 || lettura + scrittura + esecuzione|| (rwx, somma dei valori 1+2+4) ||

«Proprietario», «gruppo» e «altri» sono rappresentati da tre numeri. Per ottenere il valore da impostare, è sufficiente determinare la tipologia d accesso e poi fare la somma.

Per esempio, se si desidera un file con i permessi «-rw-rw-rwx» è necessario utilizzare la seguente combinazione:

||<rowbgcolor="#cccccc":> '''Proprietario''' ||<:> '''Gruppo''' ||<:> '''Altri''' ||
||<rowbgcolor="#f7f7f7":> lettura e scrittura||<:> lettura e scrittura ||<:> lettura, scrittura ed esecuzione||
||<:> 4+2=6 ||<:> 4+2=6 ||<:> 4+2+1=7 ||

Dunque, il comando da digitare sarà il seguente:
{{{
chmod 667 nomefile
}}}

Se invece si desidera un file con i permessi «--w-r-x--x» è necessario utilizzare la seguente combinazione:

||<rowbgcolor="#cccccc":> '''Proprietario''' ||<:> '''Gruppo''' ||<:>'''Altri''' ||
||<rowbgcolor="#f7f7f7":> scrittura||<:> lettura ed esecuzione||<:> esecuzione||
||<:> 2 ||<:> 4+1=5 ||<:> 1 ||

Per applicare tali permessi sarà necessario digitare il seguente comando:
{{{
chmod 251 nomefile
}}}

Quelli che seguono sono degli esempi di utilizzo del comando '''chmod''' con i numeri: per prima cosa creare alcuni file vuoti con il seguente comando:
{{{
touch file1 file2 file3 file4
}}}

I permessi di tali file, visualizzabili con '''ls''', corrispondono ai seguenti:
{{{
total 0
-rw-r--r-- 1 user user 0 Nov 19 20:13 file1
-rw-r--r-- 1 user user 0 Nov 19 20:13 file2
-rw-r--r-- 1 user user 0 Nov 19 20:13 file3
-rw-r--r-- 1 user user 0 Nov 19 20:13 file4
}}}

Aggiugnere il bit di esecuzione al «proprietario»:
{{{
chmod 744 file1
}}}

Aggiungere ad «altri» i bit lettura ed esecuzione:
{{{
chmod 647 file2
}}}

Negare a «gruppo» il bit lettura:
{{{
chmod 604 file3
}}}

Aggiungere i bit lettura, scrittura ed esecuzione a tutti: {{{
chmod 777 file4
}}}

N.B. Per cambiare i permessi in modo ricorsivo a tutti i file presenti in una cartella ed alla cartella stessa si deve usare l'opzione -R subito dopo il comando chmod: {{{
chmod -R 777 Cartella/
}}}
da i permessi di lettura, scrittura, esecuzione di ogni singolo file della cartella `Cartella/` a tutti gli utenti (proprietario, gruppo e altri)


=== Utilizzare chmod con sudo ===

I comandi '''chmod''' e '''sudo''' possono essere combinati per cambiare i permessi a file di cui non si è proprietari.

||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%><<Immagine(Icone/Piccole/warning.png,,center)>> ||<style="padding:0.5em; border:none;">'''Cambiare i permessi nel modo sbagliato ai file sbagliati può compromettere l'integrità del sistema. Utilizzare il comando''' [[AmministrazioneSistema/Sudo|sudo]] '''con attenzione.''' ||

Quelli che seguono sono degli esempi di gestione dei permessi con i privilegi di amministrazione del sistema:
{{{
user@host:/home/user$ ls -l /usr/local/bin/somefile
-rw-r--r-- 1 root root 550 2005-11-13 19:45 /usr/local/bin/somefile
user@host:/home/user$

user@host:/home/user$ sudo chmod o+x /usr/local/bin/somefile

user@host:/home/user$ ls -l /usr/local/bin/somefile
-rw-r--r-x 1 root root 550 2005-11-13 19:45 /usr/local/bin/somefile
user@host:/home/user$
}}}

<<Anchor(umask)>>
= Cambiare i permessi delle partizioni =

== umask, fmask e dmask ==

File system come NTFS o FAT hanno un sistema per gestire utenti e permessi incompatibile col sistema usato da GNU/Linux, pertanto durante la fase di montaggio di tali filesystem viene assegnato in modo predefinito un utente proprietario (con relativi permessi) e un gruppo proprietario (con relativi permessi) a tutti i file presenti in essi, e per tutto il tempo in cui tali file system rimangono montati non si potrà modificare né i permessi né l'utente o il gruppo proprietario. In modo predefinito vengono assegnati permessi di lettura, scrittura ed esecuzione per tutti gli utenti e sono validi sia per i file che per le directory, ma è possibile togliere permessi tramite la cosiddetta "maschera dei permessi", che corrisponde all'opzione «umask». Per togliere permessi alle sole directory si usa l'opzione «dmask», mentre per i soli file di dati si usa «fmask».

I permessi per le partizioni vengono solitamente modificati attraverso l'uso del suddetto modificatore nel file `/etc/fstab`, il contenuto del quale sarà simile al seguente:
{{{
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
/dev/sda1 / ext3 defaults,errors=remount-ro 0 1
/dev/sda2 /media/windowsXP ntfs-3g umask=0222,ro,nls=utf8 0 0
/dev/sdb1 /media/windows98 vfat umask=0002,nls=utf8 0 0
/dev/sdb2 /media/storage ntfs-3g dmask=000,fmask=113 0 0
}}}

Nell'esempio, la directory `/media/windowsXP` viene montata in sola lettura (opzione '''ro''') e la maschera corrispondente toglie i permessi di scrittura a tutti gli utenti. La directory `/media/windows98` lascia tutti i permessi all'utente proprietario e al gruppo proprietario, ma toglie il permesso di scrittura agli altri utenti, in modo che questi non potranno nè creare o eliminare file (permesso di scrittura negato per le directory), nè modificare i file esistenti (permesso di scrittura negato per i file). Nella directory `/media/storage` tutti gli utenti possono accedere a tutte le directory, possono creare o eliminare file (come indicato dalla dmask), ma non hanno il permesso di eseguire eventuali file eseguibili, e in più gli utenti che non fanno parte del gruppo proprietario o che non sono l'utente proprietario non possono modificare nessun file.

== Cambiare i permessi di una partizione FAT con umask ==

Per iniziare fare una copia di sicurezza del file `/etc/fstab` con il seguente comando:
{{{
sudo cp /etc/fstab /etc/fstab.old
}}}

Aprire il file sopra citato con un [[Ufficio/EditorDiTesto|editor di testo]] e con i [[AmministrazioneSistema/Sudo|privilegi di amministrazione]]. A tale scopo si può digitare un comando simile al seguente:
{{{
sudo nano /etc/fstab
}}}

Cercare la riga relativa al volume FAT desiderato. Dovrebbe essere simile alla seguente:
{{{
/dev/dispositivo /punto/di/mount vfat defaults 0 0
}}}

Una volta trovata, modificarla come segue:
{{{
/dev/dispositivo /punto/di/mount vfat umask=000 0 0
}}}

In questo modo tutti gli utenti avranno accesso in scrittura e lettura alla partizione.

||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%><<Immagine(Icone/Piccole/note.png,,center)>> ||<style="padding:0.5em; border:none;">''Il percorso'' `/punto/di/mount` ''è la directory da cui si potrà accedere alla partizione''. ||

La modifica sarà applicata automaticamente al successivo riavvio di Ubuntu. Se si desidera applicarla subito,
è sufficiente smontare il volume e rimontarlo con i seguenti comandi:
{{{
sudo umount /punto/di/mount
sudo mount /punto/di/mount
}}}

= Ulteriori risorse =

 * [[http://linux.die.net/man/1/chmod|Pagina man di chmod]]
 * [[http://linux.die.net/man/2/chown|Pagina man di chown]]
 * [[http://linux.die.net/man/1/chgrp|Pagina man di chgrp]]
 * [[Hardware/DispositiviPartizioni/MontarePartizioni/Fat|Montare una partizione FAT]]
Una volta installato, per avviare '''Jupyter Notebook''' digitare in un [[AmministrazioneSistema/Terminale|terminale]] il comando{{{
jupyter notebook}}}
Linea 295: Linea 53:
##CategoryAmministrazione


Attenzione! Questa è una Pagina di prova. Le informazioni riportate potrebbero essere incomplete, errate e potenzialmente pericolose. Per contribuire alla realizzazione di questa pagina consultare la discussione di riferimento.

Problemi in questa pagina? Segnalali in questa discussione

Introduzione

R è un linguaggio di programmazione open source specificatamente progettato per analisi statistiche.
In questa guida è illustrato come installare una distribuzione di R e l'IDE specifico RStudio.

Installazione

Da repository ufficiali

Installare il pacchetto r-base.

Da sorgenti esterne (Ubuntu 16.04)

Per ottenere una distribuzione di R aggiornata seguire i seguenti passaggi:

  1. Digitare nel terminale il seguente comando:

    sudo add-apt-repository 'deb [arch=amd64,i386] cran.mirror.garr.it/mirrors/CRAN/bin/linux/ubuntu xenial/'
  2. Aggiornare la lista dei pacchetti digitando:

    sudo apt update
  3. Installare R digitando:

    sudo apt install r-base

Ambienti di sviluppo

RStudio

Da Ubuntu 16.04 RStudio è disponibile solo per sistemi a 64 bit.

  1. Scaricare dalla pagina di download ufficiale la versione adatta al proprio sistema.

  2. Procedere alla sua installazione.

Una volta installato sarà possibile avviare il programma.

Jupyter Notebook

Jupyter è un editor basato su browser web specificatamente progetto per i linguaggi di programmazione Julia, Python ed R. Per utilizzare R in una cella di Jupyter è sufficiente inserire la stringa %%R all'inizio di ogni cella in cui si vuole scrivere in R.
Per installare Jupyter Notebook seguire i seguenti passaggi:

  1. Aprire un terminale.

  2. Digitare a seconda della propria versione di Python il comando:
    • Python 2:

      python -m pip install jupyter
    • Python 3:

      python3 -m pip install jupyter

Una volta installato, per avviare Jupyter Notebook digitare in un terminale il comando

jupyter notebook


CategoryHomepage