I.S. Sobrero Dipartimento di Informatica Completamento installazione install.linux@home 1
I gestori dei pacchetti Vi sono due alternative con Ubuntu: Synaptic, in modalità grafica; Advanced Packaging Tool (apt), in modalità linea di comando Entrambi effettuano la gestione delle dipendenze: può succedere che un pacchetto per poter funzionare richieda che ve ne siano altri già installati, se questi non sono presenti il gestore dell'installazione provvede a segnalarlo. Vi è un grande numero di pacchetti disponibili sul CD di installazione, ma un numero molto maggiore di pacchetti lo si può trovare in Internet nei cosiddetti repository. I repository sono : main, restricted, universe e multiverse. 2
Synaptic Modalità grafica: 3
Advanced Packaging Tool (apt) È necessario avere i privilegi di amministratore. Installare dei pacchetti: sudo apt-get install nomepacchetto Rimuovere dei pacchetti: sudo apt-get remove nomepacchetto Aggiornare la lista dei pacchetti: sudo apt-get update Aggiornare il sistema: sudo apt-get upgrade Visualizzare altri comandi ed opzioni: apt-get help 4
Linguaggio C sudo apt-get install build-essential Per compilare usare il comando: gcc -o nomefileeseguibile nomefilesorgente Per poter mandare in esecuzione gli eseguibili generati si deve aggiungere nel file.bash_profile la seguente riga: PATH=./: {PATH} oppure digitare./nomefileeseguibile 5
Eclipse È un IDE per il linguaggio Java Ha una estensione per programmare in C/C++ 6
Eclipse Lo si può scaricare dal sito www.eclipse.org È un file tarball. Un tarball è un file con estensione.tar.gz o.tgz o.tar.bz2 o ancora.tbz2. In pratica è un archivio che ha subito un doppio processo di archiviazione/compressione. I file vengono per prima cosa archiviati come un unico file con il programma tar, per poi essere compressi con gzip o bzip2. Per decomprimere si può ricorrere al menù contestuale del nostro window manager oppure usare uno dei seguenti comandi: tar xzvf nometarball (per i file compressi con gzip) tar xvf nometarball bzip2 (per bzip2) 7
Eclipse Il contenuto dei file che abbiamo scaricato è già stato compilato, per cui è sufficiente disarchiviare nella cartella /usr/share con i comandi: sudo tar xzvf eclipse-sdk-3.2.1-linux-gtk.tar.gz /usr/share sudo tar xzvf org.eclipse.cdt-3.1.1-linux.x86.tar.gz /usr/share sudo tar xzvf org.eclipse.cdt.sdk-3.1.1-linux.x86.tar.gz /usr/share Aggiungere al menù il collegamento all'eseguibile eclipse per poter richiamare l'ide. Si utilizza Alacarte - Editor di menù,... 8
Installazione pacchetti da compilare Se il contenuto dei file che abbiamo scaricato non è ancora stato compilato le cose si fanno un po' più complicate. Innanzitutto si deve scompattare il pacchetto che abbiamo scaricato in una cartella, ad esempio nella propria home directory. Si deve procedere con la compilazione, di solito sono già presenti due script:./configure make Infine si passa all'installazione vera e propria con sudo make install Potrebbe essere lungo e laborioso in quanto potrebbero mancare diversi programmi e librerie. 9
Demoni Un sistema operativo fornisce molti servizi: schedulazione lavori, accounting degli utenti, gestione stampe,... I programmi che svolgono tali servizi sono tipicamente svolti in background e nei sistemi operativi Unix-like vengono detti demoni (daemon). I programmi che realizzano questi servizi terminano tipicamente con la lettera d. Ad esempio: telnet, vi sono 2 programmi che servono per utilizzare la connessione remota, un programma server (telnetd) che deve essere attivo sulla macchina a cui si vuole collegare, ed un programma client (telnet) da attivare a richiesta dell'utente sulla macchina da cui si chiama. Nei sistemi operativi Windows si parla invece di servizi. 10
Da workstation a... server Adesso facciamo diventare la nostra macchina un server di rete. Utilizzeremo ora il disco di installazione della versione server più alcuni pacchetti scaricati da Internet Per prima cosa installiamo il demone cosiddetto inetd : l'internet superserver. È specializzato nel gestire le connessioni in entrata. Il suo file di configurazione (/etc/inetd.conf) associa ad ogni porta del computer un programma da mandare in esecuzione al giungere di una connessione su quella porta. Lo installiamo con il comando: apt-get install netkit-inetd 11
Da workstation a... server /etc/inetd.conf: see inetd(8) for further informations. Internet server configuration database Lines starting with ":LABEL:" or "<off>" should not be changed unless you know what you are doing! If you want to disable an entry so it isn't touched during package updates just comment it out with a single '' character. Packages should modify this file by using update-inetd(8) <service_name> <sock_type> <proto> <flags> <user> <server_path> <args> :INTERNAL: Internal services echo stream tcp nowait root internal echo dgram udp wait root internal chargen stream tcp nowait root internal chargen dgram udp wait root internal discard stream tcp nowait root internal discard dgram udp wait root internal daytime stream tcp nowait root internal daytime dgram udp wait root internal time stream tcp nowait root internal time dgram udp wait root internal 12
Server telnet Serve per poter utilizzare la macchina da remoto. Il server diventa insicuro quindi è meglio non utilizzarlo se si desidera collegare il computer ad internet. Tutto ciò che passa nella rete è in chiaro, quindi un hacker potrebbe facilmente leggere login e password di accesso al computer. Meglio usare il servizio ssh. Il demone di telnet lo si trova nel repository multiverse: apt-get install telnetd Adesso da una macchina nella rete è possibile collegarsi al nostro server e lavorare come se si avesse a disposizione un terminale direttamente collegato al server. Provare con: telnet indirizzo_ip_del_server_telnet 13
Server telnet /etc/inetd.conf: see inetd(8) for further informations. Internet server configuration database Lines starting with ":LABEL:" or "<off>" should not be changed unless you know what you are doing! If you want to disable an entry so it isn't touched during package updates just comment it out with a single '' character. Packages should modify this file by using update-inetd(8) <service_name> <sock_type> <proto> <flags> <user> <server_path> <args> :INTERNAL: Internal services echo stream tcp nowait root internal echo dgram udp wait root internal chargen stream tcp nowait root internal chargen dgram udp wait root internal discard stream tcp nowait root internal discard dgram udp wait root internal daytime stream tcp nowait root internal daytime dgram udp wait root internal time stream tcp nowait root internal time dgram udp wait root internal :STANDARD: These are standard services. telnet stream tcp nowait telnetd.telnetd /usr/sbin/tcpd /usr/sbin/in.telnetd 14
Web server Apache Browser Web server richiesta 1 http://server/pagina.html 2 4 risposta pagina.html 3 hard-disk 15
Web server Apache sudo apt-get install apache2 sudo apt-get install apache2-doc I files di configurazione sono in /etc/apache2 Al termine dell'installazione la cartella di default del web server è in /var/www Per cambiare tale posizione si deve agire sul file di configurazione /etc/apache2/sites-available/default DocumentRoot /var/www <Directory /> OptionsFollowSymLinks AllowOverride None </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> 16
Web server Apache Se si modificano i files di configurazione potrebbe essere necessario riavviare il web server. Vi sono 2 alternative: riavviare il computer (è scomodo), sudo /etc/init.d/apache2 restart Se si vuole che ogni utente abbia il proprio spazio web a disposizione allora si deve editare /etc/apache2/apache2.conf e togliere i commenti alla sezione 'Userdir is now a module' UserDir is now a module UserDir public_html UserDir disabled root <Directory /home/*/public_html> AllowOverride FileInfo AuthConfig Limit Options Indexes SymLinksIfOwnerMatch IncludesNoExec </Directory> 17
Web server Apache È però necessario creare nella home dell'utente la cartella public_html con permessi 755 In questa cartella si possono inserire tutte le pagine web che si vuole. Per riferirle tramite web browser si deve dare indirizzo http://indirizzoip/~nomeutente Ricordarsi che tutte le pagine web devono avere permesso 644 per poter essere visualizzate da un web browser 18
Database MySQL sudo apt-get install mysql-server mysql-client La password di amministrazione non è impostata, quindi effettuare immediatamente il comando: sudo mysqladmin -u root password nuovapasswordrootsql Se servisse modificare la configurazione del server mysql si può agire sul file /etc/mysql/my.cnf Dopo aver modificato my.cnf si può far ripartire il demone (mysqld) con le nuove configurazioni con il comando: sudo /etc/init.d/mysql restart 19
Linguaggio di scripting PHP Browser Web server richiesta 1 http://server/pagina.php 2 6 risposta pagina.php 5 4 3 hard-disk Interprete PHP 20
Linguaggio di scripting PHP sudo apt-get install php5 sudo apt-get install php5-mysqli 21
Linguaggio di scripting PHP Browser Web server richiesta 1 http://server/pagina.php 2 8 3 hard-disk risposta pagina.php 7 4 5 Server MySQL Interprete PHP 6 22
Condivisione dischi con sistemi Windows - Samba sudo apt-get install samba Il file di configurazione è /etc/samba/smb.conf Per poter accedere si devono definire gli utenti del server samba (devono comunque essere utenti della macchina Linux): sudo smbpasswd -a -nomeutente 23