Impossibile eliminare una directory vuota in OSX


8

Questo post è un po 'lungo, mi dispiace. La versione breve è: ho una directory che non posso cancellare. Il terminale indica "errore di input / output" quando provo a interagire con esso. Ho scansionato il disco per errori e nessuno è stato trovato. La radice del problema sembra essere che il sistema pensa che questo sia un collegamento, quando in realtà è una directory. Come posso cancellarlo?

Modalità Storia: ho una directory chiamata "media" sul mio desktop, in cui ho montato un'altra directory tramite SSH (fuse / sshfs). La connessione è stata persa mentre la directory era aperta. Il Finder si è arrestato in modo anomalo e la directory è scomparsa dal desktop. È ancora lì, tuttavia:

Desktop mike$ ls -1  
media  
templates  
Desktop mike$ mkdir media  
mkdir: media: File exists 

Quasi tutto ciò che cerco di fare nella directory mi dà un errore "input / output":

Desktop mike$ ls -i  
ls: media: Input/output error  
Desktop mike$ sudo rm -rf media  
rm: media: Input/output error  
Desktop mike$ sudo unlink media  
unlink: media: Input/output error  
Desktop mike$ sudo chmod 777 media  
chmod: media: Input/output error  
Desktop mike$ touch media  
touch: media: Input/output error  
cd ./media  
cd: error retrieving current directory: getcwd: cannot access parent directories: Input/output error

Ottengo lo stesso se provo a rimontare la directory SSH remota:

fusibile: punto di montaggio errato `./media/ ': errore di input / output

Anche se non è visibile sul desktop o nel Finder, posso cercare e trovarlo. Facendo clic con il tasto destro del mouse sul risultato della ricerca non è disponibile un'opzione di eliminazione: solo Apri e Proprietà. Proprietà mostra il tempo creato e modificato (correttamente) e un'icona vuota. Posso anche scegliere di aprire l'oggetto, nel qual caso mi dà:

"The alias 'media' can't be opened because the original item can't be found. Delete, Fix, or OK." 

Quando provo a eliminare, la stessa finestra di dialogo continua a tornare indietro; la scelta della correzione richiede di selezionare un nuovo elemento a cui collegarsi. In questo modo viene segnalato: "Errore sconosciuto -1407", che Google mi dice significa "Previsto una cartella ma ottenuto un file".

Posso spostare la directory, ma solo se la tengo sul desktop:

Desktop mike$ mv ./media ./a  
Desktop mike$ ls -i  
ls: a: Input/output error  
Desktop mike$ mv ./a ../  
mv: cannot resolve a: /Users/mike/Desktop/a

Posso comunque cancellarlo? O almeno convincere il sistema che si tratta di una directory e non di un collegamento?


L'uso di srm ( developer.apple.com/library/mac/documentation/Darwin/Reference/… ) spesso funziona per me per cose che sono difficili da eliminare altrimenti. Hai detto "scansionato il disco per errori", hai fatto "verifica disco" o "verifica autorizzazioni disco" (prova le autorizzazioni e correggile se non l'hai ancora fatto)
lupincho

Ciao, grazie per la risposta. Ho verificato le autorizzazioni del disco, verificato il disco e le autorizzazioni di riparazione. Non sono in grado di selezionare "Ripara disco", suppongo perché non ha trovato errori. Usando srm nella directory mi dà "srm: impossibile per stat media" Ho anche scoperto che alcune utilità di file mi diranno che il file è una directory (piuttosto che un collegamento). cat e od, ad esempio, prima del rapporto "media: è una directory".

Hai provato a riavviare il Mac?
Daniel Beck

Cosa succede se entri nel Terminale e digiti mount?
Luke canadese,

Risposte:


5

Spiacenti, non ho aggiornato dopo aver risolto questo. Apprezzo tutte le risposte informate. Si è scoperto che era una cosa abbastanza semplice. Navigando nelle bacheche di Linux, ho scoperto che questo è un tipo di problema noto con il montaggio tramite sshfs.

https://bbs.archlinux.org/viewtopic.php?id=94725

Ho riscontrato tutti i problemi descritti dall'OP in quel thread, oltre al problema di Finder che nasconde il punto di montaggio (forse non è in grado di impostarlo o qualcosa del genere, quindi semplicemente non lo mostra). "... i processi che provano ad accedere a condivisioni sshfs disconnesse vanno in modalità di sospensione ininterrotta." La soluzione rapida è fermare sshfs. "killal sshfs" è stato sufficiente per me. Suppongo che anche il riavvio avrebbe funzionato.


1
Per riferimento, dovevo fare pkill -9 sshfsseguito daumount -f mountpoint
ctn

2

Ho appena riscontrato lo stesso problema. Si scopre che questo è attualmente elencato come un bug su osxfuse. La soluzione alternativa prevede l'uccisione manuale del processo sshfs e quindi lo smontaggio della directory remota. Successivamente è anche possibile eliminare il punto di montaggio locale.


1

Suppongo che il motivo per cui non è possibile selezionare "Ripara disco" su Utility Disco sia perché il problema si trova sul disco di avvio.

Consiglierei uno dei seguenti:

  • Se ti trovi su OS X Lion (10.7), esegui l'avvio dalla partizione di ripristino (tieni premuto CMD-R all'avvio del computer), esegui Utility Disco da lì e prova a riparare il disco;
  • Se si utilizza una versione precedente di OS X, è possibile eseguire l'avvio da un disco esterno o installare AppleJack (freeware);
  • Se tutto il resto fallisce, darei un colpo a DiskWarrior (non gratuito, ma comunque lo strumento di cui mi fido di più quando si tratta dei miei dati).
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.