Рейтинговые книги
Читем онлайн Linux: Полное руководство - Денис Колисниченко

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 48 49 50 51 52 53 54 55 56 ... 158

Привыкайте к возможностям подстановки аргументов командной оболочкой bash: перейти в этот каталог можно командой

$ cd /lib/mod*/`uname -r`/build

Там лежит файл .config, хранящий текущие настройки ядра (имя файла начинается с точки, поэтому он считается скрытым: чтобы увидеть его по команде ls, пользуйтесь ключом ). Найдите в нем строку СОNFIG_QUOTA и убедитесь, что значение этого параметра равно «y». Далее обратите внимание на формат квот, строки CONFIG_QFMT_V<x>, где x = 1 или 2. Версия 1 — это старый формат, использовавшийся в ядрах до версии 2.6. Если ваш дистрибутив основан на ядре 2.4, должен быть включен старый формат. Он отличается именами файлов квот.

Ту же самую проверку (при необходимости — настройку) можно выполнить и с помощью диалогового конфигуратора. Чтобы запустить его, выполните одну из следующих команд:

♦ make menuconfig: работает в консоли, предлагает текстовые меню и кнопки;

♦ make config: работает в консоли, задает вопросы;

♦ make xconfig: работает в графическом режиме при запущенной системе X Window;

♦ make gconfig: то же самое, только для оконной среды GNOME.

На рис. 7.2 показано окно конфигуратора ядра для оконной среды GNOME. Обратите внимание, что квоты поддерживаются только для файловых систем ext2, ext3 и ReiserFS.

Проверьте, установлены ли у вас утилиты квотирования, командой

# ls {/sbin,/usr/sbin,/usr/bin}/*quota*

Скачать пакет этих утилит можно из репозитория Сизиф, поддерживаемого командой разработчиков ALT Linux: http://alt.linux.kiev.ua/srpm/quota/get.

Рис. 7.2. Графический конфигуратор ядра, меню Filesystems

Назначение и активация квот

Теперь нужно определить, использование какой файловой системы вы хотите ограничить. Обычно это /home (домашние каталоги пользователей), /usr (пользователи имеют право записывать информацию в этот каталог) и, возможно, /var. Чтобы включить квотирование файловой системы, отредактируйте файл /etc/fstab, добавив ключ usrquota (и/или grpquota для групп) в поле, содержащее слово defaults

/dev/hda1 / ext2 defaults

/dev/hda4 /home ext3 defaults,usrquota=/путь/к/файлу/квот

/dev/hda5 /usr ext3 defaults,usrquota,grpquota

Если путь к файлу квот не указан, то используется файл в корневом каталоге квотируемой файловой системы. В версии 2 (ядро 2.6) он называется aquota.user (aquota.group для групп), в версии 1 — quota.user и quota.group.

Периодически необходимо проверять файлы ограничений и само дисковое пространство, выделенное пользователям, на целостность, особенно после аварийного завершения работы системы. Для этого используется команда quotacheck. Не рекомендуется применять ее к используемой в данный момент, а поэтому подверженной изменениям, файловой системе: сама программа пытается перемонтировать проверяемую файловую систему в режиме «только чтение», но на занятой ФС это невозможно. Рекомендуется также на время проверки отключать квотирование.

Если программа quotacheck не находит файлов ограничений, то создает их.

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

# quotacheck -avug

Ключ требует проверки всех смонтированных файловых систем (если его не указывать, то нужно задать точку монтирования), ключ -v требует подробного отчета о работе команды, ключи -ug требуют проверки квот как для пользователей, так и для групп.

Команда quota <имя> | <имя_группы> позволяет просмотреть ограничения дискового пространства, наложенные системным администратором на данного пользователя или группу, а команда repquota — сводку ограничений и фактически занятого дискового пространства для всех пользователей данной файловой системы (с ключом — всех файловых систем).

Только суперпользователь может просматривать квоты других пользователей. Обычный пользователь может просматривать только свои квоты и квоты группы, к которой он принадлежит.

Рис. 7.3. Результат выполнения команды quotacheck -avug

Рис. 7.4. Результат выполнения команды repquota -um

Для задания ограничении предназначена команда edquota. Файлы ограничений при этом должны уже существовать. Создайте их и включите режим подсчета квот командами:

# quotacheck -u <точка_монтирования> # для групп нужно

                                     # выполнить то же

# quotaon -u <точка_монтирования>    # самое с ключом -g

