Учебники (How-To & F.A.Q)
   2000

Постподключение смонтированного облачного ресурса

Совместное использование утилиты rclone и systemd вызывает некоторое поведение смонтированных облачных ресурсов, которое меня не устраивает. А именно, происходит немедленное монтирование и подключение облачного ресурса. А при прописывании параметров монтирования в fstab вообще монтирование происходит дважды и немедленное подключение смонтированного ресурса. Это ни чему особенному не мешает и можно забить. Но мне так не нравиться и не хочется делиться своими ресурсами с другими юзерами в случае с fstab, а в случае монтирования через юниты системды (как от рута, так и от юзера) происходит немедленное подключение ресурса. Итак, костыль:
Рассказываю, этот костыль отменяет линукс и создает подземный стук, а так же выясняет какой главный вопрос вселенной и всего такого, и даже дает ответ на него:
1.конфигурирую rclone config для mailru: ресурса облачного диска
2.создаю в /etc/fstab строку:
#mailru:/ /home/kostya/cloud/cloudmailru rclone config=/home/kostya/.config/rclone/rclone.conf,cache_dir=/home/kostya/cloud/cache 0 0

3.создаю /opt/my_scripts/mountcloud.sh:
#!/bin/bash
username=`who | grep -c "kostya"`
if [ "$username" > "0" ]; then 
  if /usr/bin/grep -q '#mailru:' /etc/fstab; then /usr/bin/sed -i 's/#mailru:/mailru:/g' /etc/fstab; fi; fi;

4.создаю /opt/my_scripts/umountcloud.sh:
#!/bin/bash
 if ! /usr/bin/grep -q '#mailru:' /etc/fstab; then /usr/bin/sed -i 's/mailru:/#mailru:/g' /etc/fstab; fi

5. делаю юниты
/etc/systemd/system/moutcloud.service:
[Unit]
Description=mount cloud (rclone)
Wants=network-online.target
After=network-online.target default.target

[Service]
Type=oneshot
ExecStart=/opt/my_scripts/mountcloud.sh

[Install]
WantedBy=default.target


/etc/systemd/system/umoutcloud.service:
[Unit]
Description=umount cloud (rclone)
DefaultDependencies=no
After=final.target

[Service]
Type=oneshot
ExecStart=/opt/my_scripts/umountcloud.sh

[Install]
WantedBy=final.target

6. на всякий случай скрипт /opt/my_scripts/umountcloud.sh копирую в /usr/lib/systemd/system-shutdown/umountcloud.sh
7. Далее стандартные действа для запуска сервисов
systemctl daemon-reload
systemctl enable moutcloud.service
systemctl enable umoutcloud.service


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

3 комментария

avatar
теперь немного раскрою тему. выше предложенный костыль универсален.
для яндекс диска есть аналогичное НОРМАЛЬНОЕ решение тут после этого достаточно прописать в fstab
https://webdav.yandex.ru:443	/home/kostya/cloud/yandexdisk	davfs	uid=kostya,file_mode=640,dir_mode=755,user,noauto	0	0

для майлру облака раньше работало это решение тыц, но я не смог его собрать после последних обнов.
для гуглодиска было удобно использовать решение из гнома через установку gnome-online-accounts, но после последних обнов я не смог вызвать на крысе гномовский центр управления.
потому пришел в выводу, что лучше иметь одно устойчивое решение, хоть и с таким ДИКИМ костылем
Последний раз редактировалось
?
Всегда есть быстрое простое неправильное решение.
быстрые простые правильные (иногда) ответы здесь t.me/manjarolinux
0
avatar
ух ты: … этот костыль отменяет линукс и создает подземный стук...
страшно заинтересовался…
пошел себе тоже подземный стук делать :)
0
avatar
в связи со своей неграмотностью, я в данном топике попутал понятия «примонтированный» с «показанным в ФМ», потом мне старшие товарищи объяснили, почему так неправильно писать, но править топик я не стал. потому прошу прощения за неправильное применение терминов, которое хоть и отражает смысл задачи, но отражает совсем неверно
зы. также совсем не рекомендую использовать этот костыль, так как он действительно может отменить линукс на вашем ПК. и, в случае аварийного выхода из системы, не отредактирует правильно ваш fstab, последствием этого будет отказ в загрузке и необходимость править fstab руками из консоли tty
Последний раз редактировалось
?
Всегда есть быстрое простое неправильное решение.
быстрые простые правильные (иногда) ответы здесь t.me/manjarolinux
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.