Differences between revisions 5 and 6
Revision 5 as of 2008-07-27 10:11:29
Size: 18934
Comment: привет Чистикову
Revision 6 as of 2008-07-27 15:34:47
Size: 17139
Comment: Поабзацный перевод
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
Очень важная тема.
В отличие от виндоуса (где есть два каталога - windows и program files, а дальше чёрт ногу сломит), со стандартными каталогами линукса всё более-менее определено. Поскольку у нас есть ровно одна структура файловой системы, мы не пользуемся буквами A, B, C, D... у нас есть корень, из которого всё растёт, то можно себе позволить договориться о том, что именно растёт из этого корня. Есть группа людей, которые занимаются регулярной подготовкой документа FHS (filesystem hierarchy standart), в который включают всякие рекмендации по поводу того, как должна выглядеть файловая система в posix-совместимой системе. У нас даже есть пакет fhs, куда этот текст включается.
Иерархия стандартных каталогов в Линукс достаточно жестко предопределена. Файловая система образует единую структуру --- дерево каталогов, "растущее" из корня (каталог /). Определенная группа людей выпускает ревизии документа под названием Filesystem Hierarchy Standard (FHS), в который включаются рекомендации по поводу того, как должна выглядеть файловая система в POSIX-совместимой ОС. В ПСПО ALT Linux данный документ поставляется в пакете с соответствующим названием --- fhs.
Line 6: Line 5:
В корне у нас находится несколько подкаталогов, больше их не должно быть. У каждого из каталогов, которые находятся в корне структуры каталогов, есть собственное назначение. Согласно FHS, каждый из подкаталогов корневого каталога имеет стандартное имя и заранее определенное назначение. Опишем их вкратце.
Line 8: Line 7:
/bin/ содержит исполняемые файлы, причём только те, которые необходимы для вывода системы в штатный режим (то есть, те, которые используются при старте).  /bin содержит используемые при старте исполняемые файлы, необходимые для выведения системы в штатный режим.
Line 10: Line 9:
/boot/ содержит файлы, используемые в процессе досистемной загрузки - это, как правило, два-три вида файлов: ядро, виртуальный диск, иногда загрузчик (grub). /boot содержит файлы, используемые в процессе досистемной загрузки. Как правило, это ядро ОС, виртуальный диск (как ядер, так и виртуальных дисков может быть несколько), иногда --- загрузчик (если используется Grub).
Line 12: Line 11:
/dev/ - специальный каталог, где хранятся так называемые "специальные файлы", они предназначены для того, чтбы можно было работать непосредственно с внешними устройствами системы, используя файловые операции. Поскольку внешнее устройство - более сложная штука, чем обычный файл, помимо обычных файловых операций есть ещё ioctl (файловая операция управления вводом-выводом). Она очень развесистая; для каждого устройства есть свои форматы ioctl. Обычному пользователю это не очень нужно, это нуно системе. /dev --- каталог для "специальных файлов", предоставляющих возможность работать со внешними устройствами системы, используя только файловые операции. Поскольку внешнее устройство --- сущность более сложная, чем файл, то помимо обычных файловых операций есть файловая операция '''управления''' вводом-выводом --- ioctl. Каждому устройству может соответствовать свой формат ioctl. Большинство файлов в каталоге /dev обычно используются не пользователем, а самой системой.
Line 14: Line 13:
/etc/ - здесь лежат общесистемные настроечные файлы. Настройка системы системным администратором, как правило, сводится к изменению содержимого каталога /etc. Если вы сохраните каталог /etc, на основании этого каталога (плюс ещё надо знать, какие пакеты были установлены) можно развернуть операционную систему с теми же свойствами, что были раньше. /etc --- каталог для общесистемных конфигурационных (настроечных) файлов. Настройка системы системным администратором сводится в первую очередь к изменению содержимого каталога /etc. Сохранение всего /etc и базы данных установленных пакетов делает восстановление ОС довольно несложной операцией.
Line 16: Line 15:
/home/ - каталог для домашних каталогов пользователей.  /home --- это каталог, в котором хранятся домашние каталоги пользователей.
Line 18: Line 17:
/lib/ - предназначен для хранения библитек, необходимых для старта системы.
Что такое библиотеки. Вы пишете программу, которая использует функцию синус. Вот вы её написали, подумали, что функцию синус неоткуда брать, и написали алгоритм, вычисляющий синус. Выясняется, что синус нужен в некоторых других программах, и хорошо бы синус держать в отдельном файле, чтобы все другие программы можно было компилировать, используя один и тот же исходный текст функции синус. Потом оказывается, что таких функций много и глупо компилировать это каждый раз. Хорошо бы скомпилировать все эти функции один раз, получится так называесый "объектный файл", то есть файл, который нельзя напрямую выполнить, но он уже готов к компиляции, и когда вы пишете программу, вы говорите "обратиться к функции синус", и происходит компановка: берётся ваш файл про функцию синус, там, арктангенс... и на этапе компановке все они сваливаются в одну кучу, после чего получается бинарник, состоящий из скомпилированного вашего файла и других файлов, взятых из других мест, уже заранее скомпилированных. Следующий этап - когда вам приходит в голову, что не надо сотни функций хранить в сотне файлов, и хорошо бы заархивировать их в один файл и чтобы компилятор умел разархивировать этот файл и из него забирать куски скомпилированных функций. И это (то есть сборник объектных файлов) уже называется библиотека. Там уже не исходный код на языке C, а некоторый скомпилированный вариант. И дальше получается следующее: вы говорите "скомпилировать программу с использованием (допустим,) математической библиотеки". Проблемы начинаются дальше - 30 программ собираются 30 раз, компилируются с поддержкой математической библиотеки и в результате получается 30 исполняемых файлов, в которых 30 раз хранится одно и то же. Жалко места. Было бы удобно, чтобы всё лежало в одном месте, а не в тридцати. Другая проблема хуже - при изменении библиотеки надо пересобирать все файлы, в которых использована эта библиотека. Выход - отказаться от того, чтобы при компиляции программы внутрь исполняемого файла кладётся всё необходимое для её работы. То есть, мы скомпилируем программу и в ней при компиляции напишем, что для того, чтобы она работала, нужно подгрузить математическую библиотеку. Обе задачи решены. Недостаток - программа не запустится, если библиотеки нет. Есть программа ldd, которая показывает, какие библиотеки (они называются динамическими, так как загружаются в память не в момент компиляции, а в момент запуска) нужны конкретной программе.
/lib предназначен для хранения библиотек, необходимых для старта системы.
Line 21: Line 19:
/lost+found/ - в каждой файловой системе создаётся этот каталог, в котором помещаются результаты ремонта этой файловой системы. То есть, здесь лежат потерянные и найденные файлы: файлы без имени, которые нашлись, и всякое такое. Последние неколько лет лектор не видел, чтобы что-то появлялось в этом каталоге в результате ремонта файловой системы, поскольку в линуксе используется журналирование, и с файловой системой может многое случиться, но именно потерянные файлы - это редкость. ==== Отступление: библиотеки ====
Line 23: Line 21:
/media/ - предназначен для автоматического подключения внешних устройств. Например, вы не хотите подключать руками, скажем, флешку, а делать так, чтобы какой-то робот определял, что это за флешка, и её в какое-то место подключал. Согласно стандарту, результат работ этого робота, после того как вы воткнули флешку в компьютер, должен быть таким: в каталоге /media/ должен быть создан подкаталог, внутри которого будет содержимое вашей флешки. Когда вы её извлекаете, этот каталог пустеет или удаляется.  1. Напишем программу, использующую функцию синус. Предположим, что взять реализацию самой этой функции нам негде, и напишем собственную реализацию известного алгоритма. Быстро выяснится, что синус используется не в одной, а в нескольких программах, а потому исходный текст нашей функции удобно хранить в отдельном файле. Однако компилировать каждый раз один и тот же код довольно неразумно. Естественно сделать это лишь однажды и записать результат в так называемый '''объектный файл'''. Он не будет предназначен для исполнения, однако будет готов к компоновке: когда мы напишем еще одну программу, использующую синус, достаточно будет этот файл подложить в нужный момент компоновщику.
Line 25: Line 23:
/mnt/ - если устройство подключается вручную, при помощи команды mount, считается хорошим тоном подключать его не в каталог /media, а сюда. Чтобы не мешать роботу.  1. Нужных нам функций может набраться довольно много. Наступит момент, когда мы поймем, что сотню функций не слишком-то удобно хранить в сотне файлов. Гораздо лучше собрать все, к примеру, математические функции в один большой файл --- архив специального вида. При сборке использующих эти функции программ компоновщик должен уметь разархивировать этот файл и забирать из него фрагменты --- отдельные скомпилированные функции. Такой архив --- сборник объектных файлов --- называется '''библиотекой'''. При компиляции любой из наших программ достаточно будет сказать: "Эта программа должна быть собрана с использованием математической библиотеки". Однако оказывается, что и такой подход порождает свои проблемы.
Line 27: Line 25:
/opt/ - предназначен для того, чтобы сваливать в него всё, что не вхдит в дистрибутив, не подчиняется дисциплине оформления програмного продукта, разработанного для вашего дистрибутива. Дисциплина оформления установки в /opt следующая: /opt/имя продукта/ его собственный bin, lib, etc... Обычно этот каталог пустует.  1. Напишем 30 программ, использующих синус, и соберем их с поддержкой нашей математической библиотеки. Результатом будут 30 исполняемых файлов, в каждом из которых будет храниться один и тот же код для вычисления синуса. Понятно, что это ничем не мотивированный перерасход дискового пространства. Было бы гораздо удобней, если содержимое нашей библиотеки хранилось в файловой системе в единственном экземпляре. Но есть и более неприятная проблема: если библиотеку потребуется изменить (к примеру, если мы обнаружим ошибку, из-за которой синус нуля дает -7), то все использующие ее программы также потребуют пересборки (а если одну из них мы пересобрать забудем?). Выход один --- следует отказаться от принципа, согласно которому все необходимое для работы программы кладется внутрь ее исполняемого файла при компиляции. Решающая описанные проблемы схема выглядит следующим образом. При сборке наших программ указывается, что для их работы нужно подгрузить математическую библиотеку. Оформленные соответствующим способом библиотеки называются '''динамическими''': они не входят в исполняемый файл, а загружаются в память в момент запуска. Понятно, что если при запуске программы нужной для ее работы динамической библиотеки в нужном месте не окажется, то программа не запустится. Чтобы определить, какие динамические библиотеки нужны той или иной программе, пользуются утилитой ldd.
Line 29: Line 27:
/proc/ - виртуальная файловая система, специфичная в сновном для Linux, где в виде файлов и каталогов представлена структура процессов. (конец отступления)
Line 31: Line 29:
/root/ - домашний каталог суперпользователя, который хранит там свои суперпользовательские штуки. Он не находится в /home для того, чтобы они (суперпользовательские штуки) были доступны тогда, когда /home отвалился. /lost+found --- в большинстве файловых систем по умолчанию создается этот каталог. В него могут помещаться результаты ремонта этой файловой системы --- потерянные и найденные файлы (файлы без имени, найденные при проверке, и пр.). В современных ФС, используемых в Линукс, обычно используется журналирование, так что оказавшиеся в lost+found файлы --- большая редкость.
Line 33: Line 31:
/sbin/ - там хранятся программы, не нужные обычным людям, но нужные для работы операционной системы и такие, которые используются при старте. Если почитать документацию про эти программы, окажется, что все они связаны с разметкой диска, с работой с внешними устройствами, с работой с сетью. /media --- это каталог для автоматического подключения внешних устройств. Допустим, мы не считаем необходимым выполнять ручное монтирование (подключение части файловой системы к общему дереву) флешки, а хотим поручить это специальному "роботу" (программе). Этот "робот" будет сам определять, что это за флешка, и подключать ФС на ней к общему дереву. Согласно стандарту, результат работы этого робота должен быть таким: после того, как флешка подключена к компьютеру, в каталоге /media должен быть создан подкаталог, внутри которого находится содержимое флешки. При извлечении флешки этот каталог становится пустым или вообще удаляется.
Line 35: Line 33:
/srv/ происходит от слова server - там разрешается размещать файлы, которые мы раздаём всем окружающим, например, подключаем как сетевую файловую систему. По FHS, содержимое ftp-сервера должно быть тут. /mnt --- каталог, предназначенный для подключаемых вручную (при помощи команды mount) устройств.
Line 37: Line 35:
/sys/ - ещё одна виртуальная файловая система, которая представляет в виде файловой системы структуру аппаратного обеспечения в том виде, в котором её воспринимает ядро линукса. Она удобна для того, чтобы тута заглянуть и узнать, что думает линукс о том железе, на котором вы работаете. Она удобна продвинутым пользователям, ещё более удобна для роботов, которые должны что-то распознать и на этом основании что-то делать. /opt --- каталог, предназначенный для не входящих в дистрибутив программных продуктов. Дисциплина оформления установки в /opt проста: каталог /opt/имя_продукта содержит собственные подкаталоги bin, etc, lib и другие. Чаще всего каталог /opt пуст.
Line 39: Line 37:
/tmp/ - каталог для хранения временных файлов /proc --- каталог с виртуальной файловой системой, специфичной для ОС Linux. Здесь в виде файлов и каталогов представлена структура процессов, а также сведения о самой ОС.
Line 41: Line 39:
/var/ - каталог, предназначенный для данных, размер и количество которых неизвестны: /root --- домашний каталог суперпользователя. Его не принято хранить в /home, чтобы суперпользовательские данные были доступны и в случае невозможности подключения /home.
Line 43: Line 41:
 * log - системные журналы
 * db - нетекстовые форматы, всякие базы данных со списком файлов в пакетах, в общем, какие-то файлы, содержащие таблицы нетекстового формата.
 * lock - для заведения файлов блокировки, то есть, например, две программы запускаются, одна создаёт здесь файл, а вторая смотрит, есть ли этот файл.
 * mail - списки почтовых очередей на отправку, получение - всякое такое.
 * preserv - туда периодически копируются разные важные части системы, типа содержимого /etc.
 * run - информация о том, какие системы запущены и что в них делается, например, идентификатор процесса запущенного сервиса хранится здесь.
 * cache - всякие кэши
 * opt - здесь (теоретически) программы из /opt хрнят свои данные
 * lib - там держат свои файлы разные службы, в альте они используются для изолированного запуска.
