Какой самый простой способ смонтировать общий ресурс Windows как локальную папку в домашнем каталоге?

26

С помощью Gnome Nautilus я могу легко смонтировать общие ресурсы Samba с моего сервера Ubuntu. Тем не менее, эти "крепления" являются своего рода подделкой. Многие приложения, которые я запускаю, не распознают, что Gnome установил эти папки на сервере, и поэтому не могут открывать файлы с моего сервера.

Раньше я создавал /etc/fstab запись и монтировал их глобально , /mntпапку, но это не сработает, так как другие люди используют мой ноутбук с Ubuntu.

Какой самый простой способ создать «настоящее» крепление самбы в моем (и других людях) домашнем каталоге? Хорошо, если это команда или приложение с графическим интерфейсом, которое может запускаться при входе в систему. Эти серверные папки не нужно монтировать все время.

HDave
источник
Почему вы хотите использовать Samba для доступа к файлам на вашем Linux- сервере? Samba предназначен для доступа к сетевым ресурсам и службам Windows .
Кинан
1
Потому что NFS очень сложно настроить на сервере, а еще труднее получить работу от клиентов Windows. То же самое с sshfs и другими.
HDave
sshfs не требует никаких настроек на сервере, кроме sshdзапуска, который вам все равно понадобится. Поэтому, даже если у вас есть samba, работающая для клиентов Windows, я бы не стал использовать ее для клиентов Linux. Кстати, dokan - это великолепный клиент sshfs для Windows, который легко настроить.
Кинан
Я установил sshfs на Windows ... он работает хорошо. Но зачем настраивать кучу машин с Windows / Mac, когда сервер samba работает так хорошо и его так легко настроить?
HDave
Samba, безусловно, является разумным вариантом для передачи файлов клиентам Windows / Mac. Я просто не думаю, что это необходимо при обслуживании только клиентов Linux, именно так я и читаю ваш вопрос.
Кинан

Ответы:

27

Предположим, у вас есть каталог mountsв домашнем каталоге, в который вы хотите смонтировать различные общие папки Samba. Предположим далее, что вы особенно заинтересованы в подключении общего ресурса, вызываемого sharenameс удаленного компьютера, который называется hostname(это также может быть IP-адрес), и на этом удаленном компьютере ваше имя пользователя username. Сначала создайте точку монтирования:

mkdir ~/mounts/sharename

Затем смонтируйте общий ресурс:

sudo mount.cifs //hostname/sharename ~/mounts/sharename -o user=username

В Ubuntu 12.04 LTS и более ранних версиях , если у вас нет mount.cifsкоманды, вы можете либо установить пакет cifs-utilsУстановите cifs-utils , либо использовать smbmountвместо него (который, в свою очередь, предоставляется пакетом smbfsУстановить smbfs ).

sudo smbmount //hostname/sharename ~/mounts/sharename -o user=username

( smbmountЭто не доступно в Ubuntu 12.10 или выше, по крайней мере до сих пор , но вы можете использовать mount.cifsвместо этого. Благодаря HDave за указание на это .)

Вам может быть предложено ввести пароль на локальном компьютере, чтобы запустить команду от имени пользователя root. Затем вам будет предложено ввести пароль на удаленном компьютере, чтобы войти в систему, чтобы вы могли смонтировать общий ресурс.

