Crea sito

Il disco fisso ( hard drive o hard disk ) principale, in un sistema Linux, è, solitamente, nominato:


	sda

Gli altri dischi fissi eventualmente presenti nel sistema, verranno identificati come:


	sdb
	sdc

e così via. L’acronimo “sd” sta per “SCSI ( Small Computer System Interface ) mass-storage driver”. SCSI è un insieme di standard (comandi, protocolli, interfacce elettriche e ottiche) che definisce le connessioni fisiche e il trasferimento di dati tra le periferiche e il computer al quale queste sono collegate. Gli standard SCSI sono solitamente utilizzati per gli hard disk, i CD, i DVD, etc. Gli standard SCSI vengono spesso sostituiti da standard meno performanti, ma più economici, quali ATA/IDE (Advanced Technology Attachment / Integrated Drive Electronics) per gli hard disk e USB (Universal Serial Bus) per altre periferiche di uso comune. Nei sistemi Linux, per la gestione dei dischi e delle eventuali partizioni, sono disponibili i comandi:


	fdisk
	parted
	lsblk

Per sapere, per esempio, quanti e quali dischi sono stati rilevati dal sistema operativo, eseguite uno dei seguenti comandi:


	sudo fdisk -l
	sudo parted -l
	sudo lsblk

Il comando lsblk ( list block device ) stampa l’elenco di tutte le periferiche a blocchi attaccate al sistema (eccetto i banchi RAM), in un formato ad albero:


NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 298,1G  0 disk 
├─sda1   8:1    0 131,6G  0 part 
├─sda2   8:2    0  14,7G  0 part 
├─sda3   8:3    0  12,4G  0 part 
└─sda4   8:4    0 139,4G  0 part /
sr0     11:0    1  1024M  0 rom

dove sda è il disco fisso principale, suddiviso in quattro parti ( o partizioni ), mentre sr0 indica la presenza di un DVD o di un CD-ROM. Se si volesse ottenere informazioni su uno specifico dispositivo, occorre ricordare che ciascun dispositivo è da indicare con il percorso assoluto della directory devices o dev:


	sudo fdisk -l /dev/sda
	sudo parted -l /dev/sda
	sudo lsblk /dev/sda

La directory:


	/dev

è una directory non presente sul disco fisso, bensì creata e gestita, dal kernel, direttamente nella memoria di sistema (RAM), ma rappresentata, sempre dal kernel, come una normale directory, così da permettere agli utenti di ottenere informazioni normalmente appannaggio del kernel stesso. Il kernel rappresenta questa directory come un vero e proprio filesystem indipendente, che proprio perchè non corrispondente ad un filesystem presente fisicamente sul disco, viene chiamato pseudo filesystem. La directory /dev non è il solo pseudo filesystem presente in un sistema Linux. Per esempio:


	/proc

è lo pseudo filesystem dove vengono rappresentati tutti i processi in esecuzione in un dato momento. Tutti i file non relativi ad un processo, invece, vengono conservati in un altro pseudo filesystem, contenuto nella directory:


	/sys

gestito direttamente dal kernel. È da questo file system che UDEV raccoglie le informazioni da pubblicare in /devUDEV è la componente software di Linux (dal kernel Linux 2.6) che si occupa di gestire le periferiche, creando o rimuovendo, in modo dinamico, per le sole periferiche connesse al sistema, i file di periferica all’interno della directory /dev. È il successore di devfs e hotplug e viene eseguito all’interno dello userspace, permettendo, così, all’utente di modificare i nomi delle periiferiche. Gli pseudo filesystem rappresentano un’interfaccia attraverso la quale le applicazioni utente possono interagire direttamente con il kernel, poichè rappresentano la struttura interna del kernel in un dato momento. Grazie alla creazione di filesystem virtuali, Linux rende possibile interagire con l’hardware sottostante, utilizzando le normali funzioni di Input/Output ( scrittura e lettura ). Proviamo a verificare su quale terminale o pseudo terminale stiamo lavorando, eseguendo il comando di shell:


	tty

Se riceviamo una risposta del tipo:


  /dev/pts/3

