I have a file in trash, and I cannot delete it. Before you ask me to STFW, no, the file is not locked :-/

The file is a symbolic link to nothing (target is deleted). Here is the output of ls -lO on that file:

lrwxrwxrwx  1 1000  _lpoperator  uappnd,nodump,opaque,compressed 22 Apr  3  2009 fly.pdf -> stuff.pdf

The output of rm is

$ sudo rm fly.pdf
rm: fly.pdf: No such file or directory

However the file does exist, which can be confirmed by ls or by opening trash in Finder. If I empty trash using the menu, it plays that sound and nothing happens. If I try securely empty trash, it complains about not having permission. So I'm stuck... Any suggestion?

BTW, the file in question is in the trash of a volume called "Shared", which is not the boot volume.

UPDATE: @bug pointed out that this may be caused by my link being opaque, and suggested to delete it in a chroot jail. I tried that, and chroot gave me a segmentation fault. Here is what I did for that: I enabled root following this, and followed @bug's answer and this to create the chroot jail. Chroot gave me

# chroot /Volumes/Shared
Segmentation fault: 11
  • Just tried it within linux, created a symlink, removed the target, no complaints when deleting the link afterwards. strange problem :/ – Baarn Feb 1 '12 at 1:15
  • Exactly. In my mind sym links are just regular files, so I'm kinda confused... – MetroWind Feb 1 '12 at 1:17
  • @Darksair I think if you use rm -rf it will probably also work. :) – tftd Feb 2 '12 at 16:44
  • @TheDevil: No I tried, and it didn't :-\, which was pretty weird... – MetroWind Feb 2 '12 at 16:45

Chflags has an option -h to not follow links (which I constantly ignored...).

# chflags -h noopaque,nouappnd,dump fly.pdf

And then empty trash.

  • How would a file get in this state on its own? – Charlie Mar 14 '14 at 14:13

Try dragging the file to the desktop, open a Terminal window, enter your sudo rm -R then drag the file to the Terminal window.

I've seen this work before and I'd use the -R just in case the file is really a package.

  • Here is what happens when I drag that file to anywhere: if the destination is on the same volume as the file in trash, Finder wants to move it. It asks me for password, and then nothing happens (file not moved); if the destination is on a different volume, Finder wants to copy, and it does that. I can delete the newly copied file, but the file in trash remains. And rm -R produces the same output as without the -R. – MetroWind Feb 1 '12 at 1:47
  • Try this sudo rm -ri ~/.Trash then logout and login again. – afragen Feb 1 '12 at 1:53
  • Thanks for the idea. However it doesn't seem to fix it :-( The file in question is in the trash of a volume called "Shared", so I guess I should replace ~/.Trash with /Volumes/Shared/.Trashes, right? Here is the output: pastie.org/3292919 (sorry for an external link, I cannot have multi-line code here..., and yes, my UID is 1001 :-p) – MetroWind Feb 1 '12 at 2:01

Have you tried rm -rf * while in the trash can not sure if it'l work on your link but worth a try its what I use when files in the trash refuse to delete with empty trash

  • Thank you for your answer. I tried it, but it still complains about no such file blabla... – MetroWind Feb 1 '12 at 3:33

Have you tried unlink? ...

It might be that the symlink is being bypassed because it's opaque. Try removing it from the context of its containing filesystem by setting up a chroot jail:

cd /Volumes/Shared
mkdir bin
sudo cp /bin/zsh /bin/rm ./bin
chroot /Volumes/Shared
cd .Trashes/1001/abroad
sudo rm fly.pdf
sudo rm -r /bin
  • Thank you for the suggestion. I tried it, and it produces the same output: unlink: fly.pdf: No such file or directory... – MetroWind Feb 1 '12 at 1:51
  • Wait a minute...that's an opaque link! Is your home folder on a different drive/partition than your boot volume? – bug Feb 1 '12 at 2:25
  • The file in question is in the trash of a volume called "Shared", which is not the boot volume, and my home is not on it. What's an opaque link? I tried to remove the opaque flag with chflags, but I couldn't. – MetroWind Feb 1 '12 at 2:27
  • Symlinks marked as opaque act like ordinary files when the filesystem they're on is mounted within another filesystem. I'll edit with a possible solution... – bug Feb 1 '12 at 2:36
  • Chroot complained about not being able to find /bin/zsh, which is my login shell. I also tried sudo chroot -u root /Volumes/Shared rm .Trashes/1001/abroad/fly.pdf, and it complained the same thing about rm. Should I somehow link my /bin and /usr/bin into /Volumes/Shared first? – MetroWind Feb 1 '12 at 2:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.