ENote
  • ✨Home
    • Відмова від відповідальності
  • Progr
    • Python
      • Модулі
        • pip
        • cgitb
        • datetime
          • Класс datetime() модуля datetime
            • Методы объекта datetime.datetime()
            • datetime.datetime examples
          • Класс timedelta() модуля datetime
            • datetime.timedelta examples
          • Класс date() модуля datetime
            • datetime.date examples
          • Класс time() модуля datetime
            • Формат для функций .strftime() и .strptime(). модуля datetime
        • os.path
        • pathlib
          • pathlib to str
        • subproces
        • os
        • Jinja
          • Синтаксис шаблонів Jinja
          • Клас Environment()
          • Простой пример cgi-скрипта c Jinja-шаблоном
          • Создание переменных
            • Як оновити глобальну змінну зсередини оператора IF / ELSE або циклу FOR
          • Фільтри і методи
          • Число у рядок, slices
          • Вбудовані фільтри Jinja2
        • re
          • re.search - example
          • re.findall - example
        • email / smtplib
          • Как отправлять электронные письма с помощью Python
        • requests
          • Як зберегти та завантажити файли cookie в запитах Python?
          • Извлечение и установка cookies с модулем requests в Python
          • Links
        • http.cookies
          • Всё о работе с cookie в Python — класс http.cookies
        • xlrd
        • xlwt
        • borb
          • ChunkOfText
          • send_usage_statistics
          • borb clear
          • 2.1.3 vs 2.1.15
          • QR-code
          • Залежності borb
        • JSON
          • Кирилиця в JSON
        • matplotlib
        • argparse
        • click
        • configparser
        • traceback
        • sys
          • exit()
        • mysql-connector-python
        • logging
        • icrawler
        • Auto Plates
        • rembg
        • random
      • Strings
        • Built-in methods
        • Форматування виводу
        • Початкові нулі
        • Рядок в число
      • list
        • Об’єднання списків
        • list.sort(), sorted()
        • list.reverse(), reversed()
        • all(), any()
        • sum(), min(), max()
        • map(), filter(), reduce()
        • join(), split()
      • tuple
      • dict
        • Об'єднання / злиття словників
        • Сортування словника Python: значення, ключі тощо
      • set
      • class Enum
      • Середнє арифметичне
      • Virtual environment
        • web-app
      • type(), isinstance()
      • __main__
      • Files & Dirs
        • Try except for exception handling
        • Cписок файлов директории
        • User Home Dir
        • Copy file
      • *args, **qwargs
      • Links
      • Область видимости
      • Handling a File Error
      • assert
      • if
      • Числа
        • Округлення чисел
        • Отримати число з рядка
      • Обработка исключений в Python
      • Файлы и сериализация данных
      • OOP
      • Net and Web
      • Структура проекта на Python
      • Распаковка итерируемых объектов
      • Links
      • Algorithms
      • Python exit commands: quit(), exit(), sys.exit() and os._exit()
      • Цикли for / while
      • uuid
    • JavaScript
      • String
        • replaceAll() polyfill
        • Шаблонные строки
      • Array
        • Все способы перебора массива в JavaScript
      • Object
      • document.location
      • RegExp
      • Examples
        • Вычисление остатка от деления
        • Остаток от деления и деление без остатка
        • Округление числа
      • XMLHttpRequest
      • alert, prompt, confirm
      • onclick
      • hidden, display:none
      • LocalStorage, sessionStorage
      • null, undefined
      • cookies (js)
      • var, let и const
        • var vs let
        • const
      • Модифікація DOM
        • DOM select
      • JSON
        • Try
      • fetch
      • typeof
      • FormData не включає disabled набори полів
      • FormData, fdata
      • Більше одного відео YouTube на одній сторінці
    • HTML, CSS
      • favicon
      • Деякі спецсимволи
      • meta
      • ASCII table
      • lang
      • Псевдоелементи ::after і ::before
      • Cursor
      • Об использовании нестандартных пробелов
      • Картинка фоном
      • Безпечні веб-шрифти
      • Завжди внизу, незалежно від пропорцій екрану
      • напівпрозорий елемент
      • Символи з тінью
      • SVG (bootstrap)
      • rel = canonical
      • link stylesheet: integrity & crossorigin
      • rel = noopener
    • Bootstrap
      • Form Validate
      • Password show/hide
    • Errors
  • Dev
    • Git
      • clone
      • git-scm (book)
      • git config
        • files .git*
        • core.filemode
        • core.sharedRepository
      • .gitignore
      • .gitkeep
      • Видалити з репозиторію
        • Видалений файл з однієї гілки...
      • Пам’ятка
        • Перегляд історії комітів
        • Скасувати git add
        • revert
        • Скасувати внесені зміни у файл
        • Додати до коміту файл
        • Видалити історію попередніх коммітів, та почати "з нуля"
        • Додати файли в останній коміт
      • Робота з гілками
        • Порівняти гілки
      • Git за полчаса
      • Три розділи проєкту Git
      • Merge conflict
      • Pull error
        • Git Error: You have divergent branches...
      • diff
      • Video
      • Merge скасувати
      • .gitignore: Permission denied
    • GitHub
      • SSH-підключення до GitHub
      • Перенести на сервер локальный репозиторий
      • Перенести на сервер репозиторій разом з історією
      • Створення змісту
    • Security
      • robots.txt
      • Cookies
    • Аутентифікація і cookies
      • ChatGPT
  • data
    • MySQL
      • MyISAM vs InnoDB
      • Типи даних
        • NULL (todo)
        • TIMESTAMP
        • YEAR
        • JSON
        • Требования к памяти для символьных типов
        • Поиск записей в таблице, которым нет соответствия в другой
      • Приклад створення БД, та користувача
        • Права для пользователей
      • Переглянути всі індекси таблиці
      • Копіювання, клонування таблиць
      • TEMPORARY TABLE
      • JOIN
      • ALTER TABLE
      • AUTO_INCREMENT
        • AUTO_INCREMENT у складовому індексі
      • LIMIT
        • Использование MySQL LIMIT
      • 10 Примеров входной загрузки данных из текстового файла в таблицы MySQL
      • Рішення
        • Выявление и удаление несвязанных записей
        • Выборка произвольных записей
        • Коректне сортування українських літер
        • Найти записи, которые присутствуют в одной таблице и отсутствуют во второй
        • Как удобно посмотреть данные...
        • Нахождение "дыр" в нумерации
        • Знайти дубликати полів в одній таблиці
        • Дані колонки 1 табл. перенести в 2 табл.
      • Функції
        • LAST_INSERT_ID()
        • GROUP_CONCAT
        • COUNT + DISTINCT
        • Функции для работы с датами и временем
      • Автоматизируйте создание бэкапов
      • mysqldump
        • Time Zone UTC
      • Результат запиту у файл
      • Результат запиту у змінну
      • Пособие по MySQL на Python
      • Змінні
      • Эмуляция функции row_number() в MySQL
      • Изучаем хранимые процедуры MySQL
      • SELECT DISTINCT
      • Dump всієї бази даних
      • Індекси
      • FOREIGN KEY
      • MAX(), MIN()
      • LENGTH, CHAR_LENGTH
      • Встановлення
    • MariaDB
    • PostgreSQL
      • Работа с базой данных PostgreSQL
      • Работаем с PostgreSQL через командную строку в Linux
    • Domains
      • Життєвий цикл доменів
      • Статус домена
    • SQLite, MySQL и PostgreSQL: сравниваем популярные реляционные СУБД
  • Linux
    • DNS
      • Как в DNS прописать 301 редирект
      • mail
        • SPF
          • Mirohost
        • _dmarc _domainkey
        • DKIM
        • Прописати ключі DKIM в exim
        • Листи з неіснуючим адресатом
    • Server
      • Zomro
        • pip
        • SSH-доступ по ключу (zomro)
        • venv
        • UnicodeEncodeError: 'latin-1' codec can't encode character
        • Mail Ports
        • Редірект з SSL-сертификатом на транзитному сайті
        • Редірект з SSL за допомогою .htaccess
      • Створення нового користувача з привілеями sudo в Ubuntu
      • SSH-доступ по ключу
      • Часовий пояс в Ubuntu 20.04
      • SSH-підключення командний рядок
      • Як встановити Python 3.9 (нижчу) на Ubuntu 22.04
      • Автозагрузка сервисов в Ubuntu
      • Підвищення безпеки SSH
      • Ubuntu Server
        • Art 01
    • Commands
      • adduser
      • apt
      • cat
      • ls
      • tar
      • ln
      • find
      • chmod
      • chown
      • mv
      • dig
      • ping
      • passwd
      • htpasswd
      • umask
      • usermode
      • history
      • cmp
      • chattr +i
    • Config
      • Keyboard
      • windows
      • My kbdswtch
      • Затримка при завантаженні системи
      • Files
        • /etc/resolv.conf
        • /boot/grub/grub.cfg
        • .config/user-dir.dirs
        • /etc/fstab
      • Як встановити шрифти
    • Apache
      • Встановлення
      • Подключить виртуальный хост
      • Файл .htaccess
        • Установка индексного файла
        • Фільтр IP-адрес
        • ModRewrite
          • Заборонити доступ за User-Agent
          • Перенаправити на іншу сторінку
          • Додавати слеш до адреси
        • Включити SSI
        • Виконувати скрипти CGI
        • Тимчасовий перехід з одного домену на інший
      • SSI
      • SSL
      • Відключити старт Apache з системою
      • Помилки
        • Скрипт не працює
        • CGI-скрипт не виводить кирилицю
        • Could not reliably determine
        • Permissions are missing on a component of the path
        • Symbolic link not allowed or link target not accessible
      • AddType, AddLanguage, AddCharset
    • Nginx
      • 301 редирект з www. та http: на https://(без www.)domain
    • Soft
      • SublimeText
        • Plugins
      • Firefox
      • Gwenview
      • inkscape
      • Double Commander
      • nano
      • mc
        • Знайти потрібний файл
      • meld / diffuse
      • hexedit
      • Kazam - відео з екрану
      • VeraCrypt
      • XnView MP
      • LibreOffice
      • xdotool
      • System Load Monitor
      • Battery Monitor
      • qBittorrent
    • Перетворення .RPM в .DEB
    • Bash
      • Конкатенация строк в Bash
      • Page
    • Файлові часові позначки в Linux: atime, mtime, ctime
    • Права доступу для файлів і каталогів
    • Зміна паролю root
    • Быстро удалить огромное количество файлов в каталоге
    • Як узнати версію Linux?
    • USB Flash ext4
    • Clear Cache
    • Доступ до спільної папки на Windows
    • Віртуальні консолі TTY1–TTY6
    • APT. Заборона оновлення
  • Різне
    • GitBook
    • Банковское округление
    • Ім’я користувача Youtube
  • Hard
    • Hardware
      • Acer Extensa
      • Таймер Feron TM22
      • WD My Book World Edition 2Tb
        • FTP
        • SSH
          • Проблеми
        • SSHFS
      • Canon PIXMA E3340
      • Термометри
    • Auto
      • Акумулятор
    • Electro
    • USB Flash recovery
Powered by GitBook
On this page
  • Как правильно редактировать файл /etc/fstab
  • Что такое файл /etc/fstab и для чего он нужен
  • Как выглядит файл /etc/fstab
  • Первый и второй столбцы: Устройство и точка монтирования
  • Третий столбец: Файловая система
  • Четвертый столбец: Опции монтирования
  • Пятый и шестой столбцы: Опции dump и fsck
  • Примеры записей в файл /etc/fstab
  1. Linux
  2. Config
  3. Files

/etc/fstab

Previous.config/user-dir.dirsNextЯк встановити шрифти

Last updated 3 months ago

Как правильно редактировать файл /etc/fstab

Оригинал: Автор: Nana Langstedt Свободный перевод: Алексей Дмитриев Дата перевода: 11 декабря 2007

Что такое файл /etc/fstab и для чего он нужен

Один из конфигурационных файлов в Линукс-системах носит имя fstab. Он содержит информацию обо всех разделах жесткого диска и других носителях информации в компьютере. Этот файл находится в каталоге /etc, вот почему полный путь к нему выглядит как /etc/fstab.

В /etc/fstab прописано, куда и как разделы винчестера и другие носители должны быть примонтированы. Если вы не имеете доступа к Windows разделу, не можете примонтировать CD, не в состоянии записать, как рядовой пользователь, файл на дискету, или испытываете трудности с CD-RW, то, скорее всего, у вас неверно сконфигурирован /etc/fstab. Редактируя этот файл, обычно решают все проблемы с монтированием.

Файл /etc/fstab это обычный текстовый файл, поэтому его можно редактировать в любом текстовом редакторе. Единственное требование - наличие прав суперпользователя. Так что, прежде чем приступать, войдите в систему как root или используйте команду su, чтобы получить права root.

Как выглядит файл /etc/fstab

В каждой конкретной системе файл /etc/fstab выглядит не так, как в другой, ведь разделы, устройства, и их свойства, различаются в разных системах. Но скелет структуры файла всегда одинаков. Вот пример содержимого файла /etc/fstab:

/dev/hda2   /               ext2  defaults             1 1

/dev/hdb1   /home           ext2  defaults             1 2

/dev/cdrom  /media/cdrom    auto  ro,noauto,user,exec  0 0

/dev/fd0    /media/floppy   auto  rw,noauto,user,sync  0 0

proc        /proc           proc  defaults             0 0

/dev/hda1   swap            swap  pri=42               0 0

Что же означает вся эта тарабарщина? Как легко заметить, каждая строка содержит информацию об одном разделе или устройстве. Первый столбец содержит имя устройства, второй - точку его монтирования, третий - тип файловой системы, четвертый - опции монтирования, пятый (число) - опции дампа, шестой (число) опции проверки файловой системы. Давайте подробно рассмотрим всю эту информацию.

Первый и второй столбцы: Устройство и точка монтирования

Первый и второй столбцы просты и понятны. Они содержат ровно то же самое, что вы пишете в командной строке, когда даете команду mount, то есть имя устройства (раздела) и точку его монтирования. Точка монтирования, указанная в /etc/fstab, является точкой монтирования по умолчанию. Эта та директория, куда будет примонтировано устройство, если вы не указали другой, когда давали команду mount.

Большинство дистрибутивов Линукса создают специальные директории для точек монтирования. Большинство дистрибутивов создают их в каталоге /mnt, некоторые (в том числе и SuSE), в каталоге /media. Как вы возможно догадались, глядя на распечатку fstab, я привела в качестве примера именно точки монтирования SuSE.

Что все это означает практически? Если я дам команду:

$ mount /dev/fd0/

...то моя дискета будет смонтирована в /media/floppy, потому что эта точка монтирования указана в /etc/fstab и поэтому используется по умолчанию. Вот если строчки /dev/fd0 в моем файле /etc/fstab не окажется, то команда mount будет сильно обескуражена, так как не будет знать, куда следует монтировать дискету.

Точки монтирования по умолчанию легко изменить, если они вас почему-либо не устраивают. Для этого нужно заменить директории в файле /etc/fstab на любые другие, реально существующие директории. Если подходящих не существует, то просто создайте их.

