Книга посвя щается операц ио н ной системе ее дистрибутивам



Pdf просмотр
страница2/8
Дата11.11.2016
Размер5.04 Kb.
Просмотров1670
Скачиваний0
1   2   3   4   5   6   7   8

Алексей Федорчук
2 0 0 Вступление Чего не хватает ядру Представление о пакетах

Lin Ядро

Загрузчики и стартовые утилиты Утилиты поддержки

Средства боевого обеспечения Средства тылового обеспечения Об Иксах и их компонентах

Средства управления пакетами

Несколько слов в заключение Вступление
,

Должен сразу заметить что многое в этой главе покажется начинающему пользователю не вполне понятным а кое что и излишним Если будет иметь

-


место первое явление для первого раза достаточно просто пролистать ее на

,

предмет общего ознакомления дабы вернуться к этому материалу потом

.
когда в том возникнет необходимость А что необходимость в нем может
-

,
, возникнуть станет ясным из последнего заключительного раздела Base Lin ux
,

:
К понятию я пришел размышляя над вопросом а что же такое ОС
Lin ux?


Результаты своих размышлений я неоднократно излагал в Сети и на
,


(бумаге начиная с давнишней заметки вон лайновой Софтерре Из чего
Lin ux' , 2 0 0 2
)
только сделаны ы
год и заканчивая соответствующей главой в "
UNIX: Lin ux, FreeBSD, Dr ag o nFlyBSD,NetBSD, O p e nBSD" (
- книге Доступный БХВ, 2 0 0 6;


"
Петербург ее прототип известен в Сети как Введение в ивизм и
доступен на сайтах
Линуксцентр и
Цитфорум
).
Зап ро шедшие годы мои

(
, представления оп редмете неоднократно корректировались в частности под

"

Base влиянием статьи Тихона Тарнавского Ещё один взгляд на ux" (
h t t p: / / p o six.r u / d i s t r o / b a s e_lin ux 2 /
).
И потому в настоящем сочинении, яре шил систематизировать все относящееся к и изложить свое
сегодняшнее видение этого вопроса
Base Lin ux,
Прежде чем переходить к рассмотрению нужно ответить на вопрос
-


?

что же такое операционная система Посему поводу существует три точки
-
,
,
, зрения минималистская максималистская итак сказать промежуточная- с минималистской точки зрения операционная система это

,

; программа именуемая ядром ОС
,
- согласно максималистской точке зрения операционная система это

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

; пользовательских приложений а также средства управления оными, промежуточная точка зрения сводится к тому что операционная, система образована ядром и комплексом средств обеспечивающих его функциональность Яне буду здесь вдаваться в обсуждение того какая из трех точек зрения правильна Тем более что понятие операционной системы может меняться в

,


, Win d o w s зависимости оттого о какой именно ОС идет речь Так любого рода из которой практически невозможно вычленить собственно ядро без

, -
,
вреда для ее здоровья безусловно скорее именно инфраструктурный комплекс то есть подпадает под второе определение операционной системы
FreeBSD (
BSD -
)
и другие представители семейства являет собой неразрывное


-
единство ядра и средств его поддержки системных утилит и некоторых
,

пользовательских приложений выступающих в этом контексте также в
.


Lin ux качестве системных То есть соответствует третьему определению Ну а
"
"
, традиционно рассматривается как голое ядро надстраиваемое
(
)
независимыми от ядра системными и пользовательскими программами
.

, сторонних разработчиков Однако ниже я постараюсь показать что такая


, ,


, Lin ux точка зрения не совсем верна и как будет сказано в последних строках

представляет собой четвертый вариант определения операционной системы
?
- (
)
,
Что такое ядро Это почти обычная программа на которую возложены не

:


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

Unix (
: . .
, "академических трудах по например С Д Кузнецов Операционная- система h t t p: / / citf o r u m. r u / o p e r a ti ng_sy s te m s / u n ix / c o n t e n t s. s h t ml
)



- функции ядра обычно группируются в несколько подсистем управления процессами памятью устройствами сетевую подсистему и подсистему
/

, ввода вывода Сточки зрения пользователя функциональность ядра


"
" - определяется его способностью работать сна личным железом звуковой и
,

, видеокартой обращаться к винчестеру конкретного типа понимать несомую

,
.

им файловую систему итак далее Функции эти могут быть как жестко
,

встроены в ядро таки подключаться к нему в качестве загружаемых модулей
Lin ux



: В этом плане ядро само по себе многое знает и много чего умеет
поддерживает практически весь спектр базового оборудования процессоров ч и псетов шин и дисковых контроллеров все более растущий круг дополнительных устройств по мере их
; появления и распространения все сетевые протоколы и подавляющее большинство сетевых
; интерфейсов) способно использовать в качестве родных множество
:
"
" ex t 2 f s / e x t 3 f s, файловых систем от самой родной включая специально разработанную для вплоть до первоначально чуждых и
и даже любого рода,
. и многое многое другое
,


