Was bedeutet / dev / sda für Linux?

92

Was macht :

/dev/sda

stehen für? Was heißt das?

Ich habe sowohl Fedora als auch Ubuntu installiert und wenn ich sie mit Ext2explore unter Windows erkunde , sehe ich die folgenden Namen:

/dev/sda6
/dev/sda9

Bitte erklären Sie mir, was das bedeutet. Ich meine die Nummern da und auch die /dev/sda/.

saplingPro
quelle

Antworten:

136

TL; DR : Es hat damit zu tun, wie Linux (und alle Unixe) ihre Laufwerke benennen, ähnlich wie Windows C :, D: usw. ( HINWEIS : Wir bezeichnen dies als Metapher. Mit anderen Worten , eine offensichtliche Lüge, die den Menschen hilft zu verstehen, ohne auch nur annähernd genau zu sein. Lesen Sie weiter für eine detailliertere Erklärung ...)

  • /dev/ ist der Teil in der Unix-Verzeichnisstruktur, der alle "Geräte" -Dateien enthält. Unix behandelt traditionell so gut wie alles, auf das Sie zugreifen können, als Datei, aus der Sie lesen oder in die Sie schreiben können.

  • sd identifizierte ursprünglich ein SCSI-Gerät, aber seit dem Wachstum von USB-Datenträgern (und anderen Wechseldatenträgern) wurde es zu einem Allrounder für alle Blockgeräte (in diesem Zusammenhang auch ein Begriff für Unix; alles, was Daten transportieren kann), das es noch nicht gab zugänglich über IDE. Als SATA auf den Markt kam, hielten die Entwickler es für viel einfacher und bequemer, es in das vorhandene Framework einzufügen, anstatt ein ganz neues Framework zu schreiben.

  • Der Buchstabe unmittelbar nach sd gibt die Reihenfolge an, in der er zuerst gefunden wurde - a, b, c ... z, Aa ... Az ... usw. (Nicht, dass es in der realen Welt viele Situationen gibt, in denen mehr als 26 diskrete Blockgeräte sind am selben Bus ...)

  • Schließlich kennzeichnet die Zahl danach die Partition auf dem Gerät. Beachten Sie, dass es aufgrund der eher zufälligen Art und Weise, wie PCs mit Partitionen umgehen, nur vier "primäre" Partitionen gibt, sodass die Nummerierung geringfügig von der tatsächlichen Anzahl abweicht. Dies ist kein schreckliches Problem, da der Hauptzweck des Namensschemas darin besteht, für jede auf diese Weise gefundene Partition eine eindeutige und erkennbare Kennung zu haben ...

Also /dev/sda9die neunte Partition auf dem ersten Laufwerk.

Shadur
quelle
Ich habe den dritten Punkt nicht verstanden. Könnt ihr mir bitte dabei helfen
saplingPro
13
Dies bedeutet, dass das erste gefundene Gerät sdadas zweite sdbist und so weiter, bis das 26. Gerät aufgerufen wird sdzund das System startet, sdAawenn Sie mehr Geräte haben ...
Shadur
/ dev / sd [AZ] [az] wird derzeit von AWS als ungültig angesehen, sofern keine zusätzliche Konfiguration erforderlich ist.
cxdf
sollte nicht - die dev-by-UUID-Knoten sollten Symlinks sein.
Shadur
Eine Metapher ist normalerweise auf eine Art tangentiale Weise verbunden, die enger mit der Erfahrung des Empfängers zusammenhängt als mit dem Konzept oder der Sache, die man erklären möchte. So könnte man beispielsweise einem Landwirt die Funktionsweise eines Prozessors in Form von Traktoren und matschigen Stiefeln erklären. Die Hoffnung ist, dass der Adressat in der Lage ist, die symbolischen Verknüpfungen zu nutzen, um ohne Wissen aus erster Hand ein funktionierendes Modell dessen zu konstruieren, was der Adressat beschreibt. Es ist also nur eine Lüge, so wie eine Blockkette eine Lüge über eine Passphrase ist. Tatsächlich ist eine Blockchain eine Art Metapher.
Peter David Carter
16

/ dev ist Ihr Dateisystem, das die Geräte darstellt, die Ihr System versteht - ein Mechanismus, mit dem Anwendungen auf Daten auf dem Gerät zugreifen können, ohne dass Sie genau wissen müssen, um welches Gerät es sich handelt.

sd ist für (ursprünglich) scsi-festplattengeräte gedacht, bezieht sich jedoch anscheinend auf austauschbare geräte im allgemeinen und auf sata-geräte

und der Buchstabe ist nur die Nummer des Geräts, beginnend mit a, wobei die Nummer die Partition angibt.

Rory Alsop
quelle
10

sdstammt vom Fahrer sd-mod. Es steht wörtlich für s csi d isk.

Der Grund, warum (S) ATA-Festplatten auch als SCSI-Festplatten aufgeführt werden, sind SCSI-Befehle, die eine Reihe von Funktionen bieten, die von ATA-Befehlen bereitgestellt werden können. Moderne Systeme (einschließlich Windows, AFAIK) verfügen daher über eine Implementierung der SCSI-ATA-Übersetzung Layer (SATL) im System (unter Linux wird es vom libataTreiber bereitgestellt ), um mit den (S) ATA-Datenträgern zu kommunizieren , während der obere Layer des Systems verallgemeinert werden kann.

Wie Sie vielleicht nicht wissen, "spricht" ein USB-Laufwerk SCSI (dh es nimmt SCSI-Befehle entgegen und reagiert auf diese), unabhängig davon, ob es das USB Attached SCSI-Protokoll unterstützt oder nicht. Außerdem handelt es sich bei den meisten USB-Festplatten / SSDs um SATA-Festplatten, die über eine USB-Brücke verbunden sind. Für diese stellt die Bridge die SATL zur Verfügung, nicht aber das Betriebssystem.

Tom Yan
quelle