-->

Richiedi gratis i Cd di Ubuntu 8.04 Hardy Heron tramite ShipIT


Siamo a pochi giorni dal rilascio ufficiale della nuova Ubuntu 8.04 ma molti utenti dovranno attendere ancora di più per provare la nuova incarnazione del kernel Linux in salsa sudafricana.

Questa attesa si deve al fenomeno noto come Digital Divide ma la nostra cara Canonical pensa proprio a tutto ed in cambio di nulla spedisce a casa vostra i cd della prossima versione del sistema operativo.

Per ottenere la distro fatene richiesta al servizio ShipIT che potete trovare in queste pagine.

Mi raccomando è tutto gratuito quindi non siate ingordi ed ordinate un solo cd per poi masterizzare e spargere il verbo al mondo.

Gli ordini di spedizione per la nuova release dovrebbero partire oggi 18 aprile

Ultimi post pubblicati

14/04 - Ricompilare il Kernel

05/04 - Wicd, il miglior network manager per Ubuntu

27/03 - ODF contro OOXML: la guerra dei formati continua

26/03 – Evolution, client di posta elettronica flessibile e potente

22/03 - Masterizzare con Linux

22/03 – Burncenter, frontend per console a mkisofs, cdrecord, cdda2wav e mpg123

08/03 - Gestione dei pacchetti in Debian

25/02 - A proposito di Gutsy Gibbon

15/02 - FEBE (Firefox Environment Backup Extension), rilasciata la versione 5.3.1.

12/02 - Tape backupsoftware per sistemi Linux

07/02 - Anche il governo giapponese aderisce allo standard ODF

05/02 - Come masterizzare un file superiore ai 4 GB in Linux con K3b

03/02 - Ubuntu 8.04 Hardy Heron: alpha 3


Universo Linux

16/04 - OpenMamba distribuzione tutta italiana per chi cerca un ottimo sistema desktop aggiornato

14/04 - RedHat comes with Samba all Packages for You

14/04 - MySQL, Guida Essenziale

14/04 - Veritas Backup: Backu Planning and Configuration Guidelines

14/04 - Noteedit il programa migliore per scrivere apartiti musicali

06/04 - Debian Lenny nome in codice della futura versione di Debian GNU/Linux sarà rilasciata a Settembre

05/04 - gOS cambia interfaccia: Gnome offre strumenti migliori e più intuitivi di Enlightenment

29/03 - Nuova beta per DreamLinux 3.0, la distribuzione orientata alla grafica e al multimediale

25/03 – KDE4: occasione persa o guadagnata?

25/03 – KolourPaint: more than a Microsoft Paint clone

25/03 – Molte novità per Compiz Fusion

25/03 LiMo lancia la sfida a Android: in arrivo una nuova piattaforma Open Source per il mobile

22/03 - Zenwalk Linux 5.0: semplice, stabile e sicura

20/03 - Arriva la versione definitiva di Zend Framework 1.5, framework open source per lo sviluppo di applicazioni web

20/03 - Sunbird, Mozilla's calendar application, supports extensions just as Firefox and Thunderbird do


Assunder Audio CD, ripper ed encoder con interfaccia grafica per Linux.

Asunder è un Audio CD ripper ed encoder con interfaccia grafica per Linux. Può essere usato per salvare sul pc le tracce di un CD audio nei formati WAV, MP3, OGG e FLAC.

Tra le features abbiamo :
- salvare le tracce audio nei formati WAV, MP3, Ogg Vorbis e FLAC;
- usa CDDB per nome e tag di ogni brano;
- crea M3U playlists;
- può encodare in formati multipli in una sessione;
- rip ed encode simultanei;
- supporta numerosi linguaggi, tra cui l’italiano;
Tra le dipendenze, oltre a GTK+ versione 2.4.x, vi sono : - Libcddb 0.9.5 o maggiore - Cdparanoia - LAME (opzionale per supporto MP3) - Vorbis-Tools (opzionale per supporto Ogg Vorbis) - FLAC (opzionale per supporto FLAC).

Dependencies

new_dragonheart_banner.jpg

Ultimi post pubblicati

17/04 - Rilasciata la nuova versione di Flock 1.1 innovativo web browser sociale
15/04 - Storia breve del software libero
14/04 - MySQL, GuidaEssenziale
06/04 - Debian Lenny, nome in codice della futura versione di Debian GNU/Linux sarà rilasciata a Settembre
06/04 - La Top Ten delle distribuzioni GNU/Linux
01/04 - Annuncio ufficiale del lancio de eBay Partner Network
01/04 - Audacity, per i musicisti digitali
27/03 - OpenOffice 3.0 org. sfida Microsoft Office
5/03 - KDE 4, occasione persa o guadagnata
08/03 - Gestione dei pacchetti RPM in Linux
06/03 - Amazon Mp3 Downloader per Ubuntu, Fedora, Debian e OpenSUSE
26/02 - Comandi per la gestione di file e directory
13/02 - Rilasciato il nuovo TapeWare targato Yosemite Tecnology
05/02 - Nuova release per Bacula backup
28/01 - SafeKeep, rilasciata 1.0.3 nuova versione stable
23/01 - Rsync Vault Manager, per la gestione dei backup usando rsync manager


Pianeta Linux

