---
title: "Отчёт по прохождению 2 этапа внешнего курса"
subtitle: "Работа на сервере"
author: "Герчет Вячеслав"
toc-title: "Содержание"
toc: true
toc_depth: 2
lof: true
fontsize: 12pt
linestretch: 1.5
papersize: a4paper
documentclass: scrreprt
polyglossia-lang: russian
polyglossia-otherlangs: english
mainfont: PT Serif
sansfont: PT Sans
monofont: PT Mono
indent: true
pdf-engine: lualatex
---

# Цель работы

Пройти второй этап внешнего курса Stepik «Введение в Linux», изучить работу с удалённым сервером, передачей файлов, запуском программ, контролем процессов и терминальными инструментами.

# Задание

Выполнить тестовые и практические задания второго этапа курса, зафиксировать формулировки заданий, подтверждения прохождения и пояснить выбранные ответы.

# Выполнение внешнего курса

## Контрольное мероприятие 1

### Формулировка задания

![Формулировка задания 1](images/a1.png){#fig:a1 width=95%}

### Выбранный ответ

Был выбран ответ: варианты про хранение данных, хранение общедоступных данных, выполнение вычислений и хранение конфиденциальных данных.

### Пояснение выбора

Удалённый сервер может использоваться для хранения информации, обработки задач и организации доступа к данным через сеть.

### Подтверждение прохождения

![Подтверждение прохождения задания 1](images/d1.png){#fig:d1 width=95%}

## Контрольное мероприятие 2

### Формулировка задания

![Формулировка задания 2](images/a2.png){#fig:a2 width=95%}

### Выбранный ответ

Был выбран ответ: `id_rsa.pub`.

### Пояснение выбора

Этот файл является открытым ключом, поэтому его можно передавать на сервер. Закрытый ключ `id_rsa` передавать нельзя.

### Подтверждение прохождения

![Подтверждение прохождения задания 2](images/d2.png){#fig:d2 width=95%}

## Контрольное мероприятие 3

### Формулировка задания

![Формулировка задания 3](images/a3.png){#fig:a3 width=95%}

### Выбранный ответ

Был выбран ответ: команда `scp -r stepic/ username@server:~/`.

### Пояснение выбора

Ключ `-r` нужен для рекурсивного копирования всей папки вместе с её содержимым на сервер.

### Подтверждение прохождения

![Подтверждение прохождения задания 3](images/d3.png){#fig:d3 width=95%}

## Контрольное мероприятие 4

### Формулировка задания

![Формулировка задания 4](images/a4.png){#fig:a4 width=95%}

### Выбранный ответ

Был выбран ответ: `sudo apt-get update`.

### Пояснение выбора

Эта команда обновляет список доступных пакетов и помогает исправить ситуацию, когда система не может найти пакет.

### Подтверждение прохождения

![Подтверждение прохождения задания 4](images/d4.png){#fig:d4 width=95%}

## Контрольное мероприятие 5

### Формулировка задания

![Формулировка задания 5](images/a5.png){#fig:a5 width=95%}

### Выбранный ответ

Был выбран ответ: варианты про просмотр директорий на сервере и компьютере, а также копирование файлов в обе стороны.

### Пояснение выбора

FileZilla используется как FTP/SFTP-клиент для просмотра каталогов и передачи файлов между компьютером и сервером.

### Подтверждение прохождения

![Подтверждение прохождения задания 5](images/d5.png){#fig:d5 width=95%}

## Контрольное мероприятие 6

### Формулировка задания

![Формулировка задания 6](images/a6.png){#fig:a6 width=95%}

### Выбранный ответ

Был выбран ответ: вариант про настройку вывода графики или использование подходящего терминального режима.

### Пояснение выбора

Если программе нужен экран, необходимо обеспечить графический вывод или использовать способ запуска, подходящий для работы на сервере.

### Подтверждение прохождения

![Подтверждение прохождения задания 6](images/d6.png){#fig:d6 width=95%}

## Контрольное мероприятие 7

### Формулировка задания

![Формулировка задания 7](images/a7.png){#fig:a7 width=95%}

### Выбранный ответ

Был выбран ответ: `help program`, `man program` и `program --help`.

### Пояснение выбора

Эти способы используются для получения справочной информации о программе в Linux.

### Подтверждение прохождения

![Подтверждение прохождения задания 7](images/d7.png){#fig:d7 width=95%}

## Контрольное мероприятие 8

### Формулировка задания

![Формулировка задания 8](images/a8.png){#fig:a8 width=95%}

### Выбранный ответ

Был выбран ответ: форматы `bam_mapped`, `sam_mapped` и `fastq`.

### Пояснение выбора

FastQC работает с форматами данных секвенирования, поэтому эти варианты подходят для анализа качества ридов.

### Подтверждение прохождения

![Подтверждение прохождения задания 8](images/d8.png){#fig:d8 width=95%}

## Контрольное мероприятие 9

### Формулировка задания

![Формулировка задания 9](images/a9.png){#fig:a9 width=95%}

### Выбранный ответ

Был выбран ответ: команда запуска Clustal с параметром `--align`.

### Пояснение выбора

Параметр `--align` используется для выполнения полного множественного выравнивания.

### Подтверждение прохождения

![Подтверждение прохождения задания 9](images/d9.png){#fig:d9 width=95%}

## Контрольное мероприятие 10

### Формулировка задания

![Формулировка задания 10](images/a10.png){#fig:a10 width=95%}

### Выбранный ответ

Был выбран ответ: «Только о program2 и program3».

### Пояснение выбора

Первый процесс был завершён, а остальные процессы остались в списке заданий оболочки.

### Подтверждение прохождения

![Подтверждение прохождения задания 10](images/d10.png){#fig:d10 width=95%}

## Контрольное мероприятие 11

### Формулировка задания

![Формулировка задания 11](images/a11.png){#fig:a11 width=95%}

### Выбранный ответ

Был выбран ответ: «Одинаковое только у top и ps».

### Пояснение выбора

Команды `top` и `ps` показывают PID процесса, а `jobs` использует номер задания внутри текущей оболочки.

### Подтверждение прохождения

![Подтверждение прохождения задания 11](images/d11.png){#fig:d11 width=95%}

## Контрольное мероприятие 12

### Формулировка задания

![Формулировка задания 12](images/a12.png){#fig:a12 width=95%}

### Выбранный ответ

Был выбран ответ: `kill -9`.

### Пояснение выбора

Команда отправляет сигнал SIGKILL, который принудительно завершает процесс.

### Подтверждение прохождения

![Подтверждение прохождения задания 12](images/d12.png){#fig:d12 width=95%}

## Контрольное мероприятие 13

### Формулировка задания

![Формулировка задания 13](images/a13.png){#fig:a13 width=95%}

### Выбранный ответ

Был выбран ответ: «Процесс приступит к завершению, как только будет продолжен».

### Пояснение выбора

Остановленный процесс не выполняется и не может обработать обычный сигнал до продолжения работы.

### Подтверждение прохождения

![Подтверждение прохождения задания 13](images/d13.png){#fig:d13 width=95%}

## Контрольное мероприятие 14

### Формулировка задания

![Формулировка задания 14](images/a14.png){#fig:a14 width=95%}

### Выбранный ответ

Был выбран ответ: `0% CPU`.

### Пояснение выбора

Остановленный процесс не выполняет вычислений, поэтому не потребляет ресурсы процессора.

### Подтверждение прохождения

![Подтверждение прохождения задания 14](images/d14.png){#fig:d14 width=95%}

## Контрольное мероприятие 15

### Формулировка задания

![Формулировка задания 15](images/a15.png){#fig:a15 width=95%}

### Выбранный ответ

Был выбран ответ: «Столько, сколько использовалось до остановки».

### Пояснение выбора

При остановке процесс остаётся в памяти, поэтому объём занятой RAM сохраняется.

### Подтверждение прохождения

![Подтверждение прохождения задания 15](images/d15.png){#fig:d15 width=95%}

## Контрольное мероприятие 16

### Формулировка задания

![Формулировка задания 16](images/a16.png){#fig:a16 width=95%}

### Выбранный ответ

Был выбран ответ: «Никак».

### Пояснение выбора

Потоки являются частью процесса, поэтому для завершения обычно управляют самим процессом, а не отдельными потоками таким способом.

### Подтверждение прохождения

![Подтверждение прохождения задания 16](images/d16.png){#fig:d16 width=95%}

## Контрольное мероприятие 17

### Формулировка задания

![Формулировка задания 17](images/a17.png){#fig:a17 width=95%}

### Выбранный ответ

Был выбран ответ: вариант о поддержке многопоточности в `bowtie2` через `--threads` и отсутствии такой поддержки в `bowtie2-build`.

### Пояснение выбора

Ключ `--threads` используется при выравнивании в `bowtie2`, а построение индекса выполняется отдельной программой `bowtie2-build`.

### Подтверждение прохождения

![Подтверждение прохождения задания 17](images/d17.png){#fig:d17 width=95%}

## Контрольное мероприятие 18

### Формулировка задания

![Формулировка задания 18](images/a18.png){#fig:a18 width=95%}

### Выбранный ответ

Был выбран ответ: вывод `bowtie2` со статистикой выравнивания и итоговой строкой `100.00% overall alignment rate`.

### Пояснение выбора

Ответ был получен после запуска `bowtie2` и сохранения потока ошибок `stderr` в файл.

### Выполнение в терминале

Для выполнения задания были скачаны файлы с референсом и ридами, затем был построен индекс и выполнено выравнивание через `bowtie2`. Использовались команды `bowtie2-build` и `bowtie2`, а поток ошибок был сохранён в отдельный файл.

![Выполнение задания 18 в терминале](images/s18.png){#fig:s18 width=100%}

### Пояснение выполнения

Команда `bowtie2-build` создаёт индекс референсного генома, а команда `bowtie2` выполняет выравнивание ридов. Перенаправление `2> result.txt` сохраняет диагностический вывод `stderr`, который требовалось загрузить в Stepik.

### Подтверждение прохождения

![Подтверждение прохождения задания 18](images/d18.png){#fig:d18 width=95%}

## Контрольное мероприятие 19

### Формулировка задания

![Формулировка задания 19](images/a19.png){#fig:a19 width=95%}

### Выбранный ответ

Был выбран ответ: результат запуска `bowtie2` с указанным числом потоков.

### Пояснение выбора

Параметр `--threads` позволяет использовать несколько потоков и ускорить этап выравнивания.

### Подтверждение прохождения

![Подтверждение прохождения задания 19](images/d19.png){#fig:d19 width=95%}

## Контрольное мероприятие 20

### Формулировка задания

![Формулировка задания 20](images/a20.png){#fig:a20 width=95%}

### Выбранный ответ

Был выбран ответ: `exit`.

### Пояснение выбора

Команда `exit` завершает работу текущей оболочки и закрывает сессию tmux.

### Подтверждение прохождения

![Подтверждение прохождения задания 20](images/d20.png){#fig:d20 width=95%}

## Контрольное мероприятие 21

### Формулировка задания

![Формулировка задания 21](images/a21.png){#fig:a21 width=95%}

### Выбранный ответ

Был выбран ответ: вариант о том, что tmux продолжит работу на сервере после закрытия терминала.

### Пояснение выбора

tmux работает на сервере независимо от локального окна терминала.

### Подтверждение прохождения

![Подтверждение прохождения задания 21](images/d21.png){#fig:d21 width=95%}

## Контрольное мероприятие 22

### Формулировка задания

![Формулировка задания 22](images/a22.png){#fig:a22 width=95%}

### Выбранный ответ

Был выбран ответ: вариант о предупреждении и завершении процесса при закрытии обычной вкладки.

### Пояснение выбора

Без tmux процесс связан с текущим терминалом и может завершиться при закрытии вкладки.

### Подтверждение прохождения

![Подтверждение прохождения задания 22](images/d22.png){#fig:d22 width=95%}

## Контрольное мероприятие 23

### Формулировка задания

![Формулировка задания 23](images/a23.png){#fig:a23 width=95%}

### Выбранный ответ

Был выбран ответ: комбинация `Ctrl+B`, затем `?`.

### Пояснение выбора

В tmux сначала нажимается префикс `Ctrl+B`, а затем `?` для открытия справки по горячим клавишам.

### Подтверждение прохождения

![Подтверждение прохождения задания 23](images/d23.png){#fig:d23 width=95%}

## Контрольное мероприятие 24

### Формулировка задания

![Формулировка задания 24](images/a24.png){#fig:a24 width=95%}

### Выбранный ответ

Был выбран ответ: «gzip удаляет архив после его распаковки».

### Пояснение выбора

В отличие от `zip`, архиватор `gzip` обычно работает с одним файлом и после распаковки удаляет сжатый файл.

### Подтверждение прохождения

![Подтверждение прохождения задания 24](images/d24.png){#fig:d24 width=95%}

# Выводы

В ходе выполнения второго этапа внешнего курса Stepik «Введение в Linux» были изучены основы работы с удалённым сервером, передачи файлов, запуска программ, контроля процессов и использования терминальных инструментов. Все контрольные мероприятия были выполнены и зафиксированы в отчёте с помощью скриншотов и пояснений.

# Список литературы

1. Курс Stepik «Введение в Linux»: <https://stepik.org/course/73>
