Linux

В ТОП-3

самых востребованных
навыков для системных администраторов и
DevOps-инженеров

90 000 р.

Средняя зарплата
специалиста по направлению
- администрирование Linux

2014

вакансий
на территории РФ

данные взяты с сайта

Ваш путь в программе Linux by Rebrain

Презентация практикума 10 минут

Записаться на практикум
1
Стажировка
Вы попадаете на виртуальную стажировку по направлению системное администрирование Linux.
2
Практикуйтесь, когда удобно
Проходите практикум в удобное для вас время. Срок практикума неограничен.
3
100+ заданий
Поэтапно проходите более 100 заданий.
К каждому заданию прилагаются необходимые материалы для его выполнения.
6
Мастер–классы
Закрытые мастер-классы наших экспертов.
5
Проверка за 24 часа
SLA 24 часа на каждое сданное задание.
4
Отвечаем быстро
Есть вопрос по заданию? Спрашиваете у авторов практикума и экспертов в закрытом чате Telegram.
7
Выпускной проект
Полный кейс реального проекта.
8
Резюме
Готовим ваше резюме и передаем HR.
9
Finish
Помогаем подобрать интересный проект.

Практикум Linux by REBRAIN

90% практики
100 рабочих задач
Это не просто теоретические курсы администрирования Linux, вы выполняете реальные кейсы агентства Fevlake
Практикуйтесь в удобное для вас время
Все задания идут в ваше портфолио
Живые мастер-классы от действующих DevOps-инженеров
Быстрая проверка заданий.
Максимальное время проверки - 24 часа
Чат с составителями практикума и действующими DevOps
Быстрая проверка заданий
Личная проверка заданий экспертами. Высылаем подробные объяснения к каждому заданию
Эффективность.
Вы своими руками сделаете все актуальные задания действующего системного администратора Linux
Смотрите видеоматериалы в удобное для вас время

Кому подойдет практикум:

Начинающие системные администраторы
Cистемные администраторы Microsoft
Разработчики
Cпециалисты по тестированию

Программа практикума

Basics

· Знакомство с Linux.

· Базовые навыки работы с консолью и системой.

Scripting

· Написание скриптов при помощи командной оболочки.

· Построение цепочек команд для автоматизации задач.

Configuration

· Конфигурирование системы.

· Управление пользователями, запущенными сервисами и процессом запуска системы.

Hardware

· Принципы работы с оборудованием через командную оболочку (работа с дисками и рейдами).

· Как контролировать ресурсы (память, swap, место, процессорное время)

Network

Основные команды конфигурирования сетевых устройств и сетевых служб (DNS, Firewall, NAT, Routing).

Debug

Работа с базовыми утилитами для разбора проблем в системах (утилиты по логам и системным вызовам, сетевые проблемы).

Applications

Принципы работы и конфигурирования необходимых для работы Linux-администратора приложений.

· Работа с Web-серверами (nginx, apache, php-fpm).
· Работа с Let's Encrypt.
· Работа с основными базами данными (MariaDB, PostgreSQL, Redis).
· Работа со средствами доступа к системе (SSH, VNC).
· Работа с сетевыми сервисами – с базовыми (DNS, DHCP), со средствами обеспечения отказоустойчивости приложений и различными VPN-сервисами.
· Работа с почтовыми решениями (postfix, dovecot).
· Работа с сетевыми решениями для хранения.
· Работа с инфраструктурными приложениями (Docker, LXC, FreeIPA).
· Работа с системами работы с логами (logrotate, syslog, EFK, Graylog).
· Работа со средствами мониторинга (Zabbix, Prometheus, Grafana).
· Работа с инструментами для бэкапов (rsync, borg).

Примеры заданий

Пока мы разбирали команды, которые можно выполнять в своей директории и никаких проблем не возникнет, но в некоторых при администрировании системы требуется работать с файлами, которыми владеет пользователь root - суперпользователь, о котором мы говорили вскользь ранее, либо с программами, которые требуют таких полномочий. Для того чтобы производить такие операции, требуется повысить свои полномочия до уровня суперпользователя существует две команды для повышения полномочий:
1. Залогиниться как суперпользователь.
2. Использовать утилиту sudo для повышения полномочий для выполнения одной команды.

