venerdì 3 settembre 2010

Come configurare le applicazioni da lanciare all'avvio del sistema

Menu Sistema --> Preferenze --> Applicazioni d'avvio

Nella finestra che si aprirà cliccare su "Aggiungi" ed inserire le informazioni richieste.

giovedì 2 settembre 2010

Installare Skype su Fedora da un repository di yum

Il miglior modo per installare Skype su Fedora è tramite il suo repository; in questo modo è possibile mantenerlo sempre aggiornato all'ultima versione stabile.
Per prima cosa bisogna creare il file:

/etc/yum.repos.d/skype.repo

e copiarvi le righe seguenti:

[skype]
name=Skype Repository
baseurl=http://download.skype.com/linux/repos/fedora/updates/i586/
gpgkey=http://www.skype.com/products/skype/linux/rpm-public-key.asc

Fatto ciò basta lanciare il seguente comando (come root):

yum install skype --nogpgcheck


Fonte: http://www.go2linux.org/skype-for-fedora-using-yum

martedì 23 marzo 2010

Come fare il log del terminale su un file

Spesso capita di dover tracciare tutto l'output di un terminale. Se le tracce sono molte e il buffer del terminale non è molto grande, è possibile che le tracce comparse per prime non siano più recuperabili perché il buffer si è riempito.
Per fortuna ci viene in aiuto il comando script, che consente di fare il log del contenuto del terminale su di un file (quindi potenzialmente molto più grande del terminal buffer).
Può essere dato semplicemente come:
> script
In questo caso il log viene scritto nel file typescript nella cartella corrente.
Per specificare il file su cui si vuole loggare l'output:
> script filename
Altre opzioni che us spesso sono:
-a: se il file di output è già esistente, non viene cancellato, ma il log viene aggiuto in coda al file.
-c COMMAND: esegue il comando COMMAND anzichè la shell, catturandone tutto l'output
Per ulteriori opzioni consultare il manuale di linux del comando.
Una volta terminata la cattura delle tracce di output, per uscire dal comando script basta digitare:
> exit

domenica 7 marzo 2010

Come aggiungere repository a yum

Yum è un utilissimo programmino che consente di aggiungere programmi al proprio sistema Linux, oppure di aggiornare o rimuovere quelli già presenti.
Per esempio, per installare skype è sufficiente digitare (da account con privilegi di root):
yum install skype
Yum va a cercare il programma skype nei repository configurati, lo scarica e lo installa nel sistema senza bisogno di alcun altro aiuto da parte dell'utente.
Se l'installazione di un pacchetto richiede l'installazione o l'aggiornamento di altri pacchetti, si occupa di fare ciò in maniera totalmente trasparente.
Per aggiornare un pacchetto preesistente:
yum update skype
Anche in questo caso cerca il programma, lo scarica e lo aggiorna, risolvendo tutte le dipendenze.
Per aggiornare in un sol colpo tutto il sistema:
yum update
Questo è particolarmente utile dopo aver installato un sistema linux da zero, o quando lo si riaccende dopo un lungo periodo di inattività, in modo da utilizzare tutti i pacchetti aggiornati all'ultima revisione.
Una parte importante e delicata è quella di configurare i repository, dove yum va a cercare i pacchetti software. Essi si trovano nella cartella /etc/yum.repo.d/
In questa cartella vi sono alcuni file, ciascuno con uno o più repository. La struttura di una entry di un repository è la seguente:

[fedora]
name=Fedora $releasever - $basearch
failovermethod=priority
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=fedora-$releasever&arch=$basearch
enabled=1
metadata_expire=7d
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch

  • baseurl e mirrorlist contengono l'URL di un repository oppure un elenco di mirror dello stesso: è importante che non siano mai attivi entrambi contemporaneamente (in genere, come in questo caso, è attivo il mirrorlist, mentre il baseurl è commentato).
  • enabled vale 1 o 0 a seconda che il repository sia abilitato o meno.
  • gpgcheck vale 1 o 0 a seconda che il controllo GPG sia abilitato o meno. Nel caso sia abilitato, gpgkey contiene la chiave per fare il controllo.

Per aggiungere un nuovo repository, se si conoscono questi parametri, basta editare uno dei file .repo presenti nella cartella, oppure aggiungerne uno nuovo (sempre come utente privilegiato).
Se non si conoscono, è comunque possibile aggiungerli tramite dei pacchetti rpm. Per esempio, per aggiungere i repository "livna", "rpmfusion-free" e "rpmfusion-nonfree", basta digitare:
rpm -Uvh http://rpm.livna.org/livna-release-9.rpm
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm
rpm -Uvh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
In questo modo verranno creati in automatico i file relativi a questi repository con i parametri corretti.

venerdì 12 febbraio 2010

Il programma xhost (controllo degli accessi)

Il programma xhost serve ad aggiungere o togliere l'accesso al server X agli host specificati.
E' anche possibile specificare una coppia utente/hostname, ma per questa funzione è necessario avere Secure RPC e NIS in esecuzione sulle macchine interessate (chiedete all'amministratore di sistema se non siete sicuri su di esso).
Fondamentalmente xhost permette solo una forma rudimentale di sicurezza e di controllo della privacy.
Serve per un ambiente singolo utente, pur limitando i peggiori abusi. Se si lavora in un ambiente multi utente, è necessario utilizzare il programma xauth.

Per vedere se il controllo degli accessi è abilitato (in genere lo è), scrivere su terminale xhost. Mostra qualcosa del tipo:
$ xhost
access control enabled, only authorized clients can connect

Se il controllo di accesso è stato disattivato, scrive:
$ xhost
access control disabled, clients can connect from any host

Per disattivare il controllo di accesso basta scriveee xhost +, che permette ad ogni host esterno di accedere al server X sulla macchina locale. Non si dovrebbe mai fare questo, perché permetterebbe al mondo esterno di aprire finestre di X sullo schermo e di catturare le sequenze di tasti mentre si digita (in modo da sniffare le password).
Per abilitare nuovamente il controllo di accesso scrivere xhost - e solo i client/host autorizzati potranno fare le cose di cui sopra.

Ora vogliamo fare qualcosa di utile, cioè consentire l'accesso da un host specifico (ad esempio perché si è loggati in esso e si vuole avviare un programma che usa il server X, o perché ci si è appena loggati nella stessa macchina con un altro nome utente e anche si vuole avviare un programma X). E' facile, basta digitare xhost hostname oppure xhost + hostname e chiunque sia loggato nell'host hostname può accedere al server X (e aprire alcune finestre sullo schermo, ecc.).
Se si desidera consentire a chiunque l'accesso al server X sulla macchina locale, basta scrivere xhost localhost (o xhost + localhost o xhost + nome_della_macchina_locale).
Supponiamo che abbiamo dato il permesso a localhost e friend.his.domain per accedere al nostro server X, il comando xhost ora stamperà:

$ xhost
access control enabled, only authorized clients can connect
INET:friend.his.domain
INET:localhost

La parte INET:localhost dipende dall'installazione della nostra macchina o rete; è anche possibile che stampi INET:localhost.my.domain. Un altro modo per consentire agli utenti locali di connettersi al server X è digitando xhost local: (o xhost + local:). In questo modo vengono consentite le connessioni locali verso il server X (in questo caso la variabile DISPLAY deve essere impostata a ": displaynumber[.screennumber]" invece di "hostname:[displaynumber.screennumber]").

$ xhost local:
non-network local connections being added to access control list

$ xhost
access control enabled, only authorized clients can connect
LOCAL:

Dopo aver dato l'accesso a un host specifico vogliamo anche essere in grado di togliergli l'accesso. Semplicemente, basta digitare xhost - hostname e l'host specificato non può più accedere al nostro server X (xhost - local: se hai utilizzato xhost + local:). E' anche possibile specificare più operazioni sulla stessa riga di comando, ad esempio, xhost +host1 - host2 + host3. Ciò abilita l'accesso al server X per host1 e host3 e lo disabilita per host2.
In alcune versioni di xhost è meglio non mettere uno spazio tra il + e il nome dell'host (così facendo si consente l'accesso all'host ma viene anche disabilitato completamente il controllo di accesso).

giovedì 14 gennaio 2010

Redirezione dell'input/output

Normalmente lo standard output e lo standard error vengono visualizzati sul display dove si trova la shell, mentre lo standard input viene preso dalla tastiera.
In Linux è tuttavia possibile ridirigere l'output oppure l'input a/da un altro dispositivo oppure file.
Per esempio, per ridirigere l'output di un comando sul file outputFile basta scrivere:
$ command > outputFile
In questo modo, se outputFile non esiste ancora viene creato automaticamente, ma se esiste già, tutto il suo contenuto viene cancellato e sostituito dall'output del comando command.
Per evitare che il contenuto del file di output venga cancellato, bisogna scrivere:
$ command >> outputFile
L'output di command viene inserito in coda al file outputFile.
Questo per quanto riguarda lo standard input; per ridirigere i messaggi d'errore:
$ command 2> errorFile
$ command 2>> errorFile
E' possibile ridirigere entrambi gli stream contemporaneamente:
$ command > outputFile 2> errorFile
E per ridirigerli sullo stesso file:
$ command > outErrFile 2> &1
Invece, per eseguire un comando dandogli come ingresso il contenuto di un file anziché doverlo digitare dalla tastiera:
$ command <> /dev/null
$ command 2> /dev/null
$ command > /dev/null 2> /dev/null
Così è possibile filtrare l'output lasciando solo i messaggi di errore oppure lo standard output del comando, oppure nessuno dei due.

Esempi di utilizzo:

1) Esecuzione di un comando senza output:
Per eseguire un comando senza che questo mandi messaggi di output:
$ command > /dev/null
$ command 2> /dev/null
$ command > /dev/null 2> /dev/null
Così è possibile filtrare l'output lasciando solo i messaggi di errore oppure lo standard output del comando, oppure nessuno dei due.

2) Concatenazione di più file in uno solo:
Per far questo ci viene bene il comando cat, che stampa il contenuto di un file sullo standard output. Passandogli più file, questi vengono stampati uno di seguito all'altro:
cat file1 file2 file3 ... fileN > catFile

Si comincia...

Inizia oggi questa guida di linux per principianti.
A breve i primi post con i consigli per risolvere i più comuni problemi con Linux.

Spero che possa rivelarsi utile.