/sbin --- каталог для тех использующихся при старте исполняемых файлов, которые не применяются для решения пользовательских задач. Хранящиеся здесь программы нужны для функционирования самой ОС: большинство из них связаны с разметкой диска, работой с внешними устройствами вообще, сетевыми приложениями и пр.
Line 53: Line 43:
/usr/ /srb --- каталог для раздаваемых (по сети) файлов, например сетевой файловой системы. Здесь, к примеру, должны лежать данные, доступ к которым предоставляется по протоколу FTP.
Line 55: Line 45:
 * bin - здесь, в отличие от корневого каталога, хранятся все пользовательские приложения. Их здесь намного больше, чем в /bin.
 * lib - здесь лежат все библиотеки, необходимые для работы пользователя, в том числе для програмирования.
 * share - в него складываются файлы, не зависящие от архитектуры, те, которые одинаково выглядят на машинах с любой архитектурой. Тут есть много чего, главный каталог - /usr/share/doc, где лежит вся документация.
/sys --- каталог для еще одной виртуальной файловой системы. Здесь представлена структура аппаратного обеспечения компьютера в том виде, в котором ее воспринимает ядро ОС. Этот каталог удобно использовать, чтобы узнать, что Линукс "думает" об установленном железе. Эта функция может быть полезна как опытным пользователям, так и "роботам".
Line 59: Line 47:
Всё. Остался только /usr. Давайте посмотрим в /usr. Обратите внимание, что в /usr есть каталог /bin, каталог /lib, какалог /sbin. Такие точно, как в корне. Дело в том, что в каталоге /usr в отличие от корневого хранятся все остальные программы. Если в /bin хранятся программы, нужные для вывода системы в штатный режим, а в /sbin хранятся системные программы, то в каталоге /usr/bin лежат все пользовательские приложения. Их там намного больше, чем в /bin. То же самое относится к /usr/lib: там лежат все библиотеки, необходимые для работы пользователя, в том числе необходмые для программирования. То же самое относится к /usr/sbin. Что ещё важно? Есть /usr/share, в него традиционно складываются файлы, которые не зависят от архитектуры, то есть, те, которые одинаково выглядят как на 32-разрядных машинах, так и на 64-разрядных машинах и вообще на машинах с другой архитектурой. То есть, вы же понимаете, что если мы берём машины с разной архитектурой, скажем, бинарные файлы у них разные принципиально, и бинарные файлы 64-разрядной архитектуры на 32-разрядной просто не запустятся. А что касается содержимого /usr/share, там много чего есть; самый главный каталг - это /usr/share/doc, где лежит вся документация. Предполагается, что представление докуентации не зависит от. /tmp --- каталог для хранения временных файлов.
Line 61: Line 49:
##остались типы файлов /var --- каталог, предназначенный для данных, размер и количество которых заранее неизвестны:

 * /var/cache --- разного рода кэши;
 * /var/db --- базы данных нетекстового формата;
 * /var/lib --- специальные файлы различных служб (в ПСПО ALT Linux здесь находятся, к примеру, изолированные окружения);
 * /var/lock --- файлы блокировки (запускаемые программы могут создавать здесь файлы, чтобы другие программы по наличию или отсутствию этих файлов получали информацию об их состоянии);
 * /var/log --- системные журналы;
 * /var/mail --- списки почтовых очередей;
 * /var/opt --- данные установленных в /opt программ;
 * /var/preserv --- сюда могут периодически копироваться различные составляющие системы (к примеру, содержимое /etc);
 * /var/run --- информация о том, какие запущены подсистемы (services) и что в этих подсистемах происходит (например, сюда помещаются идентификаторы соответствующих процессов).