Начнем с простого - с входа в систему как суперпользователь. Для такого действия требуется установить пароль для суперпользователя и либо заходить в систему под ним (Desktop версия не позволяет такого), либо переключиться на пользователя, используя команду su. При ее вызове система просит ввести пароль пользователя, и при корректном вводе вы получите доступ к командной оболочке пользователя root со всеми полномочиями. Данная команда также позволяет переключаться и на других пользователей при передаче опции -u USERNAME. Используя опцию c COMMAND, можно запустить команду, отличную от командной оболочки.
В случае, если данная команда запускается пользователем root, пароль не требуется.
Однако ввод пароля по каждому запросу - довольно муторная затея. Плюс, как правило, давать такие возможности для пользователей, которые создаются для конкретного сервиса, а не для реального человека - слишком странная идея с точки зрения безопасности. Как правило, им требуется доступ только до ряда команд, как перезапуск конкретного приложения или удаление конкретных защищенных файлов, но не полный доступ. Для решения таких задач существует другая утилита - sudo, которая позволяет делать тоже самое, что и su, но еще огромную кучу всего сверху. Сравним, как делать те же действия, что и с su:
1. Вызов интерактивной оболочки - sudo –i.
2. Вызов команды от имени суперпользователя - sudo COMMAND .
3. Вызов команды от пользователя, отличного от суперпользователя, - sudo -u USER COMMAND.

Главное отличие от su - при запросах запрашивается пароль не пользователя, от которого вы пытаетесь запустить команду, а пароль вашего пользователя.
Однако есть возможность настроить вызов команды sudo и без пароля вовсе, разрешить вызов данной команды только к ограниченному списку команд и многое другое. Все это конфигурируется через файл /etc/sudoers, у которого довольно замысловатый синтаксис, однако все управление производится именно здесь.
Перед тем, как разбирать синтаксис данного файла, давайте разберем несколько команд, которые вам потребуются для работы: • whoami - выводит имя пользователя, под которым выводится текущая команда;
• id - выводит информацию о текущем пользователе и группах, в которых он состоит (данную тему мы разберем позже);
• visudo - редактировать файл /etc/sudoers с возможностью отката - данная команда позволяет редактировать файл /etc/sudoers и в случае, если в формате записываемого файла есть ошибка, измененный файл не будет сохранен (запускается она, естественно, только с правами суперпользователя, то есть либо от root, либо с использованием sudo - да, команда sudo visudo - может показаться довольно странной, но уж как есть).
Последняя команда особенно важна - она позволяет спасти вас от довольно грустных последствий изменений файла без верификации синтаксиса, поскольку сохраненный файл sudoers, содержащий синтаксис, приводит к полной неработоспособности команды sudo! Теперь разберем синтаксис файла /etc/sudoers на примере упрощенного конфигурационного файла: # Пример комментария
Итак, формат команды для пользователя/группы: User Host = (Runas) Options Command.
Разберем этот синтаксис на примере %sudo ALL=(ALL:ALL) NOPASSWD:ALL - данная директива устанавливает для всех, кто состоит в группе sudo на всех (ALL) хостах от имени всех пользователей и групп (ALL:ALL) без пароля (NOPASSWD:) запускать любую команду (ALL).
Как правило, описанная выше директива - это наиболее распространенная директива, которую можно встретить чаще остальных.
Напоследок, мы порекомендуем вам при тестах с sudoers предварительно задать пользователю root пароль при помощи команды passwd, чтобы в случае ошибки в /etc/sudoers иметь возможность исправить доступ.

1. Напишите команду для изменения пароля пользователя root от имени непривилегированного пользователя.
2. Напишите 2 формата для перехода в интерактивную командную оболочку без ввода пароля, используя sudo и su (с возможностью их комбинирования) при условии, что в sudoers уже прописана необходимая директива (по одной команде на строку).
3. Напишите директиву для sudoers файла, которая для группы rebrainme позволит без пароля запускать команду whoami от имени пользователя и группы postgres.
В предыдущем уроке мы научились писать простые пользовательские сценарии в командной строке и сохранять их в текстовый файл. В данном уроке мы поговорим про функции и аргументы. По сути, функция в bash является обычной переменной, но с более широкими возможностями. Основное применение — в тех случаях, когда один и тот же код необходимо использовать несколько раз и/или в разных связанных скриптах.

Давайте рассмотрим способы объявления функции в скриптах: #!/bin/bash function one { echo 1 } two () { echo 2 } function three () { echo 3 }
Наиболее предпочтительным является второй вариант, т.к. он максимально совместим с различными shell оболочками. Но, если вы работает только в одной системе, то можете использовать тот вариант, который больше нравится.

