Невозможно удалить некоторые символические ссылки на томе HFS (Mac OS X 10.7.2)

Невозможно удалить некоторые символические ссылки на томе HFS (Mac OS X 10.7.2)

Похоже, я не могу удалить кучу файлов. У всех этих файлов есть следующее общее:

  • Это все символические ссылки или, иначе говоря, родительские каталоги.
  • Все они принадлежат несопоставленному пользователю и группе.

То есть:

sh-3.2# find . -type l -exec ls -ld {} \;
lrwxrwxrwx  1 1001  1001  14 10 Apr  2011 ./kernel/kernel -> linux-2.6.38.2
lrwxrwxrwx  1 1001  1001  15 25 May  2011 ./kernel/logo/logo.ppm -> skull-black.ppm
lrwxrwxrwx  1 1001  1001  19  2 Sep 15:12 ./redhat/BUILD/gol-git/display/default/.libs/libdefault.so.0 -> libdefault.so.0.0.0
lrwxrwxrwx  1 1001  1001  17  2 Sep 15:12 ./redhat/BUILD/gol-git/display/nico2/.libs/libnico2.so -> libnico2.so.0.0.0
lrwxrwxrwx  1 1001  1001  15 15 Jul  2011 ./redhat/BUILD/libg15-1.2.7/.libs/libg15.so -> libg15.so.1.0.0
lrwxrwxrwx  1 1001  1001  15 15 Jul  2011 ./redhat/BUILD/libg15-1.2.7/.libs/libg15.so.1 -> libg15.so.1.0.0
sh-3.2# find . -type d -exec ls -ld {} \;
drwxrwxrwx  4 root  wheel  136 23 Jan 10:55 .
drwxrwxrwx  3 root  wheel  136 22 Jan 22:33 ./kernel
drwxrwxrwx  2 root  wheel  102 22 Jan 22:31 ./kernel/logo
drwxrwxrwx  3 root  wheel  102 23 Jan 10:55 ./redhat
drwxrwxrwx  4 root  wheel  136 23 Jan 10:55 ./redhat/BUILD
drwxrwxrwx  3 root  wheel  102 23 Jan 10:55 ./redhat/BUILD/gol-git
drwxrwxrwx  4 root  wheel  136 23 Jan 10:55 ./redhat/BUILD/gol-git/display
drwxrwxrwx  3 root  wheel  102 22 Jan 22:21 ./redhat/BUILD/gol-git/display/default
drwxrwxrwx  2 root  wheel  102 22 Jan 22:33 ./redhat/BUILD/gol-git/display/default/.libs
drwxrwxrwx  3 root  wheel  102 22 Jan 22:21 ./redhat/BUILD/gol-git/display/nico2
drwxrwxrwx  2 root  wheel  102 23 Jan 11:00 ./redhat/BUILD/gol-git/display/nico2/.libs
drwxrwxrwx  3 root  wheel  102 22 Jan 22:21 ./redhat/BUILD/libg15-1.2.7
drwx------  2 root  wheel  136 22 Jan 22:21 ./redhat/BUILD/libg15-1.2.7/.libs
sh-3.2# find . -not -type d -a -not -type l -exec ls -ld {} \;
sh-3.2#

Что касается удаления:

sh-3.2# ls -l ./redhat/BUILD/gol-git/display/default/.libs/libdefault.so.0
lrwxrwxrwx  1 1001  1001  19  2 Sep 15:12 ./redhat/BUILD/gol-git/display/default/.libs/libdefault.so.0 -> libdefault.so.0.0.0
sh-3.2# rm -f ./redhat/BUILD/gol-git/display/default/.libs/libdefault.so.0
sh-3.2# ls -l ./redhat/BUILD/gol-git/display/default/.libs/libdefault.so.0
lrwxrwxrwx  1 1001  1001  19  2 Sep 15:12 ./redhat/BUILD/gol-git/display/default/.libs/libdefault.so.0 -> libdefault.so.0.0.0
sh-3.2# rm  ./redhat/BUILD/gol-git/display/default/.libs/libdefault.so.0 
rm: ./redhat/BUILD/gol-git/display/default/.libs/libdefault.so.0: No such file or directory
sh-3.2# ls -li !$
ls -li ./redhat/BUILD/gol-git/display/default/.libs/libdefault.so.0
282892 lrwxrwxrwx  1 1001  1001  19  2 Sep 15:12 ./redhat/BUILD/gol-git/display/default/.libs/libdefault.so.0 -> libdefault.so.0.0.0
sh-3.2# 

Параметры монтирования для рассматриваемого тома HFS следующие:

  • hfs, локальный, nodev, nosuid

решение1

Это символические ссылки. Вы хотите удалить ссылку или исходный файл? (В любом случае, rm должен сработать.) Вы можете попробовать unlink, но это более опасный вариант. Вы также можете попробовать sudo rm, хотя я не уверен, окажет ли это какое-либо влияние на вашу ситуацию. Последний вариант — попробовать сменить владельца с помощью sudo chown. (Но опять же, это может не сработать с файлами, которые думают, что они не существуют...)

Связанный контент