/usr --- особый каталог с собственной внутренней иерархией подкаталогов. Мы отметим лишь некоторые из его подкаталогов.

 * /usr/bin, /usr/lib, /usr/sbin --- каталоги, аналогичные /bin, /lib и /sbin соответственно, с той разницей, что здесь лежат не являющиеся необходимыми для выведения системы в штатный режим файлы (программы, библиотеки, суперпользовательские утилиты). Так, /usr/bin содержит подавляющее большинство пользовательских приложений, /usr/lib --- пользовательских библиотек (в том числе необходимых для программирования).
 * /usr/share --- каталог для хранения архитектурно-независимых данных (соответствующие файлы одинаково выглядят, к примеру, на 32- и 64-разрядных машинах). Понятно, что бинарные приложения сюда поместить нельзя (они принципиально отличны), а вот, например, документацию --- вполне (она располагается в /usr/share/doc).
Line 69: Line 72:
|| 20 || 1 || 1 || 1 || || 1 || ConstantinYershow, DmitryChistikov, MaximByshevskiKonopko || || || || 40 || 1 || 1 || 1 || || 1 || ConstantinYershow, DmitryChistikov, MaximByshevskiKonopko || || ||

FHS

Иерархия стандартных каталогов в Линукс достаточно жестко предопределена. Файловая система образует единую структуру --- дерево каталогов, "растущее" из корня (каталог /). Определенная группа людей выпускает ревизии документа под названием Filesystem Hierarchy Standard (FHS), в который включаются рекомендации по поводу того, как должна выглядеть файловая система в POSIX-совместимой ОС. В ПСПО ALT Linux данный документ поставляется в пакете с соответствующим названием --- fhs.

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

