Третья лаба по операционным системам

1. Информация о диске

user@ubuntu:~$ sudo fdisk -l
[sudo] password for user: 

Диск /dev/sda: 21.5 Гб, 21474836480 байт
255 головок, 63 секторов/треков, 2610 цилиндров, всего 41943040 секторов
Units = секторы of 1 * 512 = 512 bytes
Размер сектора (логического/физического): 512 байт / 512 байт
I/O size (minimum/optimal): 512 bytes / 512 bytes
Идентификатор диска: 0x0000d596

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sda1   *          63    40098239    20049088+  83  Linux
/dev/sda2        40098240    41929649      915705    5  Расширенный
/dev/sda5        40098303    41929649      915673+  82  Linux своп / Solaris

Диск /dev/sdb: 19.2 Гб, 19171721216 байт
255 головок, 63 секторов/треков, 2330 цилиндров, всего 37444768 секторов
Units = секторы of 1 * 512 = 512 bytes
Размер сектора (логического/физического): 512 байт / 512 байт
I/O size (minimum/optimal): 512 bytes / 512 bytes
Идентификатор диска: 0x00000000

На диске /dev/sdb отсутствует верная таблица разделов

2) Графическая утилита для работы с диском

user@ubuntu:~$ sudo cfdisk /dev/sdb

3) Утилита для работы с диском

user@ubuntu:~$ sudo fdisk /dev/sdb
Устройство не содержит ни верной таблицы разделов DOS, ни метки диска Sun, SGI или OSF
Building a new DOS disklabel with disk identifier 0x0e28dead.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Предупреждение: неверный флаг 0x0000 таблицы разделов 4 будет исправлен записью

Команда (m для справки): m
Действие команды
   a   переключение флага загрузки
   b   редактирование метки диска bsd
   c   переключение флага dos-совместимости
   d   удаление раздела
   l   список известных типов файловых систем
   m   вывод этого меню
   n   добавление нового раздела
   o   создание новой пустой таблицы разделов DOS
   p   вывод таблицы разделов
   q   выход без сохранения изменений
   s   создание новой чистой метки диска Sun
   t   изменение id системы раздела
   u   изменение единиц измерения экрана/содержимого
   v   проверка таблицы разделов
   w   запись таблицы разделов на диск и выход
   x   дополнительная функциональность (только для экспертов)

4) Получить разделы

user@ubuntu:~$ sudo fdisk -l /dev/sdb

Диск /dev/sdb: 19.2 Гб, 19171721216 байт
255 головок, 63 секторов/треков, 2330 цилиндров, всего 37444768 секторов
Units = секторы of 1 * 512 = 512 bytes
Размер сектора (логического/физического): 512 байт / 512 байт
I/O size (minimum/optimal): 512 bytes / 512 bytes
Идентификатор диска: 0x9b3a5615

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sdb1            2048     4196351     2097152   83  Linux
/dev/sdb2         4196352     8390655     2097152   83  Linux
/dev/sdb3         8390656    12584959     2097152   83  Linux
/dev/sdb4        12584960    37444767    12429904    5  Расширенный
/dev/sdb5        12587008    16781311     2097152   83  Linux
/dev/sdb6        16783360    20977663     2097152   83  Linux
/dev/sdb7        20979712    25174015     2097152   83  Linux
/dev/sdb8        25176064    29370367     2097152   83  Linux
/dev/sdb9        29372416    37444767     4036176   83  Linux

5) Форматирование

user@ubuntu:~$ mkfs // здесь нажать два раза TAB
mkfs          mkfs.cramfs   mkfs.ext3     mkfs.ext4dev  mkfs.msdos    mkfs.vfat     
mkfs.bfs      mkfs.ext2     mkfs.ext4     mkfs.minix    mkfs.ntfs 

По заданию нужны:

  • NTFS mkfs.ntfs
  • FAT32 mkfs.vfat
  • EXT2 mkfs.ext2
  • EXT3 mkfs.ext3
  • EXT4 mkfs.ext4

6) Отформатировать /dev/sdb2 в файловую систему ext4

Можно использовать 3 эквивалента (mkfs -type ext2 или mk2fs или mkfs.ext2)

user@ubuntu:~$ sudo mkfs.ext4 /dev/sdb2
mke2fs 1.42 (29-Nov-2011)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
131072 inodes, 524288 blocks
26214 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=536870912
16 block groups
32768 blocks per group, 32768 fragments per group
8192 inod'ов в группе
Superblock backups stored on blocks: 
    32768, 98304, 163840, 229376, 294912

Allocating group tables: done                            
Сохранение таблицы inod'ов: done                            
Creating journal (16384 blocks): done /// <<<<----- Создан журнал
Writing superblocks and filesystem accounting information: done 

7) Проверить на ошибки

user@ubuntu:~$ sudo fsck.ext4 /dev/sdb2
e2fsck 1.42 (29-Nov-2011)
/dev/sdb2: clean, 11/131072 files, 25388/524288 blocks
Чисто)

8) На счет swap (id=82)

Поле Id определяет предполагаемое назначение раздела.

  • Тип 82 означает раздел подкачки Linux,
  • Тип 83 – раздел для хранения данных. (Usually 83 is used for ext2/3/4)
  • Тип 9 — файловая система FAT32.

Полный список поддерживаемых типов, нажмите L внутри утилиты fdisk mkswap — создание раздела подкачки swapon — активизация раздела подкачки

