Новичкам NetBSD 4.0.1. Создание раздела для /usr

tzar аватар

В данной статье я не буду пытаться переписывать мануалы по установке, на данном сайте в разделе руководство уже представлено довольно хорошее, поэтому я лишь остановлюсь на одном моменте, который может в дальнейшем облегчить эксплуатацию системы. Описан здесь будет вопрос создания раздела /usr

При установке не стоит сразу создавать раздел для /usr, его лучше создать после установки, с параметрами отличными от значений по умолчанию. Это актуально, если жёсткий диск невелик (3Гб как у меня) и нужно делать компиляцию ядра, добавляя в стандартное (GENERIC) ядро дополнительные функции, как vlan'ы.
Итак, мы установили ОС, не создавая оный раздел. Создавая раздел при установке, он создаётся со значениями по умолчанию для такого параметра как размер записей inodes (см. http://ru.wikipedia.org/wiki/Inode ), чем больше маленьких файликов, тем количество записей inodes быстрее заканчивается,чем дисковое пространство, и может получиться, что диск заполнен на половину, а при попытке записи на него пустого файла, система выдаёт сообщение, что нет свободного места на диске (либо No space left on device, либо create/symlink failed, no inodes free).

Итак, для создания раздела(файловой системы - ФС) нам нужна команда disklabel (http://www.daemon-systems.org/man/disklabel.8.html) и его форматирования newfs (http://www.daemon-systems.org/man/newfs.8.html)

1. В моей системе диски именуется wd0. Создадим ФС
disklabel -i wd0
В результате мы получим приглашение partition> для ввода команд
Замечу, что создание нового раздела производится прописными буквами (a..z), а ввод команд строчными (A..Z)
Для отображения таблицы разделов введём P после приглашения:
partition> P
В первом столбце буквы суффиксы для обозначения диска, например, разделу f соответствует устройство /dev/wd0f
Учитывая, что последним у нас раздел f, введём для создания ФС:
partition> g
Далее ввёдём параметры создаваемой ФС
Filesystem type [unused]: 4.2BSD #тип файловой системы
Start offset...: f #после какого раздела/ФС, в нашем случае f
Partition size...: $ #размер раздела, $ - всё оставшееся дисковое пространство
Далее запишем изменения в таблицу разделов:
partition> W
на сопутствующий вопрос, отвечаем утвердительно (иначе сохранения не будет):
Label disk [n]? y
Выход из программы:
partition> Q
2. Отформатируем раздел:
newfs -O 1 -b 4096 -i 512 /dev/wd0g
Итак, сделаем небольшое резюме по параметрам ведённой команды:
-O 1 - тип файловой системы, 1 - FFSv1
-b 4096 - минимально возможное значение этого параметра, означает размер блока в байтах
-i 512 минимальное значение записи inode, по умолчанию, для раздела больше 1Гб это значение равно 16Кбайт
3. Смонтируем его в /mnt и скопируем в него содержимое существующего каталога /usr
#mount /dev/wd0g /mnt
#ls -Rl /usr > /mnt/usr.list
#cp -R /usr/* /mnt
Команда копирования не переносит значения владельцев (пользователь:группа), выставляя всем root:wheel, дальнейшей работе это не мешает, запускается всё,только postfix выдаёт предупреждения. Для исправления этой ситуации вторая команда создаёт листинг, ищем файлы в нём с правами не root:wheel и для соответстующих в /mnt меняем владельца/группу (их порядка 10-15 файлов)
Я не очищаю оригинальный каталог /usr, ибо в начальном виде своём он весит немного и inodes он занимает тоже не много. Хотя можно загрузиться с live-cd и очистить его, или каким-либо другим доступным способом. Но другой довод в его "неочистку", это откат системы в случае установки программы, рушащей системы - не проверял, хотя возможность интересная, если не брать во внимание, что конфиги-то пишутся не только в /usr
4. Настроим автоматическое монтирование при старте системы. Добавим в /etc/fstab строку:
/dev/wd0g /usr ffs rw,softdep 1 2
И перезагружаем систему

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".
tzar аватар

Если использовать в системе

Если использовать в системе коллекцию портов и компилировать ядро, для комфортной работы, раздел /usr нужно создавать размером не менее 1.2Гб