Как сохраняется исполняемый бит Mac OS в Windows? - PullRequest
1 голос
/ 08 февраля 2012

У меня есть два компьютера Mac и общая папка на третьем компьютере с Windows.Если я сделаю что-то вроде этого:

  1. Скопируйте исполняемое консольное приложение (не .app-файл - один исполняемый файл) с Mac 1 на компьютер Windows
  2. Zip-исполняемый файл наWindows machine
  3. Скопируйте новый zip-файл на Mac 2 и разархивируйте

Файл, который выходит из zip-файла, все еще исполняемый.Как сохраняется природа «исполняемого файла» этого файла, учитывая, что система разрешений Windows совершенно другая и не имеет концепции исполняемых файлов?

1 Ответ

7 голосов
/ 08 февраля 2012

OSX Приложения - это папки, а не файлы.При копировании папок в файловую систему, которая не имеет исполняемого битового представления, OSX создает скрытые файлы для отсутствующих атрибутов.Архивирование приложения - это архивирование папки, включая скрытые подпапки.При обратном копировании OSX воссоздает отсутствующие свойства из скрытых файлов.

Эти скрытые папки называются ._. OriginalName

EDIT

Последовольно обширное обсуждение в разделах комментариев, здесь немного информации о простых исполняемых файлах (набор разрешений на выполнение), в отличие от папок * .app (нативные приложения OSX)

  • Ofcourse OSX учитывает права на исполняемые файлы, (установлено и не установлено)
  • Копирование файла в файловую систему, у которой нет понятия исполняемого разрешения (наиболее заметно отформатированные в FAT USB-накопители), затем копирование его обратно после переименования вдругая ОС оставляет OSX перед дилеммой: рассматривать файл как исполняемый или нет - хранилище метаданных ._.OriginalName отделено от файла переименованием
  • OSX решает эту дилемму, устанавливая разрешения для700 или 777, что делает каждый файл исполняемым
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...