Некоторые разделы и устройства монтируются автоматически, в процессе загрузки системы. Взгляните на приведенный выше пример. Видите две строчки:

/dev/hda2   /       ext2   defaults    1 1
/dev/hdb1   /home   ext2   defaults    1 2

Они означают, что /dev/hda2 будет примонтирован в директорию /, а /dev/hdb1 - в директорию /home. Это произойдет автоматически, когда система загружается. Если этого не произойдет, то система не сможет работать, так как все программы находятся именно в директории /, и, если она не смонтирована, то и доступа к программам нет! Откуда система узнает, куда вы хотите примонтировать /dev/hda2, а куда /dev/hdb1? Посмотрев файл /etc/fstab, конечно.

Третий столбец: Файловая система

Третий столбец файла /etc/fstab указывает тип файловой системы раздела или устройства. Поддерживается множество различных файловых систем, но мы рассмотрим только наиболее употребительные.

ext2 и ext3 С большой вероятностью ваши Линукс-разделы отформатированы в Ext3. Раньше стандартом была система Ext2, но в наши дни почти все дистрибутивы используют по умолчанию Ext3 или ReiserFS. Ext3 более современная система, чем Ext2 и отличается от нее своей журналируемостью. Это, в практическом плане, означает, что, если вы обесточите ваш компьютер, вместо того, чтобы выключить его по всем правилам, то вы не потеряете информацию, и не будете долго ждать при следующем включении, пока ваш компьютер проверяет файловую систему.

reiserfs Вполне возможно, что ваши Линукс-разделы отформатированы в ReiserFS. Подобно Ext3, ReiserFS тоже журналируемая файловая система, но она является гораздо более "продвинутой". Многие дистрибутивы Линукс (включая SuSE) используют ReiserFS по умолчанию.

swap Своп значит подкачка. Файловая система типа "swap" используется в разделах подкачки.

vfat и ntfs Windows разделы используют либо Vfat, либо NTFS. В 9х сериях (95, 98, МЕ) применялась Vfat, более известная как FAT32, в сериях NT (NT, 2000, XP) используется NTFS. В 2000 и XP можно применять и Vfat тоже. Если вы хотите иметь возможность писать в свои Windows-разделы из Линукса, советую отформатировать их в Vfat, потому что в Линуксе запись в NTFS-разделы до сих пор может причинить головную боль.

auto Нет-нет, это не тип файловой системы :-) Опция "auto" просто означает, что тип файловой системы определяется автоматически. Если снова взглянете на пример файла /etc/fstab, приведенный выше, то увидите, что и floppy и CD-ROM - оба - имеют вместо типа файловой системы опцию "auto". Почему? - Дело в том, что в этих устройствах могут применяться различные типы файловых систем. Одна дискета может быть отформатирована для Windows, другая - для Линукс (Ext2). Довольно разумно позволить системе самой определить тип файловой системы на носителях вроде дискет и оптических дисков.

Четвертый столбец: Опции монтирования

В четвертом столбце перечислены все опции, с которыми устройство или раздел будут смонтированы. По совместительству, это еще и самый сложный для заполнения столбец, но, зная некоторые самые употребительные опции, вы избежите большинства недоразумений. Я рассмотрю только наиболее широко распространенные опции, а по поводу остальных - смотрите ман-страницу mount.

auto и noauto Если задана опция auto, то устройство будет смонтировано автоматически во время запуска компьютера (или по команде mount -a ). Эта опция включена по умолчанию. Если вам не нужно, чтобы устройство монтировалось автоматически, вы должны прописать опцию noauto в /etc/fstab. С опцией noauto, устройство или раздел могут быть смонтированы только явно.

exec и noexec Если хотите запускать двоичные программы, которые находятся в данном разделе, то применяйте опцию exec, а если не хотите - то noexec. Последнее может быть полезно, если на разделе содержатся программы, которые не могут работать в вашей системе, например Windows- приложения, либо программы, нежелательные к запуску по той или иной причине.

