- •6 Архитектура ос Linux. Ядро, файловая система, компоненты.
- •Ядро Linux и его загрузка
- •7 Типы архитектур ядер операционных систем[править | править вики-текст] Монолитное ядро[править | править вики-текст]
- •Модульное ядро[править | править вики-текст]
- •Микроядро[править | править вики-текст]
- •Экзоядро[править | править вики-текст]
- •Наноядро[править | править вики-текст]
- •Гибридное ядро[править | править вики-текст]
- •11.Дистрибутив ос Linux Debian
- •12. Пакетный менеджер apt
- •13. Структура файловой системы Debian.
- •14. Структура файловой системы ос Debian.
- •15. Консольная оболочка Bash.
- •Установка с раздела dos
Установка с раздела dos
Установка с раздела Linux
Установка с CD-ROM
Установка по NFS
Загрузка с дискет
Установка базовой системы с дискет
Установка на систему с небольшой памятью
Установка Debian, разделы жесткого диска.
Для установки Debian необходимо выполнить несколько шагов:
загрузка системы установки
первоначальная конфигурация системы
установка базовой системы
загрузка только что установленной системы
установка остальной системы
Загрузка системы установки -- первый шаг -- обычно осуществляется либо со "спасательной" дискеты, либо непосредственно с CD-ROM. Иногда первая загрузка бывает самой трудной (это зависит от вашего оборудования, разумеется). Поэтому она описана отдельно, см. Загрузка системы установки, Глава 6.
Как только Linux загрузится, автоматически будет запущена программа dbootstrap, которая и позволит вам завершить второй шаг -- начальная конфигурация системы.
Базовая система Debian -- это минимальный набор пакетов, которые необходимы для автономной работы Debian. Как только вы сконфигурировали и установили базовую систему, ваша машина может работать "сама по себе". Базовая система может быть установлена со следующих носителей: дискеты, жесткий диск, CD-ROM или с NFS-сервера. Установка будет произведена программой dbootstrap.
И последний шаг -- это установка остальной системы. Он обычно включает установку приложений и документов, которые вы собираетесь использовать на вашем компьютере; такие как система X Window, редакторы, интерпретаторы командной строки, среды разработки и т.п. Эта часть Debian может быть установлена как с CD-ROM, так и с любого зеркала архива Debian (используя http- или ftp-протоколы или по NFS). Начиная с этого момента, вы должны пользоваться стандартными средствами управления пакетами, такими как dselect или apt-get.
Заметьте, что носители, используемые на разных шагах, не обязаны быть одними теми же: вы можете загрузиться со "спасательной" дискетки, установить базовую систему по NFS и затем установить остальную систему с CD-ROM. Если вы скачиваете систему из архива, скорее всего вы будете загружаться и устанавливать базовую систему с дискет, а завершать установку системы прямо из Интернета.
Система установки, используемая на первых трех шагах, разделена на три части: "спасательная" дискета, дискета драйверов и базовая система. Ниже описаны разные методы установки и файлы, которые могут быть необходимы. Необходимые файлы и шаги, которые вам нужно будет предпринять для подготовки носителя, зависят от метода установки Debian, который вы выберете.
Разделы жесткого диска
Структура файловой системы
Директория |
Описание |
/ |
Корневая директория, содержащая всю файловую иерархию. |
/bin/ |
Основные системные утилиты, необходимые как в однопользовательском режиме, так и при обычной работе всем пользователям (например: cat, ls, cp). |
/boot/ |
Загрузочные файлы (в том числе файлы загрузчика, ядро и т.д.). Часто выносится на отдельный раздел. |
/dev/ |
Основные файлы устройств системы (например физические устройства sata винчестеры /dev/sda, видео камеры или TV-тюнеры /dev/video или псевдоустройства, например «чёрные дыры» /dev/null, /dev/zero ). |
/etc/ |
Общесистемные конфигурационные файлы, лежат в корне директории и файлы конфигурации установленных программ (имя происходит от et cetera). |
/etc/X11/ |
Файлы конфигурации X Window System версии 11. |
/etc/apt/ |
Файлы конфигурации пакетного менеджера Apt. |
/etc/samba/ |
Файлы конфигурации сервера Samba, расшаривающего файлы по сети с windows машинами. |
/home/ |
Содержит домашние директории пользователей, которые в свою очередь содержат персональные настройки и данные пользователя. Часто размещается на отдельном разделе. |
/lib/ |
Основные библиотеки, необходимые для работы программ из /bin/ и /sbin/. |
/media/ |
Точки монтирования для сменных носителей, таких как CD-ROM, DVD-ROM, flash дисков. |
/opt/ |
Дополнительное программное обеспечение. |
/proc/ |
Виртуальная файловая система, представляющая состояние ядра операционной системы и запущенных процессов в виде каталогов файлов. |
/root/ |
Домашняя директория пользователя root. |
/sbin/ |
Основные системные программы для администрирования и настройки системы, например, init, iptables, ifconfig. |
/srv/ |
Данные, специфичные для окружения системы. |
/tmp/ |
Временные файлы (см. также /var/tmp). |
/usr/ |
Вторичная иерархия для данных пользователя; содержит большинство пользовательских приложений и утилит, используемых в многопользовательском режиме. Может быть смонтирована по сети только для чтения и быть общей для нескольких машин. |
/usr/bin/ |
Дополнительные программы для всех пользователей, не являющиеся необходимыми в однопользовательском режиме. |
/usr/include/ |
Стандартные заголовочные файлы. |
/usr/lib/ |
Библиотеки для программ, находящихся в /usr/bin/ и /usr/sbin/. |
/usr/sbin/ |
Дополнительные системные программы (такие как демоны различных сетевых сервисов). |
/usr/share/ |
Архитектурно-независимые общие данные. |
/usr/src/ |
Исходные коды (например, здесь располагаются исходные коды ядра). |
/usr/local/ |
Третичная иерархия для данных, специфичных для данного хоста. Обычно содержит такие поддиректории, как bin/, lib/, share/. Она пригодится, когда /usr/ используется по сети. |
/var/ |
Изменяемые файлы, такие как файлы регистрации (log-файлы), временные почтовые файлы, файлы спулеров. |
/var/cache/ |
Данные кэша приложений. Сюда скачиваются пакеты перед их установкой в систему, здесь же они какое-то время и хранятся |
/var/lib/ |
Информация о состоянии. Постоянные данные, изменяемые программами в процессе работы (например, базы данных, метаданные пакетного менеджера и др.). |
/var/lock/ |
Lock-файлы, указывающие на занятость некоторого ресурса. |
/var/log/ |
Различные файлы регистрации (log-файлы). |
/var/mail/ |
Почтовые ящики пользователей. |
/var/run/ |
Информация о запущенных программах (в основном, о демонах). |
/var/spool/ |
Задачи, ожидающие обработки (например, очереди печати, непрочитанные или неотправленные письма). |
/var/tmp/ |
Временные файлы, которые должны быть сохранены между перезагрузками. |
/var/www/ |
Директория веб-сервера Apache, всё что находится внутри транслируется им в интернет (конфигурация по-умолчанию) |
Дисковые файловые системы
Ext4 - журналируемая файловая система, используемая в ОС сна ядре Linux. Основана на файловой системе Ext3, но отличается тем, что в ней представлен механизм записи файлов в непрерывные участки блоков (екстенты), уменьшающий фрагментацию и повышающий производительность. В Ubuntu, начиная с версии 9.10, эта файловая система используется по умолчанию при автоматическом разбиении диска инсталлятором.
Ext3 - журналируемая файловая система, используемая в ОС на ядре Linux. Является файловой системой по умолчанию во многих дистрибутивах. Основана на Ext2, но отличается тем, что в ней есть журналирование, то есть в ней предусмотрена запись некоторых данных, позволяющих восстановить файловую систему при сбоях в работе компьютера.
Ext2 - файловая система, используемая в операционных системах на ядре Linux. Достаточно быстра для того, чтобы служить эталоном в тестах производительности файловых систем. Она не является журналируемой файловой системой и это её главный недостаток.
BTRFS - Достаточно новая универсальная ФС, используемая в операционных системах на ядре Linux. Ее особенностями являются: индексное хранение структур данных (в В-деревьях), возможность создания снепшотов, и многие другие интересные вещи.
XFS - высокопроизводительная журналируемая файловая система. Распределение дискового пространства - екстентами, храниение каталогов в B-деревьях. Автоматическая аллокация и высвобождение I-node. Дефрагментируется «на лету». Невозможно уменьшить размер существующей файловой системы. При сбое питания во время записи возможна потеря данных (хотя этот недостаток нельзя относить к одной только XFS, он свойственен любой журналируемой ФС, но, вместе с тем, XFS, по умолчанию, достаточно активно использует буферы в памяти).
Fat16 - файловая система, сейчас широко используемая в картах памяти фотоаппаратов и других устройств.
Fat32 - файловая система основанная на Fat16. Cоздана, чтобы преодолеть ограничения на размер тома в Fat16.
NTFS - файловая система для семейства операционных систем Microsoft Windows. Поддержка в Ubuntu осуществляется специальным драйвером - NTFS-3G.
HFS - файловая система, разработанная Apple Inc. для использования на компьютерах, работающих под управлением операционной системы Mac OS.
HSF+ - файловая система, разработанная Apple Inc. для замены HFS. Является улучшенной версией HFS, с поддержкой файлов большого размера и использует кодировку Unicode для имён файлов и папок.
JFS - журналируемая файловая система. В отличие от Ext3, в которую добавили поддержку журналирования, JFS изначально была журналируемой. На момент выхода в свет JFS была самой производительной из существовавших файловых систем. На текущий момент сохраняет за собой одно из лидирующих мест по этому показателю.
SWAP - раздел жёсткого диска, предназначенная для виртуальной памяти (файла подкачки).
ReiserFS - журналируемая файловая система, разработанная специально для Linux. Обычно под словом ReiserFS понимают третью версию (последняя — 3.6.21), а четвёртую называют Reiser4. В настоящий момент разработка Reiser3 прекращена.
Reiser4 - журналируемая файловая система ReiserFS (4-я версия), разработанная специально для Linux. Одна из самых быстрых файловых систем для Linux (с включённым плагином-архиватором - самая быстрая).
UFS - файловая система, созданная для операционных систем семейства BSD. Linux поддерживает UFS на уровне чтения, но не имеет полной поддержки для записи UFS. Родной Linux ext2 создан по подобию UFS.
Установка debian. Выбор компонентов для установки.
main-menu
Показывает список компонент пользователю во время работы программы установки и запускает компоненту, когда она выбрана. Вопросам main-menu установлен средний (medium) приоритет, так что если вы изменили приоритет на высокий или критический(по умолчанию высокий), вы не увидите меню. С другой стороны, если возникает ошибка, которая требует вмешательства пользователя, приоритет вопросов может быть временно понижен, чтобы позволить решить проблему, и в этом случае меню может появиться.
Вы можете добраться до главного меню, многократно нажав кнопку Go Back, чтобы пройти весь путь обратно от выполняемой в данный момент компоненты.
localechooser
Позволяет пользователю указать параметры локализации процесса установки и устанавливаемой системы: язык, страну и локали. Программа установки будет отображать сообщения на выбранном языке, если есть перевод на этот язык. Если перевода сообщения нет, то будет показано сообщение на английском языке.
console-setup
Показывает список клавиатур, из которого пользователь может выбрать подходящую модель.
hw-detect
Автоматически определяет большую часть аппаратуры системы, включая сетевые карты, приводы дисков и PCMCIA.
cdrom-detect
Ищет и монтирует компакт-диск с программой установки Debian.
netcfg
Настраивает сетевые подключения компьютера, чтобы он мог получить доступ к Интернет.
iso-scan
Ищет ISO-образы (файлы .iso files) на жёстких дисках.
choose-mirror
Предоставляет список серверов-зеркал Debian. Пользователь может выбрать источник, из которого будут устанавливаться пакеты.
cdrom-checker
Проверяет целостность данных на компакт-диске. Таким образом пользователь может убедиться, что установочный компакт-диск не повреждён.
lowmem
Пытается распознать системы с малым объёмом памяти и затем выполняет различные действия, чтобы удалить ненужные части debian-installer из памяти (ценой потери некоторых возможностей).
anna
Anna Не Настоящий APT. Устанавливает пакеты, которые были получены с выбранного сервера-зеркала или компакт-диска.
user-setup
Настраивает пароль суперпользователя и добавляет обычного пользователя.
clock-setup
Обновляет системные часы и определяет установлены часы по Гринвичу (UTC) или нет.
tzsetup
Выбирает часовой пояс, основываясь на местоположении указанном ранее.
partman
Позволяет пользователю разметить подключённые к системе диски, создать файловые системы на выбранных разделах и назначить им точки монтирования. Также обладает интересными возможностями, например, может работать в полностью автоматическом режиме и поддерживает LVM. Это предпочтительная утилита для работы с разделами в Debian.
partitioner
Позволяет пользователю разметить диски, подключённые к системе. Программа разметки будет соответствовать архитектуре вашего компьютера.
partconf
Отображает список разделов и создаёт файловые системы на выбранных разделах, согласно пользовательским указаниям.
lvmcfg
Помогает пользователю с настройкой LVM (менеджера логических томов).
mdcfg
Позволяет пользователю установить программный RAID (Redundant Array of Inexpensive Disks). Программный RAID обычно лучше, чем дешёвые IDE (псевдо-аппаратные) RAID-контроллеры в новых материнских платах.
base-installer
Устанавливает самый минимальный набор пакетов, который позволит компьютеру работать под Debian GNU/Linux после перезагрузки.
apt-setup
Настраивает apt, по большей части автоматически, основываясь на том, с какого носителя была запущена программа установки.
pkgsel
Использует tasksel для выбора и установки дополнительного ПО.
os-prober
Определяет уже установленные на компьютере операционные системы и передаёт эту информацию в bootloader-installer, который может предложить вам добавить найденные операционные системы в стартовое меню системного загрузчика. Таким образом пользователь может легко выбрать операционную систему для запуска в момент загрузки.
bootloader-installer
Устанавливает на жёсткий диск программу системный загрузчик, которая необходима для того, чтобы компьютер запустился под Linux без использования дискеты или компакт-диска. Многие системные загрузчики позволяют пользователю выбрать загрузку альтернативной операционной системы при старте компьютера.
shell
Позволяет пользователю вызвать интерпретатор командной строки из меню или на второй консоли.
save-logs
Предоставляет пользователю возможность записать информацию на дискету, через сеть, на жёсткий диск или другой носитель в случае возникновения проблем, чтобы позже отправить разработчикам Debian точный отчёт о проблеме в программе установки.
Интерпретатор Bush.
Командный интерпретатор, интерпретатор командной строки- компьютерная программа, часть операционной системы, обеспечивающая базовые возможности управления компьютером посредством интерактивного ввода команд через интерфейс командной строки или последовательного исполнения пакетных командных файлов. Как правило его функции сводятся к предоставлению пользователю возможности запускать другие программы, может также содержать некоторые базовые команды ввода-вывода и свой простой скриптовый язык программирования. В операционные системы MS DOS и Windows 95 включен командный интерпретатор command.com, Windows NT включен cmd.exe, в OS/2 командный интерпретатор тоже называется cmd.exe, самый распространенный командный интерпретатор в Linux и FreeBSD — bash, помимо которого есть большое семейство других. Как правило, при низкоуровневой настройке ОС у пользователя есть возможность менять командный интерпретатор, используемый по умолчанию.
К функциям интерпретатора командной строки относятся:
Взаимодействие с пользователем (редактирование командной строки, история команд и т.д.).
Обработка (расширение) шаблонов имен ("*", "?" и т.д.).
Перенаправление ввода-вывода команд.
Управление заданиями.
bash(от англ. Bourne again shell, каламбур «Born again» shell — «возрождённый» shell) — усовершенствованная и модернизированная вариация командной оболочки Bourne shell. Одна из наиболее популярных современных разновидностей командной оболочки UNIX. Особенно популярна в среде Linux, где она часто используется в качестве предустановленной командной оболочки.
Bash— это командный процессор, работающий, как правило, в интерактивном режиме в текстовом окне. Bash также может читать команды из файла, который называется скриптом (или сценарием). Как и все Unix-оболочки, он поддерживает автодополнение имён файлов и директорий, подстановку вывода результата команд, переменные, контроль за порядком выполнения, операторы ветвления и цикла. Ключевые слова, синтаксис и другие основные особенности языка были заимствованы из sh. Другие функции, например, история, были скопированы из csh и ksh. Bash в основном удовлетворяет стандарту POSIX, но с рядом расширений[1].
Название «bash» является акронимом от Bourne-again-shell («ещё-одна-командная-оболочка-Борна») и представляет собой игру слов: Bourne-shell — одна из популярных разновидностей командной оболочки для UNIX (sh), автором которой является Стивен Борн (1978), усовершенствована в 1987 году Брайаном Фоксом. Фамилия Bourne (Борн) перекликается с английским словом born, означающим «родившийся», отсюда: рождённая-вновь-командная оболочка.
В сентябре 2014 года в bash была обнаружена широко эксплуатируемая уязвимость Bashdoor.
Внутренние команды
Ввод-вывод | |
echo |
выводит выражение или содержимое переменной (на stdout) |
printf |
команда форматированного вывода, расширенный вариант команды echo |
read |
«читает» значение переменной со стандартного ввода (stdin), в интерактивном режиме это клавиатура |
Файловая система | |
cd |
изменяет текущий каталог |
pwd |
выводит название текущего рабочего каталога (от англ.print working directory) |
Действия над переменными | |
let |
производит арифметические операции над переменными |
eval |
транслирует список аргументов из списка в команды |
set |
изменяет значения внутренних переменных скрипта |
unset |
удаляет переменную (фактически устанавливает её значение в null) |
export |
экспортирует переменную, делая её доступной дочерним процессам |
declare, typeset |
задают и/или накладывают ограничения на переменные |
getopts |
используется для разбора аргументов, передаваемых скрипту из командной строки |
Управление сценарием | |
source, . (точка) |
запуск указанного сценария |
exit |
безусловное завершение работы сценария |
exec |
заменяет текущий процесс новым, запускаемым командой exec |
shopt |
позволяет изменять ключи (опции) оболочки на лету |
Команды | |
true |
возвращает код завершения ноль (успешное завершение) |
false |
возвращает код завершения, который свидетельствует о неудаче |
type prog |
выводит полный путь к prog |
hash prog |
запоминает путь к prog |
help COMMAND |
выводит краткую справку по использованию внутренней команды COMMAND |