Но достаточно ли этого чтобы обратить эти знания и умения на пользу обществу точнее сообществу пользователей Попробуем ответить на
этот вопрос
Чего не хватает ядру,
Lin ux
Для того чтобы ядро приступило к выполнению своих прямых, обязанностей его необходимо предварительно загрузить впрочем это

).


касается ил ю бой другой операц ио нки Может ли оно сделать это само по себе,
,


В принципе да может Образ ядра содержит в себе загрузочную запись


BIOS
способную принять управление непосредственно от компьютера или из

(MBR - Mas t er Boot Reco r d) главной загрузочной записи винчестера Такой

b o o t s t r a p pi ng -
процесс самозагрузки ядра называют иногда поднятие себя за
шнурки от собственных ботинок



, Однако на практике это оказывается почти столь же неудобным как и

.
процедура подъема вышеуказанным способом Потому что образ ядра

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

,
-

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


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


Lin ux Кроме того такой способ лишает возможности использовать в паре с
-
какой либо другой ОС



, Так что на практике прямая загрузка образа ядра используется насколько
,


, мне известно только при изготовлении загрузочных дискет и с отмиранием флоппи приводов забудется окончательно А штатным средством загрузки
Lin ux ( ,
,
ядра и следовательно необходимым компонентом его
)

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

В процессе загрузки ядра происходит множество сложных процессов


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



говорили что те или иные функции неизбежно реализованы в виде модулей





, а без их загрузки они как бы и несу ществуют Кроме того загрузка и



выгрузка модулей могут потребоваться ив дальнейшем Но может ли ядро




? само по себе загружать модули при старте или в процессе работы Нет


.

средств для этого в нем не предусмотрено Из чего вытекает необходимость в

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

непременный компонент успешного функционирования ядра

Завершение загрузки ядра знаменуется стартом процесса инициализации Входе ее происходит монтирование файловых систем включение разделов
,


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

. завершающиеся приглашением пользователя к авторизации И все эти


, действия также выполняются не средствами ядра а специальными- инструментами Следовательно их набор он таки называется сценарии инициализации или стартовые скрипты необходим нам еще на стадии входя
,


, в систему и являет собой третий непременный компонент обеспечивающий функциональность ядра


. Но вот образ ядра загружен и инициализация системы выполнена И ядро

-
готово к выполнению своих функций работать с файловыми системами

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

?
реализации функций ядра Какие Проще пояснить напр имере

,
Lin ux
Выше было сказано что ядро поддерживает массу файловых систем



. Однако это означает лишь принципиальную возможность работы сними Нон и одна из поддерживаемых ядром файловых систем не возникает сама собой
-

,
(
,
), ее нужно создать подключить к системе как говорится смонтировать в
,
,

,
. дальнейшем возможно осуществлять проверку ее состояния итак далее И


-
все это требует комплекса соответствующих программ своего для каждой из

, -
поддерживаемых файловых систем иначе пользователю будет мало
радости от их изобилия, Аналогично и с сетевыми протоколами и устройствами виртуальными терминалами итак далее кроме поддержки ядром все это требуете ще и


, внешнего инструментария для управления ими иначе соответствующая функция оказывается мертвой И весь этот инструментарий можно


объединить в комплекс средств обеспечения базовой функциональности ядра
-
четвертый обязательный компонент системы


Однако каким образом пользователь получит доступ ко всем этим базовым
?


. функциям Для этого ему требуются соответствующие средства Например "
" (

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

,
, просмотра содержимого отдельных файлов и при необходимости их
(


).
- модификации то есть средства управления контентом файлов Причем кое


какие из этих средств оказываются необходимыми уже на стадии
,


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

)

доступа к другим функциям приходится запускать вручную Для чего ему
-
,
требуется какой то интерфейс позволяющий это делать Поскольку

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

,
традиционно используется программа называемая командной оболочкой- командными нтерпретатором или по простому шел лом оболочка Она выступает в качестве интегратора вышеуказанных пользовательских утилит среды для их выполнения и вместе сними может быть объединена в
,
,

- комплекс так сказать боевого обеспечения пользователя пятый компонент


,
, необходимый для функционирования ядра на его пользователя благо, Вот казалось бы и все Нонет в тени за кадром осталась еще одна вещь без



.
, которой все перечисленное выше просто не будет работать Это невидимое
,
,
,

