Linux démonte un périphérique à partir d'un script exécuté dans le périphérique lui-même

StackOverflow https://stackoverflow.com//questions/20000547

  •  20-12-2019
  •  | 
  •  

Question

J'ai une image ISO montée dans le chemin :

/mnt/iso

À l'intérieur de cette ISO, j'ai un script d'installation install.sh j'exécute le script d'installation à partir de l'ISO et à la fin, le script demande à l'utilisateur s'il veut user l'ISO lui-même.Si l'utilisateur appuie sur "y", le script exécute le code suivant :

cd /
umount /mnt/iso
echo "Installation completed!"

Malheureusement, lorsque le script tente d'exécuter le umount, il y a une erreur

umount: /mnt/iso: device is busy

Je suppose que cela est dû au fait que le périphérique virtuel est occupé par le script lui-même.Comment le faire fonctionner ?Transmission

Était-ce utile?

La solution

Utilisez le -l ou --lazy basculer vers umount qui effectuera un démontage paresseux, où il n'est complètement démonté que lorsqu'il n'est plus utilisé.La description complète dans la page de manuel (il s'agit d'une option spécifique à Linux) est :

Démontage paresseux.Détachez le système de fichiers à partir de la hiérarchie du système de fichiers maintenant et nettoyez toutes les références au système de fichiers dès qu'elle n'est plus occupée.(Nécessite le noyau 2.4.11 ou version ultérieure.)

Autres conseils

La solution de Tomh résoudra le problème si vous utilisez le dernier.Sinon, le commentaire de Simone Palazzo est votre meilleur pari.Vous démontez quelque chose à travers un script situé dans la zone que vous démontez.Si vous exécutez le script à partir du répertoire racine, il réussira.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top