Действительно ли возможно автосмонтировать локальную долю SMB/CIFS от/etc/fstab?

У меня есть Ubuntu 16.04 сервер LTS с настроенной общедоступной долей на нем.
Мой/etc/samba/smb.conf ниже

[public_share]
    comment = Ubuntu Public Share
    path = /srv/samba/public_share
    guest ok = yes
    read only = no

По некоторым причинам я должен смонтировать эту долю на начальной загрузке к/media/public_share. Таким образом, я добавил его к/etc/fstab:

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
//localhost/public_share /media/public_share/ cifs guest,noperm 0 2

Но это не становится смонтированным на начальной загрузке. Это монтируется только вручную с sudo mount -a после входа в систему.

Добавление его к/etc/rc.local такой как

mount -t cifs //localhost/public_share /media/public_share/ -o guest,noperm

не помогает также.

Что я делаю неправильно?
Как я могу автосмонтироваться//localhost/public_share к/media/public_share/во время начальной загрузки?
Мне нужны специальная systemd конфигурация или что-то специальное?

Обновление 1: Для localhost имени сервера у меня есть следующий журнал:

$ systemctl status media-public_share.mount 
● media-public_share.mount - /media/public_share
   Loaded: loaded (/etc/fstab; bad; vendor preset: enabled)
   Active: failed (Result: exit-code) since Вт 2017-12-19 22:15:05 MSK; 16min ago
    Where: /media/public_share
     What: //localhost/public_share
     Docs: man:fstab(5)
           man:systemd-fstab-generator(8)
  Process: 1461 ExecMount=/bin/mount //localhost/public_share /media/public_share -t cifs -o guest,noperm (code=exited, status=32)

дек 19 22:15:05 hostname systemd[1]: Mounting /media/public_share...
дек 19 22:15:05 hostname mount[1461]: Unable to find suitable address.
дек 19 22:15:05 hostname systemd[1]: media-public_share.mount: Mount process exited, code=exited status=32
дек 19 22:15:05 hostname systemd[1]: Failed to mount /media/public_share.
дек 19 22:15:05 hostname systemd[1]: media-public_share.mount: Unit entered failed state.

Изменение адреса к 127.0.0.1, или установка 127.0.0.1 с опциями username=guest,password=,noperm не удаляйте "Не могущий найти подходящий адрес" сообщением.

Я переместил обновление 2 и обновление 3 для ответа.

0
задан 20 December 2017 в 20:37

1 ответ

Проблема может быть решена с одним из следующих решений:

  • Быстрый грязный взлом с /etc/network/if-up.d:

    cat <<EOF | sudo tee /etc/network/if-up.d/zz-mount-all
    #!/bin/sh
    mount -a
    
    EOF
    
    sudo chmod a+x /etc/network/if-up.d/zz-mount-all
    

С этим изменением это обычно монтируется:

$ systemctl status media-public_share.mount 
● media-public_share.mount - /media/public_share
   Loaded: loaded (/etc/fstab; bad; vendor preset: enabled)
   Active: active (mounted) (Result: exit-code) since Вт 2017-12-19 23:17:34 MSK; 7s ago
    Where: /media/public_share
     What: //127.0.0.1/public_share
     Docs: man:fstab(5)
           man:systemd-fstab-generator(8)
  Process: 1481 ExecMount=/bin/mount //127.0.0.1/public_share /media/public_share -t cifs -o guest,noperm (code=exited, status=32)

Это работает даже с адресом localhost.

  • Это работает как ожидалось без взломов, если я добавляю x-systemd.automount,noauto к/etc/fstab как

     //localhost/public_share /media/public_share/ cifs guest,noperm,x-systemd.automount,noauto 0 255
    

и это создает две systemd единицы:

$ systemctl status media-public_share.*
● media-public_share.mount - /media/public_share
   Loaded: loaded (/etc/fstab; bad; vendor preset: enabled)
   Active: active (mounted) since Ср 2017-12-20 20:33:10 MSK; 3min 4s ago
    Where: /media/public_share
     What: //localhost/public_share
     Docs: man:fstab(5)
           man:systemd-fstab-generator(8)
  Process: 2461 ExecMount=/bin/mount //localhost/public_share /media/public_share -t cifs -o guest,noperm,x-systemd.automount (code=exited, status=0/SUCCESS)

дек 20 20:33:10 hostname systemd[1]: Mounting /media/public_share...
дек 20 20:33:10 hostname systemd[1]: Mounted /media/public_share.

● media-public_share.automount
   Loaded: loaded (/etc/fstab; bad; vendor preset: enabled)
   Active: active (running) since Ср 2017-12-20 20:33:02 MSK; 3min 12s ago
    Where: /media/public_share
     Docs: man:fstab(5)
           man:systemd-fstab-generator(8)

дек 20 20:33:09 hostname systemd[1]: media-public_share.automount: Got automount request for /media/public_share, triggered by 2456 (pool)
Warning: Journal has been rotated since unit was started. Log output is incomplete or unavail

Но это решение добавляет два значка доли к моему окну файлового менеджера Caja.

Таким образом, я буду использовать if-up.d взлом.

0
ответ дан 20 December 2017 в 20:37

Другие вопросы по тегам:

Похожие вопросы: