Практическая работа: Модуль 21. Файловая система в Linux. Работа с блочными устройствами и LVM
См. также Требования, правила и цели выполнения практической работы
Практические задания
Задание 1.
Просмотрите все логи командой less в папке /var/log
, чтобы понять какие данные записываются
Задание 2.
Просмотрите логи wtmp
Просмотрите логи last
Просмотрите журнал загрузки
Задание 3.
Запустим просмотр журнала в реальном времени в первом окне
Отправим событие для теста в другом окне терминала через
logger
приоритет kern.errorПопробуйте разные источники и уровни важности, см. man logger или curl cht.sh/logger
Задание 4.
Проверьте, какие процессы используют файлы в директории /var/log
Задание 5.
Откройте графическую утилиту журнала и с помощью фильтра найдите ваши сообщения.
Задание 6.
Соберите информацию о процессах, используя команды из лекции
Задание 7.
Узнайте свободное место и занятые Inode
Задание 8.
Соберите информацию о сетевых соединениях
Задание 9.
Получите информацию о настройках межсетевого экрана
Разрешите ssh прежде чем включать firewall
Задание 10.
Сделайте дамп сетевых соединений
Изучите основные часто используемые ключи tcpdump через cht.sh
Задание 11.
Сделайте трассировку bash
Сделайте трассировку logger чтобы выяснить какой сокет открывает logger
Изучите основные часто используемые ключи strace через cht.sh:
Просмотрите список библиотек logger
Задание 12.
Восстановление работы загрузчика с загрузочного диска
Практическая работа (c ответами)
Задание 1.
Просмотрите все логи командой less в папке /var/log
, чтобы понять какие данные записываются:
Основной журнал, в котором хранятся все сообщения, кроме сообщений об аутентификации и сообщений почтовой службы.
$ less /var/log/syslog
Сокращенная версия файла syslog, сюда записываются несколько типов сообщений: почта, cron, сервисы systemd, сообщения от ядра, pam, аутентификация и др.:abbr:
$ sudo less /var/log/messages
Сообщения об аутентификации служб и пользователей:
$ sudo less /var/log/auth.log
Сообщения, сгенерированные во время загрузки ОС:
$ sudo less /var/log/boot.log
Сообщения от ядра ОС(*):
$ sudo less /var/log/kern.log
Сообщения от различных служб (кроме почты, печати и планировщика cron).
$ sudo less /var/log/daemon.log
Сообщения от команд, выполняемых пользователями, например: (NetworkManager):
$ sudo less /var/log/user.log
Задание 2.
Просмотрите
/var/log/wtmp
командойwho
Просмотрите
/var/log/last
командойlast
Просмотрите журнал загрузки командой
sudo dmesg
Задание 3.
Запустим просмотр журнала в реальном времени в первом окне:
$ sudo journalctl -f -o verbose
Отправим событие для теста в другом окне терминала:
$ logger --priority kern.error Test error
Попробуйте разные источники и уровни важности, см. man logger
или curl cht.sh/logger
Задание 4.
Проверьте, какие процессы используют файлы в директории /var/log
$ sudo lsof +d /var/log
$ sudo watch -n 1 lsof +d /var/log
Задание 5.
Откройте графическую утилиту журнала и с помощью фильтра найдите ваши сообщения.
:
Задание 6.
Соберите информацию о процессах, используя команды:
cat /proc/1/status
$ ps
$ ps aux
$ sudo ps aux
$ top
$ htop
$ vmstat
$ uptime
$ mpstat
$ pidstat 2 5
Задание 7.
Узнайте свободное место и занятые Inode
$ df -h
$ df -i
$ sudo iostat
$ sudo iotop
Задание 8.
Соберите информацию о сетевых соединениях:
$ ss
$ curl cht.sh/ss
$ ss -tlp
$ sudo ss -tlp
$ sudo lsof -i4
$ ip a
$ ip r
Задание 9.
Получите информацию о настройках межсетевого экрана:
$ sudo ufw
$ sudo ufw status
Разрешите ssh прежде чем включать firewall
$ sudo ufw allow openssh
$ sudo ufw enable
$ sudo ufw status
$ curl cht.sh/ufw
Задание 10.
Сделайте дамп сетевых соединений
$ tcpdump
$ sudo tcpdump
$ sudo tcpdump -D
Изучите основные часто используемые ключи tcpdump
через cht.sh:
curl cht.sh/tcpdump
Задание 11.
Сделайте трассировку bash:
strace bash -c "echo test"
Сделайте трассировку logger чтобы выяснить какой сокет открывает logger
$ strace logger test
$ strace logger test | grep /dev/log
Изучите основные часто используемые ключи strace через cht.sh:
curl cht.sh/strace
Просмотрите список библиотек logger:
ldd "$(which logger)"
Задание 12.
Восстановление работы загрузчика
создайте копию в dd
$ sudo dd if=/dev/sda of=/mnt/data/sda_boot.bkp bs=512 count=4
затрите диск первые 512 байт
$ sudo dd if=/dev/zero of=/dev/sda bs=512 count=1 $ sudo reboot
Загрузитесь установочного с диска и зайдите в busybox
При Монтируем наш второй диск
$ mount /dev/sdb /mnt
Восстановим наш загрузчик
$ dd if=/mnt/sda_boot.bkp of=/dev/sda
Перезагрузим виртуальную машину
** Дополнительно попробуйте восстановить все неработающие состояния из текста лекции