# Linux_Basic-Малышев_Роман-Практика-2 *Выполнил Малышев Роман* ## Практическая работа №2.1. Основы мониторинга OS Linux с помощью утилит df, du, free, iostat, mpstat, vmstat, w, htop. ### 1. Команда df в linux 1.1 Посмотрим справку по df. ![](https://i.imgur.com/M96h5w0.png) 1.2 Посмотрим доступное пространство на всех примонтированных разделах и информацию о них. ![](https://i.imgur.com/k0uMuEX.png) 1.3 Посмотрим это в более удобном формате.![](https://i.imgur.com/A4C8L8D.png) 1.4 Посмотрим информацию обо всех файловых системах известных ядру, которые были смонтированы. ![](https://i.imgur.com/mg0u04w.png) 1.5 Отфильтруем по файловой системе, то есть выведутся все остальные файловые системы, кроме `tmpfs`. ![](https://i.imgur.com/44PP2k3.png) 1.6 Можно отфильтровать две файловые системы. ![](https://i.imgur.com/iu7780S.png) 1.7 Укажем файловую систему, которую нужно отображать. ![](https://i.imgur.com/9DEL2KS.png) 1.8 Укажем интересующий раздел.![](https://i.imgur.com/pONlklG.png) 1.9 Посмотрим информацию про состояние inode в файловой системе. ![](https://i.imgur.com/iC0mB8Q.png) 1.10 Выведем объем доступного пространства в каталоге: ![](https://i.imgur.com/o7rs8VG.png) ### 2. Команда du в Linux 2.1 Отобразим использование диска для данного файла или каталога и каждого из его подкаталогов в байтах. ![]![](https://i.imgur.com/kVWDBTp.png) 2.2 Можно отобразить не только для одного файла/каталога, а для нескольких. ![]![](https://i.imgur.com/G8SyREk.png) **Рассмотрим основные опции для данной утилиты** 2.3 Параметр -a указывает du сообщать об использовании дискового пространства каждым файлом в каталоге. ![](https://i.imgur.com/R06VIt6.png) 2.4 Отобразим только пространство, занимаемое данным каталогом, в удобочитаемом формате. ![](https://i.imgur.com/ijwhykg.png) 2.5 Чтобы посмотреть только общий размер указанного каталога, а не подкаталогов. ![](https://i.imgur.com/8j6QEGQ.png) 2.6 Можно посчитать общий размер двух и более каталогов. ![](https://i.imgur.com/Kvqj0TL.png) 2.7 Получим отчет о каталогах первого уровня. ![](https://i.imgur.com/lDd7Ma2.png) 2.8 Узнаем очевидный размер файла. sudo du -sh --apparent-size /var/lib ![](https://i.imgur.com/hx92JeW.png) 2.9 Получим размер всех каталогов, начинающихся с «Do» в домашнем каталоге. ![](https://i.imgur.com/KG1ETpg.png) 2.10 Выведем 5 самых больших каталогов внутри каталога /var. ![](https://i.imgur.com/dMrp7H3.png) ### 3. Команда free в Linux 3.1 Отобразим информацию о памяти и подкачке в килобайтах.![](https://i.imgur.com/eCs5mOp.png) 3.2 Посмотрим информацию в удобочитаемом формате.![](https://i.imgur.com/2B3jGQK.png) 3.3 Отобразим результат в мегабайтах. ![](https://i.imgur.com/YV2C29N.png) 3.4 Отобразим итоговые значения столбца. ![](https://i.imgur.com/sFCGTC5.png) 3.5 Непрерывно печать информацию о памяти каждые пять секунд. ![](https://i.imgur.com/WfV4obU.png) 3.6 Чтобы отображать результат определенное количество раз нужно ввести опцию -c. ![](https://i.imgur.com/Ldd9k33.png) #### 3.1 Команда free в Linux с примерами 3.7 Анализ использования памяти. Во время анализа открыл браузер. ![](https://i.imgur.com/gAY8Ws9.png) 3.8 Есть ещё команда `watch free -h` ![](https://i.imgur.com/T5rWsF9.png) ### 4. iostat 4.1 Iostat уже установлена. ![](https://i.imgur.com/RGz83yj.png) 4.2 Запустим утилиту.![](https://i.imgur.com/W0MKkf5.png) 4.3 Посмотрим данные в удобном формате.![](https://i.imgur.com/ilKGq57.png) 4.4 Посмотрим данные по нужному устройству.![](https://i.imgur.com/9q27Jhg.png) 4.5 Посмотрим статистику по каждому разделу устройства. ![](https://i.imgur.com/KCVc4mL.png) 4.6 Автоматическое обновление данных каждую секунду.![](https://i.imgur.com/HaJuKup.png) 4.7 Не будем суммировать все данные с момента запуска операционной системы. ![](https://i.imgur.com/lvFfDGZ.png) #### 4.1 Профилирование нагрузки на файловую систему с помощью iostat 4.8 Подготовка ![](https://i.imgur.com/f968YUa.png) 4.9 Получения лог файла.![](https://i.imgur.com/10iSCoD.png) 4.10 Ввод лога. ![](https://i.imgur.com/2uzffdh.png) ### 5. mpstat 5.1 Отображение всей информации. ![](https://i.imgur.com/uZpVwcq.png) 5.2 Посмотрим все индивидуальные процессоры или ядра вместе со статистикой. ![](https://i.imgur.com/whT61C1.png) 5.3 Отобразим статистику конкретного процессора ил ядра. ![](https://i.imgur.com/svdsz9u.png) 5.4 Выполним «mpstat -V», чтобы показать версию утилиты.![](https://i.imgur.com/JQoSw31.png) 5.5 Дополнительные опции.![](https://i.imgur.com/WCBWQ7u.png) ### 6. vmstat 6.1 Запустим vmstat.![](https://i.imgur.com/KwFCfM6.png) 6.2 Иллюстрация процессов, которые потребляют память. ![](https://i.imgur.com/nhXdTrb.png) 6.3 Количество вилок с момента загрузки. ![](https://i.imgur.com/uPgWi6m.png) 6.4 Статистика диска. ![](https://i.imgur.com/DpAyhzt.png) 6.5 Общая статистика диска. ![](https://i.imgur.com/BCSzPUd.png) 6.6 Справка по `vmstat`. ![](https://i.imgur.com/hHWaexO.png) ### 7. Утилита/команда " w " 7.1 Выведем краткую сводку о работающих в системе в данный момент пользователях (залогиненных пользователях), а также о том, какие процессы у них запущены. ![](https://i.imgur.com/d3KQ0iz.png) 7.2 Не выводить заголовок у таблицы.![](https://i.imgur.com/bualqPX.png) 7.3 Игнорировать имена пользователей при определении времени текущего процесса и времени CPU.![](https://i.imgur.com/KIqupDw.png) 7.4 Использовать сокращенный формат вывода. ![](https://i.imgur.com/OFJnGnH.png) 7.5 Выключить вывод поля from.![](https://i.imgur.com/bVhEo6O.png) 7.6 Выводить в поле from IP-адрес вместо имени хоста (hostname), если это возможно.![](https://i.imgur.com/MmIC0zX.png) 7.7 Выводить информацию в старом формате. ![](https://i.imgur.com/FXFF9D2.png) 7.8 Вывести версию утилиты w.![](https://i.imgur.com/eUZ1uy1.png) ### 8. Утилита htop 8.1 Установим htop. ![](https://i.imgur.com/7iarOFg.png) 8.2 Просмотреим все процессы в Linux. ![](https://i.imgur.com/7Y82xxX.png) 8.3 Запустим от суперпользователя. ![](https://i.imgur.com/I5iwy9P.png) ![](https://i.imgur.com/91R1OIr.png) 8.4 Укажем частоту обновления htop.![](https://i.imgur.com/sq6tDix.png) ![](https://i.imgur.com/JKYUPcU.png) 8.5 Вывод процессво в виде дерева. ![](https://i.imgur.com/POr7MEQ.png) ## Практическая работа №2.2. Установка и настройка сервера SSH в Linux ### 1. Установка пакетов SSH. 1.1 Установим SSH. ![](https://i.imgur.com/OAibP9b.png) 1.2 Посмотрим статус ssh.![](https://i.imgur.com/sAOpZoY.png) ### 2. Настройка SSH 2.1 Перейдем в настройки демона. Настроим, чтобы он работал по 50 порту, с IP адресами IPv4 и зададим отдельные сетевые интерфейсы. И ещё впишем, чтобы ssh работал на 2 версии. ![](https://i.imgur.com/kbdLl8W.png) 2.2 Перезапустим сервер. ![]![](https://i.imgur.com/DWrcPA9.png) 2.3 Попробуем подключиться с hostовой машины. ![](https://i.imgur.com/XmzygvA.png) ![](https://i.imgur.com/blVOczF.png) Успешно подключились. ![](https://i.imgur.com/mFiV2WI.png) 2.4 Отключим парольный доступ. ![](https://i.imgur.com/Csd6c0x.png) ![](https://i.imgur.com/G5yqV4i.png) 2.5 Включим root-доступ. ![](https://i.imgur.com/Ca3IfgG.png) ![](https://i.imgur.com/qTfsWEx.png) 2.6 Отключим root-доступ. ![](https://i.imgur.com/OVXEk55.png) ![](https://i.imgur.com/whpsRGO.png) ### 3. Настройка и использование клиента SSH![](https://i.imgur.com/mlz45MI.png) ## Практическая работа №2.3 "Установка и настройка SSH-authorized_keys" 1.1 Сгенерируем на локальном компьютере пару ключей SSH. ![](https://i.imgur.com/GH2zIoU.png) 1.2 Скопируем открытый ключ на сервер. Здесь нет утилиты ssh-copy-id, воспользумся альтернативным способом. ![](https://i.imgur.com/WeGDMu4.png) 1.3 Отключим аутентификации с помощью пароля на сервере. ![](https://i.imgur.com/OzFOMCF.png) 1.4 Перезапустим службу ssh.![](https://i.imgur.com/fA2mpGP.png) 1.5 Попробуем зайти с хостового компьтера на удаленнй сервер. ![](https://i.imgur.com/K896jKi.png) Как видим не пришлось вводить пароль от учетной записи, только парольную фразу для закрытого ключа. ## Практическая работа №2.4 "Сбор информации о Linux и WGET" ### 1.Базовый сбор информации ![](https://i.imgur.com/0pTKlxp.png) ![](https://i.imgur.com/DYoPZ7T.png) ![](https://i.imgur.com/5QfH8RA.png) ![](https://i.imgur.com/0kPDxbg.png) ![](https://i.imgur.com/KT6oLvq.png) ![](https://i.imgur.com/FMWtIvm.png) ![](https://i.imgur.com/z1fGY6M.png) ![](https://i.imgur.com/m4oIGnA.png) ### 2.Суидные файлы ![](https://i.imgur.com/eTpLgV3.png) Скачаем утилиту с помощью wget. ![](https://i.imgur.com/1F5EpIV.png) Разархивируем ![](https://i.imgur.com/DWneBGe.png) Проверим контрольную сумму с сайта и то, что скачали. ![](https://i.imgur.com/QW46osN.png) ![](https://i.imgur.com/xpZtPmS.png) ![](https://i.imgur.com/DBC5M5r.png) ![](https://i.imgur.com/eBtX5EF.png) ![](https://i.imgur.com/ZWQawQ0.png) ![](https://i.imgur.com/ROAm2RJ.png) ![](https://i.imgur.com/a2OeQO8.png) Можно поменять файл отчета. ![](https://i.imgur.com/AH9DVcr.png) ### 3. Проверка целостностей пакетов ![](https://i.imgur.com/5vq1mFn.png) ![](https://i.imgur.com/TqKPg1R.png) ![](https://i.imgur.com/FIkAkME.png) ![](https://i.imgur.com/eVNq2vQ.png) ![](https://i.imgur.com/jzsAJ0b.png) ![](https://i.imgur.com/rH9hw8X.png) ![](https://i.imgur.com/q7zVkwA.png) ![](https://i.imgur.com/0N22K6J.png) ![](https://i.imgur.com/hhvREqy.png) ![](https://i.imgur.com/qPz2J8p.png) ![](https://i.imgur.com/Vv0v6pN.png) Команда `sort -rn timeline.csv | less` ![](https://i.imgur.com/NRM2wzq.png) Здесь видим, что менялось и в какое время, что позволит увидеть все изменения. ## Практическая работа №2.5 ## "Переменные окружения в Linux .bashrc, .bash_profile и .bash_login" ### 1. Просмотр списка системных переменных окружения ![](https://i.imgur.com/Ta7pPgX.png) 1.1 Раскроем список всех переменных окружения. ![](https://i.imgur.com/TGQHZqm.png) 1.2 Поменяем значение переменной home на /home/root ![](https://i.imgur.com/x29GdZj.png) 1.3 Установка и удаление локальных переменных окружения.![](https://i.imgur.com/xp8DZDU.png) ![](https://i.imgur.com/SPVNJMe.png) ### 2.2 Добавление и удаление пользовательских переменных. ![](https://i.imgur.com/o574X8n.png) ![](https://i.imgur.com/adRnpp6.png) Обновим конфигурацию и проверим значение перменной. ![](https://i.imgur.com/kVh77bv.png) ### 2.3 Создание и удаление системных переменных окружения. ![](https://i.imgur.com/Uy2Ady5.png) ![](https://i.imgur.com/scGflaY.png) ![](https://i.imgur.com/ZEciIFh.png)