루핑 장치가 있는데 이 작업을 수행하면 표시되지만 losetup --all
삭제할 수 없습니다.
그래서 저는 기본적으로 이 문제에 봉착했습니다. 왜냐하면 microSD 카드의 원시 이미지를 생성한 다음 kpartx
이미지에 포함된 파티션을 마운트하는 데 사용하기 때문입니다.
처음에 이미지와 파티션을 마운트하는 데 사용한 명령은 다음과 같습니다.
user@server:~$ sudo kpartx -arsv '/path/to/microsd.img';
add map loop1p1 (254:12): 0 819168 linear 7:14 32
add map loop1p2 (254:13): 0 29351936 linear 7:14 819200
user@server:~$ sudo mount /dev/mapper/loop1p2 /mnt/sdimage1p2;
user@server:~$ ls -alh /mnt/sdimage1p2;
이것은 단지 테스트일 뿐이고 루프 장치를 제거하고 싶었기 때문에 다음 명령을 실행하고 내 주문에 문제가 있는지 확인하기 위해 다른 순서로 실행해 보았습니다.
sudo umount /mnt/sdimage1p2;
sudo dmsetup info;
sudo losetup --detach /dev/mapper/loop1p1;
sudo losetup --detach /dev/mapper/loop1p2;
sudo losetup --detach /dev/mapper/loop1;
sudo dmsetup remove /dev/mapper/loop1p1;
sudo dmsetup remove /dev/mapper/loop1p2;
sudo kpartx -dsv '/path/to/microsd.img';
sudo losetup --all;
또한 dmsetup info
반환되었습니다 no devices found
.
그러나 losetup --all
다음을 반환합니다:-
/dev/loop1: [2082]:1809010 (/path/to/microsd.img)
또한 다음 명령을 시도했지만 아무것도 반환하지 않았습니다.
fuser -c /dev/loop1;
fuser -f /dev/loop1;
lsof | grep loop
또한 아래 출력을 반환하려고 시도했습니다 .
loop1 10693 root cwd DIR 8,2 4096 2 /
loop1 10693 root rtd DIR 8,2 4096 2 /
loop1 10693 root txt unknown /proc/10693/exe
하지만 위의 정보를 어떻게 해야 할지 잘 모르겠습니다. 시도했지만 kill -9 10693
성공하지 못했습니다. PID 10693
가 htop
.
user@server:~$ ps -fp 10693
UID PID PPID C STIME TTY TIME CMD
root 10693 2 0 08:17 ? 00:00:00 [loop1]
답변1
PPID가 2이므로 이 프로세스 10693은 커널 프로세스이며, 이는 프로그램이 kill -9
작동하지 않는 이유를 설명합니다.
당신은 그것을 시도했다고 말했습니다 sudo losetup --detach /dev/mapper/loop1
. 이것은 거의 맞지만 완전히 옳지는 않습니다. sudo losetup -d /dev/loop1
한번 시도해 보십시오. 하지만 그것은 단지 작동합니다뒤쪽에파티션 루프 장치가 제거되었으므로 sudo losetup --detach /dev/mapper/loop1p*
명령 전에 시도하면 실패합니다.
루프 장치를 삭제하기 위한 최소 명령은 다음과 같습니다.
sudo umount /mnt/sdimage1p2
sudo kpartx -d /dev/loop1
sudo losetup -d /dev/loop1
정확히 이 순서입니다.