Вызвать функцию можно, указав в теле скрипта. Главное, чтобы вызов функции был после ее объявления:
$ cat script.sh #!/bin/bash two () { echo 2 } two $ ./script.sh 2
В теле нашего скрипта мы можем использовать так называемые аргументы командной строки:
• $0 - этот аргумент включает в себя имя, по которому был вызван скрипт. Для предыдущего примера это будет ./script.sh.
• $# - количество переданных аргументов, причем этот аргумент не учитывает $0. Для ./script.sh 1 2 3 4 переменная $# равна 4.
• $* - значения аргументов. Как и $#, данная переменная не содержит #0.
• $1, $2, и т.д. - нумерованные аргументы, в зависимости от позиции в списке.
Например — создадим скрипт с функцией, которая должна вывести количество переданных аргументов и сами эти аргументы: #!/bin/bash test () { echo $# echo $* echo $1 $4 } test 1 2 3 4 $ ./test.sh 4 1 2 3 4 1 4
Аргументы bash-функций обрабатываются практически так же, как аргументы командной строки. Только аргумент $0 все содержит имя скрипта.

Результатом работы функции является код завершения. Этот код является кодом завершения последней команды, вызванной в функции (0 - в случае успешного завершения последней команды или ненулевой в случае ошибки). Также код завершения может быть явно задан с помощью команды return. Например, чтобы в зависимости от некоторых условий функция завершалась с кодом 4.