, - пользователю средство так сказать его тылового обеспечения (общ есистемная библиотека функций Си,

,

, Таким образом для загрузки ядра его работы и использования необходимы следующие компоненты (

); само ядро ну еще бы

2.
-

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

; средства боевого обеспечения шел ли пользовательские утилиты, средства тылового обеспечения системные библиотеки в первую

. очередь библиотека функций Си

Lin ux, Этот комплекс средств составляет основу системы его можно


обнаружить в составе абсолютно любого варианта этой системы С одной
,


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


Base Lin ux самодостаточность И потому резонно назвать его и считать воплощением этой ОС как системной целостности Что и будет предметом дальнейшего рассмотрения о пакетах


, Однако прежде необходимо сказать два слова о том как распространяются
,


,
O p e n So u rce Softwa r программы о которых пойдет речь Все они будучи, доступны с сайтов разработчиков в виде исходных текстов объединенных в

(pack age s)
- так называемые пакеты посредством программы архиватора
(
- почти всегда tar),
(
- обычно компрессирован н ых утилитами компрессорами gzip или Это пакеты исходников которые можно назвать
,

(
), авторскими пакетами в отличие от бинарных откомпилированных или дистрибутивных пакетов о которых речь пойдет в



3
одном из разделов главы .
,
,
, Очевидно что в виде распространяемом авторами пакеты к использованию непригодны Они требуют сборки то есть компиляции исходных текстов в
,
-
)
- бинарный вид или нковки связывания с библиотеками и инсталляции помещения отдельных компонентов в соответствующие места включения в

).

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

,
Однако обычно программы входящие в состав пакета не могут быть

-

запущены сами по себе для своей работы они нуждаются в некоторых
,
,

разделяемых компонентах библиотеках о которых только что шла речь



: Отсюда вытекает понятие так называемых зависимостей пакетов когда пакет p ac k age 1


p ac k age для своей работы требует непременного наличия пакета
,

,
Почти все пакеты рассмотренные в настоящей главе завязаны на один единственный разделяемый компонент главную системную библиотеку Си
(glibc).


Однако в принципе зависимости пакетов могут быть весьма сложными и неоднозначными Состав пакетов ничем не лимитируется кроме соображений разработчика Пакет может включать в себя единичную простую программу команду



несколько таких программ и даже многие десятки их Примеры всему этому



мы увидим ниже Причем в каждом пакете я постараюсь перечислить все его
,

