User Tools

Site Tools


its:gnu-linux

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
its:gnu-linux [2024/04/19 12:46] – [Argomenti] - aggiunto TODO predisposizione fondamenti ferodaits:gnu-linux [2024/04/25 05:43] – Challenge per il 30 aprile e il tema bash feroda
Line 3: Line 3:
 ===== Argomenti ===== ===== Argomenti =====
  
-  - <del>Linux da utente</del> +<del>Linux da utente</del> 
-  Linux da amministratore di sistema + 
-    - Terminale +==== Linux da amministratore di sistema ==== 
-      - Generali: <TAB>, <UP>, <DOWN>, <CTRL+C>  + 
-      - man, history +  - Terminale 
-      - ls, cd, cat, head, tail, lsb_release -a +    - Generali: <TAB>, <UP>, <DOWN>, <CTRL+C>  
-    - Accesso remoto +    - man, history 
-      - ssh +    - ls, cd, cat, head, tail, lsb_release -a 
-    - FHS - La gerarchia delle directory +  - Accesso remoto 
-      - /home,/root +    - ssh 
-      - /etc,/var,/usr,/tmp +  - FHS - La gerarchia delle directory 
-      - /proc,/sys +    - /home,/root 
-      - /dev +    - /etc,/var,/usr,/tmp 
-      - /usr/local,/opt +    - /proc,/sys 
-    - Gestione utenti non privilegiati e privilegiati +    - /dev 
-      - sudo +    - /usr/local,/opt 
-    - Installazione/rimozione pacchetti +  - Gestione utenti non privilegiati e privilegiati 
-      - apt, apt-get, apt-cache, apt-file +    - sudo 
-    - Download file remoti +  - Installazione/rimozione pacchetti 
-      - via ssh: scp +    - apt, apt-get, apt-cache, apt-file 
-      - via web: wget e curl +  - Download file remoti 
-    - Gestione dei servizi con systemd +    - via ssh: scp 
-      - systemctl, resolvectl, hostnamectl, timedatectl +    - via web: wget e curl 
-    - Gestione del firewall +  - Gestione dei servizi con systemd 
-      - la soluzione di Ubuntu ''ufw'' = "Uncomplicated firewall" +    - systemctl, resolvectl, hostnamectl, timedatectl 
-      - firewall standard ''nftables'' (più noto come ''iptables''+  - Gestione del firewall 
-    - Configurare il sistema +    - la soluzione di Ubuntu ''ufw'' = "Uncomplicated firewall" 
-      - modifica dei file di testo con vim o vi +    - firewall standard ''nftables'' (più noto come ''iptables''
-      - ricerca contenuti con grep +  - Configurare il sistema 
-      - ricerca files con find +    - modifica dei file di testo con vim o vi 
-      - sospensione/riattivazione con <CTRL+Z>, bg e fg +    - ricerca contenuti con grep 
-  Linux da amministratore di rete +    - ricerca files con find 
-    - i protocolli ''/etc/protocols'' +    - sospensione/riattivazione con <CTRL+Z>, bg e fg 
-    - i servizi e le porte di default ''/etc/services'' + 
-    - i socket attivi ''ss'' e ''netstat'' +==== Linux da amministratore di rete ==== 
-    - la propria configurazione di rete ''ip addr list'' + 
-    - le proprie interfacce di rete ''ip link show'' +  - i protocolli ''/etc/protocols'' 
-    - test di raggiungibilità ''ping'' +  - i servizi e le porte di default ''/etc/services'' 
-    - test di connessione ad un servizio ''nc'', ''telnet'' +  - i socket attivi ''ss'' e ''netstat'' 
-    - test di connessione ssl/tls con ''openssl'' +  - la propria configurazione di rete ''ip addr list'' 
-    - test di richieste https ''curl'' +  - le proprie interfacce di rete ''ip link show'' 
-    - scansione delle porte ''nmap'' +  - test di raggiungibilità ''ping'' 
-    - analisi del traffico di rete ''tcpdump'', ''wireshark''+  - test di connessione ad un servizio ''nc'', ''telnet'' 
 +  - test di connessione ssl/tls con ''openssl'' 
 +  - test di richieste https ''curl'' 
 +  - scansione delle porte ''nmap'' 
 +  - analisi del traffico di rete ''tcpdump'', ''wireshark'' 
 +===== Possibili attività/piccoli progetti =====
  
-TODO: 
  
   - **Riusciamo ad installare un Dokuwiki?**   - **Riusciamo ad installare un Dokuwiki?**
Line 53: Line 57:
   - **Predisposizione macchina GNU/Linux per il corso di fondamenti di programmazione**   - **Predisposizione macchina GNU/Linux per il corso di fondamenti di programmazione**
  
-===== Lezione 2 - 19 aprile 2024 =====+===== Servizi, protocolli e porte di default =====
  
-**Obiettivi**:+Qui trovate i servizi utilizzati o citati durante il corso:
  
-  - Utilizzo del terminale e introduzione alla shell +  * dove leggete "porta" è da intendersi come "porta di default"; 
-  - Utenti, creazione e la directory $HOME +  * dove leggete "client" è da intendersi come "software client di riferimento"; 
-  - I Pacchetti e i Repository. Installazione/Disinstallazione/Aggiornamento +  * dove leggete "server" è da intendersi come "software server di riferimento";
-  - La versione della distribuzione+
  
 +| Servizio        ^ alias (aka)                ^ proto ^ porta  ^ client              ^ server ^ pkg client ^ pkg server ^
 +^ Secure Shell   | OpenSSH                    | ssh | 22   | ssh                 | sshd | openssh-client | openssh-server |
 +^ Remote Desktop | Connessione Remota Windows | rdp | 3389 | rdesktop/xfreerdp | xrdp | rdesktop/xfreerdp | xrdp |
 +^ IMAPs | Consultazione Email (sicuro) | imaps | 993 | thunderbird/mutt | dovecot | thunderbird (snap) | dovecot-imapd |
 +^ <del>IMAP</del> | Consultazione Email (insicuro) | imap | 143 | ::: | ::: | ::: | ::: |
  
-Attivita':+===== Lezione 4 - 30 aprile 2024 =====
  
-  - its-student accede in ssh alla macchina Ubuntu1 +  * Rispolveriamo la pipe ''|'' e le pipeline (sequenze di comandi separati dalla pipe) utilizzati per comporre articolati comandi da una riga di shell (di solito la bash e per questo detti ''oneliner bash'' o più sinteticamente ''oneliner''
-  its-student installa vim, code, gcc e tmux  +  * Dopo l'esercitazione successiva parleremo della ''bash'' 
-  its-student crea un utente per ogni alunno+ 
 + 
 +**Scenario**: Il prof ha esportato 1,3TB di posta elettronica da un server ad un altro via IMAP. Il formato di destinazione è il classico "Maildir" in cui le cartelle che appaiono sul client di posta elettronica sono esattamente cartelle sul filesystem all'interno di una directory "Maildir"
 + 
 +Riusciresti a dire cosa voleva monitorare il prof. (comando ''watch'' da esaminare alla fine dell'esercizio) con la sequenza di comandi (o meglio pipeline) che progressivamente ha raffinato qui si seguito tra virgolette? 
 + 
 +<code> 
 +root@new-mail:/home/ced# watch -n10 "du -sh Maildir/.MailStore\ Export*" 
 +root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailStore\ Export*"                                                                                                                      
 +root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailStore\ Export*"  
 +root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailStore\ Export* | grep G"  
 +root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailStore\ Export* | tail | grep G"  
 +root@new-mail:/home/ced# watch -n300 "du -sch Maildir/.MailStore\ Export* | tail "  
 +root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailStore\ Export* | tail -n30 | grep Posta"  
 +root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailStore\ Export* | tail -n20 | grep Posta"  
 +root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailStore\ Export*Posta* | tail -n20"  
 +root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailStore\ Export*Posta* | sort -n tail -n20"  
 +root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailStore\ Export*Posta* | sort -n | tail -n20"  
 +root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailStore\ Export*Posta* | grep G | sort -n | tail -n20"  
 +</code> 
 + 
 +**Suggerimento**: se ti trovi in difficoltà per comandi o opzioni usa il ''man'' oppure esegui il comando con ''-h'' (o ''--help''). Se proprio non riesci a sbloccarti fai una ricerca web, ma a questo punto è meglio se chiedi a ChatGPT o Copilot, perché almeno ti possono chiarire la situazione. Tuttavia non farlo, se vuoi imparare a cavartela da solo, prima di aver provato con il ''man'' o il ''-h''
 + 
 +===== Lezione 3 - 23 aprile 2024 ===== 
 + 
 +Il prof crea la macchina Ubuntu2
  
-Opzionali: 
-  - Creazione macchina Ubuntu2 
   - Accesso in ssh alla macchina Ubuntu2   - Accesso in ssh alla macchina Ubuntu2
 +  - Ripetizione delle operazioni della lezione precedente in autonomia ed esplorando, grazie al comando ''man'' e all'opzione ''--help'', i seguenti comandi:
 +    - ls, cat, head e sort, tail e sort, lsb_release -a, grep
 +    - cd, mkdir
 +  - Ognuno espone un comando esplorato e una opzione. Potete dire da quale directory viene eseguito?
 +  - Impostare l'hostname con hostnamectl
 +
  
 ==== Integrazione al contesto della Lezione 1 ==== ==== Integrazione al contesto della Lezione 1 ====
Line 87: Line 124:
     * [[https://agilemanifesto.org/display/000000027.html|La firma di David Lillie]]      * [[https://agilemanifesto.org/display/000000027.html|La firma di David Lillie]] 
  
 +
 +===== Lezione 2 - 19 aprile 2024 =====
 +
 +==== Obiettivi ====
 +
 +  - Utilizzo del terminale ed accesso remoto
 +  - Utenti, creazione
 +  - I Pacchetti e i Repository. Installazione/Disinstallazione/Aggiornamento
 +
 +==== Attività ====
 +
 +Parte 1:
 +
 +  - its-student accede in ssh alla macchina Ubuntu1 (192.168.6.203)
 +    - ssh its-student@192.168.6.203
 +  - its-student crea un utente per ogni alunno
 +    - sudo adduser tuonick
 +    - id tuonick
 +  - its-student rende l'utente alunno privilegiato
 +    - sudo adduser tuonick sudo
 +    - id tuonick
 +    - ls /home/
 +  - its-student fa logout (logout o exit o CTRL+D) dalla macchina Ubuntu1
 +  - ogni alunno accede via ssh alla macchina Ubuntu1
 +
 +Parte 2:
 +
 +  - ogni alunno installa vim, code, gcc e tmux, xrdp rispettivamente
 +  - test dei comandi appena installati
 +  - test di accesso remoto al sistema Ubuntu tramite Connessione Desktop Remoto di Windows
  
  
its/gnu-linux.txt · Last modified: 2024/04/25 06:00 by feroda