ИТ База знаний
Курс по Asterisk
Полезно
— Узнать IP — адрес компьютера в интернете
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Калькулятор инсталляции IP — АТС Asterisk
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Монтирование и демонтирование файловых систем в Linux
Данная статья посвящена монтированию и демонтированию файловых систем в Linux. Под этим понятием понимается подключение разделов жестких дисков, различных носителей и прочих файловых систем, которые могут находится на различных носителях информации. Получение к ним доступа, отключение автоматически и в ручном режиме. В статье будут рассмотрены следующие вопросы:
- Подключение и отключение файловых систем вручную.
- Управление автоматическим монтированием файловых систем.
- Подключение съемных носителей информации.
Основные команды, которые позволяют решать вопросы указанные выше:
Данный файл – это файл настройки автоматического подключения файловых систем. Точкой монтирования, является пустой каталог на нашей файловой системе.
Онлайн курс по Linux
Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps
К виртуальной машине подключен диск, определяемый операционной системой /dev/sdc , а на нем создан раздел /dev/sdc1 с файловой системой ext4. Мы можем посмотреть, что на нем ls –l /dev/sdc1 .
Для того, чтобы посмотреть, что есть на этом диске необходимо создать точку монтирования. Для этой цели подойдет любая папка. Если мы посмотрим корневые папки командой ls / , то увидим следующую картину.
Правилом хорошего тона является монтирование файловых систем в папки mnt и media . Обычно папку mnt используют для монтирования разделов, а папку media для монтирования съемных носителей информации. Т.е папка mnt пустая и туда у нас ничего не монтируется, можно создать внутри папку mkdir /mnt/hard . Теперь мы можем смонтировать в данную папку наш жесткий диск, подключенный к виртуальной машине. Монтирование осуществляется следующим образом mount /dev/sdc1 /mnt/hard или mount –t ext4 /dev/sdc1 /mnt/hard . Linux очень хорошо самостоятельно определяет тип файловой системы и в написании команд можно данную опцию опустить.
Как мы видим все смонтировалось и так как файловая система журналируемая появилась папочка lost+found .
Вообще в линуксе вся файловая система –это такое иерархическое дерево с файлами и папками, подпапками. Все эти файлы и папки вообще могут находится на разных устройствах, в том числе и на сетевых устройствах. Это может быть даже сетевая папка, подключенная к нашей системе. Мы подключили /dev/sdc1 в папку /mnt/hard .
Мы можем выполнить команду mount , которая покажет нам, что и куда смонтированно.
Мы видим все файловые системы смонтированные. В том числе только, что примонтированный жесткий диск. Так же мы можем увидеть виртуальные файловые системы, типа proc .
Виртуальная файловая система proc содержит все запущенные процессы и смонтирована в папку /proc . Как мы видим из скриншота их достаточно много. Помимо тех файловых систем, которые созданы на носителях, примонтированно много виртуальных файловых систем. Можно увидеть, что они смонтированы в разные папки согласно их предназначению.
Отмонтировать можно командой umount /dev/sdc1 . Следовательно мы можем увидеть ls /mnt/hard , что папка пустая. Иногда при выполнении команды на отмонтирование система ругается, это происходит если мы данную файловую систему, каким-нибудь образом используем, например, если открыт файл с данной папки или подпапки. Следовательно, необходимо завершить все операции, после этого система нам даст отмонтировать.
Чтобы вот так вручную не подключать или не отключать разделы, есть файлик /etc/fstab . В нем находятся настройки автоматического монтирования файловых систем.
Если в данном файлике не сделать запись, то после перезагрузки система не подключит подмонтированную файловую систему, автоматически. Что касается настройки: в файле мы указываем устройство с файловой системой, затем точку монтирования, тип файловой системы, опции и пара настроек. Dump – говорит нам о том, сохранять ли файлы автоматом на данной файловой системе при отключении системы. Т.е если у нас пропало питание или идет завершение работы. Принимаемые значения 1 — файлики будут сохранятся, 0 не будет сохранятся. Параметр Pass указывает порядок проверки файловых систем. Обычно 1 у корневой файловой системы, у всех последующих 2, у съемных носителей 0. Операционная система Linux обычно позволяет смонтировать файловую систему по UUID. Т.е устройство можно указывать не только в явном виде, но и по метке, и по идентификатору. Указывать по идентификатору надежнее мы можем переименовать устройство или переставить жесткие диски и тогда загрузочный раздел окажется не /dev/sda1 , а например /dev/sdc1 . Чтобы подобного не произошло, лучше файловые системы прописывать с помощью идентификатора. Потому, что идентификаторы прописаны жестко к каждому разделу и изменить мы их не можем. И это будет более стабильная работа. В нашем же случае мы видим, что основной раздел смонтирован. Имеет файловую систему ext4 . Про опции монтирования можно прочитать в мануале к файлу fstab .
Ну и как можно увидеть примонтирован еще один раздел без точки монтирования – это раздел подкачки swap .
Можно еще одну интересную вещь заметить, при попытке нового монтирования файловой системы от обычного пользователя операционная система ругнется, что только пользователь root может это сделать, но как только мы пропишем данное монтирование в файл /etc/fstab и скажем, что пользователь обычный имеет право монтировать данную файловую систему, то система совершенно спокойно даст примонтировать без повышения привилегий. Соответственно редактировать данный файл совершенно просто. Открываем его любым редактором в режиме суперпользователя и добавляем данные по монтируемой файловой системе. Если при монтировании вы не знаете какой тип файловой системы, можно просто указать auto и операционная система автоматически ее определит тип файловой системы при монтировании. Далее интересная вещь – это опции при монтировании можно указать defaults (чтение ( ro ), запись ( rw ), выполнение ( execute ), nouser ). Параметр user- т.е любой пользователь может монтировать и демонтировать данную файловую систему, если данные параметр не указать, тогда только суперпользователь сможет выполнять данные действия. Параметр auto – т.е данный параметр будет автоматически подключать данную файловую систему при старте компьютера или сервера. Параметр noexec — данный параметр запрещает запуск исполняемых файлов на данной файловой системе. После добавления записи в файл /etc/fstab , мы можем примонтировать файловую систему командой от обычного пользователя mount /mnt/hard . Система обратится к файлу /etc/fstab проверит запись и опции, если есть указанная точка монтирования и в опциях запись user система успешно подмонтирует файловую систему. Аналогично можно провести обратную операцию размонтирования unmount /mnt/hard .
Есть хорошая команда, которой приходится пользоваться, особенно если создаем raid массивы – это blkid . Данная команда позволяет посмотреть блочные устройства. Работает от суперпользователя sudo blkid /dev/sdc1 .
Команда показывает, какой uuid имеется у устройства. И мы можем в файле /etc/fstab , можем указать не имя устройства, а UUID = a783a365-3758-47bd-9f2d-1f5b4155f4ca. И это будет надежнее указание UUID, чем имена дисков, потому что имена дисков могут меняться.
Раньше в файле /etc/fstab так же прописывалось монтирование съемных носителей USB флешки, CD-ROM и т.д создавалась запись для файловой системы с правами read-only и что при необходимости смонтировать могут любые пользователи, автоматически флопик и CD-ROM не монтировались. Современные дистрибутивы, включаю Ubuntu последних версий, в том числе пользовательские, с красивыми оболочками Gnome и KDE есть файловый менеджер Nautilus. У данного файлового менеджера есть свои настройки, которые позволяют автоматически монтировать, все что мы подключаем.
В случае если мы работаем на серверной операционной системе, например, Ubuntu или CentOS, то понятно в дефолтной конфигурации у нас нету авто монтирования и прочих радостей десктопной версии. Поэтому делаем простую вещь. Вставляем носитель с файловой системой, второй шаг blkid находим наше устройство и третий шаг монтируем, командой mount .
Правилом хорошего тона является монтирование всех устройств в папку /media . Здесь обычно располагаются папки cdrom, можно создать папки floppy или usb . И последний нюанс, после того, как вы поработали с флешкой и от монтировали, необходимо корректно ее вытащить. Даем команду eject .
Мини — курс по виртуализации
Знакомство с VMware vSphere 7 и технологией виртуализации в авторском мини — курсе от Михаила Якобсена
Источник
Не получается смонтировать /boot/efi, неизвестная файловая система vfat
Здравствуйте, уважаемые линуксоиды!
У меня стоит arch linux, установил недавно, решил, так сказать, перейти на него.
Все шло отлично, система работала без проблем, пока я вчера не обновил систему. После этого она перестала запускаться. Вместо этого запускается режим восстановления.
Через команду systemctl –failed узнал, что у меня две ошибки:
Через journalctl -xb выяснил, что /boot/efi не монтируется. Вот ошибка:
Пробовал смонтировать через live usb, все работает, но при загрузке ошибка. Пожалуйста, объясните что не так?
в initramfs не закинули модуль поддержки файловой системы FAT.
Жди когда исправят или переделай сам свой initramfs.
Каким образом его можно вручную переделать? Буду очень признателен, если поможете!
Убери его из fstab. Ефи раздел монтируется только если надо загрузчик обновить или его конфиг подправить. Любители держать там ядро не в счет.
Я не линуксоид! :3
Каким образом его можно вручную переделать?
Для начала убедись что у тебя установлены пакеты, которые позволяют монтировать msdosfs vfat/fat32.
Ну и риторический вопрос: а нафига монтировать ESP, да ещё и на этапе инициализации системы?
Убрал. Ошибка монтирования пропала.
Но система все равно не грузится. Застревает на:
в initramfs не закинули модуль поддержки файловой системы FAT.
Причём здесь initramfs? Только совсем отбитый станет монтировать ESP на этапе загрузки даже до chroot. Наверняка топикстартер сам себе в ногу стрелял.
Добавь тег arch , на него гораздо больше арчеводов подписано.
а нафига монтировать ESP, да ещё и на этапе инициализации системы?
Обновлять ядро и initramfs как?
Проблема решилась
Я так понимаю, в арче существует написаное правило: Если что-то не работает, просто откатись до старой версии.
Через кэш пэкмана откатил ядро и система запустилась.
Всем спасибо за помощь!
Только экстрималы ядро и инит на нем держат.Efi раздел для загрузчиков, ядрам там делать нечего
Re: Проблема решилась
А теперь пересобери инит и смотри ошибки, где то он у тебя не собрался новый или не записался
Где ядра держать?
В boot на разделе с корнем или если уж на отдельном то не с fat.
Не обязательно сам, судя по всему у него проблемы с initrams, какая то ошибка при сборке или записи готового. Проверить на ошибки сборку запустив [code] # mkinitcpio -P
Я держу. Ядро грузится без промежуточных загрузчиков. Собираю ядро и initrd через genkernel. После мажорного обновления genkernel все работало, вроде. А когда обновил ядро с 5.4 на 5.8, то тоже vfat перестал монтироваться в initrd. Не стал разбираться и пересобрал монолитно.
Я и говорю экстрималы, новичку такое не нужно и вредно. Лучше держать его на корневом разделе и иметь загрузчик. Это позволяет держать несколько разных ядер и инитрамс с легким выбором, грузить iso лайв линуксов и других без флешек и при необходимости легко добавить или изменить параметры загрузки ядра. И меньше вероятность проблем с записью и сохранностью ядра и инитрамс. Это стоит лишней секунды -две при загрузке
судя по всему у него проблемы с initrams
По какому всему?
какая то ошибка при сборке или записи готового
Failed to start Load Kernel Modules.
С загрузкой модулей у него проблемы, а не с сборкой/записью.
а нафига монтировать ESP, да ещё и на этапе инициализации системы?
Обновлять ядро и initramfs как?
- Если ты кладёшь на ESP не загрузчик — ты делаешь что-то не так;
- Если ты обновляешь ядро и initramfs при каждой загрузке системы, тебе стоит обратиться к врачу; возможно даже патологоанатому.
Модули при загрузке берутся из initramfs, ядро обновилось и записалось новое а initramfs не собрался или не записался — в результате модули не подходят к ядру и не грузятся.
Модули при загрузке берутся из initramfs
Только критичные, такие как поддержка блочных устройств (надо быть отбитым на всю голову, чтобы не вкомпилить подобное в ядро), после chroot модули грузятся из /lib/modules/linux-$
Модули для корневой файловой системы и boot туда попадают( в initramfs) ну иногда и для другого
В арче дефолтные HOOKS=(base udev autodetect modconf block filesystems keyboard fsck) в mkinitcpio.conf для сборки initramfs
Если initramfs не соответствует ядру все это отваливается
Я последний раз Arch Linux тыкал когда в нём ещё OpenRC был.
Если initramfs не соответствует ядру все это отваливается
Ничего экстремального тут нет. Никаких предписаний, что там может лежать, а что нет — не существует.
Раз в месяц пишут на форум, у меня арч не грузится.
Источник