/bin содержит используемые при старте исполняемые файлы, необходимые для выведения системы в штатный режим.

/boot содержит файлы, используемые в процессе досистемной загрузки. Как правило, это ядро ОС, виртуальный диск (как ядер, так и виртуальных дисков может быть несколько), иногда --- загрузчик (если используется Grub).

/dev --- каталог для "специальных файлов", предоставляющих возможность работать со внешними устройствами системы, используя только файловые операции. Поскольку внешнее устройство --- сущность более сложная, чем файл, то помимо обычных файловых операций есть файловая операция управления вводом-выводом --- ioctl. Каждому устройству может соответствовать свой формат ioctl. Большинство файлов в каталоге /dev обычно используются не пользователем, а самой системой.

/etc --- каталог для общесистемных конфигурационных (настроечных) файлов. Настройка системы системным администратором сводится в первую очередь к изменению содержимого каталога /etc. Сохранение всего /etc и базы данных установленных пакетов делает восстановление ОС довольно несложной операцией.

/home --- это каталог, в котором хранятся домашние каталоги пользователей.

/lib предназначен для хранения библиотек, необходимых для старта системы.

Отступление: библиотеки

  1. Напишем программу, использующую функцию синус. Предположим, что взять реализацию самой этой функции нам негде, и напишем собственную реализацию известного алгоритма. Быстро выяснится, что синус используется не в одной, а в нескольких программах, а потому исходный текст нашей функции удобно хранить в отдельном файле. Однако компилировать каждый раз один и тот же код довольно неразумно. Естественно сделать это лишь однажды и записать результат в так называемый объектный файл. Он не будет предназначен для исполнения, однако будет готов к компоновке: когда мы напишем еще одну программу, использующую синус, достаточно будет этот файл подложить в нужный момент компоновщику.

  2. Нужных нам функций может набраться довольно много. Наступит момент, когда мы поймем, что сотню функций не слишком-то удобно хранить в сотне файлов. Гораздо лучше собрать все, к примеру, математические функции в один большой файл --- архив специального вида. При сборке использующих эти функции программ компоновщик должен уметь разархивировать этот файл и забирать из него фрагменты --- отдельные скомпилированные функции. Такой архив --- сборник объектных файлов --- называется библиотекой. При компиляции любой из наших программ достаточно будет сказать: "Эта программа должна быть собрана с использованием математической библиотеки". Однако оказывается, что и такой подход порождает свои проблемы.

  3. Напишем 30 программ, использующих синус, и соберем их с поддержкой нашей математической библиотеки. Результатом будут 30 исполняемых файлов, в каждом из которых будет храниться один и тот же код для вычисления синуса. Понятно, что это ничем не мотивированный перерасход дискового пространства. Было бы гораздо удобней, если содержимое нашей библиотеки хранилось в файловой системе в единственном экземпляре. Но есть и более неприятная проблема: если библиотеку потребуется изменить (к примеру, если мы обнаружим ошибку, из-за которой синус нуля дает -7), то все использующие ее программы также потребуют пересборки (а если одну из них мы пересобрать забудем?). Выход один --- следует отказаться от принципа, согласно которому все необходимое для работы программы кладется внутрь ее исполняемого файла при компиляции. Решающая описанные проблемы схема выглядит следующим образом. При сборке наших программ указывается, что для их работы нужно подгрузить математическую библиотеку. Оформленные соответствующим способом библиотеки называются динамическими: они не входят в исполняемый файл, а загружаются в память в момент запуска. Понятно, что если при запуске программы нужной для ее работы динамической библиотеки в нужном месте не окажется, то программа не запустится. Чтобы определить, какие динамические библиотеки нужны той или иной программе, пользуются утилитой ldd.

