Tuesday, March 6, 2012

Trois messages d'erreur parmi les plus confus sous Unix / Linux


Je conserve une collection de messages d'erreurs inattendus, en voici un florilège:

Le dossier qui n'était pas un dossier

# Création d'un répertoire de test
mkdir /tmp/my_dir
# On crée un lien symbolique vers ce répertoire
ln -s /tmp/my_dir /tmp/my_link# On efface le lien symbolique ( completion du nom en tapant deux fois Tab pour faire apparaître le slash / à la fin )
rm /tmp/my_link/
rm: impossible de supprimer « /tmp/my_link/ »: est un dossier
rmdir /tmp/my_link/
rmdir: échec de suppression de « /tmp/my_link/ »: N'est pas un dossier
# Faudrait savoir ...
#La solution 
rm /tmp/my_link 

Est-ce un bug des coreutils ( dont fait partie rm) sous Linux ?  Sous NetBSD la commande rm /tmp/my_link/ efface bien le lien symbolique.

Mount prétend que le disque dur n'existe pas

Depuis le CD d'install GNU/kFreeBSD, en exécutant un shell de secours.
#On monte la partition racine depuis le live CD
mount /dev/da4s1 /mnt
mount: mounting /dev/da4s1 on /mnt/failed: No such file or directory

Alors que /dev/da4s1 et /mnt existent bien ! La solution (discutée ici):
mount -t ufs /dev/da4s1 /mnt

Mount prétend que root n'est pas root

Depuis le CD d'install GNU/kFreeBSD, en exécutant un shell de secours.
#On monte la partition racine depuis le live CD
mount -t ufs /dev/da4s1 /mnt
mount:permission denied (are you root?)

La solution: rien à voir ici avec un problème de droits, /dev/da4s1 n'a pas été démontée proprement. Il faut tout d'abord effectuer
fsck.ufs /dev/da4s1
avant de monter la partition.