드라이브 이름? "/ dev / sda"의 "sda"부분에 대한 올바른 용어는 무엇입니까?


16

fdisk (8) 는 말합니다 :

장치는 대개 / dev / sda, / dev / sdb 등입니다. 장치 이름은 전체 디스크를 나타냅니다. libata가없는 기존 시스템 (Linux 호스트에서 ATA 호스트 컨트롤러 및 장치를 지원하기 위해 사용되는 라이브러리)은 IDE와 SCSI 디스크의 차이를 만듭니다. 이러한 경우 장치 이름은 / dev / hd * (IDE) 또는 / dev / sd * (SCSI)입니다.

파티션은 장치 이름 뒤에 파티션 번호가옵니다. 예를 들어, / dev / sda1은 시스템에서 첫 번째 하드 디스크의 첫 번째 파티션입니다. Linux 커널 설명서 ( Documentation / devices.txt 파일) 도 참조하십시오 .

이것을 바탕으로, 나는 리눅스와 관련하여 /dev/hda또는 /dev/sda"장치 이름" 과 같은 문자열이라는 것을 이해합니다 . 그렇지 않으면 위에서 강조한 두 번째 문장은 의미가 없습니다. 대신 " 예를 들어, sda1 은 시스템에서 첫 번째 하드 디스크의 첫 번째 파티션입니다. "

이보기는 Linux Partition HOWTO에 의해 확증되었습니다 .

일반적으로 IDE 드라이브에는 장치 이름 / dev / hda ~ / dev / hdd가 부여 됩니다.

부분 문자열 hda이나 sda그러한 장치 이름에 대해 기술적으로 올바른 (그리고 바람직하고 모호하지 않고 간결한) 영어 단어가 있습니까? 예를 들어,이 경우 sda드라이브 를 호출 하는 것이 맞습니까 ?

  • "짧은 이름"; 또는
  • "자격이없는 장치 이름"; 또는
  • 다른 것?

(공통적으로 사용 되더라도 기술적으로 잘못된 구어체를 요구하지는 않습니다.)


3
디스크 장치의 전체 경로 이름을 사용하지 않는 유일한 명령 인 dkinfo 의 맨 페이지 인 FWIW를 "디스크 이름"이라고합니다.
Mark Plotnick

@MarkPlotnick, 감사하지만이 질문은 다른 OS가 아니라 Linux 또는 GNU / Linux에 관한 것입니다. 따라서 dkinfoLinux 또는 GNU / Linux의 일부는 아니지만 SunOS일부인는 범위를 벗어납니다. 죄송합니다.
sampablokuper

답변:


25

sda장치 이름 입니다. /dev/sda장치 경로 입니다.

생각 /sbin/fdisk, fdisk파일입니다 이름 동안 /sbin/fdisk파일입니다 경로 .


5
몇 가지 의미가 있으므로 "장치 경로"에주의해야하지만 ...
derobert

1
감사합니다 :) "sda는 장치 이름입니다. / dev / sda는 장치 경로입니다." 그것은 당신이 제공 한 이유로 내 초기 견해이기도했지만 내 질문에 인용 된 util-linux fdisk 매뉴얼 페이지를 자세히 읽음으로써 지원되지 않습니다. (이제이 문제를 더 잘 강조하기 위해 질문을 편집했습니다.) 따라서 여기 SE에 관한 문제를 묻습니다. NB 이것은 당신의 대답이 틀렸다는 것을 의미하지는 않습니다. 아마도 매뉴얼 페이지의 일부가 잘못 작성된 것입니까? -그것은 당신의 대답과 util-linux fdisk 매뉴얼 페이지가 이상하게 보인다는 것을 의미합니다. 답을 뒷받침 할만한 자료가 있습니까? 다시 감사합니다 :)
sampablokuper

6
/dev/sda블록 장치의 경로이지만 실제 장치 경로 는 다음과 같습니다/devices/pci0000:00/0000:00:17.0/ata2/host1/target1:0:0/1:0:0:0/block/sda
Dietrich Epp