Аналогичная команда exit служит для задания кода завершения скрипта. Для просмотра кода возврата функции или переменной используется переменная $?. Воспользуемся полученными знаниями для модификации скрипта test.sh, используя знания из предыдущих абзацев: #!/bin/bash test () { echo $# echo $* echo $1 $4 return $# } test $* exit $? $ ./test.sh 1 2 3 4 4 1 2 3 4 1 4 $ echo $? 4
Как видно, мы стали прокидывать аргументы скрипта в функцию и завершать его с кодом завершения функции.
Давайте теперь поговорим про видимость переменных. Помимо команды export, с которой вы уже знакомы, есть команда local. По умолчанию, все переменные, определенные в теле скрипта, являются глобальными в рамках всего скрипта. Команда local объявляет переменную, доступную только в рамках функции: #!/bin/bash test () { local var2=2 echo $var2 } test var1=1 var3=3 echo $var1 $var2 $var3 ./test.sh 2 1 3
В данном разделе мы познакомились с функциями и аргументами. Команды и функции в оболочке bash имеют тесную связь. Вы можете определить полезные функции в файле ~/.bash_profile и затем использовать их из любого места командной строки, как и команды. Например, вам часто приходится создавать новый каталог и производить в нем некоторые действия. Для этого можно в ~/.bash_profile добавить следующую функцию: take() { mkdir -p $1 cd $1 }
Аргумент -p позволяет рекурсивно создавать директории.
1. Напишите скрипт, который завершается с кодом, равным количеству аргументов, переданных в него.
2. Напишите скрипт 016.sh, который содержит:
• Функцию c именем get_changelog, которая скачивает с помощью утилиты curl данные из второго аргумента скрипта в файл /var/tmp/016.
• Печать первой строки из файла /var/tmp/016 и выход из скрипта с кодом возврата равным первому аргументу, если вызов функции из предыдущего пункта завершился успешно.
• На проверку отправьте:
   1. Сам скрипт.
   2. Результат работы этого скрипта с аргументами (4 https://cdn.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.4.44) и печатью кода возврата.
   3. Результат работы этого скрипта с аргументами (4 https://badremote.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.4.44) и печатью кода возврата.
   3. Представим, что у вас есть набор серверов, на которые вы ходите по ssh не под своим логином, а под логином production. Также, чтобы не использовать стандартный порт, вы используете 1388 порт (так называемая «безопасность через неясность»). В ~/bash_profile определите функцию sshp, которая будет запускать команду ssh c портом 1388 и пользователем production.

Как правило, в дистрибутивы Linux по умолчанию входит много пакетов (в особенности для Desktop версий), которые покрывают основные требования пользователя. Но, как правило, в зависимости от целей, вашей конкретной системе может потребоваться инструмент и для вашей конкретной задачи, может потребоваться программа, которой нет и которую нужно установить. В операционных системах семейства Microsoft Windows по умолчанию есть возможность установки приложений из интернета и из магазина приложений. Аналогично - в операционной системе MacOS X (да, есть еще brew). Однако у Linux подход к установке пакетов отличается этих систем - да, есть возможность устанавливать пакеты из интернета (причем в разных форматах - об этом далее), но основной метод - использование пакетного менеджера для установки приложений

Пакетный менеджер - это утилита, которая позволяет получать, устанавливать пакеты с приложениями и отслеживать их зависимости друг от друга, на случай, если для корректной работы одного приложения требуется другое приложение.
У каждого семейства дистрибутивов пакетный менеджер свой, равно как и свой формат хранения пакетов:
• ArchLinux - пакетный менеджер называется pacman, формат пакетов - архивы с собранным под архитектуру бинарными файлами (есть еще неофициальные пакеты, но это отдельный мир).
• Gentoo - пакетный менеджер называется portage (команда вызова - emerge), формат пакетов - архивы с исходным кодом, которые собираются.
• RHEL - пакетный менеджер называется yum и dnf, формат пакетов – rpm.
• Debian - пакетный менеджер называется apt, формат пакетов – dpkg.

Поскольку наш практикум проходит на Ubuntu, который принадлежит семейству Debian, разбираться мы будем с apt и dpkg

apt - это пакетный менеджер, от акронима (advanced packaging tool), который включает в себя несколько команд для работы с пакетами:
• apt-get - команда для установки, удаления пакетов и обновления реестра пакетов;
• apt-cache - позволяет найти пакеты по имени и узнать детали о нем;
• apt - объединенная команда, которая на данный момент объединяет наиболее частые команды из первых двух для удобства (на момент выхода Ubuntu 18.04 команда доступна повсеместно).



Для каждой из команд есть обширные man-страницы, но кратную информацию можно получить из help к командам.

Заранее скажем - использование пакетного менеджера - это изменение состояния системы, а потому требует прав суперпользователя, так что для использования команды потребуется запускать все эти команды при помощи sudo или от имени суперпользователя.

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

При установке apt проверяет свой кэш на наличие необходимой команды и, если таковая находится, определяет зависимости пакета, составляет список требуемых пакетов, запрашивает их по ссылке из кэша и устанавливает в систему

Однако бывает так, что при запросе пакетов возвращается 404 ошибка (HTTP код, означающий, что запрашиваемый файл не существует). Это может быть связано с тем, что на вашей машине устаревший кэш, который указывает на файлы старых версий пакетов, которые уже отсутствуют в репозитории.

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

Таким образом, мы подошли к вопросу конфигурации apt - все конфигурационные файлы хранятся в директории /etc/apt и доступны для изменения только суперпользователю.

Рассмотрим некоторые файлы и директории:
• sources.list - данный файл содержит репозитории, из которых устанавливаются пакеты в определенном формате (разберем его далее);
• sources.list.d - директория может содержать файлы с разрешением .list, в которых прописаны дополнительные репозитории - это сделано для логического разделения репозиториев по их источникам, когда подключаются внешние репозитории;
• trusted.gpg - список OpenPGP ключей, которые используются для подписания списка пакетов в репозитории и подтверждения, что мы скачиваем из доверенного источника;
• trusted.gpg.d - логика аналогична с sources.list.d - директория для логического разделения ключей от разных репозиториев.


В данных файлах важно их разрешение - .list - для список пакетов, .gpg - для ключей. В случае, если разрешение отличается, то при обновлении кэша apt будет игнорировать репозиторий/ключ.
Разберем, из чего состоит типичная запись в sources файле:
deb http://archive.ubuntu.com/ubuntu bionic main universe • deb - тип архива. Может быть либо deb, либо deb-src, что означает что указанный репозиторий содержит либо бинарные файлы, либо исходные файлы, соответственно. • http://archive.ubuntu.com/ubuntu - адрес репозитория. Корневой адрес репозитория. • bionic main universe - компоненты. Благодаря компонентам, есть возможность держать коревой адрес репозитория неизменным, а apt дополнит ссылку для получения списка пакетов (он заархивирован и называется Packages.gz). К примеру, приведенный репозиторий будет получать Releases.gz по адресу http://archive.ubuntu.com/ubuntu/dists/bionic/main/binary-amd64/Packages.gz.

Для того чтобы понять, зачем нужен OpenGPG ключ репозитория из trusted.gpg, нужно зайти в apt репозиторий и там вы обязательно найдете файл Release.gpg, который содержит подпись к файлу Releases при помощи соответствующего приватного ключа OpenGPG, публичная часть которого хранится в trusted.gpg - подпись позволяет подтвердить, что файл подписан реальным владельцем репозитория.

Отсюда должно стать ясно, что происходит при обновлении кэша - apt обращается к Releases.gpg, получает Releases, проверяет, что подпись в Releases.gpg верна при помощи ключа из trusted.gpg и, если все хорошо, скачивает требуемый Packages.gz, который содержит все актуальные на данный момент пакеты.

Отлично, разобравшись, как работает под капотом apt, разберем его основные команды:
• list - вывести список всех пакетов, доступных в системе (в том числе установленных);
• install - устанавливает конкретный пакет в систему;
• remove - удаляет указанный пакет из системы;
• purge - удаляет пакет и все файлы, связанные с пакетом (к примеру, конфиги и созданные в ходе работы файлы);
• autoremove - удаляет пакеты, которые не используются в системе и не числятся зависимостями ни у одного пакета;
• update - обновляет список пакетов из репозиториев;
• upgrade - обновляет все пакеты, которые есть в системе (как правило, перед этой командой стоит обновлять и список пакетов);
• search - позволяет найти пакет по имени.

Кроме того, часть полезных команд осталась в остальных командах, как, к примеру, apt-cache madison, который выводит все доступные версии пакета из всех репозиториев, если у вас из нескольких репозиториев имеется какой-то пакет с таким же именем.

В рамках последней задачи стоит разобрать, как мы можем установить пакет конкретной версии - для этого используется синтаксис apt install $PACKAGE_NAME=$VERSION. Разберем на примере:

# apt-cache madison bash
bash | 4.4.18-2ubuntu1.2 | http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages bash | 4.4.18-2ubuntu1 | http://archive.ubuntu.com/ubuntu bionic/main amd64 Packages # apt install bash=4.4.18-2ubuntu1.2

В случае, если нам необходимо зафиксировать конкретную версию пакета на хосте, можно воспользоваться командой apt-mark hold $PACKAGE, который не будет обновлять пакет в ходе upgrade, что можно впоследствии отменить через apt-mark unhold $PACKAGE.

Теперь опустимся чуть ниже - в утилиту для работы с deb пакетами напрямую - dpkg. Она позволяет устанавливать, удалять, настраивать пакеты, скачанные вручную. Разберем основные команды, которые представлены флагами:
• -l - выводит все пакеты, имеющиеся в системе. Первый параметр может иметь значение ii и rc, что означает, что пакет установлен или готов к установке, соответственно;
• -i - устанавливает пакет из указанного файла. В ходе установки может потребовать установить зависимость для пакета, что можно решить через apt;
• -r - удаляет пакет из системы;
• --configure - позволяет настроить пакет, если он требовал конфигурации при установке (к примеру, ввод данных о системе).

Напоследок лишь хотелось бы разобрать, что такое виртуальные пакеты - такие пакеты могут содержать либо несколько утилит, связанных одной целью, либо пакет, который реализован разными группами разработки и, хоть команда для их вызова одинаковая, но в реальности они устанавливаются из разных пакетов. В таких случаях либо система сообщит вам, какой пакет нужно установить при попытке вызвать или установить команду, либо придется искать необходимый пакет средствами пакетного менеджера или обратившись за помощью к Google.

1. Напишите команду для установки пакета jq без ручного подтверждения установки.
2. Напишите команду для поиска всех пакетов, имена которых начинаются на postgresql.
3. Напишите имя пакета, который содержит последнюю версию PostgreSQL сервера в вашей системе.
4. Напишите команды, требуемые для добавления официального репозитория APT для PostgreSQL согласно Wiki (с обновлением списка пакетов) от имени непривилегированного пользователя.
5. Пришлите команду и вывод команды для нахождения возможных версий пакета из 3 пункта (предварительно обновив список пакетов для получения пакетов из репозитория PostgreSQL).
6. Напишите команду для установки пакета с самой старой версией PostgreSQL из пункта 5.
7. Напишите команды для скачивания последней версии пакета с https://github.com/gopasspw/gopass/releases при помощи wget и его дальнейшей установки от имени непривелегированного пользователя с установкой всех необходимых зависимостей в автоматическом режиме (без ручных действий)
8. Напишите команды для удаления пакета из пункта 7 при помощи apt и dpkg от непривелигерованного пользователя в автоматическом режиме (без ручных действий)
9. Пришлите название виртуального пакета, содержащего утилиту ss
10. Пришлите название пакетов, связанных с виртуальным пакетом ping по одному на строку

Технологический стек после практикума

  • Linux
  • systemd
  • Keepalived
  • mdadm
  • nginx
  • PostgreSQL
  • LVM
  • Ceph
  • FreeIPA
  • SSH
  • borg
  • RabbitMQ
  • wireguard
  • Graylog
  • Prometheus
  • PowerDNS
  • Grafana
  • OpenVPN
  • Redis
  • Apache
  • VNC
  • iptables
  • PHP-FPM
  • MariaDB
  • HAProxy
  • BIND
  • tinc
  • isc-dhcp-server
  • unbound
  • postfix
  • dovecot
  • FTP
  • NFS
  • Samba
  • GlusterFS
  • Netdata
  • iSCSI
  • LXC
  • Libvirt
  • Docker
  • Zabbix
  • rsyslog
  • ElasticSearch
  • Fluentd
  • Kibana

С какими задачами
поступают к нам на практикум?

Освоить профессию системного администратора Linux
Научиться работать в консоли и познакомиться с основными сетевыми приложениями
Пройти курсы Системное администрирование Linux, чтобы повысить квалификацию, продвинуться в должности и в зарплате
Расширить свои технические навыки

Отзывы

Валерий Филлипов
30 лет | Москва
До практикума: Системный администратор
После практикума: DevOps-инженер Fevlake
Был: Системный администратор
Сейчас : DevOps-инженер Fevlake

Работал админом у провайдера и понял, что мне это все становится не сильно интересно. Меня заинтересовал открытый урок по девопс. Пришел, послушал - понравилась подача Васи Озерова, и решил пойти дальше уже на практикум. А сейчас я еще и работаю в команде Васи - девопсом в Fevlake. Можно сказать, прошел практикум - сменил профессию.

Что запомнилось на практикуме? Отличные задачки. Некоторые заставляют прям посидеть - поразбираться. И это круто. Когда смотришь стандартные вебинары, где лектор долго что-то объясняет, уже через 15 минут засыпаешь. Здесь такого нет. Иногда так затягивала задача, что не замечаешь, как время прошло. Про время - тоже удачно придумано. Занимаешься, когда тебе удобно, очень удобно совмещать с работой и личными делами.

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

Илья Ильин
32 года | Киев
До практикума: Системный администратор
После практикума: DevOps-инженер
Был: Системный администратор
Сейчас : DevOps-инженер

Работал системным администратором и понимал, что уже достиг потолка. Хотелось двигаться дальше. Увидел информацию про практикум - понравилось, что программа в хороших сроках и спикер компетентный на открытых уроках. В самом практикуме тоже ни разу не разочаровался: понравился чисто практический подход. Все делали руками. Программа и база очень широкие. Нравилось, что задачки максимально приближены к реальности - всё из настоящих кейсов.

Да, изначально сомнения идти/не идти на практикум были, особенно по оплате - для Украины сумма немаленькая. Но брат выручил с деньгами. И могу сказать, что все вложения окупились. После практикума устроился DevOps-инженером в продуктовую компанию. Указал в резюме, что прошел практикум, и это сыграло в плюс - всем нравится, что ты вкладываешься в свое развитие.

Сейчас еще в REBRAIN пригласили на проверку заданий. Интересно заниматься с ребятами. Понятно, что весь материал я уже знаю, но когда кому-то объясняешь, сам заново погружаешься в тему, развиваешься.

Практикум я бы порекомендовал сисадминам, инженерам, тем, кто занимается поддержкой средней и большой инфраструктуры, и вообще всем, кто входит в профессию девопс. При должном рвении добьетесь!

Юрий Медведев
28 лет
До практикума: Digital Marketing
После практикума: Junior DevOps
Был: Digital Marketing
Сейчас : Junior DevOps

До практикума я работал в сфере Digital Marketing - удаленно занимался рекламой, маркетингом. Ранее работал инженером связи, от механика и до ведущего инженера, поэтому IT мне близко, и я всегда хотел развиваться в этом направлении, и вернуться в профессию. Потому заинтересовался открытым уроком по DevOps, который предложила мне таргетная реклама. После урока желание изучать DevOps усилилось - привлекли перспективы и сложная, но интересная работа. Так я решил пойти дальше на практикум. И уже в середине курса устроился в аутсорсинговую компанию по администрированию инфраструктуры и дорос до Junior DevOps.

Сам практикум - бомба! Намного круче классического формата с лекциями. Когда есть лекции, ты привязан к группе, ко времени. Здесь же отстать невозможно: включайся, когда удобно, и получай на любом этапе быструю обратную связь по всем заданиям. Выходит, как формат индивидуального практикума, но только еще и с возможностью постоянно находиться в сообществе - общаться, развивать кругозор.

После практикума меня позвали в команду REBRAIN как одного из лучших выпускников. И это тоже очень крутой опыт. Сейчас я курирую практикум - отвечаю на вопросы ребят, вместе разбираем задачи, что помогает укреплять знания, и разбираться в ньюансах.

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

Айрат
29 лет
До практикума: Системный администратор
После практикума: Junior DevOps
Был: Системный администратор
Сейчас : Junior DevOps

Я начинал свою карьеру с Линукса, поработал сисадмином и решил уйти в девопс. Привлекло то, что сейчас это везде, все держится на юникс. Кода много и перспектив много!

На базовый курс я попал одним из первых - в самый первый поток. Увидел рекламу практикума и побывал на первом занятии. Сомнений идти, или не идти практически не было, я был в первом потоке у ребят и мне показалось, что это больше плюс, потому что получится что-то свежее и интересное. Сейчас, когда я прошел базу, понимаю, что не прогадал. Да, не все с первого раза получалось, приходилось трудиться, "волшебных таблеток" никто не раздает. Но в итоге все получается! Особенно с такой поддержкой! С Василием Озеровым всегда можно было лично пообщаться, задать любые вопросы. Чат в Телеграм - вообще бомба! Да и в целом, понравилась экспертность Василия - без воды, все четко и сразу к делу. А еще круто, что нам дали сервер, на котором можно тренироваться и выполнять задания!

Информации на курсе было очень много и по деплою, и по непрерывной подаче кода. У меня сложилась полная картина, как работают Devops-практики, и теперь еще больше хочется погружаться в профессию! Тем более, что работу девопсом я уже получил.

Андрей
37 лет

Девопс решил поизучать для себя - в работе точно пригодиться, и, возможно, в перспективе поможет выйти на новый уровень. И мое стремление всю эту тему поглубже узнать совпало с рекламой открытого урока, которую я случайно увидел. Я уже встречал подобные курсы, но мне понравился подход Василия Озерова - его подача материала.

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

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

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

Даниил
36 лет

Сейчас все чаще стали использоваться новые технологии типа Ansible, и изучать их разрозненно достаточно проблематично. Потому я искал практикум, на котором все это можно освоить на практике - через конкретные задачи. Сходил на открытый урок к Василию Озерову, ну и, конечно, сравнил практикум с другими курсами. У многих акцент делается на теорию, а её я и сам могу изучить. Потому решил остаться на практикуме у Василия.

Приятно, что здесь есть документация, а дальше ты должен действовать самостоятельно. Многое приходится делать самому - а это реальная практика, как в жизни.

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

Дмитрий
24 года
После практикума: Junior DevOps
Сейчас : Junior DevOps

Я работал в госорганизацию с информационными системами. Технологический стэк там довольно древний. Понял, что хочется развития и работу решил сменить. Отсюда появилась и потребность в практикуме. Устроился системным администратором в компанию поддержки медиапортала и параллельно пошел учиться.

Практикум привлек изначально удачным сочетанием цена/качество, да и упором на практику. Еще понравилось, что тут комплексно все темы разбираются - складывается целостная картина. И еще всегда радует очень быстрая обратная связь по задачам, которым мы изучаем

В целом практикумом доволен и порекомендовал бы его людям моего уровня - тем, кто занимается системным администрированием и хочет развиваться. Также порекомендовал бы курс разработчикам, стремящимся развиваться в fullstack-development и желающим понять сторону Operations.

Получите консультацию по практикуму
или пройдите ознакомительный тест

Пройти тест

У нас практикуются сотрудники из

и другие

В конце вы получаете:

Сертификат
По окончании практикума вам выдается электронный именной сертификат, подтверждающий, что вы успешно прошли все задания.
Hard Skills Card
После прохождения практикума Вы получите Hard Skills Card. Карта компетенций отражает все ваши показатели по прохождению заданий и освоению технологического стека. Hard Skills Card - ваша техническая карточка специалиста.

Клуб выпускников

После прохождения практикума и защиты финального проекта Вы попадаете в Клуб выпускников REBRAIN.

Что включает в себя наш клуб?

Телеграм-чат для вопросов
Доступ к интересным вакансиям, которых часто нет на HH и в Телеграм-каналах
Приглашения на профессиональные мероприятия со скидками либо бесплатно
Сообщество DevOps-инженеров, в котором просто приятно пообщаться и поделиться новостями
Бесплатное участие в ежегодной конференции от REBRAIN

Авторы программы

Дмитрий Дунаев
Ведущий DevOps-инженер международной компании JobLeads.
Более 5 лет опыта администрирования комплексных систем на базе ОС GNU/Linux.
Создал с нуля инфраструктуру для криптобиржи на Kubernetes.
Создал общий фреймворк для конфигурации серверов при помощи Ansible.
Постоянный ведущий открытых вебинаров Rebrain.
Автор заданий для практикумов DevOps, Docker, Kubernetes.
Команда инженеров
Fevlake
С 2012 года мы упорно работаем над IT-инфраструктурами наших заказчиков с применением DevOps практик.
Fevlake.com

Администратор Linux как профессия

2014 актуальных вакансий
Средняя зарплата 90 000 рублей
374 вакансии удаленной работы
Все задания, выполненные на практикуме, идут в ваше портфолио

Ваше резюме после прохождения практикума

John Doe
Системный администратор Linux
зарплата от 80 000 руб
Технологический стек
Навыки
Администрирование Linux серверов, систем на базе ОС GNU / Linux
Написание скриптов для автоматизации рутинных задач
Построение отказоустойчивых решений при помощи HAProxy, Keepalived
Построение инфраструктуры для микросервисной архитектуры с nginx, Apache, Docker MySQL, PostgreSQL, Redis, RabbitMQ
Настройка сетевой инфраструктуры (FreeIPA, DHCP, DNS) с нуля с автоматизированным разворачиванием серверов по сети при помощи PXE
Построение защищенных каналов для подключения к частной инфраструктуре при помощи различных VPN-решений (OpenVPN, tinc, WireGuard)
Построение системы мониторинга на базе Prometheus, Graylog и Grafana

Постподдержка и трудоустройство

Предоставим карту компетенций
Поможем составить актуальное резюме
Поможем подобрать интересный проект
Лучших пригласим в команду Fevlake и Rebrain

Стоимость

60 000 руб.

Общая стоимость

6 000 руб/мес

Рассрочка 10 месяцев
Купить в рассрочку Купить в рассрочку
Money Back 14 дней
Вернем средства
без объяснения причин.
LifeTime Лицензия
Доступ к практикуму
останется с вами навсегда.
Оплатить
Если вы хотите оплатить от юридического лица,мы составим договор и отправим вам на согласование

60 000 руб.

Общая стоимость
Money Back 14 дней
Вернем средства
без объяснения причин.
LifeTime Лицензия
Доступ к практикуму
останется с вами навсегда.
Money Back 14 дней
Вернем средства
без объяснения причин.
LifeTime Лицензия
Доступ к практикуму
останется с вами навсегда.

Часто задаваемые вопросы

В 2018 году мы провели 3 потока по системе 2-3 лекции в неделю + домашка. Со всех 3-х потоков мы собирали обратную связь, чтобы сделать практикум более эффективным и удобным для пользователей. И в каждом потоке мы видели, что ребятам недостаточно практики. Как дело доходит до ДЗ, сразу же возникает куча вопросов и непонятно, как выполнить задание. Тогда мы и пришли к тому, что двигаемся от практики, но подкрепляем это лекционным форматом. Поэтому ответ - Да, мы считаем наш формат практикума самым эффективным и подходящим для всех. Если вдруг формат вам не подойдет, в первые две недели вы можете полностью вернуть средства без объяснения причин.
При загрузке 4-6 часов в неделю вы пройдете все задания за 7 месяцев. Вы занимаетесь онлайн в удобное для вас время, без привязки к конкретной дате и получаете обратную связь кураторов по вашим заданиям в течение 24 часов. Смотреть теоретические видеоматериалы можно по очереди или все сразу.
Да, вы оплачиваете практикум полностью официально, с договором публичной оферты можно ознакомиться внизу страницы.
Мы предоставляем 2 рассрочки от банков-партнеров - Тинькофф и Альфа, у них идентичные условия: 0 рублей первоначальный взнос, ежемесячный платеж на 10 месяцев 3800 рублей (после окончания скидки – 6000 рублей), комиссий, штрафов и скрытых платежей нет. Все расходы на обслуживание мы берем на себя. Полностью внести остаток и закрыть рассрочку можно в любой момент, также без штрафов. Чтобы оформить рассрочку нажмите на кнопку «Рассрочка» в блоке «Стоимость».
Да, конечно, мы полностью белая организация. Для того, чтобы оплатить практикум от юридического лица, вам необходимо отправить ваши реквизиты с помощью формы «Плачу от организации» на сайте.
Мы понимаем, что мы все разные, и кому-то может не подойти наш формат, поэтому мы даем возможность в первые 14 дней практикума сделать возврат средств без объяснения причин. Причем вернуть можно и при единовременной оплате и при оформлении рассрочки от банка.
Да, вы проходите задания на нашей инфраструктуре. Вам не потребуется ничего докупать дополнительно.

Связаться с нами

Личный кабинет Linux by REBRAIN
Практикум
Мы разработали инновационную модель практикума для IT-специалистов. Если вы выбираете курс «Администратор Linux», уверены, наш формат практикума будет вам полезен. Его особенность в том, что через полное погружение в практику и решение реальных кейсов мы помогаем ребятам из любой точки мира стать востребованными специалистами.
Международное агентство Devops-практик. Занимаемся проектированием и обслуживанием IT-инфраструктур с 2012 года. Наши клиенты: IMPROVE MEDIA, КупиКупон, CRYPTO EXCHANGE, NEWS360