(конец отступления)

/lost+found --- в большинстве файловых систем по умолчанию создается этот каталог. В него могут помещаться результаты ремонта этой файловой системы --- потерянные и найденные файлы (файлы без имени, найденные при проверке, и пр.). В современных ФС, используемых в Линукс, обычно используется журналирование, так что оказавшиеся в lost+found файлы --- большая редкость.

/media --- это каталог для автоматического подключения внешних устройств. Допустим, мы не считаем необходимым выполнять ручное монтирование (подключение части файловой системы к общему дереву) флешки, а хотим поручить это специальному "роботу" (программе). Этот "робот" будет сам определять, что это за флешка, и подключать ФС на ней к общему дереву. Согласно стандарту, результат работы этого робота должен быть таким: после того, как флешка подключена к компьютеру, в каталоге /media должен быть создан подкаталог, внутри которого находится содержимое флешки. При извлечении флешки этот каталог становится пустым или вообще удаляется.

/mnt --- каталог, предназначенный для подключаемых вручную (при помощи команды mount) устройств.

/opt --- каталог, предназначенный для не входящих в дистрибутив программных продуктов. Дисциплина оформления установки в /opt проста: каталог /opt/имя_продукта содержит собственные подкаталоги bin, etc, lib и другие. Чаще всего каталог /opt пуст.