,
-
команды или по крайней мере важнейшие запоминать их сейчас необязательно но эта информация пригодится в дальнейшем в частности и как справочная Ядро Linux
,
Lin ux -
( ,
, Очевидно что ядро основной и можно сказать эпон ими ческий


1 9 9 1
, компонент этой ОС Созданное Линусом Торвальдсом в году оно на


протяжении уже многих лет разрабатывается большими нтернац иона льн ым

коллективом под руководством и при координации основоположника Команда разработчиков более или менее неформальное объединение И

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



, практически все эти патч и проходят многоступенчатый отбор прежде чем
(

)
, попасть или не попасть к самому Линусу который и принимает, окончательное решение включать их в официальную версию ядра или нет
Официальным своим местопребыванием ядро имеет сайт h t t p: / / w w w.ke r n el.org
,


, имеющий множество зеркал по всему свету в том
.
,


, числе ив России В сущности исходные тексты ряда версий ядра их патчей

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


-
HTTP
FTP. которого их можно получить по Сети по протоколами ли Иного

,

, способа распространения исходников ядра насколько мне известно несу ществует
,
Lin ux -
-

,
Бытует мнение что ядро одно единственное Это правда ноне вся
,
-
правда Действительно ядро Линуса каноническое Однако практически

(
- 2.6), кроме текущей его ветки в настоящее время в которой периодически выходят новые версии в каждый момент времени развивается и


(

2.4). дополняется минимум одна предшествующая ветка на данный момент
А


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

(

-Далее существуют т н ядра май нтай неров наиболее известные из них -Эндрю Мортон Алан Кокс Кон Коливас Разумеется в основе всех их
,
-
,
каноническое ядро нос патчами ответственными за реализацию. дополнительных функций не входящих в официальное ядро Собственно ядра май нтай неров и распространяются исключительно в виде патчей к

.

основному дереву исходников ядра В большинстве случае они доступны на
том же h t t p: / / w w w.ke r n el.org
, в каталоге people,
где каждый май нтай нер

;

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

сторонних серверах Со временем большинство патчей май нтайнеров

.

включается в состав официального ядра Однако эти ребята на достигнутом
,

не останавливаются и придумывают новые патч и для обеспечения новых


возможностей Так что основные май нтай нерские ветки перманентно

существуют параллельно канонической ветке Линуса

Существуют проекты дополнения ядра узкоспециальными функциями) такими как обеспечение работы кластеров или повышенной безопасности
Разрабатываемые в их рамках патч и обычно не

,
включаются в основное дерево ион и сосуществуют с ним в качестве отдельных веток,

- Кроме этого существуют еще и ядра дистрибьюторов в комплект всех
,
,
Re d Hat, Su se, Man d r a k e распространенных дистрибутивов таких как итак (далее входят заточенные под них ядра собственной выделки обычно в

),

нескольких вариантах дополняющие или подменяющие каноническое ядро


Они основаны на патчах май нтай неров или специализированных проектов

,
но включают и собственные функции обеспечивающие оптимальную работу "
"



, своего дистрибутива Более того существуют глубокие сомнения в том что
, Re d Hat


- скажем вообще способен функционировать на каноническом ядре
-
,
или каком либо ином отличном от собственных Таким образом альтернативность начинается с самой наибазовой
-


,
его части ядра Можно воспользоваться каноническим ядром в том числе и

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

,

можно и прибегнуть к результатам тех кто такую работу уже проделал подобрав подходящее ядро от дистрибьюторов
Загрузчики и стартовые утилиты
(

Если не говорить о самозагрузке а мы вроде договорились не поднимать себя


),
Lin ux за шнурки от собственных ботинок то ядро можно загрузить

-
: BSD loa d e r (множеством внешних программ загрузчиков штатный загрузчик, систем загрузчиком коммерческими программами типа вероятно и другими Существует даже

Lin ux
,
средство загрузить ядро с помощью программы запущенной из dlin).



: Lilo Однако наиболее часто с этой целью применяется два пакета и
GRUB.
Lilo (LIn ux LOa d e r),


, как явствует из его названия специально разрабатывался


Lin ux,
именно для обеспечения загрузки ядра хотя способен выступить ив качестве мультисистемного загрузчика успешно справляясь с запуском
Win d ow s
,
FreeBSD. lilo
любого рода а также
Пакет не имеет авторского сайта


, но доступен на многих серверах например /Li n ux / s y s t e m / b o o t / lilo

Lilo, GRUB
В отличие от разрабатывался именно как мультисистемн ы й
,



. загрузчики имеет все шансы стать стандартным для свободных ОС В


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

незагружен н ых ОС обеспечивая запуск с них ядра соответствующей системы И добавлю выступая как своего родамин и ОС Получить его можно

- с сайта проекта r u b /

,


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

построения зависимостей средств просмотра состояния Они составляют
содержание пакета module­init­tools (
,
2.4.X - или для версии modutils).




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

,

его конкретной версии и потому они оказываются неразрывно связанными с



ядром Что подчеркивается их нахождением на том же сайте h t t p: / / w w w.ke r n el.org
Пакет module­init­tools
включает в себя следующие команды -

; просмотр загруженных модулей -

; генерация зависимостей между модулями -


, генератор файла информации о версии ядра к которой

; относятся модули -


; команда для загрузки единичного модуля -

, команда для удаления модулей неиспользуемых в течении некоторого времени- команда для вывода номера ветки ядра в текущем случае это будет -


, команда для вывода информации о модуле заданном в

; качестве ее аргумента -
,

, загрузка модуля заданного в качестве ее аргумента и всех
,

; модулей связанных с ним зависимостями -

. удаление ранее загруженного модуля В пакет modutils
,
,
входят с некоторыми отклонениями те же команды аналогичного назначения Основное средство инициализации канонический пакет sysvinit
(
f t p: / / f t p.cis t r o n. nl / p u b / p e o ple / m i q u el s / s y svinit /
), обеспечивающий инициализацию системы в т н стиле принятой в в качестве

стандартной Он включает программу init,
обеспечивающую запуск всех

, остальных процессов в системе shutdown, halt, reboot, вызывающие останови рестарт системы killall -
"
"
, средство убиения процессов и еще несколько
Пакет sysvinit


. вызывает в последнее время все больше нареканий И потому

,
предпринимаются поиски его альтернатив примерами которых являются
Sim pleinit - MSB (
h t t p: / / w ww.wi n t e r d r ac h e. d e / li n u x / n e w b o o t / i n d ex. h t ml
), r u ni t
(
h t t p: / / s m a r d e n. s u n si te. d k / r u ni t /
) InitNG (и h t t p: / / j w. dy n d n s.o rg / i ni t n g /
).
,

Кроме того для старта полнофункциональной системы требуются и

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


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

(
,

,
) их можно написать или по крайней мере скорректировать и

,

собственноручно Замечу только что все наборы стартовых скриптов можно

-
Syste m V BSD -
разделить на две группы в стиле ив стиле Различие между
,
BSD -

ними в том что наборы стиля обеспечивают запуск системных сервисов

,
посредством главного стартовго сценария получающего параметры из

(
b s d - init главного же стартового конфига примером может служить пакет из
Arc hlin ux, дистрибутива h t t p: / / w w w.a rc hlin u x.o rg
).
Syste m В наборах стиля ни того ни другого не имеется системные службы запускаются отдельными. скриптами сгруппированными по так называемым уровням запуска Хорошее, представление о составе такого набора можно получить ознакомившись с lfs - b o o t s c ri p t s
Lin ux fr o m Scra tc h пакетом проекта rg /
).
,

