Pendant que j'étais loin de mon ordinateur, ma clé USB cryptée a été accidentellement démontée d'une manière ou d'une autre (bien qu'elle soit encore physiquement connectée à l'époque). Je n'ai pas pu récupérer (je n'ai pas encore essayé de redémarrer). J'ai maintenant complètement déconnecté le périphérique, mais j'obtiens toujours "Périphérique ou ressource occupé" lorsque j'essaie de supprimer l'entrée pendant dans / dev / mapper. Puis-je reconnecter et monter le disque sans redémarrage?
Voici ce que j'ai essayé (nom long changé en "xxxxx") ...
$ sudo dmsetup ls
luks-xxxxx (252:1)
luks-yyyyy (252:0)
$ sudo umount /dev/mapper/luks-xxxxx
umount: /dev/mapper/luks-xxxxx: not mounted
$ sudo fuser --kill /dev/mapper/luks-xxxxx
$ echo $?
1
$ sudo dmsetup info -c luks-xxxxx
Name Maj Min Stat Open Targ Event UUID
luks-xxxxx 252 1 L--w 1 1 0 CRYPT-LUKS1-xxxxx-luks-xxxxx
$ sudo dmsetup remove luks-xxxxx
device-mapper: remove ioctl on luks-xxxx failed: Device or resource busy
Command failed
Après avoir reconnecté l'appareil ...
$ sudo cryptsetup luksOpen "/dev/sde1" "luks-xxxxx"
Device luks-xxxxx already exists.
[MODIFIER] J'ai résolu le problème, cette fois, en fermant un éditeur de texte GUI qui n'avait pas de fichiers ouverts, mais qui avait été lancé à partir d'un dossier sur l'appareil en question. La question devient donc plus précise: comment identifier quelle application maintient l'appareil ouvert?
Gardez à l'esprit que lsof
cela ne semble pas constituer une solution facile car, une fois l'appareil déconnecté, les noms associés fournis par lsof
n'incluent plus le nom de l'appareil déconnecté.
Réponses:
Après deux ans de combats avec ça, je pense que je l'ai finalement complètement craqué!
dmsetup ls
vous donne les données dont vous avez besoin:puis
Il semble que cela
sudo
puisse être critique ici - du moins dans certains cas.Cela devrait vous donner les informations nécessaires pour fermer tous les fichiers ouverts sur l'appareil - y compris les noms des fichiers ouverts et les ID de processus pour les applications incriminées. Vous pouvez peut-être simplement accéder à ces applications et les fermer, mais une approche par force brute pourrait être quelque chose comme:
Une fois que vous avez fermé tous les fichiers, certains des outils de ligne de commande présentés dans la question peuvent être nécessaires pour fermer le montage existant avant de le rouvrir normalement.
la source
(252:1)
devient252,1
.Essayez d'arrêter le groupe LVM avant d'arrêter Cypher:
lvchange -a n [LVM_Group_name]
puis
cryptsetup -v luksClose [LUKS_name]
Échantillon:
la source
kill
avantkill -9
). Cependant, la solution de @ nobar n'était pas suffisante pour moi - il semble que le noyau lui-même avait le périphérique ouvert à cause des mappages de périphériques LVM - que cette réponse a résolu.grep
n'a trouvé aucune correspondance, mais cela a fonctionné.la prochaine fois, essayez un umount paresseux
Cela fonctionne pour moi la plupart du temps, particulièrement utile avec les lecteurs NFS raccrochés.
la source
Voici comment je parviens à résoudre ce problème sur Linux Mint 17.3 (~ Ubuntu Trusty):
supprimer le périphérique du mappeur de périphériques
cartographier en arrière
Maintenant, les appareils sont accessibles.
la source
dmsetup remove
signale parfois "Échec de la commande".J'étais dans une situation similaire, mais je n'ai pas pu résoudre le problème en retirant l'
luks-xxxx
appareil. Au lieu de cela, j'ai dû retirerubuntu--vg-root
.Ma situation était:
lsof
n'a montré aucune poignée ouverte pour le périphérique.Ce qui a aidé à débrancher le périphérique physique et à retirer le
ubuntu--vg-root
périphérique avec la commande suivante:À ce stade, j'ai pu normalement activer et décrypter à nouveau le périphérique externe avec ma configuration habituelle:
la source