/proc --- каталог с виртуальной файловой системой, специфичной для ОС Linux. Здесь в виде файлов и каталогов представлена структура процессов, а также сведения о самой ОС.

/root --- домашний каталог суперпользователя. Его не принято хранить в /home, чтобы суперпользовательские данные были доступны и в случае невозможности подключения /home.

/sbin --- каталог для тех использующихся при старте исполняемых файлов, которые не применяются для решения пользовательских задач. Хранящиеся здесь программы нужны для функционирования самой ОС: большинство из них связаны с разметкой диска, работой с внешними устройствами вообще, сетевыми приложениями и пр.

/srb --- каталог для раздаваемых (по сети) файлов, например сетевой файловой системы. Здесь, к примеру, должны лежать данные, доступ к которым предоставляется по протоколу FTP.

/sys --- каталог для еще одной виртуальной файловой системы. Здесь представлена структура аппаратного обеспечения компьютера в том виде, в котором ее воспринимает ядро ОС. Этот каталог удобно использовать, чтобы узнать, что Линукс "думает" об установленном железе. Эта функция может быть полезна как опытным пользователям, так и "роботам".

/tmp --- каталог для хранения временных файлов.

/var --- каталог, предназначенный для данных, размер и количество которых заранее неизвестны:

  • /var/cache --- разного рода кэши;
  • /var/db --- базы данных нетекстового формата;
  • /var/lib --- специальные файлы различных служб (в ПСПО ALT Linux здесь находятся, к примеру, изолированные окружения);
  • /var/lock --- файлы блокировки (запускаемые программы могут создавать здесь файлы, чтобы другие программы по наличию или отсутствию этих файлов получали информацию об их состоянии);
  • /var/log --- системные журналы;
  • /var/mail --- списки почтовых очередей;
  • /var/opt --- данные установленных в /opt программ;
  • /var/preserv --- сюда могут периодически копироваться различные составляющие системы (к примеру, содержимое /etc);
  • /var/run --- информация о том, какие запущены подсистемы (services) и что в этих подсистемах происходит (например, сюда помещаются идентификаторы соответствующих процессов).