16/04 - OpenMamba, distribuzione tutta italiana per chi cerca un ottimo sistema desktop aggiornato
14/04 - Noteedit, il programma migliore per scrivere spartiti musicali
14/04 - Veritas Backup: Backup Planning and Configuration Guidelines
14/04 - RedHat comes with Samba all Packages for You
01/04 - Da oggi Trade Doubler lancia AdMatch e sfida Google AdSense
28/02 - CrunchBang basata su Ubuntu utilizza Open Box come window manager
27/03 - ODF contro OOXML: la guerra dei formati continua
26/03 - Evolution: client di posta elettronica potente e flessibile
27/03 - Sun sempre più Open Source
25/03 - Firefox 3 verso la meta
25/03 - Molte novità per Compiz Fusion
25/02 - LiMo lancia la sida a Android: in arrivo una nuova piattaforma Open Source per il mobile
23/02 - Burncenter, frontend per console a mkisofs, cdrecord, cdda2wav e mpg123
23/02 - Masterizzare con Linux
08/03 - Pacchetti di applicazioni per GNU/Linux
06/03 - Evolution, eMail, Calendar and Collaboration
08/03 - Gestione dei pacchetti in Debian
05/03 - Masterizzare da linea di comando

Rilasciata la nuova versione di Flock 1.1 innovativo web browser sociale

Flock è un gestore di foto, grazie al quale è possibile condividere e visualizzare immagini via web. E' possibile anche visualizzare pagine web e molto altro.

Flock è un browser web basato su Mozilla Firefox, nonché il nome della compagnia che lo sviluppa. I creatori di Flock lo chiamano "browser sociale" a causa dell'integrazione di servizi internet come blog, condivisione di dati, aggregazione di news.

Dalla versione 1.0.5 è disponibile anche in italiano.




Flock 1.1.2

Flock è un browser basato su Gecko, il motore di rendering di Firefox. Rispetto a quest'ultimo, ha di default delle funzionalità interessanti:
  • Caricare, commentare, scoprire nuove immagini. (guarda)
  • Risultati delle ricerche subito visibili mentre si digita nel box di ricerca. (guarda)
  • Tutte le news che si desiderano, con gli RSS. (guarda)
  • Blog facilissimo. (guarda)
  • Preferiti con un nuovo stile, e la possibilità di condividerli e ricercarli online. (guarda)
Come per Firefox, sono disponibili estensioni (anche su extenzilla) per aumentare le funzionalità di Flock.

Installazione e configurazione di Flock.

Se avete una versione precedente di Flock installata, dovete innanzitutto rimuoverla. Potete seguire di la procedura di rimozione riportata in fondo all’articolo, solitamente si installa in /opt, se avete scelto un altra cartella, sostituite /opt con la directory d’installazione.

Installazione

Scaricate la versione italiana di Flock 1.1.1

Aprite il terminale e spostatevi nella directory in cui avete salvato l’archivio

Estraete Flock nella cartella /opt con:

sudo tar -C /opt -xzvf flock-1.1.1.it.linux-i686.tar.gz

Ora create un link tra /opt/flock/flock e /usr/bin/flock con:

sudo ln -s /opt/flock/flock /usr/bin/flock

Adesso l’installazione è terminata e potete creare il lanciatore con flock come comando.

Plugin Firefox

Per importare i plugin di Firefox è sufficiente creare questo link simbolico:

sudo ln -s /usr/lib/firefox/plugins /opt/flock/plugins

Rimozione

Se avevate già installato una versione precedente o se volete rimuovere Flock, potete seguire questa procedura.

Rimozione del link simbolico

sudo rm /usr/bin/flock

Rimozione della cartella flock

sudo rm -rf /opt/flock

Flock come browser di default?

Flock è un software molto innovativo e comodo, soprattutto per chi usa regolarmente servizi come Flickr, Facebook e Youtube.

fonte: khole8.wordpress


new_dragonheart_banner.jpg


Ultimi post pubblicati

15/04 - Storia breve del software libero
14/04 - MySQL, GuidaEssenziale
06/04 - Debian Lenny, nome in codice della futura versione di Debian GNU/Linux sarà rilasciata a Settembre
06/04 - La Top Ten delle distribuzioni GNU/Linux
01/04 - Annuncio ufficiale del lancio de eBay Partner Network
01/04 - Audacity, per i musicisti digitali
27/03 - OpenOffice 3.0 org. sfida Microsoft Office
5/03 - KDE 4, occasione persa o guadagnata
08/03 - Gestione dei pacchetti RPM in Linux
06/03 - Amazon Mp3 Downloader per Ubuntu, Fedora, Debian e OpenSUSE
26/02 - Comandi per la gestione di file e directory
13/02 - Rilasciato il nuovo TapeWare targato Yosemite Tecnology
05/02 - Nuova release per Bacula backup
28/01 - SafeKeep, rilasciata 1.0.3 nuova versione stable
23/01 - Rsync Vault Manager, per la gestione dei backup usando rsync manager


Pianeta Linux

16/04 - OpenMamba, distribuzione tutta italiana per chi cerca un ottimo sistema desktop aggiornato
14/04 - Noteedit, il programma migliore per scrivere spartiti musicali
14/04 - Veritas Backup: Backup Planning and Configuration Guidelines
14/04 - RedHat comes with Samba all Packages for You
01/04 - Da oggi Trade Doubler lancia AdMatch e sfida Google AdSense
28/02 - CrunchBang basata su Ubuntu utilizza Open Box come window manager
27/03 - ODF contro OOXML: la guerra dei formati continua
26/03 - Evolution: client di posta elettronica potente e flessibile
27/03 - Sun sempre più Open Source
25/03 - Firefox 3 verso la meta
25/03 - Molte novità per Compiz Fusion
25/02 - LiMo lancia la sida a Android: in arrivo una nuova piattaforma Open Source per il mobile
23/02 - Burncenter, frontend per console a mkisofs, cdrecord, cdda2wav e mpg123
23/02 - Masterizzare con Linux
08/03 - Pacchetti di applicazioni per GNU/Linux
06/03 - Evolution, eMail, Calendar and Collaboration
08/03 - Gestione dei pacchetti in Debian
05/03 - Masterizzare da linea di comando

Storia breve del software libero

L'esigenza di libertà nel settore del software è sempre stata sentita. Ma se oggi questo tipo di software rappresenta concretamente una scelta possibile, lo si deve all'azione di persone che con impegno hanno agito, legalmente, verso il raggiungimento di questo obiettivo.
2.1 BSD

I primi utenti di UNIX sono state le università, a cui in particolare questo sistema operativo veniva fornito a costo contenuto, ma senza alcun tipo di supporto tecnico, né alcuna garanzia. Proprio questa assenza di sostegno da parte della casa che lo aveva prodotto, stimolava la cooperazione tra gli utenti competenti, in pratica tra le università.

Il maggior fermento intorno a UNIX si concentrò presso l'università della California a Berkeley, dove a partire dal 1978 si cominciò a distribuire una variante di questo sistema operativo: BSD (Berkeley Software Distribution).

Per difendere il software prodotto in questo modo, nacque una licenza d'uso che rimane il progenitore della filosofia del software libero: la licenza BSD (appendice J).

2.1.1 386BSD

Per molto tempo, la variante BSD di UNIX rimase relegata all'ambito universitario o a quello di aziende che avevano acquistato i diritti per utilizzare il codice sorgente dello UNIX originale. Ciò fino a quando si decise di ripulire lo Unix BSD dal codice proprietario.

Il risultato iniziale fu 386BSD, che venne rilasciato nel 1992 con la versione 0.1. Tuttavia, questa edizione libera dello Unix BSD non ebbe vita facile, dal momento che da quel punto iniziarono delle contese giudiziarie sulla proprietà di alcune porzioni di codice ritenute libere (a torto o a ragione che fosse).

2.1.2 *BSD: NetBSD, FreeBSD e OpenBSD

Dai problemi di 386BSD che causarono la sua eliminazione dalla distribuzione pubblica, si svilupparono altri progetti indipendenti per ottenere, finalmente, un sistema BSD libero. Il primo di questi fu nominato NetBSD, al quale si aggiunse subito dopo FreeBSD; più tardi, apparve anche OpenBSD.

Tuttavia, i problemi legali non erano finiti. In particolare, per quanto riguarda FreeBSD, questa versione di BSD fu «libera» solo all'inizio del 1995 con la versione 2.0. Il pezzo seguente è tratto da A Brief History of FreeBSD di Jordan K. Hubbard, marzo 1998.

The first CDROM (and general net-wide) distribution was FreeBSD 1.0, released in December of 1993. This was based on the 4.3BSD-Lite ("Net/2") tape from U.C. Berkeley, with many components also provided by 386BSD and the Free Software Foundation. It was a fairly reasonable success for a first offering, and we followed it with the highly successful FreeBSD 1.1 release in May of 1994.

Around this time, some rather unexpected storm clouds formed on the horizon as Novell and U.C. Berkeley settled their long-running lawsuit over the legal status of the Berkeley Net/2 tape. A condition of that settlement was U.C. Berkeley's concession that large parts of Net/2 were "encumbered" code and the property of Novell, who had in turn acquired it from AT&T some time previously. What Berkeley got in return was Novell's "blessing" that the 4.4BSD-Lite release, when it was finally released, would be declared unencumbered and all existing Net/2 users would be strongly encouraged to switch. This included FreeBSD, and the project was given until the end of July 1994 to stop shipping its own Net/2 based product. Under the terms of that agreement, the project was allowed one last release before the deadline, that release being FreeBSD 1.1.5.1.

FreeBSD then set about the arduous task of literally re-inventing itself from a completely new and rather incomplete set of 4.4BSD-Lite bits. The "Lite" releases were light in part because Berkeley's CSRG had removed large chunks of code required for actually constructing a bootable running system (due to various legal requirements) and the fact that the Intel port of 4.4 was highly incomplete. It took the project until December of 1994 to make this transition, and in January of 1995 it released FreeBSD 2.0 to the net and on CDROM. Despite being still more than a little rough around the edges, the release was a significant success and was followed by the more robust and easier to install FreeBSD 2.0.5 release in June of 1995.

468X60.gif

Allo stato attuale, le tre varianti *BSD sono tutte riconducibili a BSD 4.4-Lite, dove le differenze più importanti riguardano le piattaforme hardware in cui possono essere installate e l'origine della distribuzione. Infatti, il punto di forza della variante OpenBSD, sta nel fatto di essere realizzata in Canada, da dove possono essere distribuiti anche componenti per la comunicazione crittografica.



2.2 GNU

Nel 1985, Richard Stallman ha fondato la FSF, Free Software Foundation, con lo scopo preciso di creare e diffondere la filosofia del «software libero». Libertà intesa come la possibilità data agli utenti di distribuire e modificare il software a seconda delle proprie esigenze, e di poter distribuire anche le modifiche fatte (capitolo 260).

2.2.1 GPL e il copyleft

Queste idee filosofiche si tradussero in pratica nella redazione di un contratto di licenza d'uso, la General Public License (appendice E), studiato appositamente per proteggere il software libero in modo che non potesse essere accaparrato da chi poi avrebbe potuto impedirne la diffusione libera. Per questo motivo, oggi, il copyright di software protetto in questo modo, viene definito copyleft.

2.2.2 Il progetto

Il software libero richiede delle basi, prima di tutto il sistema operativo. In questo senso, l'obiettivo pratico che si prefiggeva Richard Stallman era quello di realizzare, con l'aiuto di volontari, un sistema operativo completo.

Nacque così il progetto GNU (Gnu's Not Unix), con il quale, dopo la realizzazione di un compilatore C, si volevano costruire una serie di programmi di utilità necessari nel momento in cui il cuore del sistema fosse stato completo.

Il progetto GNU diede vita così a una grande quantità di software utilizzabile sulla maggior parte delle piattaforme Unix, indirizzando implicitamente il software libero nella direzione dei sistemi di questo tipo.

2.3 Linux

Linux è nato come un progetto personale di studio delle funzionalità di multiprogrammazione dei microprocessori i386 da parte di Linus Torvalds, all'epoca uno studente all'università di Helsinki in Finlandia.

2.3.1 Prima c'era Minix

In quell'epoca esisteva già un sistema operativo Unix per elaboratori i86, realizzato specificamente per uso didattico da parte del professore Andrew S. Tanenbaum (capitolo 251). Era sufficiente acquistare il libro a cui era abbinato e si otteneva un sistema completo di sorgenti. Minix aveva, e ha ancora oggi un problema: può essere usato, modificato e distribuito, solo per fini didattici.

Linus Torvalds decise di trasferire il suo studio dei microprocessori i386 su Minix, con l'idea di realizzare qualcosa di simile a Minix, anzi, qualcosa di migliore (a better Minix than Minix), cominciando da quel sistema operativo, per poi staccarsene completamente.

2.3.2 La prima versione annunciata

Dopo molto lavoro, Linus Torvalds riuscì ad arrivare a un sistema minimo, e soprattutto autonomo da Minix. Il 5 ottobre 1991 inviò il messaggio seguente su comp.os.minix.

Do you pine for the nice days of Minix-1.1, when men were men and wrote their own device drivers? Are you without a nice project and just dying to cut your teeth on a OS you can try to modify for your needs? Are you finding it frustrating when everything works on Minix? No more all-nighters to get a nifty program working? Then this post might be just for you.

As I mentioned a month ago, I'm working on a free version of a Minix-lookalike for AT-386 computers. It has finally reached the stage where it's even usable (though may not be depending on what you want), and I am willing to put out the sources for wider distribution. It is just version 0.02...but I've successfully run bash, gcc, gnu-make, gnu-sed, compress, etc. under it.

L'anno di nascita di un sistema operativo basato sul kernel Linux è quindi il 1991, anche se non è il caso di tentare di stabilire una data esatta della nascita della prima versione, la 0.01. Infatti, in quel momento non si poteva ancora parlare di sistema operativo vero e proprio; era solo la dimostrazione che la strada era giusta. *1* *2*

2.3.3 La cooperazione

Linux non è rimasto il progetto personale di una persona; in breve tempo ha coinvolto un numero molto grande di persone, unite dal fatto che si trattava di un progetto libero da qualunque restrizione legale al suo utilizzo, alla sua diffusione, alla possibilità di modificarlo ecc. In pratica, la fortuna di Linux rispetto a Minix, è stata quella di avere scelto la licenza GNU-GPL (appendice E), quella che ancora oggi rappresenta la difesa ideale per il software che viene scritto perché sia a disposizione di tutti. In questo modo si è superato il limite di Minix che lo rendeva interessante solo per professori e studenti. La licenza GPL rende Linux interessante per chiunque.

Tuttavia non bisogna trascurare l'importanza del progetto GNU, che ha dato al kernel Linux tutto quello che serve per arrivare a un sistema operativo completo: GNU/Linux appunto.

2.4 Open Source

Una volta compresa l'importanza del software libero, nel momento in cui hanno cominciato a giocarsi interessi economici, o di altro genere, si è posto il problema di definire in modo preciso e inequivocabile cosa sia effettivamente il «software libero».

In questa direzione si è distinto particolarmente il gruppo che pubblica la distribuzione GNU/Linux Debian, nel definire una serie di punti che devono essere rispettati per l'inserimento del software nella distribuzione stessa.

Al problema dell'ambiguità del concetto, si affiancava l'ambiguità della denominazione: in inglese, free software poteva essere inteso come software gratuito (free of charge).

Così, nel 1998, nasce la definizione Open Source, a identificare i principi secondo cui il software può essere ritenuto «libero», riutilizzando gran parte del lavoro del gruppo Debian, ma dandogli un nome inequivocabile e non modificabile (http://www.opensource.org).

Tuttavia, nonostante le buone intenzioni, il nome di questa definizione è ancora più ambiguo, dal momento che non sintetizza il significato che vorrebbe avere. In breve: Open Source, ovvero «sorgente aperto», non fa pensare alla «libertà» che invece è il motivo alla base del software libero. In questo senso, benché la definizione Open Source sia un marchio registrato, non si riesce a impedire l'utilizzo di questi termini, in inglese, quando questi sono slegati da un contesto preciso. Così si permette di sfruttarli per «illudere» gli ingenui sulle qualità «open» del sorgente («source») di un certo prodotto commerciale (proprietario) che non ha nulla a che vedere con il software libero. Il vero problema, come sempre, è l'ignoranza: il software libero non è un concetto radicato e compreso a sufficienza.

2.5 Futuro del software libero

Da un punto di vista ideale, il futuro del software libero non è così roseo come sembrerebbe, a seguito dell'attenzione che viene data a livello commerciale al sistema operativo GNU/Linux e dall'euforia che ne deriva. Di per sé, questo non dovrebbe essere un male, ma in questa situazione diventa difficile per l'utente comune riuscire a comprendere il significato e il valore del software libero; soprattutto diventa difficile distinguere facilmente quale software sia veramente «software libero».

new_dragonheart_banner.jpg

In questo senso, chi crede nella filosofia che ha dato vita a tutto questo, non può esserne soddisfatto. Come scrive Richard Stallman in Why ``Free Software'' is better than ``Open Source'':

We have to say, ``It's free software and it gives you freedom!'' -- more and louder than ever before.

Chi utilizza GNU/Linux, e il software che può funzionare con questo sistema operativo, deve impegnarsi a leggere le licenze d'uso: tutto quello che porta il marchio «Linux» non è necessariamente «software libero». Questo non significa essere contrari all'utilizzo del software proprietario, ma diventa indispensabile distinguere le cose, soprattutto per il rispetto delle leggi.

2.6 Riferimenti



1.) Il nome originale di Linux avrebbe dovuto essere FREIX, ma poi, l'amministratore dell'FTP finlandese da cui si distribuivano le prime versioni del sistema, decise di cambiarlo, utilizzando un'alterazione del nome di Linus: Linux appunto.

2.) Il pinguino, che rappresenta attualmente Linux, in modo simbolico, nei vari loghi che si utilizzano, è stata una scelta dello stesso Linus Torvalds, in memoria di uno di questi animali che durante una vacanza in Australia lo aveva beccato. Questa scelta fa sì che il logo di Linux sia dinamico, essendo rappresentato da un personaggio fantastico, invece che da un simbolo fisso.


