Практическое задание: Настройка окружения и работа с утилитами

Условия задания

Часть 1: Настройка окружения

  1. Эмулятор терминала:

    • Установить и настроить современный эмулятор терминала
    • В отчете указать выбранный эмулятор и обоснование выбора
  2. Настройка PS1:

    • Оформить приглашение командной строки в формате login@your-login-at-nsu:
    • Использовать три разных цвета для:
      • Логина
      • Символа @
      • Последней части приглашения
  3. Установка asciinema:

    • Установить утилиту
    • Освоить базовые функции записи скринкастов

Часть 2: Практические задания

  1. Работа с gtypist:

    • Установить gtypist
    • Записать скринкаст успешного прохождения упражнения S3
    • В кадре должны быть видны:
      • Raw speed
      • Adjusted speed
      • Процент ошибок
  2. Command line murders:

    • Записать скринкаст решения задачи
  3. Мониторинг системы:

    • Создать Ubuntu-виртуалку
    • Подключиться по SSH
    • Записать скринкаст выполнения команд для проверки:
      • Число ядер и модель CPU
      • Общий размер и свободная оперативная память
      • Занятое/свободное место в системе
      • Утилизация дисковой подсистемы (IOPS)
      • Скорость и утилизация сетевого линка
  4. Curl-однострочник:

    • Написать однострочник, который раз в секунду ходит curl по url https://storage.mds.yandex.net/ping и выводит для каждого запроса в одну строку только: таймстемп запуска команды, код ответа, время установки tcp-соединения, время установки tls-соединения, time to first byte, и общее время выполнения запроса
    • Записать скринкаст работы
  5. Работа с perf:

    • Записать perf record и просмотреть perf report
    • (*) Дополнительное задание:
      • Собрать zstd с debug-символами
      • Запустить сжатие: cat /dev/urandom | zstd -19 -f -T4 -v - -o out.zst
      • Снять perf record с процесса zstd
      • Найти в исходниках самую нагруженную функцию

Требования к отчету

Предоставить:

  • Скринкасты (в формате asciinema)
  • Текстовые пояснения по желанию
  • Для задания со звездой (*) - ссылку на запись и найденную функцию
  • Описание выбранного эмулятора терминала

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

Ссылка на репозиторий