Вопрос или проблема
Я заметил, что в ubuntu 24.10 USB-накопители больше не монтируются автоматически, как раньше, поэтому я создал этот скрипт.
function mountte {
labelle=`sudo tune2fs -l /dev/sd$1 2> /dev/null | grep "Filesystem volume name:" | awk '{ print $4}'`
if [ "$2" = "$labelle" ]; then
if [[ ! -d /media/$USER/$labelle ]]; then
sudo mkdir /media/$USER/$labelle
fi
if mountpoint -q /media/$USER/$labelle; then
do=nothing
else
sudo mount /dev/sd$1 /media/$USER/$labelle
fi
fi
}
for l in {a..m}
do
for n in {1..7}
do
mountte ${l}${n} USB_BACKUP
mountte ${l}${n} USBPEN
done
done
Ответ или решение
Автоматическое монтирование USB-накопителей в Ubuntu 24.10: Решение задачи
В последних версиях операционной системы Ubuntu, включая 24.10, пользователи заметили, что автоматическое монтирование USB-накопителей перестало работать так, как это было прежде. Это может стать значительным неудобством для тех, кто часто использует внешние устройства для хранения и передачи данных. Данная статья предлагает решение данной проблемы с помощью написания скрипта, который будет автоматически монтировать USB-накопители при подключении.
Суть проблемы
Автоматическое монтирование USB-накопителей позволяет пользователям быстро и легко получать доступ к содержимому, без необходимости вручную управлять процессом монтирования. В новой версии Ubuntu, функция автоматического монтирования могла быть отключена или неисправна, что требовало альтернативного подхода.
Решение через скрипт
Общая структура предоставленного скрипта организована для отслеживания и монтирования USB-накопителей на основе их меток. Ниже подробно рассмотрим, как работает данный скрипт.
function mountte {
labelle=`sudo tune2fs -l /dev/sd$1 2> /dev/null | grep "Filesystem volume name:" | awk '{ print $4}'`
if [ "$2" = "$labelle" ]; then
if [[ ! -d /media/$USER/$labelle ]]; then
sudo mkdir /media/$USER/$labelle
fi
if mountpoint -q /media/$USER/$labelle; then
do=nothing
else
sudo mount /dev/sd$1 /media/$USER/$labelle
fi
fi
}
for l in {a..m}
do
for n in {1..7}
do
mountte ${l}${n} USB_BACKUP
mountte ${l}${n} USBPEN
done
done
Подробное объяснение работы скрипта
-
Функция
mountte
: Это основная логика монтирования. Она принимает два параметра: идентификатор устройства (например,sda1
) и метку, которую необходимо сопоставить с физическим устройством. -
Чтение метки: Скрипт использует команду
tune2fs
для получения метки файловой системы устройства. Если метка совпадает с заданной, выполняется дальнейшая обработка. -
Проверка и создание директории: Если директория для монтирования не существует, скрипт создаёт ее.
-
Проверка на монтирование: С помощью команды
mountpoint
скрипт проверяет, монтировано ли устройство. Если нет, то выполняется командаmount
, чтобы смонтировать устройство. -
Циклы для обхода устройств: Вложенные циклы
for
перебирают возможные буквы дисков и номера, что позволяет скрипту обрабатывать несколько устройств, подключаемых к системе.
Применение скрипта
Чтобы использовать данный скрипт, вы можете сохранить его в файле, например, usb_mount.sh
, и запустить его с помощью командной строки после подключения USB-накопителя. Не забудьте дать файлу права на выполнение с помощью команды:
chmod +x usb_mount.sh
Заключение
Данный подход обеспечивает удобный и эффективный способ автоматического монтирования USB-накопителей в Ubuntu 24.10. Поскольку автоматическое монтирование может отключаться по умолчанию в новых версиях системы, такой скрипт становится незаменимым инструментом для пользователей, стремящихся к комфорту и эффективности.
Для поддержания актуальности и успеха этого скрипта, рекомендуется его регулярное обновление с учетом новых изменений в системе и файловых системах.