Tidak dapat menghapus direktori kosong di OSX

8

Posting ini agak panjang, maaf. Versi singkatnya adalah: Saya memiliki direktori yang tidak dapat saya hapus. Terminal memberi, "kesalahan input / output," ketika saya mencoba berinteraksi dengannya. Saya telah memindai disk untuk menemukan kesalahan dan tidak ada yang ditemukan. Akar masalahnya adalah sistem berpendapat bahwa ini adalah tautan, padahal sebenarnya itu adalah direktori. Bagaimana saya bisa menghapusnya?

Story mode: Saya memiliki direktori bernama "media" di desktop saya, di mana saya memasang direktori lain melalui SSH (fuse / sshfs). Sambungan terputus saat direktori terbuka. Finder macet, dan direktori menghilang dari desktop. Namun, masih ada di sana:

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

Hampir semua yang saya coba lakukan pada direktori memberi saya kesalahan, "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

Saya mendapatkan hal yang sama jika saya mencoba untuk me-remount direktori SSH jarak jauh:

fuse: bad mount point `./media/ ': Kesalahan input / output

Meskipun tidak terlihat di desktop atau di Finder, saya dapat mencari dan menemukannya. Mengklik kanan hasil pencarian tidak menawarkan opsi penghapusan - hanya terbuka dan properti. Properti menunjukkan waktu yang dibuat dan diubah (dengan benar) dan ikon kosong. Saya juga dapat memilih untuk membuka item, yang dalam hal ini memberi saya:

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

Ketika saya mencoba menghapus, dialog yang sama terus muncul kembali; memilih fix meminta untuk memilih item baru untuk ditautkan. Melakukan laporan ini: "Kesalahan tidak dikenal -1407," yang Google katakan kepada saya berarti, "Diharapkan folder tetapi mendapat file."

Saya dapat memindahkan direktori, tetapi hanya jika saya menyimpannya di 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

Apakah ada yang bisa saya hapus ini? Atau setidaknya meyakinkan sistem bahwa itu adalah direktori dan bukan tautan?

Mitis
sumber
Menggunakan srm ( developer.apple.com/library/mac/documentation/Darwin/Reference/… ) sering berhasil bagi saya untuk hal-hal yang sulit untuk dihapus. Anda mengatakan "memindai disk untuk kesalahan", apakah Anda melakukan "verifikasi disk" atau "verifikasi izin disk" (coba izin dan perbaiki jika Anda belum melakukannya)
lupincho
Hai, terima kasih atas jawabannya. Saya memang memverifikasi izin disk, memverifikasi disk, dan izin perbaikan. Saya tidak dapat memilih "disk perbaikan," saya kira karena tidak menemukan kesalahan. Menggunakan srm di direktori memberi saya, "srm: Tidak dapat stat media" Saya juga menemukan bahwa beberapa utilitas file akan memberi tahu saya bahwa file tersebut adalah direktori (bukan tautan). cat dan od, misalnya, sebelum melaporkan, "media: adalah direktori."
Apakah Anda mencoba me-restart Mac?
Daniel Beck
Apa yang terjadi jika Anda masuk ke Terminal dan mengetik mount?
Luke Kanada

Jawaban:

5

Maaf saya tidak memperbarui setelah menyelesaikan ini. Saya menghargai semua balasan yang diinformasikan. Ternyata itu hal yang cukup sederhana. Menjelajahi papan pesan Linux, saya menemukan bahwa ini adalah jenis masalah yang diketahui dengan pemasangan melalui sshfs.

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

Saya mengalami setiap masalah yang OP jelaskan di utas itu, ditambah masalah Finder menyembunyikan titik mount (mungkin tidak bisa mengetahuinya atau sesuatu, jadi itu tidak menunjukkannya). "... proses yang mencoba untuk mengakses saham sshf yang terputus akan tertidur tanpa gangguan." Perbaikan cepat adalah menghentikan sshfs. "kills sshfs" sudah cukup bagiku. Saya kira memulai kembali akan berhasil juga.


sumber
1
Sebagai referensi, saya perlu melakukan pkill -9 sshfsdiikuti olehumount -f mountpoint
ctn
2

Saya baru saja mengalami masalah yang sama. Ternyata ini saat ini terdaftar sebagai bug di osxfuse. Solusinya adalah membunuh proses sshfs secara manual dan kemudian meng-unmount direktori remote. Setelah itu Anda bahkan dapat menghapus titik mount lokal.

vPraetor
sumber
1

Saya kira alasan mengapa Anda tidak dapat memilih "Repair Disk" pada Disk Utility adalah karena masalahnya ada pada disk boot Anda.

Saya akan merekomendasikan salah satu dari yang berikut:

  • Jika Anda menggunakan OS X Lion (10.7), boot dari partisi pemulihan (tahan CMD-R saat Anda menghidupkan mesin), jalankan Disk Utility dari sana, dan cobalah untuk memperbaiki disk;
  • Jika Anda menggunakan OS X versi lama, Anda dapat mem-boot dari disk eksternal, atau menginstal AppleJack (freeware);
  • Jika semuanya gagal, saya akan memberikan kesempatan untuk DiskWarrior (tidak gratis, tapi masih alat yang paling saya percayai ketika datang ke data saya).
taglia
sumber