Tecniche di Amministrazione Linux: Gestione Processi, Priorità e Comandi Essenziali
Classificato in Informatica
Scritto il in
italiano con una dimensione di 8,55 KB
Fondamenti di Amministrazione di Sistema Linux: Comandi Essenziali
Gestione di File e Directory
- Comando per visualizzare le directory:
find -type dols -l - Cartelle di sistema: La directory
/devmemorizza i file dei dispositivi di sistema. - Come eliminare una cartella e il suo contenuto: Utilizzare
rm -r(rimozione ricorsiva).
Gestione dei Processi (FG e BG)
Linux, come ogni sistema Unix, permette di eseguire più attività contemporaneamente. Nei sistemi monoprocessore, viene assegnato un tempo specifico a ogni attività in modo che all'utente sembri che stiano eseguendo contemporaneamente.
Esecuzione in Background (BG)
Per eseguire un programma in background, è sufficiente aggiungere il simbolo commerciale (&) alla fine della riga di comando.
Esempio:
# cp -r /usr/src/linux /tmp &Dopo aver completato l'esecuzione del programma, il sistema riporta un messaggio di completamento:
[Fatto] cp -r /usr/src/linux /tmpSpostare un Processo in Background
Se si fosse eseguito il programma senza il simbolo commerciale (&), si potrebbe spostarlo in background come segue:
- Sospendere l'esecuzione del programma premendo CTRL + Z.
- Eseguire il comando:
bg
Comandi jobs, fg e bg
Quando si esegue un comando sulla console, si attende il completamento del processo avviato. Possiamo avviare l'esecuzione e restituire immediatamente il controllo alla console utilizzando l'operatore & al termine del comando.
[utente@host ~]$ firefox &
[1] 23710
[utente@host ~]$Se l'applicazione non fosse stata avviata in background, la console sarebbe bloccata fino alla chiusura dell'applicazione. Possiamo vedere i processi in esecuzione in background su quella console con il comando jobs.
[utente@host ~]$ jobs
[1] + Running firefox &
[utente@host ~]$Si può riportare un processo in esecuzione in background in foreground (console) con il comando fg, seguito dal numero del job (indicato da jobs).
[utente@host ~]$ fg 1
firefoxÈ possibile arrestare un processo sulla console premendo Ctrl + Z o da un'altra console usando il comando kill, e quindi inviare il processo in background con bg.
[1] + Stopped firefox
[utente@host ~]$ bg 1
[1] + Running firefox &
[utente@host ~]$Importante: Se un processo in background utilizza la console per interagire con l'utente, il processo viene fermato.
Gestione della Priorità dei Processi: nice e renice
Questi comandi consentono di avviare un processo con una priorità specifica (nice) e di modificare la priorità di un processo esistente (renice).
Comando nice
Avvia un programma con una priorità alterata. I processi con un valore "nice" alto (più "gentili") richiedono meno risorse.
- Il range di nice va da 19 (priorità più bassa, molto "nice") a -20 (priorità più alta, meno "nice").
- Gli utenti non-root possono specificare nice solo nel range da 1 a 19; l'utente root ha accesso all'intera gamma.
- Il valore nice predefinito è 10.
Esempi di utilizzo di nice:
Per eseguire un comando con un nice più alto (priorità più bassa):
$ nice -n 10 comando-a-lunga-esecuzione &Per eseguire un comando con un nice più basso (priorità più alta):
$ nice -n -15 comando-chiave &Comando renice
Il comando renice modifica il livello di nice di un processo esistente.
- Gli utenti non-root non sono autorizzati a impostare un livello di nice inferiore (priorità più alta) per i propri processi.
- Il valore nice è un numero intero. Per i valori negativi (priorità più alta) è necessario il segno meno (
-).
Esempi di utilizzo di renice:
Per impostare il processo con PID 2984 al nice massimo (abbassando la sua priorità):
$ renice 20 2984Per impostare il processo con PID 3598 a un nice basso (priorità più alta):
$ renice -15 3598È anche possibile modificare il livello di nice di tutti i processi di un utente:
$ renice 15 -u miguelSintassi Dettagliata di renice
Il comando renice è utilizzato per modificare la priorità dei processi in esecuzione. Applicare renice a un gruppo di processi fa sì che tutti i processi vedano modificata la loro priorità; applicare il comando renice a un utente fa sì che tutti i processi di quell'utente vedano le priorità di schedulazione modificate.
renice priorità [-p] [pid ...] [-g] pgrp [...] [-u] [utente ...]- pid: ID del processo
- pgrp: ID del gruppo di processi
Opzioni:
-g: Forza l'interpretazione dei parametri come ID di gruppo di processo.-u: Forza l'interpretazione dei parametri come nomi utente.-p: Forza l'interpretazione dei parametri come ID di processo (Default).
Esempi:
renice 15 785(785 è il PID)renice +20 -u peter(Peter è l'utente)
Utilità e Configurazione di Sistema
Comandi di Gestione File
- Comando per eliminare file e directory:
rm - Per eliminare un file:
$ rm nomefile - Per eliminare una cartella vuota:
$ rm nomecartella(ormdir) - Per eliminare una directory (ricorsivamente):
$ rm -R directory
File System e Collegamenti
- File system supportati da Linux:
ext3,ext2,swap. - Come creare un collegamento fisso (Hard Link):
ln
Utenti e Permessi
- File contenenti informazioni sugli utenti:
/etc/passwd(utenti) e/etc/shadow(password criptate). - Umask: Calcolo dei permessi predefiniti:
666 - 022 = 644. Se i permessi desiderati sono 444, l'umask è 222.
Monitoraggio dei Processi
- Comando per visualizzare i processi:
ps aux. Permette di visualizzare tutti i processi aperti, l'uso della memoria e della CPU.
Networking e Sicurezza
Generazione di Chiavi Pubbliche e Private (SSH)
Per creare una coppia di chiavi RSA (pubblica/privata), eseguire il seguente comando:
ssh-keygen -t rsaIl programma risponderà con:
Generating public/private rsa key pair.
Enter file in which to save the key (/home/javier/.ssh/id_rsa):Viene richiesto di inserire il nome del file in cui memorizzare la chiave privata (es. /home/javier/.ssh/id_rsa). Premere Invio per accettare il default. Successivamente, viene richiesta una passphrase:
Enter passphrase (empty for no password):
Enter same passphrase again:Premendo due volte Invio si omette l'uso di una passphrase. Infine, il sistema informa:
Your identification has been saved in /home/javier/.ssh/id_rsa.
Your public key has been saved in /home/javier/.ssh/id_rsa.pub.
The key fingerprint is:
13:08:b:23:74:53:e4:0f:b3:16:49:01:b:79:64:60:7c:38 javier@clientConsole e Porte di Rete
- Come cambiare console virtuale: Ctrl + Alt + F[1-6].
- Porte di rete e servizi comuni: Le porte da 1 a 1024 sono privilegiate (su un totale di 65535 porte).
- HTTPS: 443
- SSH: 22
- Telnet: 23
- NetBIOS: 133
- Stampa: CUPS