Il nome dell’utente può essere specificato nella forma utente@host usando eventualmente caratteri jolly o indirizzi IP, in tal caso la stringa deve essere tra virgolette (esempio luciano@”192.168.1.%” ).

Ultimi post pubblicati


Pianeta Linux

14/04 - Noteedit, il programma migliore per scrivere spartiti musicali
14/04 - Veritas Backup: Backup Planning and Configuration Guidelines
14/04 - RedHat comes with Samba all Packages for You
01/04 - Da oggi Trade Doubler lancia AdMatch e sfida Google AdSense
28/02 - CrunchBang basata su Ubuntu utilizza Open Box come window manager
27/03 - ODF contro OOXML: la guerra dei formati continua
26/03 - Evolution: client di posta elettronica potente e flessibile
27/03 - Sun sempre più Open Source
25/03 - Firefox 3 verso la meta
25/03 - Molte novità per Compiz Fusion
25/02 - LiMo lancia la sida a Android: in arrivo una nuova piattaforma Open Source per il mobile
23/02 - Burncenter, frontend per console a mkisofs, cdrecord, cdda2wav e mpg123
23/02 - Masterizzare con Linux
08/03 - Pacchetti di applicazioni per GNU/Linux
06/03 - Evolution, eMail, Calendar and Collaboration
08/03 - Gestione dei pacchetti in Debian
05/03 - Masterizzare da linea di comando

MySQL, guida essenziale. In questo manuale faremo riferimento all’esecuzione di comandi SQL dal terminale a linea di comando fornito con MySql

Questo testo ha lo scopo di descrivere il primo approccio al database MySql. Non contiene quindi una descrizione completa del linguaggio ma le sue parti ritenute essenziali. Come prerequisito è richiesta una conoscenza del linguaggio SQL cui si fa riferimento in svariati punti.

Il manuale completo può essere scaricato dal sito
www.mysql.com/documentation/
Gli esempi non sono stati verificati, possono quindi contenere degli errori: il manuale è stato realizzato per puro scopo didattico, chi usa MySql in applicazioni commerciali faccia riferimento alla documentazione ufficiale.

In questo manuale faremo riferimento all’esecuzione di comandi SQL dal terminale a linea di comando fornito con MySql, altri manuali essenziali faranno riferimento alle interfacce realizzabili in PHP e Java. MySql è un server, di fatto si collega alla porta 3306 di default, tutte le applicazioni quindi useranno lo schema client-server. Nel manuale inoltre non sono riportati i comandi SQL, per questi si può fare riferimento ad un qualsiasi testo.


Connessione e disconnessione dal server

MySql protegge le connessioni ai suoi database mediante uno schema di protezione abbastanza complesso, che stabilisce i diritti degli utenti in base all’host da cui si collegano, al nome utente e ad una password. Appena installato MySql fornisce un accesso completo a due utenti: root e ad un utente anonimo senza alcuna password.
Questo accesso è troppo libero per un utente inesperto, in particolare è possibile modificare tutti i diritti di accesso, cosa sconsigliata per chi non conosce ancora il meccanismo delle protezioni, spiegato alla fine di questo manuale.

Per evitare problemi non modificate mai le tabelle del database mysql, almeno fino a che non avrete compreso il meccanismo delle protezioni. In ogni caso, per modificare i diritti di accesso è preferibile usare i comandi SQL




Grant e Revoke
La sintassi per connettersi al database, dalla directory bin di mysql è la seguente (nell’ipotesi che MySql sia installato sotto Windows nella directory C:\mysql):
C:\mysql\bin> mysql -h host -u user -p
Enter password: ********
Dato che inizialmente MySql prevede un utente anonimo senza password funziona ugualmente il comando:
C:\mysql\bin> mysql
A questo punto compare un benvenuto con alcune informazioni
shell> mysql -h host -u user -p
Enter password: ********
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3 to server version: 3.23.47 nt
Type 'help' or \h for help.
mysql>
A questo punto siete pronti per eseguire i vostri comandi SQL, prima però è bene che creiate un vostro database, o che usiate il database test fornito da MySql, nel primo caso eseguite i comandi:
mysql>create database prova;
mysql>use prova;
Nel secondo caso inserite solo il comando:
mysql>use test;
E avete buone probabilità di non causare guai. Finito il lavoro potete uscire dal programma con il comando QUIT
Da notare che i comandi SQL non sono case-sensitive, potete usare maiuscole o minuscole indifferentemente, questo non vale in generale per i nome delle colonne.

Inserimento di query
Anche se non ci sono ancora tabelle nel vostro database potete già eseguire dei comandi di interrogazione su funzioni o costanti predefinite di MySql, per esempio il comando:
mysql> SELECT VERSION(), CURRENT_DATE;