Lin ux Таким образом средства загрузки ядра и инициализации системы
,

, весьма разнообразны предоставляя возможность выбора и тех и других
Утилиты поддержки
Lin ux
,
Важнейшие утилиты поддержки объединены в пакет который таки- называется util­linux.
,
Очень желательно чтобы его версия



,
, соответствовала версии ядра Зачем можно проследить соответственно на
том же h t t p: / / w w w.ke r n el.org
- каталоге f t p: / / f t p.ke r n el.o rg / p u b / li n ux / u tils / u til - lin ux /

В составе пакета util­linux -

многие множества команд весьма разного
,



( назначения даже перечислять которые было бы слишком долго а также

).

скучно и ненужно Они предназначены для создания дисковых разделов
(
fdisk, cfdisk),
создания) и активации дезактивации, разделов подкачки монтирования и размонтирования (файловых систем mount/ umount),

(установки атрибутов терминала, и многого многого другого
К util­linux,
,
,
включающей помимо прочего команду активации терминала по смыслу примыкает пакет shadow
(
f t p: / / f t p. pl d.o rg. pl / s o f tw a r e / s h a d o w /
),
предназначенный для управления, пользовательскими паролями который обеспечивает в частности механизм так называемых теневых паролей общепринятый в
Существуют и многочисленные альтернативные средства авторизации в
,
системе Так универсальная команда agetty,
, обеспечивающая доступ в том
,
,
числе и к удаленным терминалам в условиях настольной персоналки может
заменяться командой mingetty,

приспособленной для работы только с
.

виртуальными терминалами Интересен метод беспарольного входа в
,

систему который можно обеспечить с помощью пакета qlogin ().


Lin ux
С давних уже пор ядро поддерживает так называемые мультидисковые
-
RAID -
LVM (Logival Volu m e устройства программные массивы и механизм" обеспечивающий в частности горячее перераспределение дискового пространства между файловыми системами Разумеется


- обеспечение этих функций требует соответствующего инструментария для- их создания и последующего управления Работа с массивами


: m d a d m обеспечивается сразу двумя альтернативными пакетами t t p: / / w w w.cse. u n s w.e d u.a u / n eilb / s o u r ce / m d a d m /
),
более подходящим для
, r ai d t o ols (),

. пользовательских десктопов и чаще применяемом на серверах А
LVM
механизм обеспечивается одноименным пакетом
(
f t p: / / f t p. sis ti n a.co m / p u b /LVM /
).

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

Lin ux, ex t 2f s,
классической файловой системы такой набор носит название, а найти его можно например здесь f t p: / / f t p. m e t ala b. u n c.e d u / p u b /Li n ux / s y s t e m / filesy s t e m s / ex t 2 /
В него входят следующие утилиты для поиска испорченных блоков на дисковых устройствах

; для смены атрибутов файлов для создания точных дисковых копий дампов, mke2fs и mkfs.ext2

для создания на дисковых разделах
; файловой системы, fsck и fsck.ext2,
осуществляющие проверку целостности файловой системы m ag e



; для создания образа файловой системы в виде файла для создания таблицы разбиения диска

для настройки быстродействия файловой системы

Ряд утилит пакета поддерживают также журнал и руемый вариант файловой- системы ext3fs (mke2fs, fsck.ext3), а resize2fs ­ также и

ReiserFS. Однако в принципе для нее, как и для остальных журналируемых файловых систем ­ XFS и JFS, требуются собственные средства

В первом случае это будет пакет reiserfsprogs
(
f t p: / / f t p. n a m e sy s.co m / p u b / r eis e rf s p r o g s /
), включающий для создания файловой системы

; для проверки ее целостности для изменения размера и размонтирования Для поддержки требуется целый комплекс пакетов


; для дополнительных средств управления доступом к файлам для использования расширенных возможностей атрибутирован ия
; файлов для резервного копирования собственно для создания и управления файловой системой
XFS.


(

) Все эти средства могут быть получены в том числе ив виде исходников с

соответствующего раздела сайта f t p: / / o s s. sgi.co m / p r o jec t s / x f s / d o w nlo a d / l a t e s t / c m d_ t a r s /
,


Впрочем абсолютно необходимым из этого списка является только
, последний пакет xfsprogs,


без всего остального можно обойтись Что же

JFS,
касается средств поддержки поиск таковых предлагается проделать самостоятельно заинтересованным лицам автор к их числу не относится,

Кроме этого требуются средства для поддержки виртуальной файловой системы обеспечивающей отображение процессов t p: / / f t p.cis t r o n. nl / p u b / p e o ple / sv m /
), p r o c p s
(
f t p: / / p e o ple.re d h a t.co m / j o h n s o n m / p r o c p s /
) ,
, и возможно средство для

