Назад | Перейти на главную страницу

Клиент OS X и сервер Ubuntu - лучший способ для клиента получить доступ к файлам на сервере?

У меня есть локальный веб-сервер разработки под управлением Ubuntu. У меня также есть iMac под управлением OS X 10.6, который я использую в качестве клиента и является моей машиной для разработки.

В настоящее время на моем сервере Ubuntu установлен сервер Samba. У меня есть общие настройки для всех каталогов веб-сайта.

Затем я использую свой Mac и Coda для редактирования файлов через их общие ресурсы.

Обычно это работает очень хорошо, но я заметил, что мой Mac писал множество вилок ресурсов. ._filename файлы везде. О файлах я узнал следующее:

Эти файлы создаются на томах, которые изначально не поддерживают полные характеристики файлов HFS (например, тома ufs, общие файлы Windows и т. Д.). Когда файл Mac копируется на такой том, его вилка данных сохраняется под обычным именем файла, а дополнительная информация HFS (вилка ресурса, коды типа и создателя и т. Д.) Сохраняется во втором файле (в формате AppleDouble), с именем, которое начинается с "._". (Эти файлы, конечно, невидимы для OS-X, но не для других ОС; иногда это может раздражать ...)

Кто-нибудь знает способ обмена файлами между клиентом Mac и сервером Linux, который наиболее совместим между двумя операционными системами?

В идеале он должен поддерживать файловую систему HFS, чтобы не создавались ответвления ресурсов, а также должен поддерживать разрешения между сервером и клиентом.

Netatalk - ваш ответ.

Чтобы приступить к работе, может потребоваться некоторое время из-за зашифрованной аутентификации, требуемой более новыми версиями OS X. Однако это выполнимо, и я делал это дважды.

Из моих собственных заметок по этому поводу - может быть немного беспорядочно:

afpd.conf должен содержать - -tcp -noddp -uamlist uams_dhx2_passwd.so - модуль uams_dhx2_passwd важен, чтобы разрешить аутентификацию.

он не будет компилироваться без необходимых пакетов в системе, он просто молча не скомпилирует его, поэтому убедитесь, что они есть.

$ ./configure --enable-redhat-sysv --prefix=/data/software/netatalk

Версия: 2.2.3

Акции AppleVolumes состоят из:

/data/shared/    ShareName allow:user1,user2 cnidscheme:dbd options:usedots,upriv dperm:0770 fperm:0660

Пользователи являются пользователями системы, а права доступа клиента будут такими же, как у пользователя, от имени которого они аутентифицированы.

Для трансляции в сеть используйте Avahi. Это определение службы afpd:

<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
  <name replace-wildcards="yes">%h</name>
  <service>
    <type>_afpovertcp._tcp</type>
    <port>548</port>
  </service>
  <service>
    <type>_device-info._tcp</type>
    <port>0</port>
    <txt-record>model=Xserve</txt-record>
  </service>
</service-group>

Я надеюсь, что это имело смысл. Он взят из моих собственных заметок (которые я храню в разметке), поэтому на самом деле он не предназначен для кого-либо, кроме меня. Я надеюсь, что это имеет для вас достаточно смысла.

А как насчет использования директивы "вето файлы" в самбе?

Что-то вроде:

[sharename]
 ... other settings...
Veto files = /*._*

Никогда не пользовался, но должно работать :)

ссылка: http://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html#VETOFILES

Вы можете заставить Samba скрывать эти точечные файлы для других клиентов SMB с помощью параметра

hide dot files = yes

в вашем smb.conf.

Это достаточно хорошо работает в отношении сокрытия файлов (до тех пор, пока пользователи не говорят проводнику Windows показывать им скрытые файлы), но это не решает фундаментальной проблемы, поскольку пара файла и соответствующего файла точки обычно быстро рассинхронизируется, когда задействованы системы, отличные от Mac OS. Это происходит, когда вы переименовываете, удаляете или перемещаете файл в Linux или Windows, и точечный файл не изменяется соответствующим образом.

Чтобы действительно решить проблему много лет назад, мне пришлось переключиться на сервер MacOS X на бэкэнде, но у него есть и другие недостатки, и я не уверен, что сделаю это снова.