Undeletable file


 
Thread Tools Search this Thread
Operating Systems OS X (Apple) Undeletable file
# 1  
Old 07-19-2019
The filename seems to be illegal, not accepted by the MacOS kernel.
And seems to be impossible to delete.
Even in C it is
Code:
int unlink(const char *pathname);

so the illegal file name comes into effect.

What kind of file system is it?
Code:
df -k .

tells the device path of the current folder.
Is it an external drive?
Was the file created by another computer, with a different OS?
# 2  
Old 07-19-2019
Have you tried:

Code:
find <parent-directory> -delete

# 3  
Old 07-19-2019
Like MadeInGermany, I'm not a MAC user either so I'm now going to talk generic Unix/Linux only. You will need a MAC expert to guide you if you want to use anything I'm going to say now.

Many Unix/Linux OS's implement an often undocumented command called clri which will destroy an inode (by writing zeros to it). A nuclear option. A quick search on Google tells me that MacOS implements this command too. I also see that it implements fsck_hfs.

Therefore my final nuclear option on an OS I'm expert on would be:
1. Ensure that you have just completed a backup of the filesystem (and perhaps preferably the whole system) and know how to restore if it goes wrong. Keep users off afterwards.
2. ls -li has given you the inode number of zombie so run clri to nuke it. BE CAREFUL to specify the correct filesystem on the command line if you have more than one filesystem otherwise you could zap the wrong inode. I cannot give you the MacOS syntax. Try man clri to see if it's offically documented.
3. Once the inode is nuked go into single user mode and run fsck_hfs. The allocated blocks for zombie should show as "missing blocks" and the utility should ask your okay to fix the superblock.

Now I repeat, this is a generic suggestion and you should await input from a MacOS expert on here as to whether they think this method is a goer. I take no responsibility whatsoever but it is how I would fix such a problem on some Unix/Linux filesystems.

This will be my last post to this thread because I'm out of my comfort zone.

Last edited by hicksd8; 07-19-2019 at 01:01 PM..
This User Gave Thanks to hicksd8 For This Post:
# 4  
Old 07-20-2019
@MadeInGermany............Your synopsis of the filesystem structure is, of course, absolutely correct. The filename is in the directory inode but in my experience, if you nuke the file inode when fsck comes along it will see that the directory entry points to a now non-existant inode and ask approval to remove the file. But yes, if fsck falls over at that point because the filename is illegal or doesn't clear the file entry, then you are right that the directory inode would need to be identified and zapped in the same way too (which is possible because the file in question is the only entry in the directory). fsck can then be run again to clear up the mess. I've done this many many times when working on filesystem internals, the problem these days is that many OS's do not provide or implement clri.

I take your point that unlink directory is an easier approach if it works so let the OP try that first.

NOTE: In this case for fsck read the MacOS fsck_hfs.

Last edited by hicksd8; 07-20-2019 at 06:34 AM..
# 5  
Old 07-19-2019
I'm back. Thanks for your patience, I hope you all haven't lost interest.

Responses to suggestions and requests:

Code:
12FX009:5 dpontius$ ls -li
total 48
963069 -rwxr-xr-x@ 1 dpontius  staff  0 Feb 27  1992 ␀␀Word Finder® Plus™

This is a 2013 MacPro running OSX 10.11.6 with Journaled HFS Plus

Code:
12FX009:5 dpontius$ find . -delete
find: -delete: unlink(./␀␀Word Finder® Plus™): Invalid argument

12FX009:5 dpontius$ namestart=$'\x80\x80'
12FX009:5 dpontius$ rm -rf "${namestart}"*
12FX009:5 dpontius$ ls
␀␀Word Finder® Plus™

This file was on ancient backups that I copied years ago onto my now-spacious hard drive. I suspect that it (and a second file from 1998 I haven't mentioned yet called SurfSim 1.0.0␀ Prefs) were part of some copy protection scheme. I've used neither program for decades. So yes, the file was created on a very different operating system, whatever the Macintosh was running two decades ago.

cheers,
dp
# 6  
Old 07-19-2019
I think you need a "disk editor" tool that allows to edit the directory entries.
Cannot recommend any - I am not a Mac user.
# 7  
Old 07-19-2019
debugfs with its unlink and rm commands comes to mind, but it might suffer from the same problems as the other tools. When using it, be very careful and know exactly what you are doing!
Login or Register to Ask a Question

Previous Thread | Next Thread

5 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Shell script (sh file) logic to compare contents of one file with another file and output to file

Shell script logic Hi I have 2 input files like with file 1 content as (file1) "BRGTEST-242" a.txt "BRGTEST-240" a.txt "BRGTEST-219" e.txt File 2 contents as fle(2) "BRGTEST-244" a.txt "BRGTEST-244" b.txt "BRGTEST-231" c.txt "BRGTEST-231" d.txt "BRGTEST-221" e.txt I want to get... (22 Replies)
Discussion started by: pottic
22 Replies

2. Shell Programming and Scripting

Compare 2 text file with 1 column in each file and write mismatch data to 3rd file

Hi, I need to compare 2 text files with around 60000 rows and 1 column. I need to compare these and write the mismatch data to 3rd file. File1 - file2 = file3 wc -l file1.txt 58112 wc -l file2.txt 55260 head -5 file1.txt 101214200123 101214700300 101250030067 101214100500... (10 Replies)
Discussion started by: Divya Nochiyil
10 Replies

3. Shell Programming and Scripting

Match list of strings in File A and compare with File B, C and write to a output file in CSV format

Hi Friends, I'm a great fan of this forum... it has helped me tone my skills in shell scripting. I have a challenge here, which I'm sure you guys would help me in achieving... File A has a list of job ids and I need to compare this with the File B (*.log) and File C (extend *.log) and copy... (6 Replies)
Discussion started by: asnandhakumar
6 Replies

4. UNIX for Dummies Questions & Answers

Files.... undeletable.

I've some files created by a script. For some reason last time the script run was interrupted for an error and the files produced by the script are undeletable. i've tryed as root with command 'rm' and even if i got no error in command execution the files are still there. These are the... (9 Replies)
Discussion started by: mirrorx
9 Replies

5. UNIX for Dummies Questions & Answers

undeletable file

when i try to ls -lrt the directory, the "undeletable" file is listed. but when i try to ls -lrt *exe, the "undeletable" file is not listed. this "undeletable" is the file that i want to delete from the directory. but when i try to delete/rename/copy.... it, it show that "No such file or... (10 Replies)
Discussion started by: chxxangie
10 Replies
Login or Register to Ask a Question