- d evf s, d evf s d, трансляции файловой системы устройств буде возникнет желание таковую использовать
(
f t p: / / f t p.ke r n el.o rg / p u b / li n ux / d a e m o n s / d evf s d /
). d evf s Хотя ныне быстро


- вытесняется другим механизмом управления устройствами пакетом udev,
,
,

который таким образом вместе с тесно связанным с ним пакетом hotplug,


становится необходимым компонентом группы поддержки Оба они находятся здесь f t p: / / f t p.ke r n el.o rg / p u b / li n ux / u tils / k e r n el / h o t pl u g


К этой же группе примыкает пакет p s m i sc
, предназначенный для- отслеживания процессов в системе В его составе команды,


, выводящая на экран идентификаторы процессов, предназначенная для отправки сигналов им,

показывающая запущенные процессы в виде дерева
Информация оп ротекаю щ их в системе процессах должна как то
(
,


). фиксироваться в частности на предмет анализа причин сбоев И этой цели служит специальный пакет t t p: / / w w w.info d r o m. o rg / p r o jec t s / s y s klog d
), klog d включающий утилиты демон сообщений ядра и ведущий запись сообщений системных программ Далее к средствам поддержки можно отнести программы для работы с

Lin ux.

- консольным драйвером
Таковых ныне используется две kbd f t p: / / f t p.wi n.t u e. nl / p u b / li n u x - local / u tils / k b d и console­tools
(
h t t p: / / t elia. dl.so u rcefo rge. n e t / s o u r cef o rge / lc t /
).
Первая включает в себя
,

множество утилит из которых для начала важнейшими являются,


; предназначенная для загрузки клавиатурных раскладок

; для загрузки экранных шрифтов для задания карты соответствия кодировки клавиатурного

. ввода таковой экранного вывода
Набор console­tools

- имеет соответствующие средства loadkeys и consolechars

/
,
для управления вводом выводом Очевидно что пакеты kbd и console­tools

-
не то чтобы исключают друг друга просто при наличии. одного второй делается ненужным Пакет console­tools считается более современным однако и текущие версии kbd
, обеспечивают в частности
Unico d e

,
работу с кодировкой и прочие актуальные фи ч итак что выбор
- между ними дело вкуса


-Сетевые возможности базовой системы обеспечиваются двумя наборами netkit­base (
f t p: / / f t p. u k.lin ux.o rg / p u b / li n ux / Ne tw o r ki ng / n e t kit /
) и net­tools
(
f t p: / / f t p. u k.lin ux.o rg / p u b / li n ux / Ne tw o r ki ng / n e t kit /
).
- В первом демон inetd,


, отвечающий за службы Интернет вообще и команда ping, для отправки
,

.
пакетов определяющих доступ к узлам сети Команды набора net­tools

(определяют конфигурацию сети ifconfig),
,
доменные имена имена хостов и


