Графические интерфейсы обрабатывают /tmp как файл

Графические интерфейсы обрабатывают /tmp как файл

У моего друга возникли проблемы с cpкопированием образа диска (точнее sparsebundle). Я понял, что строка, которую он использовал, копировала все /contents/ (sparsebundle — это пакеты, т. е. каталоги, рассматриваемые как файлы в GUI) в новый каталог, а не копировала сам sparsebundle.

Позже я создал sparsebundle на своем компьютере, чтобы поэкспериментировать с ним cpи воспроизвести поведение, которое он получил. Впоследствии Finder и Dock начали обрабатывать его /tmpкак файл. Щелчок по записи, которую я сделал для него в боковой панели, открывал окно терминала /tmp ; exit;(что, конечно, не срабатывало, потому что /tmpэто каталог). Я все еще мог использовать Stack как обычно, за исключением Open in Finderопции внизу, которая пыталась выполнить его.

Как ни странно, я все еще мог открыть /tmpв Finder, открыв подкаталог и используя Go > Enclosing Folderкоманду ( command+ up arrow). Я также мог получить к нему обычный доступ через командную строку.

Я пробовал удалить и заново создать запись боковой панели и стек, но все, что это дало, это заставило Dock показать его как файл и попытаться выполнить его немедленно, когда я нажал на него. Затем я попробовал перезагрузить, чтобы очистить его; он, похоже, очистился как обычно, но это не повлияло на проблему.

Может ли кто-нибудь пролить свет на этот вопрос?


ОБНОВЛЯТЬ:Я подумал попробовать ls -l, в котором в конце поля разрешений был @. Я обнаружил, что у него был com.apple.FinderInfoрасширенный атрибут, хотя мои попытки прочитать его дали мне только это:

00 00 00 00 00 00 00 00 20 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Удаление расширенного атрибута ( xattr -d com.apple.FinderInfo /tmpтак как у меня нет повышенных привилегий) похоже исправило это, хотя, насколько я могу судить по своему быстрому поиску, это может иметь и другие, негативные последствия (и я не уверен, был ли там атрибут com.apple.FinderInfoраньше...). Я все равно хотел бы получить ответ на вопрос, что могло произойти и почему я получил такое поведение.

решение1

"20" в FinderInfo xattr указывает на то, что установлен bundle bit. Bundle bit сообщает Finder, что нужно отображать папку как файл, а не как папку. Я подозреваю, что этот атрибут был скопирован из sparsebundle (который на самом деле является папкой, но Finder отображает его как простой файл). Так что то, что вы видите, — это более или менее ожидаемое поведение с установленным флагом.

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