전체 장치를 사용하는 단일 파티션 생성을 어떻게 스크립팅 할 수 있습니까?


9

특히 Amazon EC2 인스턴스에서 EBS 볼륨을 분할하고 마운트하는 데이를 사용하고 있지만 실제로는 일반적으로 새 드라이브를 초기화하는 데 적용 할 수 있어야합니다.

질문에 따르면 주어진 장치에서 사용 가능한 모든 공간을 사용하는 단일 기본 파티션 작성을 스크립팅하려고합니다. 장치가 얼마나 큰지 미리 알 수 없으며 장치가 매우 클 수 있습니다 (예 : 몇 TB).

이것을 조사 할 때 parted스크립팅에 사용하는 것이 가장 좋은 명령 인 것 같습니다 . 나는 선을 따라 무언가 parted /dev/sdf mkpart primary 0 END가 내가 원하는 것이라고 생각 하지만, END가 무엇인지 결정하는 우아한 방법을 찾는 데 어려움을 겪고 있습니다. 누구나 쉬운 방법을 알고 있습니까?

답변:


11

당신은 이것을 이렇게 할 수 있습니다 :

parted /dev/sdf --script -- mkpart primary 0 -1

5

다른 답변을 사용하려고 할 때 문제가 발생했습니다. 나를 위해 일한 것은 대신 다음과 같은 백분율 접근법을 사용하는 것이 었습니다.

$ parted /dev/sdf --script -- mkpart primary 0% 100%

parted파티션의 정렬에 문제와 방법이 있습니다. 이 두 기사에서는이 문제에 대해 약간 설명합니다.

이 기사에서 설명한 수학은 단순히 내 시나리오에서 작동하지 않았습니다. 두 번째에 대한 의견 중 하나에 묻혀 백분율을 사용하여 제안한 사람과 연결 한 사람을 연결하십시오.

또한 일반적으로 HDD에도 레이블을 지정해야합니다. CLI를 통해 다음을 수행하십시오 parted.

$ parted /dev/sde --script -- mklabel msdos

-또는-

$ parted /dev/sde --script -- mklabel gpt

HDD에 따라 다릅니다.


gdisk올바르게 정렬됩니다. 제 생각 parted에는 혼란입니다. 그것은 너무 많은 일을하며 그것이하는 일은 느슨하게 연결되어 있습니다. 파일 시스템과 파티션 테이블을 함께 만드는 방법은 이상합니다. 쓰는 데이터에 대한 디스크 로카 리온은 같은 동네와 다릅니다. 파티션 테이블이 작은 맵이라는 것을 깨달았을 때 디스크가 어떻게 작동하는지 이해하기 시작했고, 원하는 경우 파일 시스템을 찾을 수있는 곳을 OS에 알려줍니다. 클릭했을 때 수퍼 블록과 메가맨 및 그 모든 것을 이해했습니다. 어쨌든 그렇게 생각하고 싶습니다.
mikeserv

고마워,이 공간의 도구 사이트는 항상 엉망이었습니다. 나는 끊임없이 sfdisk, fdisk, cfdisk, parted 등을 섞습니다. 나는 fdisk를 시도하고 그것이 더 쉬운 지 알아볼 것입니다. 주로 스크립트에 포함하기 위해 cli 옵션에서 쉽게 실행할 수있는 방법을 찾고 있습니다.
slm

기본적으로 [gf]disk그들의 stdin을 차별하지 않습니다-그들은 termInal에서 왔는지 상관하지 않습니다. 따라서 원하는 것을 얻기 위해 대화식으로 입력하는 모든 명령 시퀀스를 printf스크립트 로 직접 변환 할 수 있습니다 . 내 대답의 모든 줄 바꿈은 (or press enter for default)옵션 일뿐 입니다. 꽤 쉽습니다. 내가 그들 승 / 놀 때 나는 단지로 이동 /tmp하고 fallocate -l1g img다음 내 새로운 사용 /tmp/img내 디스크로 파일을 - 그들은 상관하지 않습니다. 그들은 단지 파티션 테이블을 작성하려고합니다. 당신이 같은 작업을 수행하는 strings -1 img경우 가끔 발생하는 일을 살펴보십시오 .
mikeserv

그러나 나는 전에 거짓말을했다-megaman은 나에게 신비로 남아있다. 어쩌면 그는 항상 것입니다.
mikeserv

1
함께 parted /dev/sdf --script -- mkpart primary 0 -1최상의 성능을 정렬되지 내가 경고를 받았습니다. 그것은 퍼센트로 잘 갔다
nachoparker

2

넌 할 수있어...

printf 'n\n\n\n\n\nw\n' | fdisk /dev/disk

... MSDOS 유형의 경우. 실제로 같은 것은 gpt에서도 작동합니다 ...

printf 'n\n\n\n\n\nw\ny\n' | gdisk /dev/disk

파일 시스템 생성 시간 동안 디스크에 레이블을 지정할 수 있습니다.

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