2
@jiggunjer : mount또한 장치 드라이버가 일부 RAM (볼륨이 아닌)을 파일 시스템으로 매핑 --bind하고 파일 트리의 일부를 하위 트리 등 으로 매핑 할 수 있도록 지시합니다 . 또한 RAID "디스크"를 마운트하면 유용하거나 기괴한 작업을 수행 할 수 있습니다 볼륨이 여러 개인 것의 일부에 액세스하거나 액세스를 해제합니다. 간단히 말해서, mount많은 일을 할 수 있지만 가장 일반적인 것은 파일 시스템을 파일 트리 어딘가에 표시하는 것입니다.
wallyk

1
@jiggunjer 필자는 파일 시스템 형식을 의미한다고 생각합니다.이 형식은 일반적으로 파일 시스템, 볼륨이라고 부르는 형식의 인스턴스화와 동일하지 않습니다. 그것이 기술적으로 부정확하더라도, 그것은 사람들이 파일 시스템에 의해 의미하는 바입니다. 볼륨으로 파일 시스템 형식의 인스턴스화를 참조하는 사람을 아직 만나지 않았습니다. 이 주제에 대해 읽은 책 중 어느 것도 "볼륨"이라는 단어를 "파일 시스템"(어느 의미로든)을 의미하는 데 사용한 적이 없습니다.
Clearer

6

sda일부는 /dev/sda사용자의 관점에 따라 여러 가지를 나타낼 수 있습니다.

  1. 파일 이름
    일반적으로 파일 이름 은 디스크 인 경우 블록 장치이므로 장치 이름입니다.

    루트로 :

    $ ls -la /dev/sd*
    brw-rw---- 1 root disk 8, 0 Sep 11 22:01 /dev/sda
    brw-rw---- 1 root disk 8, 1 Sep 11 22:02 /dev/sda1
    brw-rw---- 1 root disk 8, 2 Sep 11 22:01 /dev/sda2
    
  2. 디스크 이름
    sda은 디스크에 이름 을 제공하는 문자열입니다 (파티션 sda1, sda2, sdX 등과는 다릅니다). 일반적으로 적용된 장치 규칙에 따라 udev에 의해 생성됩니다.

  3. 디렉토리 경로
    sda는 경로 의 기본 이름입니다./dev/sda


디스크 이름과 관련된 해석으로 제한됩니다.

예전에는 sda는 SCSI 디스크 의 장치 이름이었습니다 .

동일한 라이브러리가 SATA 드라이브로 확장되면서 이제는 다음과 같이 호출해야한다고 생각합니다.

device name: SATA/SCSI/SAS disk a

또는 간단히 :

device name: first SATA/SCSI/SAS disk

3

그것은이다 커널 생성 블록 디스크 / 파티션의 장치 이름 :