Команда edquota -u <имя> создает временный текстовый файл, представляющий собой выдержку из двоичного файла квот, запускает ASCII- редактор, указанный в переменной окружения $EDITOR (по умолчанию это редактор vi), в котором вы можете отредактировать ограничения для данного пользователя, и записывает сохраненный текстовый файл обратно в файл квот.

Текущие показатели занятого дискового пространства приводятся только для справки, редактировать нужно только число, которое следует за словом hard или soft (рис. 7.5). Значение «0» указывает на отсутствие ограничений.

Рис. 7.5. Результат выполнения команды edquota -u den

Чтобы изменить период отсрочки, пользуйтесь ключом -t:

# edquota -t

Time units may be: days, hours, minutes, or seconds

Grace period before enforcing soft limits for users:

/dev/hda4: block grace period: 50 minutes,

file grace period: 50 minutes

В старой версии формата квот существовало значение периода отсрочки по умолчанию, вкомпилированное в ядро. В версии 2 значения по умолчанию нет, и период отсрочки для каждой файловой системы нужно указывать явно.

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

# edquota -u <пользователь_который_станет_прототипом>

можно определить ограничения прототипа, а затем с помощью команды:

# edqouta -p <прототип> <пользователь>

создать квоты для всех оставшихся пользователей, применив к ним ограничения прототипа.

Для активации/деактивации подсчета квот на файловой системе, для которой заказано квотирование, предназначены команды quotaon и quotaoff. Команду quotaon нужно включить в сценарий загрузки системы, как и команду quotacheck:

# Смонтированы все файловые системы из /etc/fstab

# Проверка и активация квот

echo "Checking quotas. This may take some time."

/usr/sbin/quotacheck -avug

echo " Done."

echo "Turning on quota."

/usr/sbin/quotaon -avugfi

7.4. Подключение и конфигурирование аппаратных устройств

7.4.1. Ядро и поддержка устройств

Ядро ОС Linux может быть собрано как монолитное или модульное. Монолитное ядро — это один большой файл, в который включены сразу все возможности, заложенные в данную версию ядра. Оно без всяких изменений находится в оперативной памяти от запуска до остановки системы.

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

Раньше, в первых версиях ядра Linux, механизм работы с модулями не был предусмотрен, и ядра тех времен содержали в себе код драйверов для всех поддерживаемых устройств. Такое решение нельзя было назвать рациональным: невозможно предусмотреть, какие устройства будут установлены у конечного пользователя, даже если включить в состав ядра драйверы всех известных устройств. Кроме того, даже если нужное устройство (скажем, звуковая плата Yamaha) ядром распознается, то драйверы остальных устройств того же назначения будут впустую занимать оперативную память. Поэтому, начиная с версии 2.0, ядро Linux поддерживает модульную организацию и из дистрибутива, основанного на ядре 2.x, ставится в модульном виде.

При этом, кроме файла образа ядра /boot/vmlinuz-<версия_ядра>, ставится каталог с модулями /lib/modules/<версия_ядра> и файл образа загрузки /boot/initrd-<версия_ядра>. Образ загрузки содержит все модули, необходимые для того, чтобы ядро загрузило систему. Без этих модулей оно неспособно подключить системный раздел жесткого диска и прочитать файлы. Другие модули подключаются к ядру сценариями загрузки при старте системы.

Перед тем, как устанавливать новое оборудование, нужно убедиться, что ядро поддерживает ваше устройство. Если это не так, нужно пересобрать ядро, включив поддержку нового устройства. Можно со стопроцентной уверенностью сказать, что ваше ядро будет поддерживать вашу сетевую плату RTL8139 или любую другую, совместимую с NE2K PCI. А вот о поддержке USB-модема или принтера заранее ничего сказать нельзя: пользуйтесь диалоговым конфигуратором ядра (п.7.2.3.1) или загляните в базу поддерживаемого оборудования по адресу http://www.mandrakelinux.com/en/hardware.php3. Ничего, если у вас другой дистрибутив, например, основанный на Red Hat: основные устройства те же. Современное ядро версии 2.6 поддерживает очень много устройств, и проблемы могут возникнуть только со следующими их типами:

1 ... 48 49 50 51 52 53 54 55 56 ... 158
На этой странице вы можете бесплатно читать книгу Linux: Полное руководство - Денис Колисниченко бесплатно.
Похожие на Linux: Полное руководство - Денис Колисниченко книги

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