18.07.2016

Работа с дисками и разделами в Linux

Форматирование диска или раздела в Линукс


Определяемся с файловой системой Linux для текущей задачи:

- Ext4: журналируемая файловая система, используемая Linux. Основана на файловой системе ext3, которая является файловой системой по умолчанию во многих дистрибутивах Linux.

- Ext3: надёжная, протестированная и многократно проверенная файловая система Linux систем, рекордов скорости не ставит, в большинстве случаев - оптимальный выбор.

- Xfs: файловая система для использования в файловых хранилищах, особенно файлов огромных размеров (iso-образы дистрибутивов и фильмы).




Создаем раздел:

cfdisk /dev/sdb

Выбираем [new] -> [primary] -> size (in MB): 111 -> [write] -> [yes] -> [quit]

Создаем файловую систему:

mkfs -t файловая_система раздел

файловая_система:
- один из доступных системе типов, например ext4, ext3, jfs, xfs ...

раздел:
- имя форматируемого раздела, например /dev/sdb1. В нашем примере это выглядит так:

mkfs -t ext4 /dev/sdb1

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


Всё нижеописанное делается на ОТМОНТИРОВАННОЙ файловой системе!
Внимание при форматировании в ext3 и ext4, для пользователя root резервируется 5% места. Чтобы убрать 5 процентное резервирование места для root в ext3 и ext4 нужно дать команду:
tune2fs -m 0 /dev/sdb1

После этого простому пользователю будет доступно всё место.

Так же имеет место быть принудительная проверка диска после некоторого количества загрузок. Если вам это не нужно, процедуру можно отменить командой:
tune2fs -c 0 /dev/sdb1
Либо сделать так, чтобы проверка происходила реже, например, 1 раз в 30 загрузок:
tune2fs -c 30 /dev/sdb1

Просмотреть свойства файловой системы можно командой
tune2fs -l /dev/sdb1
Информация о разделах винчестера

Иногда требуется узнать, какие разделы на винчестере есть и какая там файловая система. Для того, чтобы узнать информацию о разделах жесткого диска, набираем от root пользователя:
fdisk -l /dev/sdb

в ответ получаем:

Disk /dev/sda: 160.0 GB, 160041885696 bytes 255 heads, 63 sectors/track, 19457 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0xd0f4738c
Device Boot Start End Blocks Id System /dev/sda1 1 61 489951 82 Linux swap / Solaris /dev/sda2 * 15567 19457 31254457+ 83 Linux /dev/sda3 62 15566 124543912+ 83 Linux

Откуда видим: есть три раздела, первый из них (/dev/sda1) это раздел подкачки (500 мегабайт). Второй раздел (/dev/sda2) на 30Гб, трейтий (/dev/sda3) на 120Гб. Активный раздел (который сейчас используется операционной системой) помечен звёздочкой. Узнать, на каком разделе вы сейчас работаете, можно с помощью команды:
df .

точка на конце обязательна; получим:

Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda2 85864764 2733992 83130772 4% /home
собственно то же, что и в случае с fdisk -l == именно информацию о разделе.

Монтирование при старте системы


создаем точку монтирования (например data)
mkdir /data

Находим идентификатор диска UUID
blkid
или
ls -l /dev/disk/by-uuid

находим нужный идентификатор диска.

в /etc/fstab добавляем
например так
blkid / grep 'sdb' | awk {print $2}' >> /etc/fstab
и правим новую строку добавленную строку например в такую
UUID="5e342d51a-34we-567a-12d3" /data ext4 defaults 0 0

UUID="5e342d51a-34we-567a-12d3" — идентификатор диска, который мы монтируем
/data — каталог, в который монтируем диск
ext4 — файловая система
defaults — стандартные опции. Полный их перечень можно посмотреть man.
0 — отключает создание резервных копий при помощи утилиты dump,
0 - отключает проверку диска.

проверяем монирование
mount /data




Создание шифрованого раздела


LUKS с dm-crypt очень удобен для шифрования разделов диска, он позволяет иметь
несколько паролей для одного раздела, так же с легкостью менять их. Чтобы проверить доступность использование LUKS, наберите:
cryptsetup --help.


Для начала создайте раздел, если необходимо


fdisk /dev/sdc #Создаем раздел FDISKом (см выше)

dd if=/dev/urandom of=/dev/sdc1 status=progress# Опционально. Только для параноиков и ооочень долго. см ниже
cryptsetup -y luksFormat /dev/sdc1 # Это уничтожит все данные на sdc1
cryptsetup luksOpen /dev/sdc1 sdc1
mkfs.ext3 /dev/mapper/sdc1 # Будет создана файловая система ext3


Монтирование шифрованого раздела
cryptsetup luksOpen /dev/sdc1 sdc1
mount -t ext3 /dev/mapper/sdc1 /mnt

Размонтирование шифрованого раздела

# umount /mnt
# cryptsetup luksClose sdc1

killall -USR1 dd
тогда в консоль выполнения dd буде выведены данные по заполнению диска рандомными значениями


Если паранойя не сильно прет то можем забить блоками по 4к:
dd if=/dev/urandom of=/dev/sdc1 bs=4K status=progress

Сгенерить рандомный файл s.key
dd if=/dev/urandom count=1 > s.key

Если нужен файл (500 мб) забиваем нулями
dd if=/dev/zero of=./cryptfile.crypt bs=1M count=500


Добавление,удаление и смена пароля для ключа шифрованного раздела:


Добавим еще один ключ для доступа
cryptsetup luksAddKey /dev/sdb1
Вводим текущий пароль (или их может быть несколько)

Enter any LUKS passphrase:

Далее вводим новый пароль для нового слота.

Enter new passphrase for key slot:

Смотрим на результат
cryptsetup luksDump /dev/sdb1
Теперь когда у нас есть второй слот
Key Slot 0: ENABLED
Key Slot 1: ENABLED
Можно удалить первый - он же нулевой

cryptsetup luksDelKey 0

Комментариев нет :

Отправить комментарий