PPP (Poin t - t o - Poin т д Ад ля обеспечения работы по протоколу,
,

, обеспечивающему в частности модемный доступ к сети существует (соответствующий пакет
Средства боевого обеспечения
,

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


:
,
никакие вообще действия становятся невозможными ведь кроме того что она


, обеспечивает ввод всех пользовательских и системных команд она


необходима и для исполнения стартовых сценариев при загрузке системы,

,
Lin Традиционно такой как бы общ есистемной командной оболочкой в является bash (
ft p: / / f t p.g n u.o rg / g n u / b a s h /
).
Хотя обычно стартовыми


сценариями в явном виде вызывается некая оболочка- это не более
чем ссылка напр и этом под /bin/sh
понимается некий виртуальный в природе несуществующий Однако любая оболочка будучи запущен таким образом более или менее его эмул ирует
Оболо чка bash -


далеко не единственно возможная для использования в
Lin ux.


(
, Некоторые оболочки превосходят ее компактностью например o ol / m ai n / a / a s h /
),
(
, иные же в частности богатством настроек и удобством в интерактивной, работе Правда все в настолько завязано на скриптинг что она


кажется безальтернативной как общ есистемн ы й шел л И к тому же ее


возможности почти неограниченно расширяются с помощью дополнительного пакета bash­completion
(
h t t p: / / w w w.calib a n.o rg / files / b a s h /
),
который способен воспроизвести почти
все функции, Тем не менее как можно видеть альтернативы bash
, существуют Так ash

часто используется во всякого родамин ид истрибутивах а zsh

, в качестве общ есистемного шел лая с целью эксперимента
Lin ux -
использовал в системе собственной сборки


Далее следует базовый пакет пользовательских утилит для манипуляций с

,

- файлами и их содержимым в первую очередь текстовым coreutils
(
h t t p: / / f t p.g n u.o rg / g n u / c o r e u tils /
).
Он включает огромное количество- отдельных команд которые можно разделить натри блока средств для
,


работы с файлами средств навигации по файловой системе и средств работы




- с текстовым контентом Ранее они составляли три отдельных пакета fileutils, sh­utils и textutills, соответственно- Средства манипуляции файлами следующие и chown

; для управления атрибутами файлов и ln

, для простого копирования файлов копирования с

, in s t all
преобразованием и создания ссылок а также для копирования с
; установкой атрибутов, mkdir, mkfifo и mknod -
средства создания регулярных файлов каталогов специальных файлов и файлов устройств соответственно, для переименования перемещения файлов их удаления удаления каталогов, dir и vdir


; для просмотра списков файлов в каталогах

; для установки цветовой схемы и du


; для вывода информации о дисковом пространстве для синхронизации файловых операций и состояния файловой системы
-
,
Объединение блока средств навигации несколько условно так как ряд



команд его служат также несколько иным целям Важнейшие из них служит для вычленения имени файла- средство для

; смены корневого каталога pwd -
определяет текущее положение в файловой системе su ( Set UID -
) -
от получить идентификатор команда для получения полномочий другого пользователя расщепление вывода команды на
: экран ив файл для получения информации о системе who - команда

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

, многофункциональная команда для создания просмотра и
; объединения файлов, команда для разделения файлов на части в качестве

,

; разделителя будет выступать строка заданная как шаблон вытягивание из заданного файла фрагментов строк -


; нечто вроде форматирования абзацев текстового файла вывод первых ти по умолчанию строк файла) просмотр файла в виде восьмеричных по умолчанию или иных других кодов -

; построчная сортировка содержимого файла разбиение файла нач асти заданного размера или количества линий вывод содержимого файла сзаду наперед обратно -
(

)
вывод нескольких десяти по умолчанию последних строк файла обратно -

,

. подсчет количества строк словили символов в файле С этим блоком команд связан самостоятельный пакет file
, включающий единственную одноименную команду Она позволяет детал изовать тип
(
,
. )
. . "регулярного файла исполнимого текстового и т д пот н магической последовательности байтов в его начале К coreutils



- fin d u tils по смыслу тесно примыкает пакет для поиска файлов. В его составе -


практически универсальное средство для поиска файлов и


; выполнения над найденным разнообразнейших операций используемая обычно в паре с командой find, позволяет применить некие команды к списку файлов

locate -


средство сканирования базы данных файловой системы с


; целью определения локации заданных файлов средство обновления базы данных файловой системы
используемой командой locate.
Совершенно незаменим пакет grep (
f t p: / / f t p.g n u.o rg / g n u / g r e p /
). В его состав
входят программы grep, fgrep и egrep),
предназначенные для поиска) заданного текстового фрагмента шаблона в файлах Пакеты ed (
ft p: / / f t p.g n u.o rg / g n u / e d /
), sed (
ft p: / / f t p.g n u.o rg / g n u / s e d и gawk
(
f t p: / / f t p.g n u.o rg / g n u / g a w k /
)

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

текстовые редакторы А
вооб щеп редставляет собой скорее язык


программирования для написания сценариев обработки текстовых массивов
,

(Теоретически располагая мощным редактором интерактивным типа emacs или без них можно было бы обойтись но они столь широко, используются во всякого рода системных сценариях что практически оказываются необходимыми Аналогично и положение с пакетом groff (
f t p: / / f t p.g n u.o rg / g n u / g r o ff /
),

включающим множество средств сложного не интерактивного форматирования текста Вряд ли кто ныне помимо впитавших привычку с
,


молоком матери будет использовать его в практической работе Однако он


, оказывается необходимыми для функционирования системы документации о

которой речь пойдет чуть ниже, Исходники всех программ перечисленных выше да и всех прочих о


)
некоторых ихних будет говориться ниже доступны в сети в архивированном да еще и компрессирован ном виде и потому первое что понадобится для
-

работы сними это архиваторы и компрессоры Список первых
ограничивается программой, тогда как


: компрессоров потребуется не менее двух gzip (
f t p: / / f t p.g n u.o rg / g n u / g zi p /
) и b zi p 2 (
h t t p: / / s o u r ce s.re d h a t.co m / b zi p 2 / i n d ex. h t ml
),
поскольку форматы их

(

несовместимы иногда встречающиеся архивы вида *.tar.Z могут быть g zi распакованы программой,
,

,

, - Наконец группа пакетов последняя по счету ноне по значению системы
Lin ux

- документации Таковых вши р око используется две традиционные для
Unix m a n - страницы / d o c s / m a n p a g e s и
GNU разработанная в рамках система info f t p: / / f t p.g n u.o rg / g n u / t exi nf o По


, содержанию они существенно перекрывают друг друга и потому обычно могут выступать в качестве альтернативных Однако полная документация кряду программ проекта доступна только в формате info. Примером тому
-

GRUB, m a n -
упоминавшийся выше загрузчик страница которого содержит
лишь минимум сведений, Однако сами по себе системы документации как ни странно не содержат

-

средств для ее чтения для этого требуется специальная программа постраничного просмотра так называемый не путать стем чем лохи в
). Lin ux (

Unix'
) песочнице ковыряются В
а вслед зане й и прочих ах в качестве
таковой утвердилась утилита входящая в одноименный пакет
(
h t t p: / / f t p.g n u.o rg / g n u / l e s s /
),
,
, включающий кроме того утилиты и lesskey.
, Впрочем утилита выполняет и функцию просмотра

,
содержимого текстовых файлов вообще и потому вдвойне необходима,

, Набор приложений включенных в боевой набор пользователя может


- показаться несколько аскетичным Однако свою функцию взаимодействие


- пользователя с остальным компонентами базовой системы он обеспечивает с успехом Хотя практически всегда он включаете ще и текстовый редактор

Vim -
Таковым обычно выступает универсальный инструмент юн иксоида

Unix - Unix - имеющий аналоги во всех и
подобн ых системах
(
h t t p: / / w w w.vi m.o rg
).
, Lin ux

Впрочем в в качестве базового редактора он все
(
)
чаще дополняется а то и подменяется более легкими простым в освоении редактором nano (
h t t p: / / w ww. n a n o - e dit o r.o Средства тылового обеспечения

Это понятие почти полностью охватывается главной общ есистемной
,
Lin ux библиотекой каковой в является glibc (
ft p: / / f t p.g n u.o rg / g n u / glibc /
),


. начальные сведения о которой были приведены выше Она включает множество собственно библиотечных файлов вида lib*.so итак называемые
(hea d e r -
) -

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

,
, uClibc функциональными но более компактными такими как t t p: / / u clibc.o rg /
).

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



, есть и базирующиеся на ней дистрибутивы общего назначения например один из вариантов и разновидность Практически столь же обязательной как и библиотека функций Си

оказывается библиотека свойств терминала s e s /
) -

