updated all

This commit is contained in:
semaev
2017-10-22 13:48:19 +03:00
parent 545a6c6e03
commit b92220d3b6
12 changed files with 569 additions and 0 deletions
+89
View File
@@ -0,0 +1,89 @@
**103.8 Текстовый редактор** **Vi****.**
Студент должен уметь редактировать файлы в vi, и ориентироваться в нем.
**Изучаем** :
- навигацию по документу с использованием vi;
- использование основных режимов работы vi;
- вставку, редактирование, удаление, копирование и поиск текста.
**Термины и утилиты: **
- vi
- /, ?
- h,j,k,l
- i, o, a
- c, d, p, y, dd, yy
- ZZ, :w!, :q!, :e!
Так как все основные настройки в Linux выполняются редактированием файлов, все журналы, устройства, демоны и т.д. тоже по сути являются файлами, то текстовый редактор является одним из важнейших инструментов управления ОС. Существует множество редакторов с различными возможностями, здесь же будет рассмотрен редактор Vi.
**Vi** имеет **модальный** интерфейс и одни и те же клавиши в разных режимах выполняют разные действия. По умолчанию работа начинается в **командном режиме**.
Для перемещения по документу используются следующие символы:
- **h** _или_ **←** _(перемещение на символ влево);_
- **j** _или_ **↓** _(перемещение на символ вниз);_
- **k** _или_ **↑** _(перемещение на символ вверх);_
- **l** _или_ **→** _(перемещение на символ вправо);_
- **b**** ** _(перемещение в начало слова);_
- **e**** ** _(перемещение в конец слова);_
- **( ** _(перемещение в начало предложения);_
- **) ** _(перемещение в конец предложения);_
- **{ ** _(перемещение в начало абзаца);_
- **} ** _(перемещение в конец абзаца);_
- **^ ** _(перемещение в начало строки);_
- **$ ** _(перемещение в конец строки);_
- **1**** G **** ** _(перемещение в начало файла);_
- **G**** ** _(перемещение в конец файла)._
Для перехода в режим вставки можно воспользоваться следующими символами:
- **I**** ** _(режим вставки перед текущим символом);_
- **a**** ** _(режим вставки после текущего символа);_
- **o**** ** _(вставить новую строчку);_
- **s ** _(стереть символ и вставить)._
Для возврата в командный режим можно использовать клавишу **Esc** или сочетание **Ctrl**** + ****C**
Находясь в режиме редактирования можно использовать буфер обмена:
- **y** _ (скопировать)__;_
- **d** _ ( __вырезать__ )__;_
- **c** _ ( __изменить__ )__;_
- **p** _ (вставить)._
Также возможны комбинации с символами перемещения по тексту и обозначениями **d** (строка), **w** (слово) и **l** (символ); например
**yw** _ (скопировать слово);_
**dd** _ (вырезать строку);_
**cl** _ (изменить символ);_
**d**** $**_ (удалить с текущего места до конца строки);_
**y**** }**_ (скопировать с текущего места до конца абазца);_
Для поиска информации доступны символы:
- **/ ** _ (искать ниже по тексту набор символов, указанных после «/»);_
- **? ** _ (искать выше по тексту набор символов, указанных после «?»);_
- **n**** ** _ (показать следующий результат поиска);_
- **N**** ** _ (показать предыдущий результат поиска)._
Для завершения работы с файлом:
- **:e!** _ (отменить все изменения, где «!» - игнорировать все предупреждения);_
- **:**** w ****!** _ (записать изменения);_
- **:q ** _(выйти из файла);_
Как всегда, возможны комбинации, например:
**:**** wq ****! newfile.txt ** _(сохранить под именем_ _newfile __.__ txt_ _и выйти);_
Также доступны сокращенные команды:
- **ZZ ** _(сохранить и выйти)__;_
- **ZQ**** ** _(не сохранять и выйти);_
+46
View File
@@ -0,0 +1,46 @@
**104.1 Создание файловых систем.**
Студент должен научиться разбивать диск на разделы, создавать на них файловые системы и управлять разделом подкачки.
**Изучаем** :
- управление таблицами разделов MBR;
- создание файловых систем mkfs (ext, XFS, VFAT);
- знакомство с ReiserFS и Btrfs;
- базовые навыки работы с GPT.
**Термины и утилиты: **
- fdisk
- gdisk
- parted
- mkfs
- mkswap
Linuх поддерживает работу с различными файловыми системами. Для возможности работы с файловыми системами, кроме классической ext, необходим набор соответствующих инструментов, устанавливаемых вместе с набором ПО для каждой файловой системы.
Утилита **fdisk** предназначена для работы с носителями информации, использующими классическую таблицу разделов MBR (последние версии умеют работать и с GUID). Используя эту утилиту можно в интерактивном режиме создавать, удалять и изменять разделы жесткого диска, например:
**fdisk** **–**** l**_(вывести информацию о текущих разделах дисков);_
Утилита **gdisk** предназначена для работы с носителями информации, использующими таблицу разделов GUID. Используя эту утилиту можно в интерактивном режиме создавать, удалять, изменять и конвертировать разделы жесткого диска, например:
**gdisk** **/**** dev ****/**** sdb**_(начать работу с носителем / __dev__. __sdb__ );_
Для создания файловой системы используется утилита **mkfs** , вызывающая специализированные инструменты для каждой отдельной файловой системы, например:
**mkfs** ****** t ****ext**** 2 / ****dev**** / ****sdb**** 1** _(отформатировать раздел /dev/sdb1 в_ _ext__2);_
**mkfs****. ****ext**** 2 / ****dev**** / ****sdb**** 1** _(отформатировать раздел /dev/sdb1 в_ _ext__2);_
Для расширенных возможностей управления различными файловыми системами (сжатие, расширение, перенос, копирование и т.д.) используется утилита **parted** , или ее релиз с графическим интерфейсом – **gparted**.
Для работы с нестандартными файловыми системами нужно ставить соответствующие им наборы ПО, например **xfsprogs** (для файловой системы XFS), **reiserfsprogs** (для файловой системы ReiserFS) или **btrfs**** - ****tools** (для файловой системы BTRFS)_._ После установки этих пакетов ПО стандартные инструменты Linux смогут создавать и редактировать разделы с указанными файловыми системами.
Также следует отметить, что в Linux используется отдельный раздел подкачки, используемый в качестве временного хранилища информации в том случае, если оперативная память ПК заполнена. Для работы с ним используются следующие инструменты:
**mkswap** _(создать файловую систему для раздела подкачки);_
**swapon** _(включить раздел подкачки);_
**swapoff** _(выключить раздел подкачки)._
+78
View File
@@ -0,0 +1,78 @@
**104.2 Проверка целостности файловых систем.**
Студент должен умет управлять стандартной файловой системой, и понимать принципы работы с журналируемой файловой системой.
**Изучаем** :
- проверку целостности файловой системы;
- отслеживание айнодов и свободного пространства;
- исправление простых проблем с файловой системой.
**Термины и утилиты: **
- du
- df
- fsck
- e2fsck
- mke2fs
- debugfs
- dumpe2fs
- tune2fs
- инструменты XFS
Linuх использует умеет работать с различными файловыми системами. Для поддержки всех возможностей отдельных файловых систем необходимо устанавливать соответствующие наборы ПО, содержащие дополнительные инструменты.
Утилита **df** (diskfree) показывает свободное место в файловых системах, например:
**df** _ (показывает в блоках килобайт)_
**df h** _(показывает в мегабайтах и т.д.)_
**d**** f –i**_(показывает в_ _inode__)_
Inode (индексный дескриптор) – идентификатор файла, содержащий о нем всю необходимую информацию.
Утилита **du** (diskusage) показывает занятое место в файловых системах, например:
**d**** u**_(показывает размер текущей директории в блоках килобайт)_
**d**** u –h**_(показывает в мегабайтах и т.д., включая вложенные папки)_
**d**** u h /home/\***_(показывает размер директории / __home__ , отображая размер всех подкаталогов)_
**d**** u h summarize /home/\*** _(показывает размер директории / __home__ , включая все подкаталоги)_
Утилита **fsck** предназначена для проверки файловых систем. Для работы с разными файловыми системами утилита запускает соответствующие им инструменты проверки. Проверку осуществляют для демонтированных файловых систем, неактивных в данный момент, например:
**f**** sck /dev/sdb1** _(будет вызван инструмент проверки файловой системы, например для_ _ext_ _это будет инструмент_ _e __2__ fsck__);_
**fsck** ****** t ****ext**** 4 / ****dev**** / ****sdb**** 1 **_(можно сразу указать формат файловой системы, если он известен)_
Утилита **mkfs** предназначена для создания файловых систем. Для работы с разными файловыми системами утилита запускает соответствующие им инструменты, например:
**mkfs** ****** t ****xfs** ****** f **** / ****dev**** / ****sdb**** 1 **_(создать файловую систему_ _xfs_ _на устройстве / __dev__ / __sdb__ 1);_
**mke2fs t ext2 /dev/sdb1** _(создать файловую систему_ _ext __2 на устройстве /__ dev __/__ sdb__1);_
Для работы с файловой системой **XFS** (сейчас centos7 использует ее в качестве файловой системы по умолчанию), к примеру, используются следующие инструменты:
- **xfs**** \_ ****check** _для проверки;_
- **xfs**** \_ ****repair** _для восстановления;_
- **xfs\_info** _для получения информации_ **;**
- **xfs\_metadump** _для создания дампа._
Для отладки классической файловой системы используется утилита **debugfs**. Этот инструмент в интерактивном режиме позволяет работать с айнодами файловой системы, например, в нем доступны следующие инструменты:
- **ls** _– просмотреть данные в системе;_
- **lsdel** _– показать удаленные файлы;_
- **undel** _– отменить удаление._
Для вывода детальной информации о файловой системе (суперблоки, цилиндры, размер блока и т.д.) используется утилита **dumpfs**. Для работы с разными файловыми системами утилита запускает соответствующие им инструменты проверки, например:
**dumpe2fs /dev/sdb1 >** **output****. ****txt** ** ** _(вывести информацию о файловой системе_ _ext_ _в файл_ _output __.__ txt__)_
Утилита **tunefs** предназначена для настройки изменяемых параметров файловых систем. Для работы с разными файловыми системами утилита запускает соответствующие им инструменты настройки. Настройку осуществляют для демонтированных файловых систем, неактивных в данный момент, например:
**tune**** 2 ****fs** ****** O ****has**** \_ ****journal** **/**** dev ****/**** sdb ****1** _(включить журналирование на устройстве / __dev__ / __sdb__ 1)_
Журналирование: опция введения журнала изменений для возможности их отката.
+56
View File
@@ -0,0 +1,56 @@
**104.3 Монтирование файловых систем.**
Студент должен уметь настраивать подключение файловых систем.
**Изучаем** :
- ручное подключение и отключение файловых систем;
- автоматическое монтирование при загрузке;
- настройку подключаемых портативных файловых систем.
**Термины и утилиты: **
- /etc/fstab
- /media
- mount
- umount
Linuх использует файловую систему с единым корнем (в отличии от Windows, где каждый носитель информации имеет свой корень). Таким образом каждое отдельно устройство хранения информации подключается в единую корневую файловую систему через точки монтирования в иерархической древовидной структуре.
Для подключения устройства необходимо создать точку монтирования – любой пустой каталог. Традиционно такие точки монтирования создаются в каталоге **/**** mnt**(для временного монтирования пользовательских файловых систем) или**/ ****media** (для подключения портативных устройств), например:
**mkdir /mnt/hard\_drive ** _( __создать__ каталог_ _/mnt/hard\_drive)_
Для подключения файловой системы с носителя информации используется команда **mount** , например:
**mount** ****** t ****ext**** 3 / ****dev**** / ****sdb**** 1 / ****mnt**** / ****hard**** \_ ****drive** _(подключить устройство / __dev__ / __sdb__ 1 с типом файловой системы_ _ext __3 в каталог /__ mnt __/__ hard __\___ drive__)_
Команда **mount** , используемая без аргументов, выводит перечень смонтированных файловых систем (в том числе и виртуальных).
Для отключения файловой системы используется команда **umount** , например:
**umount** **/**** mnt ****/**** hard ****\_**** drive **** ** _(в качестве аргумента можно указывать имя устройства или точку монтирования)_
_\_\_\__
Для автоматического подключения файловых систем используется файл /etc/fstab, в котором на каждой строке указаны id или имя устройства, точка монтирования, файловая система и дополнительные опции, например:
**/**** dev ****/**** sdb ****1** _(имя устройства)_ **/**** mnt ****/**** hard ****\_**** drive**_(точка подключения)_**ext ****3** _(файловая система)_ **defaults** _(опции по умолчанию)_ **0** _(выключение дампа)_ **2** _(порядок проверки)_
Часто используемые опции монтирования:
- auto / noauto _(подключение при загрузке ОС);_
- exec / noexec _(разрешение выполнения двоичных файлов с устройства);_
- ro _(только для чтения);_
- rw _(чтение и запись);_
- user / nouser _(разрешение подключения всем пользователям)._
Наборопций **defaults** _:_ **rw,suid,dev,exec,auto,nouser,async** _._
Дамп (значения 1 и 0), говорит о включенном или выключенном резервном копировании устройства при помощи команды dump.
Порядок проверки указывает последовательность проверки файловых систем (0 – не проверять, 1 – корневая файловая система, 2 – все остальные).
После добавление записи в файл **/**** etc ****/**** fstab **указанное устройство можно монтировать при помощи команды** mount**, указывая только один аргумент – устройство или точку монтирования (так как все остальные опции уже указаны в /etc/fstab).
Часто вместо указания тома по адресу подключения (/dev/sda1 и т.д.) используется указание на том по UUID. Адресация /dev/sda1 и т.д. зависит от того, на какой порт какого контроллера жестких дисков подключен носитель информации, соответственно при переподключении дисков на другие порты – все может слететь. UUID же уникален, узнать его можно при помощи команды **blkid**
+42
View File
@@ -0,0 +1,42 @@
**104.4 Управление квотами дисков.**
Студент должен уметь управлять квотами дисков для пользователей.
**Изучаем** :
- установку квоты;
- работу с отчетами по квотам.
**Термины и утилиты: **
- quota
- edquota
- repquota
- quotaon
Использование квот позволяет управлять использованием дискового пространства как отдельных пользователей и групп, так и всех в целом. В данном руке рассматривается квотирование классической файловой системы ext.
Для возможности работы с квотами необходим пакет ПО **quota****.**
Для того чтобы начать использовать квоты на устройстве, необходимо в опциях его монтирования в файле **/**** etc ****/**** fstab **дописать опции** usrquota **и** grpquota**.
Включить и выключить квоту можно командами **quotaon** и **quotaoff** , например:
**quotaon** **/**** mnt ****/**** disk ****1 ** _(включить квоту для устройства подключенного к / __mnt__ / __disk__ 1);_
**quotaoff** **/**** mnt ****/**** disk ****1 ** _(выключить квоту для устройства подключенного к / __mnt__ / __disk__ 1);_
Для редактирования квоты используется команда **edquota** , например:
**edquota** ****** u ****semaev** _(изменить настройки квоты для пользователя_ _semaev__);_
**edquota** ****** g ****users** _(изменить настройки квоты для группы_ _users__);_
При этом можно указать ограничение по объему занятого места, или по количеству файлов и папок. Квоты бывают следующих видов:
- жесткая – невозможно превысить;
- мягкая – можно превышать в течении недели.
Для получения отчета об использовании квот предназначена команда repquota, например:
**repquota**** / ****mnt**** / ****disk**** 1 ** _(посмотреть отчет по квоте для устройства подключенного к / __mnt__ / __disk__ 1);_
+139
View File
File diff suppressed because one or more lines are too long
+53
View File
@@ -0,0 +1,53 @@
**104.6 Жесткие и мягкие (символические) ссылки.**
Студент должен уметь создавать и управлять ссылками на файлы.
**Изучаем** :
- создание ссылок;
- разницу между мягкими и жесткими ссылками;
- разницу между копированием и созданием ссылок;
- использование ссылок для выполнения административных задач.
**Термины и утилиты: **
- ln
- ls
Существует множество файловых систем, с различными принципами работы. В данном уроке будет рассмотрена классическая линуксовая файловая система ext, позволяющая прозрачно работать с адресацией диска.
Ключевым понятием при работе с ссылками является **айнод** (inode – индексный дескриптор): набор информации об объекте файловой системы. Айнод может содержать информацию о:
- размер объекта;
- id устройства, на котором расположен объект;
- id владельца объекта;
- id группы владельцев;
- права доступа;
- временные метки доступа;
- указатель на месторасположение на диске;
- размер блока;
- количество блоков;
- счетчик ссылок на объект и т.д.
Посмотреть айноды в текущем каталоге можно при помощи команды **ls** ****** li**
На объекты файловой системы можно создавать ссылки:
- **жесткие** – указывают на расположение файла на физическом устройстве (работают в пределах одного раздела носителя информации, но всегда указывают на файл, даже если он переименован, или перемещен внутри файловой системы носителя в другие каталоги);
- **мягкие** – указывают на расположение файла в файловой системе (работают между файловыми системами, но если исходный объект переместить или переименовать, ссылка работать перестает).
Создать жесткую ссылку можно командой **ln** , например:
**ln file.txt hard.txt**
Создать мягкую ссылку можно командой **ln** **-**** s**, например:
** ln s file.txt soft.txt **
Жесткие ссылки нельзя создавать для каталогов.
Если создать жесткую ссылку на файл, и удалить файл, то к нему все еще можно получить доступ по созданной жесткой ссылке. То есть для удаления файла необходимо удаление всех жестких ссылок на него.
Созданная жесткая ссылка на файл выглядит в файловой системе как копия исходного файла. Чтобы увидеть разницу между скопированным файлом и жесткой ссылкой на него необходимо посмотреть их айноды (жесткая ссылка и оригинал будут иметь одинаковые).
+66
View File
@@ -0,0 +1,66 @@
**104.7 Поиск и стандартное расположение системных файлов.**
Студент должен ознакомиться с FHS (стандартная иерархия файловой системы), включая стандартное расположение файлов и предназначение папок.
**Изучаем** :
- стандартную структуру файловой системы;
- способы поиска файлов и команд.
**Термины и утилиты: **
- find
- locate
- updatedb
- whereis
- which
- type
- /etc/updatedb.conf
Все UNIX-подобные системы имеют схожее название, расположение и предназначение директорий в файловой системе. Стандарт иерархии файловой системы (FHS) – позволяет пользователям и разработчикам ПО ориентироваться в различных дистрибутивах Linux.
Не все каталоги можно найти в каждом дистрибутиве Linux, но в целом можно говорить о следующих стандартных расположениях:
**/**** bin **** ** - базовые двоичные файлы команд;
**/**** boot **** ** - файлы загрузчика;
**/**** dev** - устройства;
**/**** etc **** ** - конфигурация ПК;
**/**** home **** ** - домашние папки;
**/**** lib** - библиотеки и модули ядра;
**/**** proc** - информация о работающей системе;
**/**** media ** - монтирование носителей;
**/**** mnt** - монтирование носителей;
**/**** opt** - дополнительное ПО;
**/**** root** - домашняя папка админа;
**/**** sbin** - основные программы настройки системы;
**/**** srv** - данные для системных служб;
**/**** tmp** - временные файлы;
**/**** usr** - бинарники файлы пользователей;
**/var** - переменные.
Для поиска информации в текущий момент используется команда **find**. Для поиска проиндексированной информации (поиск осуществляется намного быстрее) используется команда **locate**.
Индексацию информации для быстрого поиска можно выполнить принудительно командой **updatedb**. Выбрать каталоги для индексации можно редактированием конфигурационного файла **/**** etc ****/**** updatedb ****.**** conf**
Для поиска информации и командах и утилитах пользуются следующими командами:
- **which** – выводит путь к исполняемым файлам команды;
- **type** – показывает исполняемые файлы, псевдонимы, функции и т.д.;
- **whereis** – показывает исполняемые файлы, исходники, мануалы.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.