sdaA는 디스크 이름 커널에 의해 생성. 커널 드라이버 (SATA 디스크에 사용하기에 매우 편리한 SCSI 스택 포함) disk_namegendisk구조 필드 (예 : SCSI : drivers / scsi / sd.c # L3338 )를 채워sda 이름 을 생성 합니다.

이 이름은 이후에 블록 장치에 대응하는 이름이 사용되는 /dev, /sys그리고 /proc/{partitions,diskstats}. 그러나 procfs의 설명서 이름은 파티션 이름 ( proc (5) )이며 디스크 통계에 대한 설명서에서는 장치 이름 ( iostats.txt )이라고합니다.


흥미 I 추측 sda/dev/sda교환 가능하며 모두가 장치 이름이라고도. (정상적인 시스템)를 탑재하기 때문에 그의 생각 devfs/dev, 같은 이름 때문에 sda같은 경로로 회전 /dev/sda(당신은 또한 이름을 부를 수).
Peter Cordes

1

Linux / Unix에서는 모든 것이 파일입니다. 장치는 파일로 나타냅니다. / dev 위치에있는 모든 장치 유형 파일 따라서 sda 는 블록 장치 유형 특수 파일입니다.

hd(x) - IDE
sd(x) - SATA,SSD,ISCI,SAS

참고 : 여기서 x는 변수입니다. x는 하드 디스크의 위치를 ​​나타냅니다.

if x = a for IDE disk means hda represents primary master disk
   x = b for IDE disk means hdb represents primary slave disk

이제 SD *

if x = a for SATA/SSD/ISCI/SAS sda represents first disk
   x = b fo SATA/SSD/ISCI/SAS sdb represents second disk

IIRC, IDE (PATA) 디스크도 sd*일부 드라이버 또는 최신 커널로 이름을 얻 습니까? PATA와 최신 커널을 갖춘 활성 시스템이 없습니다.
Peter Cordes

2
대답을 주셔서 감사합니다,하지만 그것은 내가 질문 한 질문을 해결하지 않는 것 :( 나는 같은 맥락에서 이해 /dev/sda, sda파일이며, 또한 파일이 무엇을 나타내는 지 이해한다. 내 질문은 무엇에 대해이었다 전화 문자열 sda및 문자열을 구두로 언급 할 때와 같이
sampablokuper

1
@PeterCordes는 한동안 openSUSE Leap 42.2를 사용해 왔지만 하드 및 광학 IDE PATA 드라이브가 sdX이름을 얻었 으며 SATA 및 SUB 와도 통합되어 있음을 확인할 수 있습니다.
집시 Spellweaver

1

적어도 두 개의 유효한 답변이있는 것 같습니다

  1. sda드라이브 의 "기본 이름" 이라고 올바르게 지정할 수 있습니다 .

  2. sda드라이브 의 "커널 디스크 이름" 이라고도합니다 .

이 결론에 어떻게 도달 했습니까?

그럴듯한 후보들 각각을 제거하는 과정에 의해 :

  • "장치 이름"

이것은 올바른 용어가 될 수 없습니다. 원래 질문 에서 언급했듯이 , 이는 최종 조각 (예 :)이 아닌 정규화 된 이름 (예 :)을 나타냅니다 ./dev/sdasda

SUSE Linux Enterprise Server 12대한 최종 안내서의 p.68 과 같은 추가 소스에 확실한 증거가 있습니다 .

… 장치 이름을 기반으로하는 마운트 (예 :)를 사용하도록 선택할 수도 있습니다 /dev/sdb1.

94 페이지리눅스 성경 2008 에디션 :

장치 탭을 클릭하고 장치 이름 (예 :)을 입력하십시오 /dev/cdrom.

  • "파일 이름"또는 "파일 이름"

기술 문서 에서 최종 조각 (예 :)뿐만 아니라 정규화 된 이름 (예 :)의 동의어로 사용되므로 올바른 용어 /dev/sda일 수도 없습니다 sda.

BASENAME (1) :

기본 이름-파일 이름에서 디렉토리 및 접미사 제거

DIRNAME (1) :

dirname-파일 이름에서 마지막 구성 요소 제거

  • "이름"

기술 문서 에서 최종 조각 (예 :)뿐만 아니라 정규화 된 이름 (예 :)의 동의어로 사용되므로 올바른 용어 /dev/sda일 수도 없습니다 sda.

GNU Coreutils : 기본 이름 호출 :

basenamename 에서 선행 디렉토리 구성 요소를 제거합니다 .

GNU Coreutils : 디렉토리 이름 :

dirnamename 의 마지막 슬래시로 구분 된 구성 요소를 제외한 모든 것을 인쇄합니다 .

  • "짧은 이름"또는 "짧은 이름"

이것은 올바른 용어도 될 수 없습니다. 장치 이름의 마지막 부분을 "짧은 이름"또는 "짧은 이름"이라고하는 기술 문서를 찾을 수 없습니다. 그 용어는 리눅스, GNU에서, 단지 하나의 맥락에서 사용되는 것 VFAT 옵션 장착 , 또는 호스트 이름네트워크를 .

  • "기본 이름"

이 용어는 Red Hat Linux 7 설치의 p.149 를 기반으로 유효한 답변으로 보입니다 .

분할하려는 디스크의 기본 이름이 나열되어 있지 않은지 확인하십시오 ( hdb추가 한 드라이브 인 경우).

그리고 물론 노트 에서 CST8207 (GNU / Linux 운영 체제)에 대한 알곤 퀸 대학 :

기본 이름의 정의 : 경로 이름의 기본 이름은 맨 오른쪽 슬래시 오른쪽에있는 가장 오른쪽 이름 구성 요소입니다.

p.1456레드햇 리눅스 (8)에 대한 실용 가이드 :

basename : 경로 이름과 달리 파일을 포함하는 디렉토리를 나타내지 않으므로 슬래시 (/)를 포함하지 않는 파일의 이름입니다. 예를 들어, hosts기본 이름은 /etc/hosts입니다.

행복하게도 GNU / Linux basename에는 기본 이름을 얻는 데 사용할 수 있는 명령이 있습니다.

$ basename '/dev/sda'
sda
  • "커널 디스크 이름"

간단히 말해서이 용어는 Linux Kernel의 p.100 으로 간단히 설명 할 수 있습니다 .

/dev/<diskname>

<diskname>루트 디스크로 지정된 커널 디스크 이름을 사용하십시오 .

또한 "커널 디스크 이름"도 Solaris 와 관련하여 유효한 용어로 나타납니다 .

이 버전의 iostat 명령의 경우, 출력은 논리 커널 디스크 이름 (즉, c0t0d0대신 sd0) 대신 물리적 장치 경로로 활동이 0이 아닌 디스크 장치에 대한 확장 된 통계를 표시합니다 .


예. 경로 분할에 대해 말할 때 기본 이름을 말할 수 있지만 장치에 대해 말할 때 "기본 이름"을 본 적이 없습니다. "이름"예, "기본 이름"아니오 질문의 링크 중 어느 것도 "기본 이름"또는 "기본 이름"이라는 용어를 사용하지 않습니다. 질문의 출처가 기본 이름이라고 부르는 것을 지원한다는 것은 무엇을 의미합니까?
Peter Cordes

@PeterCordes /dev/sda는 다음 과 같은 문자열을 의미합니다 . BASENAME (1) "filenames"; "파일 이름"으로 DIRNAME (1); GNU Coreutils 문서는 "이름"입니다. & FDISK (8) 및 TLDP에 의해 "장치 이름"으로 표시됩니다. 따라서 이러한 용어 중 어느 것도 문자열의 최종 슬래시로 구분 된 구성 요소를 나타내는 데 절대로 사용될 수 없습니다. Ergo, 문자열의 해당 부분을 명확하게 참조하는 데 사용할 있는 용어를 원하면 다른 것을 사용해야합니다. 내 대답의 출처는 마지막 슬래시 앞의 부분은 "dirname"이고 그 다음 부분은 "basename"이라고 말합니다. Voilà .
sampablokuper

나는 그것이 공평하다고 생각합니다. 받아들이고 sda받지 않은 것을 문서화했다면이를 /dev/sda"기본 이름"이라고 부를 수 있습니다. 또는 해당 설명서에서 "이름"과 "경로"를 사용하고 대부분의 설명서와 같이 예를들 수 있습니다. 일부 문서는 "name"을 사용하여 전체 경로를 포함하더라도 "name"이외의 일반적으로 합의 된 용어는 없다고 생각합니다.
Peter Cordes

0

"모든 것이 파일입니다"- sda단순히 파일 이름, /dev전체 경로를 통해 장치의 디렉토리 (및 빈 문자열 확장명) 가 아닙니다 . /dev/sda이는 일반적으로 첫 번째 비 IDE 디스크입니까? 마찬가지로 passwd파일 이름과 인 /etc으로 액세스 할 수있는 파일의 디렉토리 /etc/passwd대회 포함 (ED) 암호 데이터에 의한는?

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.