Skip to content
559 changes: 233 additions & 326 deletions docs/labs/systems_administration_I/lab3-system_utilities.uk.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ tags:

# Лабораторна робота 7: Керування та інсталяція програмного забезпечення

## Завдання
## Цілі

Після виконання цієї лабораторної роботи ви зможете:

Expand Down Expand Up @@ -704,7 +704,7 @@ DNF можна використовувати для перевірки та в

Сценарій, який зазвичай дозволяє налаштувати програмне забезпечення, зазвичай має влучну назву «configure»

!!! tip "Порада"
!!! Tip "Порада"

````
Переконайтеся, що ви встановили групу пакетів «Інструменти розробки» перед виконанням наступних вправ.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ tags:

# Лабораторна робота 8: Моніторинг системи та процесів

## Завдання
## Цілі

Після виконання цієї лабораторної роботи ви зможете:

Expand Down Expand Up @@ -155,7 +155,7 @@ tags:
(sleep 3600 & MYPROC1=$! && echo PID is: $MYPROC1) 2>/dev/null
```

Вихід
Вихід:

```bash
PID is: 1331933
Expand Down Expand Up @@ -185,7 +185,7 @@ tags:
(sleep 3600 & MYPROC2=$! && echo PID is: $MYPROC2) 2>/dev/null
```

Вихід
Вихід:

```bash
PID is: 1333258
Expand Down Expand Up @@ -367,7 +367,7 @@ tags:
bash -c 'while true; do echo "Default priority: The PID is $$"; done'
```

Вихід
Вихід:

```bash
Default priority: The PID is 2185209
Expand Down Expand Up @@ -422,7 +422,7 @@ tags:
nice -n 19 bash -c 'while true; do echo "Low priority: The PID is $$"; done'
```

Вихід
Вихід:

```bash
Low priority: The PID is 2180254
Expand Down Expand Up @@ -454,7 +454,7 @@ tags:
ps -C find -o pid=
```

Вихід
Вихід:

```bash
2577072
Expand All @@ -472,10 +472,10 @@ tags:
renice -n -10 -p $(ps -C find -o pid=)
```

Вихід
Вихід:

```bash
<PID> (process ID) old priority 0, new priority -10
<PID> (process ID) old priority 0, new priority -10
```

Замініть "<PID>" (вище) фактичним PID запущеного процесу.
Expand All @@ -498,7 +498,7 @@ tags:
renice -n 10 -p <PID>
```

Вихід
Вихід:

```bash
2338530 (process ID) old priority -10, new priority 10
Expand Down Expand Up @@ -688,7 +688,7 @@ tags:
jobs -l
```

Вихід
Вихід:

```bash
[1]- 2977364 Stopped vi foobar1.txt
Expand Down Expand Up @@ -717,7 +717,7 @@ tags:
kill -SIGKILL %1 %2 && jobs
```

Вихід
Вихід:

```bash
[1]- Killed vi foobar1.txt
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ author: Wale Soyinka contributors: Steven Spencer, Ganna Zhyrnova tested on: В

# Лабораторна робота 3: Процеси завантаження та запуску

## Завдання
## Цілі

Після виконання цієї лабораторної роботи ви зможете:

Expand Down Expand Up @@ -455,7 +455,7 @@ author: Wale Soyinka contributors: Steven Spencer, Ganna Zhyrnova tested on: В

Чому, на вашу думку, PID відрізняються кожного разу, коли ви перезапускаєте службу?

!!! tip "Порада"
!!! Tip "Підказка"

Функціональність старої доброї класичної команди служби перенесено для бездоганної роботи в керованих системах systemd. Ви можете використовувати такі команди служби, як наведені нижче, щоб зупинити, запустити, перезапустити та переглянути статус служби `smartd`.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ tags:

# Лабораторна робота 4: Розширений моніторинг системи та процесів

## Завдання
## Цілі

Виконавши цю лабораторну роботу, ви зможете

Expand Down Expand Up @@ -206,7 +206,7 @@ tags:
sudo perf stat -e cycles ./generate_cpu_load.sh 500
```

Вихід
Вихід:

```bash
...<SNIP>...
Expand Down Expand Up @@ -278,7 +278,7 @@ tags:
export MYPID=$(pgrep strace_script) ; echo $MYPID
```

Вихід
Вихід:

```bash
4006301
Expand Down Expand Up @@ -316,7 +316,7 @@ tags:

Наша зразкова система показує підсумковий звіт таким чином:

Вихід
Вихід:

```bash
strace: Process 4006301 attached
Expand Down Expand Up @@ -587,7 +587,7 @@ NUMA означає "нерівномірний доступ до пам'яті"
journalctl -xe -f | grep -i memory
```

!!! tip "Порада"
!!! Tip "Порада"

````
Ви можете швидко скористатися командою ps, щоб перевірити приблизне використання пам'яті процесом, якщо вам відомий PID процесу, запустивши:
Expand Down Expand Up @@ -694,7 +694,7 @@ NUMA означає "нерівномірний доступ до пам'яті"

#### Щоб створити процес стрес-тесту вводу-виводу

1. Запустіть процес `dd`, щоб створити великий файл з назвою /tmp/io_stress. Також запишіть і збережіть PID процесу dd у змінній під назвою `MYPID`. Впишіть:
1. Запустіть процес `dd`, щоб створити великий файл з назвою `/tmp/io_stress`. Також запишіть і збережіть PID процесу dd у змінній під назвою `MYPID`. Впишіть:

```bash
dd if=/dev/zero of=/tmp/io_stress bs=10M count=500 oflag=dsync \
Expand All @@ -717,7 +717,7 @@ NUMA означає "нерівномірний доступ до пам'яті"
iotop -p $MYPID
```

Вихідні дані відображатимуть швидкість читання/запису вводу/виводу для процесу io_stress.sh, яка не повинна перевищувати 1 МБ/с відповідно до обмеження.
На виході буде відображено швидкість читання/запису вводу-виводу для процесу io_stress.sh, яка не повинна перевищувати 1 МБ/с відповідно до обмеження.

#### Щоб видалити `cgroups`

Expand All @@ -743,7 +743,7 @@ CPU affinity прив’язує конкретні процеси або пот
lscpu | grep "On-line"
```

2. Давайте створимо зразок процесу за допомогою утиліти dd і збережемо його PID у змінній MYPID. Впишіть:
2. Створіть зразок процесу за допомогою утиліти `dd` і збережіть його PID у змінній `MYPID`. Впишіть:

```bash
dd if=/dev/zero of=/dev/null & export MYPID="$!"
Expand All @@ -756,7 +756,7 @@ CPU affinity прив’язує конкретні процеси або пот
taskset -p $MYPID
```

Вихід
Вихід:

```bash
pid 1211483's current affinity mask: f
Expand All @@ -779,13 +779,13 @@ CPU affinity прив’язує конкретні процеси або пот

### Щоб встановити/змінити схожість ЦП

1. Встановіть приналежність ЦП процесу dd до одного ЦП (ЦП 0). Впишіть:
1. Встановіть афінність процесора для процесу `dd` на один процесор (процесор 0). Впишіть:

```bash
taskset -p 0x1 $MYPID
```

Вихід
ВИХІД

```bash
pid 1211483's current affinity mask: f
Expand All @@ -798,9 +798,9 @@ CPU affinity прив’язує конкретні процеси або пот
taskset -p $MYPID
```

Вихідні дані вказують на маску спорідненості ЦП процесу з PID $MYPID. Маска спорідненості дорівнює «1» у десятковій системі, що перекладається як «1» у двійковій системі. Це означає, що процес наразі прив’язаний до ядра ЦП 0.
Вихідні дані вказують маску афінності процесора процесу з PID `$MYPID`. Маска спорідненості дорівнює «1» у десятковій системі, що перекладається як «1» у двійковій системі. Це означає, що процес наразі прив’язаний до ядра ЦП 0.

3. Тепер встановіть приналежність ЦП процесу dd до кількох ЦП (ЦП 0 і 1). Впишіть:
3. Тепер встановіть афінність процесора для процесу `dd` на кілька процесорів (процесори 0 і 1). Впишіть:

```bash
taskset -p 0x3 $MYPID
Expand All @@ -825,13 +825,13 @@ CPU affinity прив’язує конкретні процеси або пот

5. Запустіть утиліту `top` або `htop` в окремому терміналі та спостерігайте, якщо ви бачите щось цікаве, експериментуючи з різними конфігураціями `taskset` для процесу.

6. Все готово. Використовуйте його PID ($MYPID), щоб припинити процес dd.
6. Все готово. Використовуйте його PID (`$MYPID`) для завершення процесу `dd`.

## Завдання 9

### `systemd-run`

Команда `systemd-run` створює та запускає тимчасові службові блоки для виконання команд або процесів. Вона також може запускати програми в блоках тимчасової області дії, блоках обслуговування, що запускаються шляхом, сокетом або таймером.
Команда `systemd-run` створює та запускає тимчасові службові блоки для виконання команд або процесів. Він також може запускати програми в одиницях тимчасового обсягу, одиницях обслуговування, що запускаються за допомогою шляху, сокета або таймера.

У цій вправі показано, як використовувати `systemd-run` для створення тимчасових службових одиниць у `systemd`.

Expand All @@ -851,7 +851,7 @@ CPU affinity прив’язує конкретні процеси або пот

#### Щоб установити обмеження ресурсу пам’яті для тимчасової служби

1. Використовуйте параметр `--property` разом із `systemd-run`, щоб обмежити максимальне використання пам’яті для тимчасового процесу до 200 МБ. Впишіть:
1. Використовуйте параметр `--property` разом із `systemd-run`, щоб обмежити максимальне використання пам’яті для тимчасового процесу до 200 Мб. Впишіть:

```bash
systemd-run --unit=mylimited.service --property=MemoryMax=200M sleep 300
Expand All @@ -871,14 +871,14 @@ CPU affinity прив’язує конкретні процеси або пот

#### Щоб установити обмеження на ресурс ЦП для тимчасової служби

1. Давайте створимо тимчасовий блок `systemd` під назвою "myrealtime.service". Запустіть myrealtime.service із спеціальною політикою планування циклічного (rr) і пріоритетом. Впишіть:
1. Давайте створимо тимчасовий блок `systemd` під назвою "myrealtime.service". Запустіть `myrealtime.service` із певною політикою планування round robin (rr) та пріоритетом. Впишіть:

```bash
systemd-run --unit=myrealtime.service \
--property=CPUSchedulingPolicy=rr --property=CPUSchedulingPriority=50 sleep 300
```

2. Перегляньте статус myrealtime.service. Крім того, захопіть/збережіть основний [sleep] PID у змінній під назвою MYPID. Впишіть:
2. Перевірте статус `myrealtime.service`. Крім того, захопіть/збережіть основний [sleep] PID у змінній під назвою MYPID. Впишіть:

```bash
MYPID=$(systemctl status myrealtime.service | awk '/Main PID/ {print $3}')
Expand Down Expand Up @@ -956,21 +956,21 @@ CPU affinity прив’язує конкретні процеси або пот
~/cpu_load_generator.sh & echo $!
```

3. Зберіть PID для основного процесу `openssl`, запущеного в сценарії cpu_load_generator.sh. Зберігайте PID у змінній з іменем MYPID. Впишіть:
3. Зафіксуйте PID для основного процесу `openssl`, запущеного в скрипті `cpu_load_generator.sh`. Збережіть PID у змінній з іменем `$MYPID`. Впишіть:

```bash
export MYPID=$(pidof openssl) ; echo $MYPID
```

#### Щоб використовувати `schedtool` для перевірки поточної політики планування

1. Використовуйте команду `schedtool`, щоб відобразити інформацію про планування процесу з PID $MYPID. Впишіть:
1. Використовуйте команду `schedtool`, щоб відобразити інформацію про планування процесу з PID `$MYPID`. Впишіть:

```bash
schedtool $MYPID
```

Вихід
Вихід:

```bash
PID 2565081: PRIO 0, POLICY N: SCHED_NORMAL , NICE 0, AFFINITY 0xf
Expand Down
Loading