fornirà un output del tipo:
+--------------+--------------+
| version() | CURRENT_DATE |
+--------------+--------------+
| 3.27.47-nt | 2003-11-16 |
+--------------+--------------+
1 row in set (0.00 sec)
mysql>
Questa query fornisce alcune informazioni sul funzionamento di MySql:
• Un comando normalmente consiste in uno statement SQL seguito da punto e virgola;
• quando date un comando mysql lo manda al server per l’esecuzione e mostra il risultato;
• l’output è mostrato come una tabella, formata da righe e colonne. La prima riga contiene in genere i nomi
delle colonne delle tabelle interrogate, in questo caso fornisce le espressioni valutate.
• MySql fornisce inoltre il numero di righe del risultato e un valore (approssimato) del tempo impiegato
nell’esecuzione.
La query che segue dimostra come MySql può essere usato per compiere dei calcoli:
mysql> SELECT SIN(PI()/4), (4+1)*5;
+-------------+---------+
| SIN(PI()/4) | (4+1)*5 |
+-------------+---------+
| 0.707107 | 25 |
+-------------+---------+



Creare e usare un database
In questa sezione sarà mostrato come:
• Creare un database
• Creare una tabella
• Inserire dati in una tabella
• Recuperare i dati dalla tabella
Innanzi tutto usiamo la statement SHOW per vedere quanti database esistono nel server:
mysql> SHOW DATABASES;
+----------+
| Database |
+----------+
| mysql |
| test |
| prova |
+----------+
Ora potete selezionare il database prova con il seguente comando:
mysql> USE prova
Database changed
Creazione di una tabella
A questo punto il database dovrebbe essere vuoto, potete verificarlo con il comando SHOW TABLES:
mysql> SHOW TABLES;
Empty set (0.00 sec)
A questo punto dovete decidere quali tabelle creare e quali dati inserire in esse, usate il comando CREATE TABLE,
nel nostro esempio inseriremo Cognome, Nome, Data di Nascita per creare una tabella che ci ricordi i compleanni dei nostri amici:
mysql> CREATE TABLE compleanni (cognome VARCHAR(20), nome VARCHAR(20),
-> nascita DATE);
Query OK, 0 rows affected (0.02 sec)
Come si vede uno statement può essere scritto su più righe, il simbolo -> viene usato da mysql quando non avete terminato una riga con punto e virgola. A questo punto ripetiamo il comando:
mysql> SHOW TABLES;
+-----------------+
| Tables_in_prova |
+-----------------+
| compleanni |
+-----------------+
Se si vuole vedere come è stata creata la tabella si usa il comando:
mysql> DESCRIBE compleanni;
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| cognome | varchar(20) | YES | | NULL | |
| nome | varchar(20) | YES | | NULL | |
| nascita | date | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
Inserire dati nella tabella
Dopo aver creato la tabella bisogna inserirvi dei dati, si usa il comando insert.
mysql> INSERT INTO compleanni
-> VALUES ('Viviani','Luciano','1948-03-29');
Query OK, 1 row affected (0.06 sec)
È da notare che i dati vanno inseriti come stringhe (delimitate da ‘’ ) e che la data deve essere inserita come anno-mese-giorno, non nel formato con cui siamo abituati.Ritrovare i dati da una tabella
Per ritrovare i dati inseriti in una tabella si usa il comando SELECT nella forma generale:
SELECT nomi delle colonne
FROM quale tabella
WHERE condizioni da soddisfare
La clausola WHERE è opzionale, la forma più semplice di SELECT trova tutti i dati:
mysql> SELECT * FROM compleanni;
+----------+--------+------------+
| cognome | nome | nascita |
+----------+--------+------------+
| Viviani | Luciano| 1948-03-29 |
+----------+--------+------------+
Questa forma di select è utile quando avete pochi dati nella tabella. Per il normale uso la clausola WHERE vi permette di selezionare solo i dati che vi interessano, specificando per esempio il nome o il cognome. Nello stesso
modo invece di * possiamo elencare le colonne che compaiono nell’output. Esistono inoltre delle funzioni che permettono di estrarre dalla data solo l’anno il mese o il giorno. Per esempio se volessimo vedere solo chi compie gli anni il 29 marzo dovremmo usare una sintassi del tipo:
mysql> SELECT * FROM compleanni
-> WHERE (MONTH(nascita)=3 AND DAYOFMONTH(nascita)=29);

Gestione dei privilegi di accesso a MySQL
Le informazioni relative ai privilegi sono memorizzate nelle tabelle user, db, host, tables_priv e
columns_priv nel database mysql, solo l'amministratore del sistema deve avere accesso a queste tabelle e deve utilizzarle con molta cautela dopo aver letto queste note.

Tipi di privilegio
Privilegio Nome della colonna Significato
select Select_priv Permette (Y) o vieta (N) l'operazione SELECT su una tabella
insert Insert_priv Permette o vieta l'operazione SQL INSERT su una tabella
update Update_priv Permette o vieta la modifica dei dati di una riga
delete Delete_priv Permette o vieta la cancellazione di una riga
index Index_priv Permette o vieta la creazione di un indice
alter Alter_priv Permette o vieta la modifica della struttura di una tabella
create Create_priv Permette la creazione di database, tabelle, indici
drop Drop_priv Permette l'eliminazione di tabelle o database
grant Grant_priv Permette di assegnare privilegi ad altri utenti
references References_priv Permette di creare riferimenti tra tabelle
reload Reload_priv Ricarica o rinfresca le tabelle
shutdown Shutdown_priv Può disattivare il servizio
process Process_priv Può visualizzare e terminare i processi in corso
file File_priv Permette la lettura o scrittura di file interni
Questa tabella concede privilegi su tutto il contenuto dei database nel server, compreso mysql stesso. I permessi a questo livello (valori Y nei campi di privilegio) dovrebbero essere concessi solo agli amministratori del sistema, un utente normale dovrebbe quindi contenere tutti N in questi campi. Una gestione corretta viene gestita dai comandi GRANT e REVOKE.

