Configure file system linux

Работа с файловой системой Linux

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

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

В этой статье мы рассмотрим как выполняется работа с файловой системой Linux в терминале. За основу возьмем семейство файловых систем ext2/3/4, так как они самые распространенные среди большого многообразия дистрибутивов Linux.

Основные команды

Для управления файловой системой ext в Linux используется целый набор команд из пакета e2progs. Сюда входят как команды для управления флагами файлов, создания и изменения файловых систем, так и утилиты для отладки файловой системы.

Рассмотрим основные утилиты, которые будем использовать:

  • badblocks — если у вас старый жесткий диск и на нем накопилось много битых блоков, вы можете с помощью этой утилиты пометить их все на уровне файловой системы, чтобы больше не использовать.
  • e2label — позволяет изменить метку раздела с файловой системой ext.
  • fsck — проверка файловой системы linux и исправление найденных ошибок
  • mkfs — позволяет создать файловую систему Linux.
  • resize2fs — изменить размер раздела с файловой системой
  • tune2fs — позволяет изменить файловую систему Linux, настроить ее параметры.

А теперь будет рассмотрена работа с файловой системой linux на примерах.

Работа с файловой системой в Linux

Перед тем как переходить к работе с реальным жестким диском важно попрактиковаться. Если сменить метку или проверить на битые сектора можно и рабочий диск, то создавать новую файловую систему, изменять ее размер, рискуя потерять данные на реальном диске не рекомендуется. Можно отделить небольшой раздел диска для экспериментов с помощью Gparted и выполнять все действия в нем. Допустим, у нас этот раздел будет называться /dev/sda6.

Создание файловой системы

Создать файловую систему linux, семейства ext, на устройстве можно с помощью команды mkfs. Ее синтаксис выглядит следующим образом:

sudo mkfs -t тип устройство

Доступны дополнительные параметры:

  • — проверить устройство на наличие битых секторов
  • -b — размер блока файловой системы
  • -j — использовать журналирование для ext3
  • -L — задать метку раздела
  • -v — показать подробную информацию о процессе работы
  • -V — версия программы

Создаем файловую систему на нашем устройстве. Будем создавать ext3:

sudo mkfs -t ext4 -L root /dev/sda6

Creating filesystem with 7847168 4k blocks and 1962240 inodes
Filesystem UUID: 3ba3f7f5-1fb2-47af-b22c-fa4ca227744a
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

Изменение метки файловой системы

Утилита e2label позволяет изменить или посмотреть метку раздела диска. Принимает всего два параметра — устройство и новую метку если нужно.

sudo e2label /dev/sda6

sudo e2label /dev/sda6 root1

Настройка файловой системы linux

Различные параметры файловой системы, такие как размер блока данных, иноды или зарезервированное место под данные пользователя root можно настроить. Для этого существует утилита tune2fs.

Синтаксис команды очень прост:

$ tune2fs опции устройство

Поддерживаются следующие опции:

  • -j — создать файл журнала. Позволяет превратить файловую систему ext2 в ext3.
  • -J — настроить параметры журнала
  • -l — получить содержимое суперблока
  • -L — изменить метку раздела
  • -m — изменить процент дискового пространства, зарезервированного для суперпользователя
  • -M — изменить последнюю папку монтирования
  • -U — задать UUID файловой системы
  • -C — изменить значение счетчика монтирования
  • -T — изменить последнюю дату проверки файловой системы
  • — изменить периодичность проверок файловой системы с помощью fsck
  • -O — изменить опции файловой системы.
Читайте также:  Локальный принтер не работает как подключить

Изменить размер зарезервированного места для суперпользователя до пяти процентов:

sudo tune2fs -m 5 /dev/sda6

Setting reserved blocks percentage to 5% (392358 blocks)

Посмотреть информацию из суперблока, эта команда показывает всю доступную информацию параметрах файловой системы:

Filesystem volume name: root
Last mounted on: /
Filesystem UUID: 3ba3f7f5-1fb2-47af-b22c-fa4ca227744a
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent flex_bg spar
se_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags: signed_directory_hash
Default mount options: user_xattr acl
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux

Изменить счетчик количества монитрований:

tune2fs -C 0 /dev/sda6

Setting current mount count to 0

Думаю тут смысл понятен, нужно только немного со всем этим поэкспериментировать.

С помощью опции -O мы вообще можем превратить нашу ext3 в ext4 следующей командой:

sudo tune2fs -O extents,uninit_bg,dir_index

После этого действия нужно выполнить проверку файловой системы на ошибки в fsck. Подробнее об этом поговорим ниже.

sudo fsck -np /dev/sda6

Таким образом вы можете изменить файловую систему linux, и настроить по своему усмотрению любые ее параметры.

Изменение размера файловой системы Linux

Раньше такая функция поддерживалась в утилите parted, но потом ее убрали и для этого действия приходится использовать утилиту из набора e2fsprogs — resize2fs.

Запустить утилиту очень просто. Ей нужно передать всего два параметра:

$ resize2fs [опции] устройство размер

Доступны также опции:

  • -M уменьшить файловую систему до минимального размера
  • -f — принудительное изменение, не смотря на потерю данных
  • -F — очистить буфер файловой системы

Размер передается, как и во многих других утилитах, целым числом с указанием единиц измерения, например, 100М или 1G.

Для примера уменьшим размер нашего раздела до 400 Мегабайт:

sudo resize2fs /dev/sda6 400M

Resizing the filesystem on /dev/sda7 to 102400 (4k) blocks.
The filesystem on /dev/sda7 is now 102400 blocks long

Проверка файловой системы Linux

При неправильном отключении носителей или неожиданном отключении питания, файловая система Linux может быть повреждена. Обычно проверка корневой файловой системы и домашнего каталога на ошибки выполняется во время загрузки. Но если эта проверка не была выполнена или нужно поверить другой носитель, придется все делать вручную. Для этого есть утилита fsck.

$ fsck [опции] устройство

  • -p — автоматическое восстановление
  • -n — только проверка, без восстановления
  • -y — ответить да на все запросы программы
  • — проверить на битые сектора (аналог badblocks
  • -f — принудительная проверка, даже если раздел помечен как чистый
  • -j — внешний журнал файловой системы

Проверка файловой системы Linux выполняется такой командой, проверим диск /dev/sda6, заметьте, что диск должен быть не примонтирован:

sudo fsck -a /dev/sda6

root: clean, 11/32704 files, 37901/102400 blocks

Дефрагментация файловой системы

Хотя и фрагментация нехарактерное явление для файловых систем семейства ext, при очень интенсивном использовании может накапливаться фрагментированость, что будет замедлять работу файловой системы. Для дефрагментации можно использовать стандартную утилиту e4defrag. Просто выполните:

Чтобы проверить нужна ли дефрагментация в Linux выполните эту же команду с опцией -c:

Total/best extents 26247/24953
Average size per extent 1432 KB
Fragmentation score 0
[0-30 no problem: 31-55 a little bit fragmented: 56- needs defrag]
This device (/dev/sda6) does not need defragmentation.
Done.

В поле Fragmentation score отображен процент фрагментации, как видите, у меня 0, нормой считается до 30, 31-55 небольшие проблемы, и больше 56 — нужна дефрагментация.

Выводы

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

Источник

Ubuntu Documentation

Introduction to fstab

The configuration file /etc/fstab contains the necessary information to automate the process of mounting partitions. In a nutshell, mounting is the process where a raw (physical) partition is prepared for access and assigned a location on the file system tree (or mount point).

  • In general fstab is used for internal devices, CD/DVD devices, and network shares (samba/nfs/sshfs). Removable devices such as flash drives *can* be added to fstab, but are typically mounted by gnome-volume-manager and are beyond the scope of this document.
  • Options for mount and fstab are similar.
  • Partitions listed in fstab can be configured to automatically mount during the boot process.
  • If a device/partition is not listed in fstab ONLY ROOT may mount the device/partition.
  • Users may mount a device/partition if the device is in fstab with the proper options.
Читайте также:  Source the file linux

For usage with network shares, see SettingUpNFSHowTo , SettingUpSamba and SSHFS.

Fstab File Configuration

The syntax of a fstab entry is :

fields

description

The device/partition (by /dev location or UUID) that contain a file system.

The directory on your root file system (aka mount point) from which it will be possible to access the content of the device/partition (note: swap has no mount point). Mount points should not have spaces in the names.

Type of file system (see LinuxFilesystemsExplained).

Mount options of access to the device/partition (see the man page for mount).

Enable or disable backing up of the device/partition (the command dump). This field is usually set to 0, which disables it.

Controls the order in which fsck checks the device/partition for errors at boot time. The root device should be 1. Other partitions should be 2, or 0 to disable checking.

Please refer to the examples section for sample entries. We have provided you some detailed explanations of each field:

Device

By default, Ubuntu now uses UUID to identify partitions.

To list your devices by UUID use blkid

Alternative ways to refer to partitions:

  • Label : LABEL=label
  • Network ID
    • Samba : //server/share
    • NFS : server:/share
    • SSHFS : sshfs#user@server:/share
  • Device : /dev/sdxy (not recommended)

Mount point

A mount point is a location on your directory tree to mount the partition. The default location is /media although you may use alternate locations such as /mnt or your home directory.

You may use any name you wish for the mount point, but you must create the mount point before you mount the partition.

For example : /media/windows

File System Type

You may either use auto or specify a file system. Auto will attempt to automatically detect the file system of the target file system and in general works well. In general auto is used for removable devices and a specific file system or network protocol for network shares.

Examples:

  • auto
  • vfat — used for FAT partitions.
  • ntfs, ntfs-3g — used for ntfs partitions.
  • ext4, ext3, ext2, jfs, reiserfs, etc.
  • udf,iso9660 — for CD/DVD.
  • swap.

Options

Options are dependent on the file system.

You may use «defaults» here and some typical options may include :

Ubuntu 8.04 and later uses relatime as default for linux native file systems. You can find a discussion of relatime here : http://lwn.net/Articles/244829. This relates to when and how often the last access time of the current version of a file is updated, i.e. when it was last read.

  • defaults = rw, suid, dev, exec, auto, nouser, and async.
  • ntfs/vfat = permissions are set at the time of mounting the partition with umask, dmask, and fmask and can not be changed with commands such as chown or chmod.

    I advise dmask=027,fmask=137 (using umask=000 will cause all your files to be executable). More permissive options would be dmask=000,fmask=111.

    For mounting samba shares you can specify a username and password, or better a credentials file. The credentials file contains should be owned by root.root with permissions = 0400 .

    Common options :

    • sync/async — All I/O to the file system should be done (a)synchronously.
    • auto — The filesystem can be mounted automatically (at bootup, or when mount is passed the -a option). This is really unnecessary as this is the default action of mount -a anyway.
    • noauto — The filesystem will NOT be automatically mounted at startup, or when mount passed -a. You must explicitly mount the filesystem.
    • dev/nodev — Interpret/Do not interpret character or block special devices on the file system.
    • exec / noexec — Permit/Prevent the execution of binaries from the filesystem.
    • suid/nosuid — Permit/Block the operation of suid, and sgid bits.
    • ro — Mount read-only.
    • rw — Mount read-write.
    • user — Permit any user to mount the filesystem. This automatically implies noexec, nosuid,nodev unless overridden.
    • nouser — Only permit root to mount the filesystem. This is also a default setting.
    • defaults — Use default settings. Equivalent to rw, suid, dev, exec, auto, nouser, async.
    • _netdev — this is a network device, mount it after bringing up the network. Only valid with fstype nfs.
    Читайте также:  Драйвер для принтера hp laserjet 1320 для виндовс 10

    For specific options with specific file systems see:

    This field sets whether the backup utility dump will backup file system. If set to «0» file system ignored, «1» file system is backed up.

    Dump is seldom used and if in doubt use 0.

    Pass (fsck order)

    Fsck order is to tell fsck what order to check the file systems, if set to «0» file system is ignored.

    Often a source of confusion, there are only 3 options :

    • 0 == do not check.
    • 1 == check this partition first.
    • 2 == check this partition(s) next

    In practice, use «1» for your root partition, / and 2 for the rest. All partitions marked with a «2» are checked in sequence and you do not need to specify an order.

    Use «0» to disable checking the file system at boot or for network shares.

    You may also «tune» or set the frequency of file checks (default is every 30 mounts) but in general these checks are designed to maintain the integrity of your file system and thus you should strongly consider keeping the default settings.

    Examples

    The contents of the file will look similar to following:

    NOTE : These network share examples (samba, nfs, and sshfs) assume you have already set up the appropriate server.

    File System Specific Examples

    Here are a couple of basic examples for different file system types. I will use /dev/sdb1 or /dev/hda2 for simplicity, but remember that any /dev location, UUID= , or LABEL= can work.

    Extended file systems (ext)

    Specifically, these are the ext2, ext3, and ext4 filesystems that are common as root filesystems in Linux. The main difference between ext2 and ext3 is that ext3 has journaling which helps protect it from errors when the system crashes. The more modern ext4 supports larger volumes along with other improvements, and is backward compatible with ext3.

    A root filesystem:

    A non-root file system, ext2:

    File Allocation Table (FAT)

    Specifically, fat16 and fat32, which are common for USB flash drives and flash cards for cameras and other devices.

    New Technology File System (NTFS)

    NTFS is typically used for a Windows partition.

    For a list of locales available on your system, run

    Hierarchical File System (HFS)

    HFS, or more commonly, HFS+, are filesystems generally used by Apple computers.

    For Read/Write mounting:

    Note: if you want to write data on this partition, you must disable the journalization of this partition with diskutil under Mac OS.

    Note: if you want to have access to your files on Ubuntu, you must change the permission of the folders and contained files you want to access by doing in the apple terminal:

    «Staff» group should have appeared in this folder’s info. You can do this on Music and Movies to access these files from Ubuntu.

    Editing fstab

    Please, before you edit system files, make a backup. The -B flag with nano will make a backup automatically.

    To edit the file in Ubuntu, run:

    To edit the file in Kubuntu, run:

    To edit the file directly in terminal, run:

      -B = Backup origional fstab to /etc/fstab

    .

  • -w = disable wrap of long lines.
  • Useful Commands

    To view the contents of /etc/fstab, run the following terminal command:

    To get a list of all the UUIDs, use one of the following two commands:

    To list the drives and relevant partitions that are attached to your system, run:

    To mount all file systems in /etc/fstab, run:

    Remember that the mount point must already exist, otherwise the entry will not mount on the filesystem. To create a new mount point, use root privileges to create the mount point. Here is the generalization and an example:

    Other Resources

    Here are some more links for your convenience:

    How to fstab (from the Ubuntu Forums)

    Fstab (последним исправлял пользователь ckimes 2017-08-21 18:03:58)

    The material on this wiki is available under a free license, see Copyright / License for details
    You can contribute to this wiki, see Wiki Guide for details

    Источник

    Поделиться с друзьями
    КомпСовет
    Adblock
    detector