Руководство системного администратора • третье издание { h h y с п п т п р


Last cylinder or +size or +sizeM or +BizeK (256-1275, default 1275): 511



Pdf просмотр
страница15/82
Дата12.11.2016
Размер7.94 Mb.
Просмотров14005
Скачиваний0
ТипРуководство
1   ...   11   12   13   14   15   16   17   18   ...   82
256
Last cylinder or +size or +sizeM or +BizeK (256-1275, default 1275): 511
Command (m for help): type
Partition type (1-4): 2
Hex code (type L to list codes): 82
Changed system type of partition 2 tD 82 (Linux swap) Третий раздел создается точно также. Перед тем как записать таблицу разделов на диск, просмотрим ее
Command (m f o r help): print
Do.sk /dev/sda: 255 heads, 63 sectors, 5721 cylinders
Onits - cylinders of 16065 * 512 bytes
Device Boot Start End Blocks Id System
/dev/sdal 1 255 2048256 03 Linux
/dev/sda2 256 511 2056320 82 Swap
/dev/sda3 512 5721 41849325 83 Linux Рядом с числом блоков будет отображена звездочка, если раздел не заканчивается на границе цилиндра. В этом случае можно либо удалить раздели создать его заново, указав нужное число цилиндров, либо смириться стем, что небольшая часть лиска будет недоступна В данном случае с таблицей разделов никаких проблем нет, поэтому мы записываем ее на диск
Command (m for help): write
The partition table has been altered!
Calling ioctK) to re-read partition table.
SCSI device sda: hdwr sector-512 byres. Sectors-91923356 [44884 MB] [44.9 GB] sda: sdal sda2 sda3
Syncing disks. Некоторые администраторы предпочитают после записи таблицы разделов перезагрузиться, чтобы убедиться в стабильной работе компьютера, прежде чем создавать файловые системы. В наши дни в этом нет особой необходимости, но для тех, кто привык инсталлировать Windows, лучше все же перезагрузиться, чтобы успокоить нервную систему. Теперь можно приступать к созданию файловых систем. В настояшее время стандартным типом файловой системы в Linux де-факто является файловая система Extended 2 ( e x t 2 f s ) , которая основана на быстрой файловой системе Беркли ( F F S — Fast File System). Она создается с помощью утилиты mke2fs. В Linux поддерживается много других файловых систем, ноли ш ь для немногих имеется утилита mkfs. Для утилиты mkeZfs нужно указать имя устройства и размер раздела
# шк«2£я /dav/sdal 2048256
mke2fs 1.14, 9-Jan-1999 for EXT2 FS 0.5b, 95/08/09
Linux ext2 filesystern format
514000 inodes, 2048001 blocks
102412 blocks (5.00%) reserved for the super user
First data block=l
Block size-1024 (log-=0)
Fragment size-1024 (log=0)
250 block groups
8192 blocks per group, 8192 fragments per group
2056 inodes per group
Главо В. Добовление нового жесткого диско
173

