Перейти к содержанию

Linux_оводы есть на форуме?


Delta213

Рекомендуемые сообщения

Я уже себе весь мозг свернул.

Консольный дебиан, нужно сделать автомонтирование/размонтирование юсб носителей. Не через фстаб, а чтобы на лету монтировалось. По разному пробовал, ничего не получается. Нашел пакет udevil, в его составе есть devmon, вот если его в консоли запускаю, то монтируется на лету. Немного криво, но работает. Но как теперь этот devmon автоматом при старте запускать?  Я тоже всяко уже перепробовал, никак не получается. Последнее что делал в rc.local добавлял и просто devmon, и exec devmon, не хочет стартовать.

Ссылка на комментарий
Поделиться на другие сайты

13 часов назад, Delta213 сказал:

Я уже себе весь мозг свернул.

Консольный дебиан, нужно сделать автомонтирование/размонтирование юсб носителей. Не через фстаб, а чтобы на лету монтировалось. По разному пробовал, ничего не получается. Нашел пакет udevil, в его составе есть devmon, вот если его в консоли запускаю, то монтируется на лету. Немного криво, но работает. Но как теперь этот devmon автоматом при старте запускать?  Я тоже всяко уже перепробовал, никак не получается. Последнее что делал в rc.local добавлял и просто devmon, и exec devmon, не хочет стартовать.

rc.local норм если он не отключён. Проверь пути и переменные окружения под su. Скорее всего exec не работает. Запускай под тем пользователем по которым точно пашет и в среде которая точно пашет.

например:

sudo -u Delta bash /home/Delta/myUSBMon.sh 

В /var/log/syslog посмотри как все прошло и какие ошибки.

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

 

 

Ссылка на комментарий
Поделиться на другие сайты

Я не совсем уверен что так вообще можно, сделал скрипт /home/user/autoexec.sh, его содержимое:

#!/bin/sh
exec devmon

 

В rc.local прописал:

/home/user/autoexec.sh

вообще так можно запускать?

 

Мне посоветовали для автомонтировки в /etc/udev/rules.d/11-media-by-label-auto-mount.rules прописать:

KERNEL!="sd[a-z][0-9]", GOTO="media_by_label_auto_mount_end" 
# Import FS infos 
IMPORT{program}="/sbin/blkid -o udev -p %N" 
# Get a label if present, otherwise specify one 
ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}" 
ENV{ID_FS_LABEL}=="", ENV{dir_name}="usbhd-%k" 
# Global mount options 
ACTION=="add", ENV{mount_options}="relatime" 
# Filesystem-specific mount options 
ACTION=="add", ENV{ID_FS_TYPE}=="vfat|ntfs", ENV{mount_options}="$env{mount_options},utf8,gid=100,umask=002" 
# Mount the device 
ACTION=="add", RUN+="/bin/mkdir -p /media/%E{dir_name}", RUN+="/bin/mount -o $env{mount_options} /dev/%k /media/%E{dir_name}" 
# Clean up after removal 
ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/umount -l /media/%E{dir_name}", RUN+="/bin/rmdir /media/%E{dir_name}" 
# Exit 
LABEL="media_by_label_auto_mount_end"

 

После этого, при подключении диска в media появляется пустая папка с именем=метке диска (ladle). И всё, т-е как бы что-то отрабатывает, но не до конца.

В другой сборке подсмотрел как там диски монтируются, там в 11-media-by-label-auto-mount.rules лежит:

SUBSYSTEM!="block", GOTO="end_rule"
KERNEL!="sd[a-z][0-9]", GOTO="end_rule"
ACTION=="add", RUN+="/home/root/mount_media %k plugdev"
ACTION=="remove", RUN+="/home/root/mount_media %k unplugdev"
LABEL="end_rule"

 

в "/home/root/mount_media лежит:

if [ "$2" = "plugdev" ]; then 
     /home/root/mount.sh
else
TEMPL="^/dev/${1} " 
MOUNT_POINT=$(/bin/cat /proc/mounts | grep -w "$TEMPL" | /usr/bin/cut -d ' ' -f 2)
umount -l /dev/${1}
sleep 1
rmdir --ignore-fail-on-non-empty "$MOUNT_POINT"
fi
exit 0

 

и соответственно  сам скрипт mount.sh во вложении. Так тоже делал, эффект такой-же, пустая папка, имя=LABLE диска  

 

 

mount.zip

Ссылка на комментарий
Поделиться на другие сайты

По умолчанию в rc.local интерпретатор не баш и работает он не в окружении твоего пользователя.

Поэтому вместо /home/user/autoexec.sh

Попробуй написать в rc.local

sudo -u user bash /home/user/autoexec.sh &> /home/user/autoexec.log

Перегрузи и посмотри лог

Скорее всего интерпретатор не находит exec

 

В udev все верно. Проверь вообще диск монтируется руками? Смотри суслог при вставлении устройства. Что то идет не так. mount поддерживает ntfs vfat?

Ссылка на комментарий
Поделиться на другие сайты

В 20.03.2021 в 12:07, ГМО сказал:

По умолчанию в rc.local интерпретатор не баш и работает он не в окружении твоего пользователя.

Поэтому вместо /home/user/autoexec.sh

Попробуй написать в rc.local

 

Спасибо! Я свою задачу таки решил, конечно-же помогали, но кое что и сам нарыл.

Теперь новая задача, хочу сделать так, чтобы на сд карту, на которую установлен дебиан во время работы ничего не писалось, ни логи, ни своп. Если конфиги меняются, то можно и подписать.

Ссылка на комментарий
Поделиться на другие сайты

2 часа назад, Delta213 сказал:

 

Спасибо! Я свою задачу таки решил, конечно-же помогали, но кое что и сам нарыл.

Теперь новая задача, хочу сделать так, чтобы на сд карту, на которую установлен дебиан во время работы ничего не писалось, ни логи, ни своп. Если конфиги меняются, то можно и подписать.

Монтируй /var и /home и /tmp не с карты. И своп тоже создавай не на ней. Все прописано в /etc/fstab

https://ru.wikipedia.org/wiki/Fstab

Ссылка на комментарий
Поделиться на другие сайты

В 23.03.2021 в 16:15, Анклав сказал:

Линукс явно лучше винды, но очень сложный, если не спец в этом.

Да чем лучше то? Удел линукса всякие контроллеры, да файлопомойки типа синолоджи.

 

Ссылка на комментарий
Поделиться на другие сайты

В 23.03.2021 в 16:15, Анклав сказал:

Линукс явно лучше винды, но очень сложный, если не спец в этом.

Линукс для гиков и спецов.

Но на нём почти весь серверный софт бесплатный.

 

 

Ссылка на комментарий
Поделиться на другие сайты

2 часа назад, Мистер Хрюк сказал:

Линукс для гиков и спецов.

Линукс для определенных задач, как молоток для забивания гвоздей, а шуруповерт для саморезов. А гики и спецы есть и Виндовые и Маковые.

Ссылка на комментарий
Поделиться на другие сайты

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

Ссылка на комментарий
Поделиться на другие сайты

4 часа назад, Мистер Хрюк сказал:

Нет, ты хороший специалист.

 

 

11 минут назад, Медоед сказал:

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

now kiss

Ссылка на комментарий
Поделиться на другие сайты

Подскажите еще по такому вопросу, есть хост на распбиане, к нему нужно подключать сетевую папку по смб, причем сервер может быть выключен/недоступен при загрузке клиента. Как сделать так, чтобы шара автоматом монтировалась, когда сервер поднимется? Сейчас сделал через фстаб, монтируется когда при загрузке сервер на горизонте, но у меня клиент загружается раньше сервера. Пинговать сервер и когда запингуется монтировать и отключать пинговалку?

Ссылка на комментарий
Поделиться на другие сайты

В 03.04.2021 в 18:09, Delta213 сказал:

Подскажите еще по такому вопросу, есть хост на распбиане, к нему нужно подключать сетевую папку по смб, причем сервер может быть выключен/недоступен при загрузке клиента. Как сделать так, чтобы шара автоматом монтировалась, когда сервер поднимется? Сейчас сделал через фстаб, монтируется когда при загрузке сервер на горизонте, но у меня клиент загружается раньше сервера. Пинговать сервер и когда запингуется монтировать и отключать пинговалку?

while ! ping -c1АйПиТвоегоСервера &>/dev/null; do echo "Ping Fail - `date`"; sleep 1;  done ; echo "Host Found - `date`" ; mount -a

ремаунт через фстаб.

 

Ссылка на комментарий
Поделиться на другие сайты

Заархивировано

Эта тема находится в архиве и закрыта для дальнейших ответов.

×
×
  • Создать...