Come lavora il sistema di privilegi di MySQL
1. Il privilegio viene accordato in funzione del NomeUtente e del nome del computer da cui ci si collega, l'identificazione viene fatta con entrambi i valori 2. Nel caso in cui utente@computer abbia diritto di accesso ogni operazione sul database viene controllata con i diritti d’accesso per quell'operazione.
Il server usa le tabelle user, db, host per controllare gli accessi, i campi delle tabelle sono i seguenti:
Nome tabella
user db host
Host
Host Host
Campi di scopo
User
Db Db
Password User
Select_priv Select_priv Select_priv
Insert_priv Insert_priv Insert_priv
Update_priv Update_priv Update_priv
Delete_priv Delete_priv Delete_priv
Index_priv Index_priv Index_priv
Alter_priv Alter_priv Alter_priv
Create_priv Create_priv Create_priv
Drop_priv Drop_priv Drop_priv
Grant_priv Grant_priv Grant_priv
References_priv
Campi di privilegi
Reload_priv
Shutdown_priv
Process_priv
File_priv

Per controllare il diritto a compiere determinate operazioni vengono consultate, per gli utenti che comunque hanno
l'accesso anche le tabelle tables_priv e columns_priv.
tables_priv columns_priv
Tabelle
Host
Host
Campi di scopo
Db
Db
User
User
Table_name Table_name
Column_name

Table_priv Column_priv
Campi di privilegi

Column_priv
Timestamp Timestamp
Altri campi

Grantor
Ciascuna tabella contiene campi di scopo e di privilegio, i campi di scopo determinano il contesto cui si applicano i
privilegi per ciascun record della tabella. Per esempio un record nella tabella user con i valori:
Host: uno.sistemi.net
User: luciano
sarà utilizzato per determinare i privilegi dell'utente luciano quando si collega dell'host uno.sistemi.net , ovviamente se la password di accesso è corretta.
In modo simile, nella tabella db un record con i valori:
Host: uno.sistemi.net User: luciano Db: anagrafe
determinerà i privilegi dell'utente luciano, che accede da uno.sistemi.net, limitatamente al database anagrafe, in modo analogo funzionano le tabelle tables_priv e columns_priv.
Tutti i confronti, tranne Host (compatibilità con Windows), tengono conto di maiuscole-minuscole
I campi di privilegio indicano quali operazioni possono essere compiute da un determinato utente, il server combina le informazioni nelle varie tabelle per creare una descrizione completa di ciascun utente, le regole saranno descritte in seguito.
I campi di scopo sono stringhe di caratteri, dichiarati come segue, e con valore di default la stringa vuota Nome del campo
Tipo del campo
Host CHAR(60)
User CHAR(16)
Password CHAR(16)
Db CHAR(64)
CHAR(60) per le tabelle tables_priv e columns_priv
Table_name CHAR(60)

Column_name CHAR(60)

Nelle tabelle user, db e host tutti i campi di privilegio sono dichiarati ENUM ('N','Y') con valore di default
'N'
Nelle tabelle tables_priv e columns_priv i campi di privilegio sono dichiarati come SET con i seguenti valori possibili:
Nome tabella Nome campo
Elementi del SET
tables_priv Table_priv 'Select', 'Insert', 'Update', 'Delete', 'Create',
'Drop', 'Grant', 'References', 'Index', 'Alter'
tables_priv Column_priv 'Select', 'Insert', 'Update', 'References'
columns_priv Column_priv 'Select', 'Insert', 'Update', 'References'
I tipi di dati ENUM e SET sono estensioni MySql, il primo è un elenco di valori (massimo 65535) di cui uno solo può
essere attribuito alla variabile, il secondo è un oggetto di tipo stringa che può assumere zero o più valori (massimo 64) che devono essere scelti dalla lista .

In breve, il server usa le tabelle dei privilegi di accesso nel seguente modo:
• I campi di scopo della tabella user determinano se accettare o rifiutare una connessione;
• se la connessione è accettata i privilegi indicati nel record delle tabella relativo all’utente si applicano a tutte le basi dati del server, sono cioè privilegi globali. in particolare i privilegi relativi all’amministrazione sono solo globali e si trovano solo in questa tabella.
• Le tabelle db e host sono utilizzate insieme:
• i campi di scopo della tabella db determinano quali utenti possono aver l’accesso, a quali basi dati e da
quali host, i campi di privilegio determinano le operazioni ammesse.
• La tabella host è usata come estensione della tabella db se si vuole che un utente, identificato dalla
tabella db, possa accedere a un data base da più host. In questo caso il campo Host nella tabella db
deve essere vuoto e per ogni host si deve creare un record nella tabella host.
• Le tabelle tables_priv e columns_priv funzionano come db, a un livello di dettaglio maggiore.
Il server legge le tabelle dei diritti di accesso solo quando parte, se si desidera che le nuove impostazioni abbiano
effetto senza far ripartire il server si deve eseguire l’istruzione FLUSH PRIVILEGES
Controllo dell’accesso, Stadio1: verifica della connessione
Quando un utente tenta la connessione al server, il server esegue le seguenti verifiche:
1. host dal quale l’utente si connette;
2. nome dell’utente
3. password
Se l’identità è accertata correttamente la connessione viene stabilita e il server passa allo stadio 2, altrimenti la
connessione viene rifiutata.
La verifica viene eseguita impiegando i tre campi di scopo della tabella user: Host, User e Password nel
seguente modo:
• il campo Host deve contenere un nome di host, ‘localhost’ o un indirizzo IP;
• si può usare il carattere jolly % o lasciare il campo vuoto, in quest’ultimo caso tutti gli host sono accettati;
• nel campo User non sono accettati caratteri jolly, se viene lasciato vuoto qualsiasi nome utente viene
accettato;
• il campo Password può essere vuoto, in questo caso l’utente può connettersi senza specificare una
password
• le password sono crittografate mediante la funzione PASSWORD()



Esempi di host e utenti
Host User
valori accettati nella connessione
'uno.sistemi.net' 'luciano' luciano quando si connette da uno.sistemi.net
'uno.sistemi.net' '' chiunque si connetta da uno.sistemi.net
'%' 'luciano' luciano, da qualunque host si connetta
'%' '' chiunque si connetta da qualsiasi host
'%.sistemi.net' 'luciano' luciano, che si connette da un host qualsiasi del dominio
sistemi.net
'192.168.1.1' 'luciano' luciano, quando si connette da 192.168.1.1
'192.168.1.%' 'luciano' luciano, quando si connette da un host nella rete di classe C
192.168.1
Può capitare il caso che una connessione sia verificata da più record nella tabella, dato che l’identificazione deve
essere unica il server procede come segue:
1. la tabella viene ordinata in memoria mettendo prima le indicazioni più specifiche e dopo le più generiche,
per esempio, nella nostra tabella, le righe più specifiche sono la prima e la sesta (la corrispondenza deve
essere esatta), mentre la quarta è la più generica;
2. viene usata la prima corrispondenza trovata (cioè la più specifica tra quelle che verificano la connessione).
3. nell’ordinamento il campo Host viene usato per primo, a parità di host si utilizza il campo User.
Controllo dell’accesso, Stadio2: verifica delle richieste
Stabilita la connessione, il server entra nel secondo stadio. Per ogni richiesta (comando SQL) verifica se l’utente ha
sufficienti privilegi per eseguirla. La verifica viene fatta, controllando nell’ordine le tabelle:

1. user se il permesso è concesso la richiesta viene eseguita, altrimenti si prosegue con:
2. db se il permesso è concesso la richiesta viene eseguita, altrimenti si prosegue con:
3. host se il permesso è concesso la richiesta viene eseguita, altrimenti si prosegue con:
4. tables_priv se il permesso è concesso la richiesta viene eseguita, altrimenti si prosegue con:
5. columns_priv se il permesso è concesso la richiesta viene eseguita, altrimenti rifiutata
Come si vede, si procede dal permesso più generale al più specifico, è quindi se voglio concedere un permesso solo a livello più basso (per esempio per una specifica colonna) devo negarlo a tutti i livelli più alti.
Le tabelle che concedono l’accesso sono normalmente manipolate con i comandi GRANT e REVOKE
Sintassi di GRANT e REVOKE
I comandi SQL GRANT e REVOKE servono a concedere o revocare permessi ad un utente, GRANT crea anche un
nuovo utente, se questo non esiste.
GRANT priv_type [(column_list)] [, priv_type [(column_list)] ...]
ON {tbl_name | * | *.* | db_name.*}
TO user_name [IDENTIFIED BY 'password']
[, user_name [IDENTIFIED BY 'password'] ...]
[WITH GRANT OPTION]
REVOKE priv_type [(column_list)] [, priv_type [(column_list)] ...]
ON {tbl_name | * | *.* | db_name.*}
FROM user_name [, user_name ...]
priv_type deve essere specificato con le seguenti parole chiave
ALL PRIVILEGES FILE RELOAD
ALTER INDEX SELECT
CREATE INSERT SHUTDOWN
DELETE PROCESS UPDATE
DROP REFERENCES USAGE
USAGE serve per creare un utente senza alcun privilegio, REFERENCES non è attualmente implementato
Un utente con l’opzione grant (WITH GRANT OPTION)può attribuire e revocare privilegi agli altri, per toglierli
questa possibilità si usa REVOKE GRANT OPTION ON ... FROM ...;
Ovviamente, oltre ad essere corretta sintatticamente, l’istruzione deve anche tener conto del sistema di protezione
prima spiegato, per esempio FILE o SHUTDOWN non hanno alcun senso a livello di tabella.
Nella clausola ON il simbolo * si riferisce al database corrente (o ai privilegi globali se non c’è alcun database
corrente), *.* indica privilegi globali, db_name.* si riferisce al database db_name.
Il nome dell’utente può essere specificato nella forma utente@host usando eventualmente caratteri jolly o indirizzi IP, in tal caso la stringa deve essere tra virgolette (esempio luciano@”192.168.1.%” ).


Pianeta Linux

14/04 - Noteedit, il programma migliore per scrivere spartiti musicali
14/04 - Veritas Backup: Backup Planning and Configuration Guidelines
14/04 - RedHat comes with Samba all Packages for You
01/04 - Da oggi Trade Doubler lancia AdMatch e sfida Google AdSense
28/02 - CrunchBang basata su Ubuntu utilizza Open Box come window manager
27/03 - ODF contro OOXML: la guerra dei formati continua
26/03 - Evolution: client di posta elettronica potente e flessibile
27/03 - Sun sempre più Open Source
25/03 - Firefox 3 verso la meta
25/03 - Molte novità per Compiz Fusion
25/02 - LiMo lancia la sida a Android: in arrivo una nuova piattaforma Open Source per il mobile
23/02 - Burncenter, frontend per console a mkisofs, cdrecord, cdda2wav e mpg123
23/02 - Masterizzare con Linux
08/03 - Pacchetti di applicazioni per GNU/Linux
06/03 - Evolution, eMail, Calendar and Collaboration
08/03 - Gestione dei pacchetti in Debian
05/03 - Masterizzare da linea di comando

Random Posts

I miei preferiti in Instagram

Archivio