저는 parted
파티션 a 를 사용하고 있습니다. 나중에 (참조)를 사용하여 파티션 맵을 로드 /dev/mapper/luks_device
해야 한다는 것을 알고 있습니다.kpartx
이 스레드). 그러나 parted
으로 파티션을 생성하는 동안 mkpart swap 1 500
평소와 같이 다음과 같은 오류가 발생합니다.
(parted) mkpart swap 1 500
Error: Partition(s) 1 on /dev/mapper/luks_device have been written, but we have been
unable to inform the kernel of the change, probably because it/they are in use. As a
result, the old partition(s) will remain in use. You should reboot now before making
further changes.
Ignore/Cancel?
무엇을 합니까소홀히 하다그리고취소의미는? 그들 사이의 차이점은 무엇입니까? "취소"를 입력해도 파티션은 계속 생성됩니다.
답변1
Parted는 파티션 테이블이 디스크에 기록되었을 때(그리고 쓰기가 성공했을 때) 이 질문을 합니다. 그래서 파티션이 존재하고 남은 유일한 것은 커널에게 파티션 테이블을 다시 읽으라고 지시하는 것입니다. 이것은 간단한 시스템 호출( BLKRRPART
)이지만 실패하므로 parted는 지금 그 사실만 알려줄 수 있습니다.
둘 사이의 유일한 차이점은소홀히 하다그리고취소이 경우 대답은 호출이 성공을 반환하는지 여부입니다(선택한 경우).소홀히 하다) 또는 선택하면 실패합니다.취소). 따라서 이 질문은 반환 코드를 확인하지 않기 때문에 대화형 모드에서는 실제로 의미가 없지만 배치 모드나 pared 대신 libparted를 사용할 때는 의미가 있을 수 있습니다.
배치 모드에서는 선택 사항에 따라 명령 반환 코드가 설정됩니다.
~을 위한소홀히 하다0을 반환합니다.
$ sudo parted /dev/sdc rm 1
Warning: Partition /dev/sdc1 is being used. Are you sure you want to continue?
Yes/No? Yes
Error: Partition(s) 1 on /dev/sdc have been written, but we have been unable to inform the kernel of the change, probably because it/they are in use. As a result, the old partition(s) will remain in use. You
should reboot now before making further changes.
Ignore/Cancel? Ignore
Information: You may need to update /etc/fstab.
$ echo $?
0
그리고취소1을 반환합니다.
$ sudo parted /dev/sdc rm 1
Warning: Partition /dev/sdc1 is being used. Are you sure you want to continue?
Yes/No? Yes
Error: Partition(s) 1 on /dev/sdc have been written, but we have been unable to inform the kernel of the change, probably because it/they are in use. As a result, the old partition(s) will remain in use. You
should reboot now before making further changes.
Ignore/Cancel? Cancel
$ echo $?
1
실종자정보: /etc/fstab을 업데이트해야 할 수도 있습니다.역시 분명한 차이가 있습니다. 명령이 실패한 것으로 간주되면 parted는 해당 명령을 인쇄하지 않습니다.
참고: 위의 예에서는 동일한 오류가 발생하기 위해 사용 중인 파티션을 삭제하려고 시도했습니다. 상황은 다르지만 동작은 동일합니다. 오류 메시지는 변경 사항을 디스크에 커밋하기 위해 동일한 libparted 함수에서 나옵니다.