ее используют очень многие консольные, программы именно эта библиотека отвечает за интерпретацию- аргументов командной строки и библиотека компрессирован ия zlib
().
,


Наконец требуется также инструментарий для связывания программ с

- библиотечными функциями -
.

система интернациональная И эта ее особенность тоже требует
- ge t tex t специальной библиотеки ex t /
),

NLS (Native Lang u age Su p p o r t - обеспечивающей так называемую поддержку

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

,
X
Как было сказано в предыдущей главе оконная система не является частью
Base Lin ux,
Lin ux,
,

да и к собственно отношения не имеет Однако она

оказывается практически безальтернативным средством обеспечение работы



(
в графическом режиме и потому включается в его состав как ив состав всех
BSD -
),

операц ио нок за исключением чисто серверн ых и узкоспециализированных систем
X Win d o w Syste m -

-

, Сама по себе это не какая либо конкретная программа и


,
даже не графический интерфейс как таковой али ш ь набор спецификаций которым этот самый графический интерфейс должен соответствовать


,

Конекретных же их реализаций существует несколько и две из них являются
.
XFree8 6 (открытыми и свободными Это h t t p: / / w ww.xfr ee 8 6.o rg
) Xorg и t t p: / / w w w.X.org
).

(
2 0 0 4
) Первая с некоторых пор с конца года снискала себе "

",
репутацию не вполне свободной и потому в современные дистрибутивы
Lin ux (Ub u n t u Ku b u n t u


) и
здесь не стали белыми воронами включается почти всегда только

(
Xorg) -
X -Основные компоненты любой реализации Иксов в том числе и это (
,

сервер программа отвечающая за взаимодействие с устройствами ввода и
,

),
вывода в том числе с видеосистемой машины главная Иксовая библиотека, простенький оконный менеджер как мы помним из прошлой главы без


), него практическое использование Иксов невозможно программа эмуляции терминала и еще несколько

- Библиотеки для программ графического режима существенно, многочислен ней чем для режима консольного и взаимоотношения между

,
,
ними много сложнее Прадва простые программы начинающиеся на
Каталог: kitab


Поделитесь с Вашими друзьями:
1   2   3   4   5   6   7   8


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

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


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