새 파티션을 생성하면 파티션이 이전에 존재했다면 포맷하기 전에도 자동으로 마운트되는 바람직하지 않은 부작용이 있는 것 같습니다.
이는 다음과 같은 스크립트에서는 문제가 됩니다.
parted -sm /dev/sdb mklabel gpt
parted -sm /dev/sdb mkpart primary ext4 1 1.8T
mkfs.ext4 -L drive /dev/sdb1
파티션이 이미 마운트되어 있기 때문에 mkfs가 실패합니다.
이 동작은 CentOS 7에서 관찰되었습니다.대상 디스크가 이전에 포맷되고 마운트된 마지막 부팅 이후의 시간.
/etc/fstab
마운트 지점 디렉터리의 항목을 마운트 해제하거나 삭제하면 여전히 이 조건이 발생합니다. 마운트 지점이 생성되고 파티션이 자동으로 마운트됩니다.
마운트 지점 디렉토리를 누가 만들었는지, parted가 해당 정보를 어디서 가져오는지는 확실하지 않습니다.
fstab Clear 호출과 Detach 호출 사이에 다시 시작하면 이 문제가 해결됩니다. parted에는 자동 설치에 대한 매개변수가 문서화되어 있지 않습니다.
그렇다면 이 동작은 parted에서 정상적인 것인가요? 자동 설치를 방지하는 안정적인 방법이 있습니까?
답변1
철저한 테스트를 거쳐 2018년 3월 기준으로 답은 방법이 없다는 것입니다.헤어졌다예방하다체계/etc/fstab에서 noauto를 사용하여 사전에 명시적으로 구성하지 않는 한 다시 생성한 후 파티션을 자동으로 다시 마운트합니다.
해결책
@AB가 제안한 것처럼 다음과 같은 또 다른 도구는디스크 드라이브또는gdisk대신 사용할 수 있습니다헤어졌다다시 생성하기 전에 파티션 정보를 올바르게 지우십시오. 유일한 단점은 이러한 도구가 대화형 셸을 사용하고 스크립트의 일괄 처리용으로 설계되지 않았다는 것입니다.
대화형 모드
# gdisk /dev/sda
GPT fdisk (gdisk) version 0.8.6
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): Y
Command (? for help): n
Partition number (1-128, default 1):
First sector (34-3907029134, default = 2048) or {+-}size{KMGTP}:
Last sector (2048-3907029134, default = 3907029134) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data.
THIS WILL OVERWRITE EXISTING PARTITIONS!!
Do you want to proceed? (Y/N): Y
OK; writing new GUID partition table (GPT) to /dev/sda.
The operation has completed successfully.
파이프라인 자동화
이는 매우 깨끗하거나 이식 가능하지는 않지만 사용자 입력을 한 줄씩 파이핑하여 동일한 결과를 얻을 수 있습니다. 대화형 모드에서와 마찬가지로 빈 줄은 gdisk에서 제공하는 기본값을 허용하며, 이 경우 파티션 사용량을 최대화하고 Linux 시스템에 대한 올바른 유형을 선택합니다.
echo -ne 'o\nY\nn\n\n\n\n\nw\nY\n' | gdisk /dev/sda
시스템 D 모니터링
달리는 동안gdiskdmesg의 설치 활동을 확인한 결과 몇 가지 장치 정보 요청만 발견되었습니다.
kern :info : [Mar27 10:38] sda: sda1
kern :info : [ +1.019077] sda: sda1
따라서 이 접근 방식을 사용하면 자동화 스크립트를 안전하게 계속할 수 있습니다.MKFS부분.