Я хочу смонтировать общий каталог на моем Mac в папку на моем сервере Ubuntu, чтобы можно было копировать файлы резервных копий на Mac, используя какую-то автоматизацию.
Прежде чем приступить к автоматизации, я хотел бы иметь возможность монтировать каталог вручную.
Ох, как я гуглил! Я придумал много версий команды mount. Та, которая была ближе всего к работе (то есть, она спрашивала мой пароль и не возражала против ответа), была такой:
sudo mount -o user=**** //192.168.1.4/server_backups /files/mountpoint
Возникла следующая ошибка:
mount error(95): Operation not supported
Я на правильном пути? Я пробовал разные версии команды. Либо она не проходит аутентификацию, либо я получаю указанную выше ошибку.
Любая помощь или совет будут высоко оценены.
Спасибо,
Саймон.
решение1
Как монтировать SSH-локации с помощью SSHFS.
Шаг 1:
- «На вашем Mac откройте настройки общего доступа, если они еще не открыты, затем выберите «Удаленный вход». Выбор «Удаленного входа» также включает защищенную службу FTP (sftp)».
Шаг 2:
- Из Ubuntu установите SSHFS
sudo apt-get install sshfs
. - Создайте точку монтирования.
#mkdir /mnt/macMount
- Смонтировать папку SSH
#sshfs [email protected]:/ /mnt/macMount/
- Затем проверьте, работает ли все,
cd /mnt/macMount
иls
убедитесь, что все находится там, где должно быть.
решение2
Общая папка — не лучший вариант, если вы хотите автоматизировать резервное копирование на свой Mac.
Вместо этого включите SSH на Mac и переносите резервные копии через него.
Зайдите в «Системные настройки». В разделе «Интернет и сети» есть значок «Общий доступ». Запустите его. В появившемся списке отметьте «Удаленный вход».
Поскольку вы хотите использовать автоматизацию, это будет весьма кстати.
Вот пример того, как скопировать папку с вашего компьютера Ubuntu на ваш Mac.
rsync -azvr /path/to/source/folder MAC:/path/to/where/you/want/to/saveit/
где MAC — это IP-адрес вашего Mac. Преимущество rsync в том, что если вы повторно запустите эту команду, она скопирует только измененные файлы из исходного каталога на ваш Mac, что экономит время и пропускную способность.
Флаг z добавляет сжатие. Если вы копируете много уже сжатых файлов, таких как фильмы, изображения или mp3, вы не получите никакой скорости при его использовании
Если вы все еще хотите какой-то способ отображения дисков, чтобы вы могли просматривать компьютер из графического интерфейса. Это также можно сделать через ssh с помощью sshfs
на вашем компьютере Ubuntu установите sshfs. Затем добавьте вашего пользователя в группу fuse и, наконец, смонтируйте удаленный сервер
из терминала:
sudo apt-get install sshfs # install sshfs
mkdir macfolder
sshfs username@MAC:/ macfolder
смонтирует корневую файловую систему вашего Mac в папку macfolder
решение3
Помимо того, что это лучший способ или нет, это наконец-то сработало для меня, подключившись к общему ресурсу OS X 10.9.5 из Ubuntu 14.04, после многих крови, пота, слез и гугления:
sudo mount -t cifs //192.168.0.101/ShareName /media/localsharedir -o noauto,user,credentials=/home/myself/.smb-credentials,noperm,uid=myself,gid=myself,sec=ntlmssp,nounix
Я оставлю это здесь для тех, у кого возникнут проблемы с монтированием общего ресурса, обслуживаемого OS X.
Я не уверен, все ли -o
опции обязательны или нет; из того, что я прочитал, sec=ntlmssp,nounix
необходимы только они, но они сами по себе мне не помогли.
Мне пришлось создать его /media/localsharedir
и установить право собственности на себя.
Мой .smb-credentials
файл содержит только:
username=my_os_x_username
password=my_os_x_password
без указания рабочей группы/домена.
Удачи вам там.
решение4
Ответ Дейла Андерсона сработал для меняУбунту 16.04присоединенный кmacOS 10.12.6 (Sierra).
Я искал способ сделать это довольно долго, но безуспешно. Я думал, что это невозможно, может быть, потому что macOS был обновлен, чтобы каким-то образом исключить Linux, или что это потребовало бы ручного взлома macOS (я видел несколько ответов, упоминающих это).
Оказалось, что это не так просто, но и не невозможно, и у Дейла был ответ.
Хотелось бы добавить, что вам не нужен IP-адрес Mac, и что вам не нужно хранить имя пользователя и пароль macOS в локальном текстовом файле, что, по-моему, рискованно. Вы можете использовать эту команду, которая содержит имя машины Mac и имя пользователя macOS, и которая запросит у вас пароль пользователя:
sudo mount -t cifs //MacBook-CT.local/Projects mnt/projectsmac -o noauto,user,username=christopher,noperm,uid=ct,gid=ct,sec=ntlmssp,nounix
Обратите внимание, что я использую каталог монтирования, расположенный внутри моего домашнего каталога, так что mnt/projectsmac
это не опечатка (у меня есть projectsmac
каталог внутри mnt
каталога в моем домашнем каталоге).
«christopher» — имя пользователя macOS, а «ct» — имя пользователя Ubuntu.
Кроме того, имя машины Mac является потенциальным источником проблем. Имя моего Mac на самом деле "MacBook_CT", но я не могу использовать его в команде Linux. Чтобы узнать имя, которое вы должны использовать в сети, откройте настройки общего доступа на вашем Mac.
Вы можете пойти еще дальше и указать пароль пользователя Mac непосредственно в команде монтирования:
sudo mount -t cifs //MacBook-CT.local/Projects mnt/projectsmac -o noauto,user,username=christopher,password="12345678",noperm,uid=ct,gid=ct,sec=ntlmssp,nounix
Это может быть полезно, если вы хотите встроить эту команду в скрипт.