user@ubuntu:~$ sudo mkswap /dev/sdb3 -L MyLabel
Setting up swapspace version 1, size = 2097148 KiB
LABEL=MyLabel, UUID=cf7e3561-3b62-4028-b99e-3e13f9442a59
user@ubuntu:~$ sudo swapon -L MyLabel или user@ubuntu:~$ sudo swapon /dev/sdb3

Посмотреть swap

user@ubuntu:~$ swapon -s # или её аналог cat /proc/swaps
Filename                Type        Size    Used    Priority
/dev/sda5                               partition   915668  2476    -1
/dev/sdb3                               partition   2097148 0   -2

Удалить swap раздел

user@ubuntu:~$ sudo swapoff /dev/sdb3

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

sudo blkid

Теперь пропишем строку в /etc/fstab

echo "UUID=<UUID swap-раздела> swap swap defaults 0 0"| sudo tee -a /etc/fstab

9) На счет размер блока читаем мануалы

man mkfs.ntfs

[-c cluster-size ] # <===

NAME
       mkntfs - create an NTFS file system

SYNOPSIS
       mkntfs [options] device [number-of-sectors]

       mkntfs [ -C ] [ -c cluster-size ] [ -F ] [ -f ] [ -H heads ] [ -h ] [ -I ] [ -L volume-label ] [ -l ] [ -n ] [ -p part-start-sect ]
       [ -Q ] [ -q ] [ -S sectors-per-track ] [ -s sector-size ] [ -T ] [ -U ] [ -V ] [ -v ] [ -z mft-zone-multiplier ] [ --debug ] device
       [ number-of-sectors ]
...

10) Метка устройства отдельной командой

e2label или dosfslabel от ситуации

user@ubuntu:~$ sudo e2label /dev/sdb2 02242-GO

11) Посмотрим на метки и файловые системы

user@ubuntu:~$ sudo blkid /dev/sdb*
/dev/sdb1: UUID="aefb15b0-c95f-40c2-adce-aaa6ec985866" TYPE="ext4" 
/dev/sdb2: UUID="0D8A536E209EF669" TYPE="ntfs" 
/dev/sdb3: LABEL="MyLabel" UUID="cf7e3561-3b62-4028-b99e-3e13f9442a59" TYPE="swap" 
/dev/sdb6: UUID="4DDF-251C" TYPE="vfat" 

также можно посмотреть на смонтированных

user@ubuntu:~$ df -T

12) Подготовка к монтированию, для этого надо создать каталог

  • pwd - где мы находимся
  • cd ../..
  • cd mnt
sudo mkdir vetrov
cd vetrov
sudo mkdir ntfs ext2 ext3 ext4 fat32
ls - содержимое

13) Монтирвоание

sudo mount -t ntfs /dev/sda* /mnt/*
user@ubuntu:~$ sudo mount -t ntfs /dev/sdb2 /mnt/vetrov/ntfs

14) Автоматическое монтирование /etc/fstab

раздел_винчестера точка_монтирования файловая_система опции_монтирования два_вспомогательных_числа /mnt/vetrov

Опции:

Опция Описание
defaults Использовать настройки по умолчанию. То есть такие: rw,suid,dev,exec,auto,nouser,async.
rw / ro Разрешено чтение и запись / Разрешено только чтение
suid / nosuid Разрешение / Блокировка работы suid, и sgid бит
dev / nodev Интерпретировать / не интерпретировать блок специальных устройств на файловой системе.
exec / noexec Разрешить выполнять двоичные файлы находящиеся на этом диске / Запретить
auto / noauto Устройство будет устанавливаться автоматически при загрузке / Не будет
nouser / user Запрещение монтирование от всех кроме root (nouser) / Разрешение монтировать от лица любого пользователя
async / sync Запись и чтение на диске будут производиться асинхронно / Синхронно

Вспомогательные числа:

  • 1ое число
    Возможные значения 0 или 1 – означает, включить/выключить резервное копирование файловой системы при помощи команды dump. Устаревшая опция.

  • 2ое число Возможные значения 0, 1, 2, – означает порядок, в котором файловая система должна быть проверена при загрузке:

    • 0 – не проверять.
    • 1 – должна проверяться первой и использоваться как корневая.
    • Для всех остальных систем ставится 2.
sudo nano /etc/fstab # редактор файла

15) Создание файла заданного размера

user@ubuntu:~$ dd if=/dev/zero of=filename bs=100M count=5
5+0 записей считано
5+0 записей написано
скопировано 524288000 байт (524 MB), 3,09439 c, 169 MB/c

Похожие записи

Какой язык программирования учить первым?

Для начало необходимо решить как Вам больше нравится: "начинать со сложного" или "начинать с простого". Можно провести аналогию с обучением вождения на автоматической коробке передач и механическим аналогом. Автомат - начинаем с простого, механика - со сложного.

Как запускать shell (*.sh) скрипты?

Shell - это один из командных интерпретаторов, поставляемых вместе с ОС unix. Программа на языке Shell называется скриптом. Shell скрпитам указывают расширение *.sh и работают они Unix системах. Если вам надо запустить shell скрипт в windows, то можно установить подсистему Linux Ubuntu или установить отдельно интерпретатор Shell для windows.

NPM и proxy

В посте приводятся команды для конфигурирования npm внутри сети с прокси-сервером