Опция exec включена по умолчанию, и очень хорошо, что включена. Представьте, что было бы, если бы вы по ошибке использовали для монтирования своего корневого раздела опцию noexec...

ro Монтирует файловую систему в режиме "только чтение".

rw Монтирует файловую систему в режиме "чтение и запись". Применение данной опции вылечит головную боль многих новых пользователей Линукс, рвущих волосы оттого, что не могут записывать: на дискету, в Windows-разделы или куда-либо еще.

sync and async Эти опции определяют как осуществляется ввод/вывод в данную файловую систему: синхронно или асинхронно. Обратите внимание, что в примере опция sync применена с дискетой. Попросту говоря, когда вы копируете файл на дискету, то запись физически происходит в тот самый момент, когда дана команда копировать. Если же применяется опция async, ввод и вывод происходят неодновременно (асинхронно). В случае с дискетой это означает, что физически запись может произойти много позже команды. В этом нет ничего плохого, и во многих случаях даже предпочтительно, но может иметь неприятные побочные следствия: если вытащить дискету из дисковода, не отмонтировав ее, скопированного файла на ней может не оказаться.

По умолчанию применяется опция async. Но, может быть, стоит для дискеты прописать sync, особенно если вы привыкли вытаскивать неотмонтированные дискеты, подобно тому, как это делается в Windows.

defaults По умолчанию включены следующие опции: rw, suid, dev, exec, auto, nouser и async.

Пятый и шестой столбцы: Опции dump и fsck

Дамп - это опция резервного копирования, а fsck - опция проверки файловой системы. Я не стану слишком много о них распространяться, так как для этого может понадобиться отдельная статья, но скажу несколько слов, чтобы вы не гадали, что они могут означать.

Пятый столбец файла /etc/fstab - это опция дампа, выраженная числом. От значения этого числа зависит, будет ли создаваться резервная копия данной файловой системы. Если это ноль, программа dump проигнорирует такую файловую систему. Как видно из примера, в большинстве строк в пятом столбце нули.

В шестой колонке опция программы fsck (filesystem check- проверка файловой системы). Программа fsck использует значение чисел в этом столбце, чтобы определить, в каком порядке проверять файловые системы. Если там ноль, то файловая система вообще не будет проверяться.

Примеры записей в файл /etc/fstab

Для примера мы разберем два случая, которые чаще прочих расстраивают новых пользователей Линукса: дискета и CD-ROM (хотя дискеты в последнее время употребляются все реже).

/dev/fd0 /media/floppy auto rw,noauto,user,sync 0 0

Эта строка означает, что дискета монтируется по умолчанию с директорию /media/floppy и что тип файловой системы при этом определяется автоматически. Это полезно, так как тип файловой системы на дискетах может быть различным. Особое внимание обратите на опции rw и user: они обязательно должны быть прописаны, если вы хотите монтировать дискету и записывать на нее, будучи рядовым пользователем. Если это не получается, проверьте файл /etc/fstab на предмет наличия этих опций. Еще обратите внимание на опцию sync. С таким же успехом может быть и async, по причинам, которые мы уже обсудили.

/dev/cdrom /media/cdrom auto ro,noauto,user,exec 0 0

Снова отметьте опцию user, позволяющую рядовому пользователю монтировать компакт диски. Опция ro установлена потому, что нет смысла монтировать CD-ROM в режиме "чтение-запись", ведь на него все равно ничего не запишешь. А вот опция exec очень кстати, если надо запустить какую-либо программу с компакт-диска.

Обратите также внимание на применение опции noauto как с дискетой, так и с CD-ROM, это означает, что они не будут автоматически смонтированы при запуске системы. Это очень разумно для съемных носителей, которых при запуске может просто не быть в дисководах, ведь нет смысла пытаться монтировать то, чего нет.

How to edit and understand /etc/fstab