/usr --- особый каталог с собственной внутренней иерархией подкаталогов. Мы отметим лишь некоторые из его подкаталогов.

  • /usr/bin, /usr/lib, /usr/sbin --- каталоги, аналогичные /bin, /lib и /sbin соответственно, с той разницей, что здесь лежат не являющиеся необходимыми для выведения системы в штатный режим файлы (программы, библиотеки, суперпользовательские утилиты). Так, /usr/bin содержит подавляющее большинство пользовательских приложений, /usr/lib --- пользовательских библиотек (в том числе необходимых для программирования).
  • /usr/share --- каталог для хранения архитектурно-независимых данных (соответствующие файлы одинаково выглядят, к примеру, на 32- и 64-разрядных машинах). Понятно, что бинарные приложения сюда поместить нельзя (они принципиально отличны), а вот, например, документацию --- вполне (она располагается в /usr/share/doc).


Сведения о ресурсах

Готовность (%)

Продолжительность (ак. ч.)

Подготовка (календ. ч.)

Полный текст (раб. д.)

Предварительные знания

Level

Maintainer

Start date

End date

40

1

1

1

1

ConstantinYershow, DmitryChistikov, MaximByshevskiKonopko


CategoryLectures CategoryPspo CategoryMpgu CategoryUneex

PspoClasses/080718/05FHS (last edited 2008-10-09 18:44:27 by MaximByshevskiKonopko)