Superblock backups stored or blocks:
8193, 16385, 24577. 32769, 40961, 49153, 57345, 65537,
Writing inode tables: 250/250 done
Writing superblocks and filesystem accounting information: done Более крупная система создается также, но процесс выполняется дольше. Если заранее известно, что не все из индексных дескрипторов, создаваемых утилитой rake2fs, понадобятся, можно уменьшить их число, увеличив тем самым место для реальных данных. Но лучше иметь запас, чем недостачу, так как при нехватке дескрипторов нельзя будет создать ни одного файла. После того как файловая система создана, увеличить число индексных дескрипторов нельзя Создав файловые системы, запустим программу fsck, чтобы проверить их правильность
# feck -f /dev/sdal
Parallelizing fsck version 1.14 (9-Jan-1999) e2fsck 1.14, 0-Jan-1999 for EXT2 FS 0.5b, 95/08/09
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sdel: 11/514000 files (0.0% non-contiguous), 67014/2048001 blocks Как только будут созданы точки монтирования, можно смонтировать файловые системы
# mkdir /bkroot
# mount /dev/sdal /bkroot
> df -k /bkroot
Filesystem Ik-blocks Used Available Use% Mounted on
/dev/sdal 1981000 13 1878575 0% /bkroot Чтобы обеспечить автоматическое монтирование новых файловых систем на этапе начальной загрузки, необходимо добавить запись для каждой из них в файл /etc/fstab. Каждая запись должна содержать имя устройства, имя точки монтирования, тип файловой системы, опции монтирования, частоту создания резервных копий и номер прохода для программы fsck.
/dev/sdal /bkroot ext2 defaults 0 2
/dev/sda3 /bkroot ext2 defaults 0 2 Для того чтобы диск стал загружаемым, на него необходимо поместить загрузчик LILO. Это делвется с помощью программы lilo, которая берет свои параметры конфигурации (имя загружаемого ядра и др) из файла /etc/lilo.conf Подробнее об инсталляции и конфигурировании загрузчика LILO рассказывалось в параграфе 2.2. Финальный щаг заключается в создании области подкачки и добавлении ее к системе. Разделы подкачки инициализируются с помощью команды rakswap, которая в качестве аргументов принимает имя устройства и размер раздела подкачки в секторах. Последнее значение можно узнать у программы fdisk (см. выше. Это, однако, отнимает много времени и едва ли необходимо.
1 26
Чость I. Основы одминистрировонир
Когда область подкачки создана, ее нужно активизировать с помощью команды swapon. Эта команда также проверяет, правильно ли была добавлена данная область.
# rakswap -с /dev/sda2 2056320
Setting up swapspa.ce version 1, size = 2105667584 bytes
# swapon /dev/eda2
# swapon -s
Filename Type Size Used Priority
/dev/hda5 partition 133020 688 -1
/dev/sda2 partition 2056316 0 -2 Как всегда, нужно добавить запись для нового разделав файл /etc/fstab. чтобы система автоматически подключила его при перезагрузке. В нашем случае это будет следующая запись
/dev/sda2 swap swap defaults 0 0 Теперь нужно перегрузиться и убедиться, что все записи добавлены в файла все файловые системы и раздел подкачки функционируют нормально.
F r e e B S D Заставить иаш диск емкостью 47 Гбайт работать во FreeBSD оказалось нелегкой задачей. Утилита разбивки диска disklabel постоянно выдавала загадочное сообщение "по space left on device" (на устройстве не осталось места. Потратив массу времени на выяснение причин каждой ошибки и перебор различных параметров, мы сдались и выбрали диск гораздо меньшей емкости Seagate ST32550W (SCSI-2, 2 Гбайт). Возможно, к тому времени, когда выбудете читать эту книгу, проблема будет решена, если же вы столкнетесь с ией, воспользуйтесь инсталляционной утилитой /stand/sysinstall Как ив других системах, необходимо проверить правильность инсталляции на самом низком уровне. Современные контроллеры имеют встроенную программу конфигурирования BIOS, которую можно вызывать нажатием "магической" последовательности клавиш вовремя процедуры самотестирования при включении питания. программа позволяет сканировать шину SCSI в поиске устройств и сообщает о возможных проблемах и конфликтах. Кроме того, она допускает низкоуровневое форматирование диска. Загрузив систему, посмотрите сообщения, информирующие о том, что ядро распознало новый диск daO at btO bus 0 t a r g e t 3 lun 0 daO: «SEAGATE ST32550W SUN2.IG 0418> Fixed Direct Access SCSI-2 device daO: 3.300MB/s transfers. Tagged Queueing Enabled daO: 2048MB (4194995 512 bytes sectors: 255H 63S/T 261C) Разбивка диска на разделы во FreeBSD выполняется в два этапа. Сначала создается секция, а затем она делится на разделы путем записи в нее метки. Во FreeBSD секция — это то, что в других операционных системах называется разделом, и ссылка на нее хранится в той же таблице разделов, которую утилита fdisk создает в Red Hal и Windows. Придется запомнить, что секцией называется физический раздел, создаваемый утилитой
Главо В. Добовление нового жесткого диско
175
fdisk. а разделом — логическая область в пределах секции, определяемая меткой тома. К сожалению, путаница возникает довольно часто. С диском связаны два файла /dev/daO и /dev/rdaO. Это файлы блок-ори- ентированного и байт-ориентированного устройства соответственно они адресуют весь диск. Имена, за которыми следуют буквы от 'а' до *h' (например.
/dev/daOa), задают разделы первой секции FreeBSD. Можно организовать отдельный доступ к четырем секциям посредством файлов /dev/[r]da0s[I-4J. Имена устройств могут быть различными в зависимости от типа дискового контроллера, поэтому, прежде чем форматировать диск, убедитесь в том, что используется правильное имя устройства. Как всегда, утилита редактирования секций (те физических разделов) называется fdisk. Эта программе может быть запущена в автоматическом либо интерактивном режиме. Не имея достаточного опыта добавления дисков, лучше воспользоваться интерактивным режимом. Чтобы отредактировать таблицу распределения текущей секции, необходимо задать флаге программы fdisk. а для создания новой секции предназначен флаг -I:
# f d i a k -1 cUO При указании флага -i программа fdisk по умолчанию делает весь диск секцией FreeBSD с номером 4. Поскольку FreeBSD будет единственной операционной системой, устанавливаемой на диск, мы примем стандартные установки (этот процесс здесь не показан. Когда редактируется существующая таблица разделов, программа предупреждает, если предлагаемые изменения могут повредить другие операционные системы. Помните, что на диске ничего не меняется до тех пор, пока программа fdisk не запишет на него обновленную таблицу, поэтому всегда есть возможность начать с начата. Создав новые секции, запустим снова программу fdisk. чтобы все проверить f t f d i a k d*0
.**.*.« working on device /dev/rdaO parameters extracted from in-core disklabel are: cylinders=261 heads=255 sectors/track=*63 (16065 blks/'cyl) parameters to be used for BIOS calculations are: cylinders-261 heads-255 sectors/track=63 (16065 blks/cyl)
Media sector size is 512
Warning: BIOS sector numbering starts with sector 1
Information from DOS bootblock is:
The data for partition 1 is:

The data for partition 2 is:

The data for partition 3 is:

The data for partition 4 is: sysid 165,(FreeBSD/NetBSD/366BSD) start 1, size 4192964 (2047 Meg), flag 80 (active) Обратим ваше внимание на то, что во FreeBSD используется терминология, противоположная той, которая применяется в спстемс Solaris на платформах. В Solaris тома, задаваемые меткой утилиты fdisk, называются разделами, атома, задаваемые меткой Solaris, называются секциями
176 Честь I Основы одминистрировония
beg: cyl 0/ sector 2/ head 0; beg; cyl 260/ sector 63/ head 254 Теперь в нашу секцию можно записать метку. Метка диска (на самом деле метка раздела) допускает наличие до В-ми разделов с именами от а до h. Раздела обычно является корневым, раздел b используется для подкачки, а раздел с содержит в себе всю секцию. Для создания метки необходимо запустить программу disklabel с опцией -г или -w. Флаг -г предписывает программе обратиться к диску напрямую, в обход драйвера устройства, который наверняка неправильно определит метку, если это новый диск. Опция -w требует дополнительных аргументов имени дискового устройства и типа диска (указаны в файле /etc/dlsktab). В большинстве случаев тип диска можно обозначить как auto, что заставит программу disklabel воспользоваться параметрами, выявляемыми системой в процессе автоматического обнаружения устройства. Например
# disklabel -г -w daO auto
Если автообнаружение не работает, придется вручную создать новую запись в файле /etc/dlsktab. Когда метка создана, ее можно отредактировать, выполнив команду disklabel -е. Программа преобразует метку в текстовый формат, понятный человеку, и запустит редактор vl. Информация, касаюшаяся раздела, приведена в конце файла. Если при создании метки диска не была указана запись в файле
/etc/disktab, то, вероятнее всего, будет создан единственный раздел, содержащий всю секцию. Можно скопировать строку с описанием этого раздела и использовать ее для задания других разделов. Необходимо будет соответственно изменить обозначающую раздел букву, размер в секторах, смешение, тип файловой системы ( 4 . 2 B S D или s w a p ) , а также размеры фрвгментов и блоков, используемые командой newfs. Мы разбили диск на корневой раздел размером 1 Гбайт и раздел подкачки такого же размера. Имя байт-ориентированного устройства /dev/rdaOc. передаваемое программе disklabel, обозначает секцию FreeBSD. которую нужно сегментировать:
# disklabel -г -е /dev/rdaOc
type: SCSI disk: SEAGATE sectors/track: 63 tracks/cylinder: 255 cylinders: 261 sectors/unit: 4194995 8 partitions:
# size offset fstype [fsize bsize bps/cpg]
a: 2097153 0 4.2BSD 1024 8192 16
b: 2097841 2097154 swap
c: 4194995 0 4.2BSD 1024 8192 16 Файловые системы создаются командой newfs. Ей нужно задать имя байт-ориентированного устройства для раздела, где формируется файловая система.
tf newfs /dev/rdaOa
/dev/rdaOa:
2097152 sectors in 512 cylinders of 1 cracks, 4096 sectors
Глово 8. Добовление нового жесткого диско
177

1024.0MB in 32 cyl groups (16 c/g, 32.0QMB/g, 7744 i/g) super-block backups (for fsck -b #) at:
32, 65568, 131104, 196640, 262176, 327712, 393248,
458784, 524320, 589856, 655392, 720928, 786464, 852000, После создания файловой системы проверим ее с помощью программы fsck. Ей также нужно указать имя байт-ориентированного устройства.
# fsck /d*v/rd*0e
•"* /dev/rdaOa
** Last Mounted on /bkroot

w
Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
1 files, 1 used, 1017070 free (14 frags, 127132 blocks, 0.0% fragmentation) Команда swapon активизирует режим подкачки в соответствующем разделе. Тип раздела должен быть указан в метке как s w a p . Команда swapinfo, являющаяся аналогом команды pstat -s, сообщает об устройствах, которые в данный момент используются для подкачки.
# ewapon /dev/daOb
# swapinfo
Device lK-blocks Used Avail Capacity Type
/dev/wdOslb 70784 0 70656 0% Interleaved
/dev/da0b 1048920 0 1048792 0% Interleaved
Total 1119448 0 1119448 0% Чтобы при загрузке новые разделы автоматически монтировались и включался режим подкачки, нужно добавить следующие записи в файл
/etc/fstab:
# Device Mountpoint FStype Options Dump Pass!
/dev/daOa
/dev/da0b
/new none ufs swap Для проверки файла fstab следует демонтировать файловую систему и выполнить команду mount -а, которая заново смонтирует все перечисленные в списке файловые системы. Если команда завершилась успешно, перезагрузите компьютер и убедитесь, что все работает нормально.
1 26
Чость I. Основы одминистрировонир

^ Периодические процессы

О , Ключ к сохранению постоянного контроля над системой — автоматизация максимально возможного числа задач. Например, сценарий addi^er может подключать новых пользователей быстрее, чем это сделает администратор вручную, причем с гораздо меньшей вероятностью ошибки. Почти каждую задачу можно запрограммировать в сценариях интерпретатора команд или системы ехрес! либо на языке Perl. В некоторых случаях желательно, чтобы сценарий или команда выполнялась без вмешательства оператора. Например, можно сделать так. чтобы сценарий проверял (скажем, каждые полчаса, как работают сетевые маршрутизаторы и мосты, и при наличии проблем посылал администратору сообшение по электронной почте" Демон сгоп: планирование команд В UNIX периодическим выполнением процессов управляет демон сгоп Он запускается вовремя начальной загрузки системы и остается в активном состоянии до тех пор. пока система не будет выключена. Демон сгоп читает один или несколько файлов конфигурации, содержащих последовательности командных строки расписание и вызова. Командные строки обрабатываются интериретатором sh, поэтому почти все, что можно сделать в данном интерпретаторе команд вручную, вы можете перепоручить демону сгоп". Файлами конфигурации управляет команда cronlab (сокращение от "сгоп table'" — таблица демона сгоп). поэтому их называют сгоп файлами. Все они хранятся в едином системном каталоге, чтобы демон легко мог их найти По запросам пользователей команда crontab добавляет и удаляет файлы R этом каталоге. Для любого пользователя создается ие более одного файла. В качестве имени файла используется регистрационное имя пользователя, которому он принадлежит, пс помощью этого имени демон сгоп выясняет. Многие организации идут еше дальше в них модем может набирать номер пейджера, чтобы администратора можно было вызвать лаже тогда, когда он не имеет доступа к электронной почте. Некоторые версии демона сгоп допускают испо.'гьзование других интерпретаторов.
Гпова 9. Периодические процессы
179
какое значение U I D нужно использовать прн выполнении команд, содержащихся в файле. Старые версии демона сгоп периодически просматривают свои с г on tab- файлы и запускают все команды, которые должны были быть выполнены с момента предыдущей проверки. Современные версии демона осуществляют синтаксический анализ crniUah-фзйлов. определяют, какую из перечисленных команд нужно выполнить в ближайшую очередь, и переходят в состояние ожидания до наступления требуемого срока. В некоторых системах передача демону сгоп сигнала отбоя ( H U P ) заставляет его повторно прочитать свои сгоп файлы. Как правило, нет необходимости делать это вручную, так как команда crontab автоматически дает демону указание перечитать файлы конфигурации при изменении одного из них. Демон сгоп обычно выполняет свою работу "молча, но иногда может вестись файл регистрации (как правило, это файл /var/cron/log или
/var/adm/cron/log), в котором отражаются все выполняемые команды и время их запуска. В некоторых системах при создании файла регистрации автоматически включается режим регистрации, а при удалении этого файла регистрация выключается. В других системах режим регистрации задается в файле конфигурации. Кроме того, демон сгоп может пользоваться услугами системы syslog. Файл регистрации быстро увеличивается в размерах и редко приносит пользу лучше не включать регистрацию вообще, если только вы не занимаетесь устранением какой-то конкретной проблемы.
[71 О системе syslog рассказывается в главе / / .
Если какая-либо команда не была запушена в нужное время (например, из-за того, что система была выключена, то демон сгоп не выполняет такую команду позже, поскольку информация о факте невыполнения не сохраняется. Помимо этого, некоторые версии демона не понимают перехода на летнее/зимнее время, что приводит к пропуску или двукратному выполнению команд при переходе на другое время. К таким ситуациям следует быть готовым. Проблем можно избежать, если не выполнять команды в "критические" часы.
9.2. Формат сгоп1аЬ-файлов Все сгоМаЬ-файлы в системе имеют обший формат. Комментарии начинаются со знака решетки (#) впервой позиции строки. Каждая строка, не являющаяся комментарием, содержит шесть полей и представляет одн> команду
иииуты часы день месяц деньнеделм команда
Первые пять полей отделяются друг от друга пробелами, нов поле команда
пробел выполняет свою обычную роль разделителя аргументов. В полях минуты, часы, день, месяц и деньнедели дается информация о времени запуска команды. Описание этих полей приведено в табл. 9 1 .
Тоблицо 91 Спецификации времени в сгоп1аЬ-файге Поле Описание Диапазон
минуты
Минуты часа от 0 до 59
часы
Часы дня от 0 до 23
день
День месяца от 1 до 31
месяц
Месяц года от 1 до 12
день недели
День надели от 0 до 6 (0 — воскресенье)
1зв Часть I. Основы администрирования
Каждое из вышеуказанных полей может содержать звездочку, которая означает любую цифру целое число, задающее отдельный элемент даты два разделенных дефисом целых числа, соответствующих диапазону значений. целые числа или диапазоны, разделенные запятыми и соответствующие любому из указанных значений. Например, спецификация
45 10 - * 1-5 означает "10 часов 45 минут, с понедельника по пятницу. С полями день_недели и день сопряжена потенциальная двусмысленность, которую необходимо учитывать. Каждый день является и днем недели, и числом месяца. Если указаны оба этих поля, то подпадающему под их действие дню достаточно удовлетворять одному из двух требований, чтобы пройти отбор. Например, спецификация С - 13 • 5 означает "каждые полчаса по пятницами каждые полчаса тринадцатого числа месяца, ноне "каждые полчаса в пятницу тринадцатого числа.
Поле команда содержит командную строку, подлежащую выполнению интерпретатором sh. Это может быть любая допустимая команда интерпретатора, причем без кавычек. Считается, что поле команда продолжается до конца строки и может содержать пробелы и символы табуляции. Принадлежащий суперпользователю сгоп файл может включать команды, выполняемые от имени произвольного пользователя. Они предваряются строкой /bin/su
имя^пользоватсля -с.
Более подробные сведения о команде su находятся в параграфе 3.4.
Большинство версий демона crou допускают использование знака процента) вместо символа новой строки в поле команда В реальную команду включается только текст до первого знака процента остальные строки передаются команде в качестве стандартного входного потока. Вот некоторые примеры допустимых команд в сгоШаЬ-файле: echo The time is now "aaze" > /dev/console write garth * Hi Garth. * Remember to get a Job. cd ,'ets; /bin/nail -s "Passwords file" evi < passwa
А вот полные примеры записи:
30 2 * ' 1 led /users/joe/project; make)
Эта строка будет активизироваться в 2:30 по понедельникам. Она инициирует выполнение команды make в каталоге /users/joe/project. Ее можно использовать для запуска продолжительной компиляции на время, пока в системе не работают другие пользователи. Вся выходная информация команды сгоп обычно посылается по электронной почте "владельцу" команды".
20 1 find /tmp -atime тЗ -exec rm -f {V
To есть пользователю, именем которого назван файл. Фактическим владельцем crontab- файлов обычно является пользователь root
Гпова 9. Периодические процессы
181
Данная команда будет выполняться каждый день в 1:20. Она удаляет из каталога /tmp все файлы, к которым за последние 72 часа пользователи ни разу не обратились.
55 23 * * 0-3,6 /staff/trent/bin/acct-script А эта строка запускает команду acct -script в 23:55 каждый день, кроме четверга и пятнииы.
9.3. Изменение файлов Команда crontab имяфайла инсталлирует в качестве crontab файла указанный файл. Команда crontab -е проверяет копию файла вызвавшего ее пользователя, запускает для нее текстовый редактор (указанный в переменной среды EDITOR), а затем повторно записывает файл в системный каталог. Команда crontab -I отображает содержимое файла, а команда crontab -г удаляет этот файл. Большинство систем позволяют пользователю root задавать аргумент
имя^пользователя, чтобы можно было просматривать и редактировать сгоп- файлы других пользователей. Например, команда crontab -г jsmith удаляет файл, принадлежащий пользователю jsmith. В Red Hat и FreeBSD, где водной команде можно задавать как имя пользователя, таки имя файла, необходимо перед именем пользователя ставить опцию -и (например, crontab -u jsmith crontab.new).
He получив аргументов, команда crontab попытается прочитать crontab- файл из своего стандартного входного потока. Если этот режим был активизирован случайно, не пытайтесь выйти из него, нажимая клавиши
, так как весь crontab-фэлл будет уничтожен. Используйте для этого комбинацию клавиш . По умолчанию все пользователи имеют право создавать файлы. Чтобы исправить подобную ситуацию, системный администратор может создать два специальных файла cron.allow и сгоп.deny. Отыскать эти файлы довольно трудно. Прежде всего проверьте каталоги /etc/cron.d, /usr/lib usr/lib/cron и /var/spool/cron. Во FreeBSD файлы находятся в каталоге
/var/cron и называются простои. В табл. 9.2 указано размещение файлов, связанных с демоном сгоп, в четырех тестовых системах. Если существует файл cron.allow, то он содержит список пользователей, имеющих доступ к демону сгоп (по одному имени в строке. Тот, кто в списке отсутствует, выполнять команду crontab не имеет права. Если файла cron.allow нет, проверяется файл cron.deny. Как и файл cron.allow. он содержит список пользователей, нос противоположным назначением доступ разрешен всем,
кроме указанных в списке. Если нет ни одного из двух файлов, только пользователь root имеет право создавать сгоп файлы. Важно понимать, что права доступа регулируются командой crontab, а не демоном сгоп. Если пользователь найдет способ обходным путем поместить в системный каталог свой сгоп1аЬ-файл, демон сгоп будет благополучно выполнять указанные в нем команды.
9.4. Применение демона сгоп Существует целый ряд стандартных задач, для решения которых, собственно, и предназначен демон сгоп Соответственно, большинство записей файла пользователя root служат именно стандартным целям. В данном параграфе мы рассмотрим подобные задачи и элементы файла, обеспечивающие их реализацию
1 26
Чость I. Основы одминистрировонир
системы часто поставляются с несколькими уже инсталлированными элементами с гол файла. Если необходимо отключить эти элементы, превратите их в комментарии, вставив в начало каждой строки знак решетки. Не удаляйте такие строки возможно, они еше пригодятся. Чистка файловой системы В любой системе имеются файлы, в которых нет никакой надобности. Например, при аварийном завершении программы ядро создает файл лампа, содержащий образ адресного пространства программы. Раньше этот файл назывался core, но некоторые современные системы включают в имя файла название программы или идентификатор процесса (например, netscape.core или core.7288)*. Такие файлы полезны для разработчиков программного обеспечения, но для администраторов это бесполезная трата драгоценного пространства на диске. Пользователи часто вообще не знают о назначении файлов дампа, поэтому предпочитают не брать на себя ответственность за их удаление
Еше один источник лишних файлов — N F S , сетевая файловая система. На серверах N F S применяется специальное обозначение для зашиты файлов, которые локально уничтожены, но продолжают использоваться уделенной машиной. В большинстве реализаций таким файлам присваиваются имена
.nfsxxx, где xcv — числовое значение. Отучается так. что об этих файлах забывают и оставляют их на диске, думая, что они удалены.
NFS рассматривается в главе / 7 Многие программы создают в каталоге /tmp или /var/tmp временные файлы, которые по той или иной причине не удаляются. Некоторые программы, особенно текстовые редакторы, имеют привычку создавать резервные копии каждого файла, с которым они работают. Частичное решение проблемы файлового "мусора" состоит в том, чтобы установить некую процедуру регулярного восстановления свободного дискового пространства, запуская ее (допустим, каждую ночь) с помощью демона сгоп. В современных системах обычно имеются встроенные средства подобной очистки, поэтому необходимо убедиться, что они соответствуют потребностям организации. Во всех приведенных ниже примерах для удаления ненужных файлов используется команда find. find / -xdev -name core -atime +7 -exec rm -f (} ';' Эта команда удаляет файлы с именем согс. которые не использовались в течение недели. Аргумент -xdev гарантирует, что команда find будет выполнена только в корневой файловой системе ив другие файловые системы не перейдет, что очень важно в сетях, где возможно монтирование множества файловых систем с помощью NFS*". Если необходимо очистить несколько файловых систем, используйте для каждой из них отдельную команду помните, что каталог /var часто является отдельной файловой системой. find / -xdev -atime +3 '(' -name "#*' -о -name '.#*' -о -name '*.CKP' -о \
-name ' -о -name '.nfs*' *)* -exec rm -f И '
1 Слово "core" (сердечник) — синоним термина "memory" (память) Этот термин родился в ранних вычислительных системах, где в качестве запоминающих элементов использовались маленькие ферритовые кольца, закрепленные на пересечениях проводников. Аргумент -xdev поддерживают не все версии программы find. В некоторых системах он называется -х.
Гпова 9. Периодические процессы
183
Эта команда удаляет не использовавшиеся в течение трех дней файлы, имена которых начинаются с префикса #. . * или . r . f s либо заканчиваются символами .СКР. Часто это временные файлы и резервные файлы различных текстовых редакторов. f i n d /var/preserve -mtime -exec r:r. -f 1 . Такая команда уничтожает файлы в каталоге /var/preserve через две недели после их последней модификации. Редактор vi использует этот каталог для хранения копий файлов, которые редактировались пользователями в момент краха системы. Такие файлы сохраняются и никогда не удаляются, если только их не удалят владельцы с помошью команды vi -г имя_фаига.
cd /trap; find . ! -name lost+found -type о -mtiir.e +3 \
-exec /Ыл/пп - t f i Приведенная выше команда рекурсивно удаляет все подкаталога катачога
/tmp. не модифицировавшиеся в течение 72 часов. Обычные файлы в катачоге
/trap удаляются стартовыми сценариями вовремя начальной загрузки, но некоторые системы не выполняют операцию удаления каталогов. Рели существует каталог под именем lost+found. то он не включается в число удаляемых. Это важно, если каталог /tmp — отдельная файловая система.
Каталог lost+found бш описан в параграфе 8 4
Если в системе применяется какая-либо из этих команд, пользователи должны знать, какими принципами руководствуется администратор при чистке файловой системы Распространение конфигурационных файлов посети При администрировали компьютерной сети во многих случаях удобно пользоваться единой версией файлов конфигурации, например базой данных о псевдонимах пользователей электронной почты f/usr/lib/aiiases или /etc/ali- ases) Основные версии этих файлов можно распространять ежедневно с помошью программы rdist или сценария на языке expect.
Подробнее о распространении конфигурационных файлов посети вы узнаете,
прочитав главу 18.
Иногда необходима последующая обработка файлов. Например, во многих системах требуется, чтобы пользователь выполнял программу ne wa liases для преобразования текстового файла почтовых псевдонимов в хешированный формат, используемый программой sendmail. Может понадобиться и «грузка файлов в административную базу данных, такую как NIS или NIS+. Циклическое использовоние журнальных файлов Журнальные файлы в UNIX увеличиваются бесконечно до тех пор. пока пользователь вручную не очистит их Есть различные способы разрешения этой проблемы. Самый простой из них — периодически усекать файлы. Более консервативный подход заключается в хранении нескольких старых версий журнального файла и циклическом их использовании по-новому. Это предотвращает бесконтрольное разрастание файлов ив тоже время позволяет постоянно держать под рукой информацию о последних изменениях. Такую процедуру лучше всего планировать с помощью демона сгоп. Подробнее об этом процессе рассказывается в параграфе 111.
134 Честь I Основы одминистрировония

9.5. Особенности периодических процессов в различных системах Местоположение различных файлов и каталогов, связанных с демоном сгоп, подытожено в табл. Таблица 9.2. Файлы и коталоги демон о сгоп в розничных системах Система Каталог c r o n t a b - ф о йло в Да г
/var/spool/cron/crontabs
/vsr/apool/cron
/var/cron/tabs
0
?
0
T ° d t n y n 0 E
Х урн с л ^ ф с й л
/etc/cron.d
/шг/ИЬ/сгоп
/etc
/var/cron
/var/cron/log
/var/adm/cron/log
/var/log/cron Используется система syslog
1 i По умолчанию сообщения демона сгоп направляются в каталоги /var/croa/log.*.
6 Чтобы включить журнальный режим вот редактируйте / c r o i i . создав вне м запись. В этом файле можно также задать значение переменной среды, передаваемой выполняемым командам. В Red Hat и F r e e B S D используется написанный Полом В икс идем он. Этот де мои является свободно доступной реализацией демона сгоп и имеет ряду лучше ни й . Например, он позволяет задавать в e r o n t a b - ф эй л ах значения переменных среды. Другим удобным усовершенствованием демона является возможность указывать шаг приращения в спецификациях времени в c r o n t a b - файлах. Например, последовательность, 9 / 1 2 , 1 5 , 1 8 , 2 1 может быть записана гораздо компактнее.
Гпова 9. Периодические процессы
185
1   ...   11   12   13   14   15   16   17   18   ...   82


База данных защищена авторским правом ©nethash.ru 2019
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал