← Home

автомонтирование vmware в Ubuntu 18

By Брендель В. М.

После целого дня возни выяснилось следующее.

После установки vmware-tools и настройки монтирования достаточно сделать

sudo /etc/init.d/vmware-tools start и шареная папка смонтируется в /mnt/hgfs.

Все мануалы по автозапуску vmware пишут так:

service --status-all — поглядеть какие сервисы автозапускается

sudo update-rc.d vmware-tools defaults — запихать сервис в автозапуск для runlevel 2-5. Команда эта отлично работает, вот только в /etc/rcX.d не появляется vmware-tools и ничего не работает.

Связано это с тем, что Ubuntu перешла на systemd систему запуска, в которой добавление сервиса происходит так.

sudo systemctl enable vwware-tools.service — на это выскакивает, что wvware-tools не нативный сервис и redirecting to sustemd-sysv-install, который генерит файл Unit файл-заглушку запуска сервиса из init.d (старой системы). По идее эту заглушку можно то ли донастроить, то ли как-то запусть. Я не смог.

Правильный путь в таком случае — написать скрипт vwware-tools.service приблизительно такого содержания:

[Unit]

Description=The NGINX HTTP and reverse proxy server After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]

Type=forking PIDFile=/run/nginx.pid ExecStartPre=/usr/sbin/nginx -t ExecStart=/usr/sbin/nginx ExecReload=/usr/sbin/nginx -s reload ExecStop=/bin/kill -s QUIT $MAINPID PrivateTmp=true

[Install]

WantedBy=multi-user.target

Ничего сложного, но я не осилил, изучать эту хрень желания было мало.

Альтернативный путь — выбросить wmware-tools и использовать open-vm-tools, который имеет поддержку systemd после установки.

systemctl list-unit-files | grep open — поглядеть состояние сервиса open-vm-tools.

sudo systemctl enable open-vm-tools.service — добавить в автозапуск

sudo systemctl start open-vm-tools.service

sudo systemctl stop open-vm-tools.service

sudo systemctl disable open-vm-tools.service

Делаем следующие шаги:

sudo vim /etc/fstab

Добавляем

.host:/ /mnt/hgfs fuse.vmhgfs-fuse auto,allow_other 0 0

Делаем reboot и в /mnt/hgfs видим автоматом замонтированую шару. Делаем симлинк в домашний каталог и наслаждаемся.

Тут вроде есть нюанс openvmware-tools вроде как должен быть иницирован раньше чем выполняется монтирование из /etc/fstab, иначе ничего не получиться. Но у меня работает и так. В противном случае надо где-то в Unit файлах systemd прописать порядок загрузки юнитов.

Кстати про docker. Docker имеет Unnit для systemd. Запускается автоматически при запуске системы. При этом запускает все контейнеры если в docker-compose указано

db: image: postgres:10.5-alpine restart: always