losstup --detach はループバックデバイスを削除しません。

losstup --detach はループバックデバイスを削除しません。

ループバックデバイスを取り外そうとします。

推測はlosetup --detach成功するかもしれませんが(エラーメッセージなしと戻りコード0)、デバイスはまだ存在します。

どんなアイデアがありますか?

root@Cassiopeia:~# losetup -a
/dev/loop1: [2053]:5243868 (/var/lib/snapd/snaps/core_6034.snap)
/dev/loop6: [2053]:19401380 (/tmp/imagefile)
/dev/loop4: [2053]:5249290 (/var/lib/snapd/snaps/canonical-livepatch_49.snap)
/dev/loop2: [2053]:5243293 (/var/lib/snapd/snaps/canonical-livepatch_50.snap)
/dev/loop0: [2053]:5249134 (/var/lib/snapd/snaps/core_5897.snap)
/dev/loop5: [2053]:5249130 (/var/lib/snapd/snaps/core_6130.snap)
/dev/loop3: [2053]:5244442 (/var/lib/snapd/snaps/canonical-livepatch_54.snap)
root@Cassiopeia:~# losetup --detach /dev/loop6
root@Cassiopeia:~# echo $?
0
root@Cassiopeia:~# losetup -a
/dev/loop1: [2053]:5243868 (/var/lib/snapd/snaps/core_6034.snap)
/dev/loop6: [2053]:19401380 (/tmp/imagefile)
/dev/loop4: [2053]:5249290 (/var/lib/snapd/snaps/canonical-livepatch_49.snap)
/dev/loop2: [2053]:5243293 (/var/lib/snapd/snaps/canonical-livepatch_50.snap)
/dev/loop0: [2053]:5249134 (/var/lib/snapd/snaps/core_5897.snap)
/dev/loop5: [2053]:5249130 (/var/lib/snapd/snaps/core_6130.snap)
/dev/loop3: [2053]:5244442 (/var/lib/snapd/snaps/canonical-livepatch_54.snap)

答え1

私はそれが古いことを知っていますが、ちょうど同様の問題に直面しました。

これは、デバイスの電源が入っているためインストールする必要がないためです。 lsofと同様のコマンドを使用して、それが何であるかを確認してください。

私の場合は別のターミナルに別々にかかっていました;)

答え2

私はしばらく前にこの状況に直面し、これがいくつかの方法で起こることができることに気づきました。

  • 端末を介してこれらのディレクトリのいずれかにアクセスした場合(たとえば、使用したが端末をcd閉じていない場合、またはそのディレクトリにまだ存在している場合)

  • 他のプロセス/コマンドがマウントされたループデバイス/ディレクトリを使用している場合。

に基づいてこれ回答:以下を使用できます。

fuser -c /dev/loop0
fuser -d /dev/loop0
fuser -f /dev/loop0

PIDなどの必要なすべての情報を入手してください。

fuse -kその後、またはkill -9次を使用できます。本当に必須です。しかし、このようなプロセスを強制終了することはおそらく悪い考えであることに注意してください。

試してみたいなら優雅に kill(たとえば、マウント/ループされたデバイスを使用してプロセスにアクセスする方法がわからない場合):

kill PID

動作する必要があります。

最後に、これがsnap(あなたの投稿の結果に基づいて)あなたに関するものであることを考えるとおそらくスナップショットを完全に削除したり、個々のスナップパッケージを削除したりしない限り、それらを削除または削除しようとしないでください。

関連情報