significa che stiamo lavorando su uno pseudoterminale, nominato 3 ( probabilmente, avremo già aperto altri due pseudoterminali ). Ora, apriamo un nuovo terminale e, con i privilegi di root, scriviamo una nuova riga nel file:


  /dev/pts/3

echo Ciao > /dev/pts/3

Torniamo, ora, sul nostro pseudoterminale 3 e troveremo stampato il messaggio appena inviato dal nuovo pseudoterminale. Le periferiche sono, normalmente, periferiche a blocchi o a caratteri. In generale, le periferiche a blocchi, quali dischi fissi e CD−ROM contengono dati, mentre le periferiche a caratteri, quali porte seriali, porte parallele per stampanti, mouse, sono le periferiche che trasmettono o trasferiscono dati. Per vedere l’elenco delle periferiche attualmente gestite dal kernel, sarà, quindi, sufficiente eseguire un listato all’interno della direcory dev:


	/dev

ls -al

oppure, per selezionare i dischi fissi:


	/dev

ls -al sd*

Quindi, per leggere il contenuto del disco fisso principale, è sufficiente leggere il file sda:


	od -x -N 512 sda

In questo esempio, stiamo leggendo il primo settore (512 byte) del disco, che contiene il Master Boot Record. Per leggere il secondo settore del disco, sarà necessario il comando:


	od -x -j 512 -N 512 sda

che legge i primi 512 byte, saltando i primi 512 byte. In presenza di più dischi fissi, nel sistema, come è possibile identificare esattamente un disco? A quale disco fisico corrisponde, per esempio, la periferica sda? Il kernel Linux, infatti, assegna i nomi ai vari dischi fissi ad ogni caricamento (boot) del sistema operativo: è possibile, quindi, operare su un disco, convinti di operare su un differente disco. In questo caso, può essere di enorme aiuto un sottosistema di /dev:


	/dev/disk

all’interno del quale i dischi vengono identificati con nomi più persistenti (uguali ad ogni caricamento, o boot, del sistema operativo):


	/dev/disk/by-id
	/dev/disk/by-path
	/dev/disk/by-uuid

proprio per offrire la possibilità all’utente ( e alle sue applicazioni ) di identificare in modo univoco tutti i dischi connessi al sistema. Le subdirectory contenute nella directory disk, infatti, contengono link simbolici che collegano uno specifico hard disk ad un file contenuto in /dev. Nella directory by-id, un disco fisso viene, solitamente, identificato con il suo numero seriale:


ata-Hitachi_HTS545032B9A300_091111PB5C01QDKED30G -> ../../sda
ata-Hitachi_HTS545032B9A300_091111PB5C01QDKED30G-part1 -> ../../sda1
ata-Hitachi_HTS545032B9A300_091111PB5C01QDKED30G-part2 -> ../../sda2
ata-hp_DVDRAM_GT20L_M3A9BDG5758 -> ../../sr0

In questo esempio, vediamo che il disco fisso Hitachi_HTS545032B9A300_091111PB5C01QDKED30G corrisponde al disco denominato SDA. UDEVD (il demone UDEV) nomina le periferiche utilizzando:

  • il tipo di interfaccia (ATA, nel nostro esempio);

  • le informazioni sul produttore e il modello, il serial number e, quando disponibile, la partizione.

Le regole seguite da UDEV per assegnare nomi persistenti alle periferiche sono specifiche del sistema in cui UDEV opera e sono scritte nei file di configurazione di UDEV, salvati nella directory:


	/lib/udev/rules.d

Per avere l’elenco di tutti i nomi persistenti creati da UDEV per i dischi, eseguite il comando:


	ls -lR /dev/disk

By Officine Informatiche Roma

Pagina dedicata a chi cerca un lavoro nel mondo dell'ICT, consigli, suggerimenti, soluzioni e ovviamente, annunci di offerta e ricerca. -Sono collegato a diverse societa' che fanno ricerca di personale qualificato. -Seleziono le loro richieste, e valuto CV. -Propongo i candidati potenziali alle aziende che ne fanno richiesta. -Seleziono con test psicologici e tecnici variabiili a seconda della figura professionale. -Svolgo infine anche colloqui via Skype per maggiori approfondimenti se e' necessario. Se siete interessati a questo annuncio inviate una email con cV e Presentazionea : [email protected]

Translate »