Элия ​​Каган
источник
Должен был сделать sudo apt-get install smbfsпервый хотя.
HDave
Также необходимо в sudo apt-get install smbfsпервую очередь. Тогда крепление сработало правильно на моем конце. Обратите внимание, что я заменил имя хоста на IP-адрес сервера. (Сервер является коробкой WinXP) Не знаю, почему имя компьютера с коробкой XP не работает для меня. СПАСИБО, ПАРНИ!
Логи
Это теперь сломано в 12.10. Найдите ошибку и обходной путь здесь: bugs.launchpad.net/ubuntu/+source/cifs-utils/+bug/1095294
HDave
Я получаю: ошибка монтирования (12): Невозможно выделить память (говорят, что мне нужен взлом реестра, но у меня нет доступа к стороне Windows ...)
Calmarius
@HDave Спасибо, я обновил свой ответ. Так как я использовал smbmountпервоначально (и не mount -t smbfs), я использовал mount.cifsсейчас (а не mount -t cifs), чтобы сохранить мой оригинальный стиль. mount -t cifsбудет, конечно, работать (как будет mount -t smbfs12.04 и ранее).
Элия ​​Каган
4
  • Откройте свой файловый менеджер, т.е. нажмите значок для Домашней папки
  • Обратите внимание, вверху экрана находится меню для файлового менеджера (в отличие от вверху его окна);
  • Нажмите ФайлПодключиться к серверу ... ; должно открыться окно с названием Connect to Server
  • Нажмите в раскрывающемся списке с названием Тип ; выберите общий ресурс Windows (т. е. измените стандартный FTP-сервер по умолчанию)
  • Введите Сервер (имя, если оно может быть разрешено DNS или его IP-адрес
  • Введите Share (то есть элементы , которые вы бы иначе увидеть доли окна , как доля компонента «\\ Server \ Share»)
  • Введите в папку имя любого конкретного каталога в общем ресурсе, который вы хотите смонтировать в
  • Введите любые / дополнительные данные пользователя
  • Общий ресурс должен подключиться и появиться в окне файлового менеджера в левом списке под сетью
  • Затем вы можете создать закладку для этого монтирования. Опять же, из меню «Диспетчер файлов» вверху экрана: Закладки → Добавить закладку (после первого нажатия / выделения только что смонтированного ресурса).
Стив
источник
1
Делать это с помощью Nautilus - это то, что я имел в виду под "поддельной". Это «монтирование» распознается только небольшим количеством приложений Gnome. Попробуйте перейти в командную строку и выполнить «ls», или попробуйте открыть файл на монтировании из VLC или некоторых других приложений, которые не используют диалоговое окно файла Gnome, и вы обнаружите, что ваши монтирования отсутствуют.
HDave
2
@HDave lsработал на меня. cd ~/.gvfsтогда lsи там должно быть крепление. Вы можете символическую ссылку туда, куда вы хотите оттуда.
Ограниченное искупление
Это правильно, но их не будет, когда вы впервые войдете в систему. Сначала вы должны просмотреть их в Nautilus, что неудобно.
HDave
3

Не уверен, если вы все еще ищете что-то легкое, я просто нашел это:

Все открытые общие ресурсы автоматически монтируются в вашей домашней папке /home/.gvfs.

Любое приложение может распознавать и получать доступ к общим ресурсам, как если бы они были обычными папками, если вы указали приложению файлы или папки, которые вы хотите найти в /home/.gvfs

Жан-Поль Бойер
источник
1

Почему вы хотите использовать Samba для доступа к файлам на вашем Linux- сервере? Samba предназначен для доступа к сетевым ресурсам и службам Windows .

Вместо этого используйте sshfs , настройка вообще не требуется, и вы получаете «правильные» точки монтирования, которые распознаются любым приложением:

sudo apt-get install sshfs

Смонтируйте удаленную файловую систему с

sshfs user@host:/path /local/mount/point

и размонтировать с

fusermount -u /local/mount/point
kynan
источник
Потому что у вас есть другие клиенты Windows в вашей локальной сети. И да, они тоже могут запускать sshfs, но Samba прекрасно работает и просто все вокруг.
HDave
Справедливо, это не становится ясно из вашего вопроса, хотя. Кроме того, ничто не мешает вам получить доступ к вашему Linux-серверу через SSHFS из Linux и через Samba из Windows / Mac. Вы даже можете получить доступ к одному и тому же ресурсу несколькими способами.
Кинан