2

Я могу успешно получить доступ к одной из наших локальных общих папок samba, которая находится на компьютере с ОС Windows (называемой Марина), следующим образом:

$ sudo /usr/bin/smbclient \\\\marina\\resource_library <my password>
Domain=[MARINA] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]
smb: \> 

Итак, это работает. Сейчас я пытаюсь смонтировать вышеуказанное местоположение (папка resource_library на пристани для яхт) в /mnt /resource_library (как папка только для чтения), но она продолжает давать сбой - я пробовал несколько вариантов указания местоположения:

$ sudo smbmount \\\\marina\\resource_library /mnt/resource_library -o username=max,password=<my password>,r
mount error: could not resolve address for marina: No address associated with hostname
No ip address specified and hostname not found

а также

$ sudo smbmount //marina/resource_library /mnt/resource_library -o username=max,password=<my password>,r
mount error: could not resolve address for marina: No address associated with hostname
No ip address specified and hostname not found

и оба выше с Мариной вместо Марины. Это определенно глупая ошибка, которую я совершаю, кто-нибудь может это увидеть?

ура, макс

4 ответа4

5

Я нашел решение, не имеющее обходных путей, которое работало для меня на Debian (изначально оно было найдено на каком-то форуме по Ubuntu, но этот конфигурационный файл существует даже в Fedora, поэтому я думаю, что он, вероятно, универсален). Мне пришлось добавить "выигрыши" в файл /etc/nsswitch.conf (и установить "выигрыши"). Теперь строка выглядит следующим образом:

hosts: файлы mdns4_minimal [NOTFOUND = return] dns выигрывает mdns4

2

На самом деле я нашел ответ, я не уверен, что он будет работать для всех, хотя. Я поставлю это здесь на случай, если кто-нибудь зайдет на страницу. В основном мне просто нужно было указать ip-адрес с помощью команды smbmount, которую я получил

$ nmblookup marina
querying marina on 192.168.0.255
192.168.0.15 marina<00>

Теперь, когда это происходит, моя жизнь здесь легче, так как 192.168.0.15 был назначен связанному mac-адресу как фиксированный сетевой ip, поэтому он никогда не изменится. Так что теперь я могу просто сделать

$sudo smbmount //marina/resource_library /mnt/resource_library -o ip=192.168.0.15,username=max,password=<my password>,r 

и это отсортировано. Если я имел дело со случайно назначенным ip для этой доли smb, то я не уверен, что я буду делать, но, к счастью, это не проблема. :/

1

Попробуйте команду nmblookup marina . Он запрашивает пространство имен NetBIOS (не DNS) и должен возвращать IP-адрес марины.

Если это работает, и вы уверены, что IP-адрес является статическим, вы можете использовать этот адрес в своем smbmount .

Если это работает, и у вас время от времени меняются адреса DHCP, попробуйте эту команду:

nmblookup marina \
   | grep -vi querying \
   | grep marina \
   | awk '{print $1}' \
   | uniq

Он должен вернуть IP-адрес. Если это работает, вы можете изменить свою команду

Вы могли бы сделать

sudo smbmount //marina/resource_library \
   /mnt/resource_library \
   -o ip=$(nmblookup marina \
        | grep -vi querying \
        | grep marina \
        | awk '{print $1}' \
        | uniq),username=max,password=foobar,r

Конечно, это длинная команда для запоминания. Но тогда вы можете определить псевдоним mntmarina в вашем .bashrc , и вам нужно только набрать mntmarina ...

1

Замена моего IP-адреса на имя хоста работала на меня. Моя доля называется «шнак».

sudo smbmount //192.168.0.103/schnack ~/pipmnt

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .