Администрирование linux для чайников

Лекции Технотрека. Администрирование Linux

Представляем вашему вниманию очередную порцию лекций Технотрека. В рамках курса будут рассмотрены основы системного администрирования интернет-сервисов, обеспечения их отказоустойчивости, производительности и безопасности, а также особенности устройства ОС Linux, наиболее широко применяемой в подобных проектах. В качестве примера будут использоваться дистрибутивы семейства RHEL 7 (CentOS 7), веб-сервер nginx, СУБД MySQL, системы резервного копирования bacula, системы мониторинга Zabbix, системы виртуализации oVirt, балансировщика нагрузки на базе ipvs+keepalived. Курс ведёт Сергей Клочков, системный администратор в компании Variti.

Лекция 1. Основы

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

Лекция 2. Пользовательское окружение Linux

Сначала подробно рассказывается об этапах загрузки системы и ОС, обсуждается ядро Linux. Объясняется, что собой представляет «процесс», как он использует оперативную память. Вы узнаете, что такое дескрипторы и для чего они нужны, как процессор потребляет ресурсы. Затем рассматриваются системные вызовы, сигналы, лимиты процессов, переменные окружения. Обсуждается вопрос размножения процессов и подробно анализируется работа процесса. В завершение вы узнаете о подсистеме perf и логах.

Лекция 3. Linux и сеть (основы)

Вы узнаете, что такое сетевой стек и модель OSI. Вспомните, что такое Ethernet и как с ним работает Linux. Дальше будут освежены ваши знания об использовании IPv4, особенностях IPv4-пакетов и сетей. Затем рассматривается ICMP, мультикаст в IPv4. Далее переходим к IPv6, обсуждаются заголовки IPv6-пакетов, UDP, TCP-соединения. Затрагивается тема TCP congestion control. Потом рассказывается о NAT, протоколах уровня приложения, DNS, NTP, HTTP и URL. Разбираются коды HTTP-ответа (успешные ответы и ошибки).

Лекция 4. Управление пользовательским окружением

Вы узнаете о том, что такое менеджер пакетов RPM и как его использовать. Далее рассматривается классический init, системный менеджер systemd. Разбирается пример init-файла. Обсуждаются основные типы Unit’ов, рассказывается про системный логгер и ротацию логов. В заключение вы узнаете об основах конфигурации сетевых интерфейсов.

Лекция 5. Веб-сервисы

Сначала рассматривается типовая архитектура веб-сервиса. Рассказывается о том, что такое фронтенд, что такое сервер приложений. Разбирается вопрос хранения данных веб-приложениями. Подробно разбирается работа и использование протокола HTTP. Обсуждаются виды HTTP-запросов. Затрагивается тема создания шифрованных туннелей с помощью SSL. Затем рассматриваются примеры установки СУБД MySQL с созданием БД и пользователя. Разбирается работа с PHP-FPM, конфигурирование nginx, установка и настройка wiki-движка.

Лекция 6. Хранение данных

Перечисляются основные проблемы хранения данных, рассматриваются достоинства и недостатки разных устройств хранения, их интерфейсы. Затем вы узнаете, как определять состояние жёсткого диска, какова его производительность, что такое RAID, какие бывают RAID-массивы и как их создавать. Сравниваются разные типы RAID, а также программные и аппаратные массивы. Обсуждаются LVM-снепшоты, рассматриваются разные файловые системы. Затрагивается вопрос удалённого хранения данных и использование протокола ISCSI.

Читайте также:  Активация windows 2003 реестр

Лекция 7. Сервисы инфраструктуры

Рассматривается DNS-сервер bind, NTP-сервер. Обсуждается централизованная аутентификация на основе LDAP. Разбирается DHCP, задача установки ОС по сети с помощью kickstart, а в завершение рассматривается система управления конфигурацией Salt.

Лекция 8. Резервное копирование

Начало лекции посвящено продолжению рассказа о системе управления конфигурацией Salt. Рассказывается, как её установить, как осуществляется управление конфигурацией Linux, разбирается её пример. Вы узнаете, что такое «зёрна» и зачем они нужны. Далее переходим к теме резервного копирования: какие данные нужно копировать, каковы основные трудности, какие бывают виды резервных копий. Обсуждается задача резервного копирования ОС. Рассказывается об использовании системы резервного копирования bacula.

Лекция 9. Резервное копирование (часть 2)

В начале лекции рассказывается о резервном копировании БД. Обсуждаются различные стратегии резервного копирования — mysqldump, mylvmbackup. Вы узнаете, для чего нужен мониторинг и как его выполнять, какие есть средства мониторинга. Рассматриваются разные виды проверок. Обсуждаются шаблоны проверок. В заключение рассказывается об элементах данных, о выполнении веб-мониторинга.

Лекция 10. Инфраструктура электронной почты

Вы узнаете, что такое электронная почта, познакомитесь с основными понятиями. Затем рассматривается процесс доставки и выдачи почты. Обсуждается использование протоколов SMTP, POP3 и IMAP. Разбирается применение SMTP-сервера postfix, IMAP-сервера Dovecot. Рассказывается о том, как ходят письма по сети и что такое MX-записи. Наконец, обсуждается защита от спама, разбираются SPF-записи, DKIM и Spamassassin.

Лекция 11. Распределение ресурсов системы

Лекция посвящена продвинутым вопросам администрирования Linux. Сначала вы узнаете, как управлять параметрами ядра ОС. Затем рассматриваются модули ядра, как ими управлять. Обсуждается выделение ресурсов приложения. Далее рассказывается о планировщике задач, об алгоритмах шедулинга, о приоритетах процессов. Разбирается шедулер CFS, политики шедулинга. Вы узнаете, что такое NUMA и как с ней работать. Познакомитесь с планировщиками ввода/вывода. Далее рассказывается о контрольных группах, об управляемых ресурсах, об управлении контрольными группами и лимитами ввода/вывода.

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

Другие курсы Технотрека на Хабре:

Информацию обо всех наших образовательных проектах вы можете найти в недавней статье.

Источник

Подборка материала для начинающего linux-сисадмина

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

Кто заинтересовался — прошу под кат.

Linux/Unix:

Книги:
Ссылки:


habrahabr.ru — разнообразные статьи и новости на IT и около-IT тематику.
www.opennet.ru — огромный сборник манов, вики, статей, советов, новостей и прочего на тему Linux, Unix.
www.linux.org.ru — русская информация об ОС Linux.
xgu.ru/wiki — точка обмена знаниями по UNIX/Linux-системам, системам с открытым исходных кодом, сетям и другим родственным вещам.
www.ibm.com/developerworks/ru/linux — крутые статьи от IBM.
syslog.tv — говорят, что бывают полезные статьи, но сам лично не читал.
www.cyberciti.biz — различные how-to и советы.
events.yandex.ru/events/kit — Курсы Информационных технология от Яндекса (видео), очень советую, крутые доклады.
course.secsem.ru/lections — Лекции по курсу «Практические аспекты сетевой безопасности» (видео, аудио, текст).
www.howtoforge.com — большая подборка How-to.
workaround.org — несколько полезных статей и руководств по Linux.
highload.com.ua — масштабирование и производительность, высокие нагрузки, PHP, MySQL.
find.unixpin.com/ru — построитель команды find.
www.grymoire.com/Unix — отличные учебники по sed, awk и полезные статьи.
kernelnewbies.org/KernelHacking — как же работает ядро?
forum.ru-board.com/forum.cgi?forum=8 — раздел форума для сисадминов.
sysadminblog.ru — блоги сисадминов про cisco, ip телефонию, linux, openldap и другое.
wiki.dieg.info — довольно много полезных советов по Linux.
www.sysadminwiki.ru/wiki — неплохая вики.
olemskoi.ru — блог системного администратора Linux.
debian.pro — блок для пользователя и администратора Debian.
interface31.ru/tech_it/index.html — технический блог со статьями по администрированию.
antizlo.blogspot.ru — опять таки неплохой блог.
howitmake.ru — очередной блог.
vds-admin.ru — linux-мануалы, how-to.
wiki.enchtex.info — ряд полезных статей и how-to по администрированию ubuntu и gentoo.
rfc2.ru — русские переводы RFC.
handynotes.ru — есть довольно хорошие статьи.
xtips.ru — шпаргалка для системных администраторов.
vim-adventures.com — игра-туториал для пользователей Vim.
nixsrv.com — Learn Linux The Hard Way — довольно интересные задачки для новичка.
www.linuxfromscratch.org/lfs — Linux From Scratch — соберем свой собственный линукс дистрибутив с блэкджеком и девушками.

Читайте также:  Не загружается том mac os
Книги:
Ссылки:

ss64.com — отличный справочник консольных команд bash, cmd, powershel и т.д.
cb.vu/unixtoolbox.xhtml — описание shell-команд и примеры.

Книги:
Ссылки:


www.cpan.org — окало 120 тысяч модулей к Perl.

Python:

Книги:
Ссылки:


docs.python.org/2 — официальная документация по Python 2.7.3.
docs.python.org/3 — официальная документация по Python 3.3.0.

Книги:


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

Книги:


Язык программирования С++ — опять таки одна из лучших книг по С++, но порог вхождения опять таки велик.
Как программировать на С++ — аналогично книге по Си, очень доступно.

Источник

Linux для начинающих или чему может научить девушка?

Приветствую, коллеги. Долгое время проект NetSkills был посвящен исключительно сетевым технологиям — Курс молодого бойца, Основы GNS, UNetLab. Однако от подписчиков все чаще звучал вопрос: “А что еще должен знать сетевой инженер или системный администратор?”. Тут можно привести большой список технологий/направлений и в итоге сделать вывод, что знать только сети — недостаточно! Совершенно очевидно, что для успешной карьеры нужно намного больше. Поэтому было принято решение расширить проект и для начала выпустить курс “Linux для начинающих”.

Немаловажная деталь, преподаватель — девушка, которая совсем недавно примкнула к проекту NetSkills. Чему же может научить девушка? Если вы заинтересовались, добро пожаловать под кат…

Цель курса – изучить основы администрирования операционных систем Linux. Материал по большей части практический и содержит минимальное количество теории. Курс подойдет как для начинающих системных администраторов, которые занимаются настройкой серверов компании, так и для сетевых инженеров, т.к. бОльшая часть сетевого оборудования работает под управлением Linux (особенно если учитывать тенденцию импортозамещения), поэтому навыки работы с этой системой им однозначно не помешают. Да и вообще, каждый уважающий себя ИТ-шник просто обязан обладать базовыми навыками работы с Linux системами. Ценность такого сотрудника сразу вырастает.

Для тех, кому лень читать выкладываю первый видео урок:

Весь курс будет разделен на две части: базовый и расширенный курс. В базовом курсе мы рассмотрим основные понятия, научимся производить первоначальную настройку сервера, а также настроим шлюз доступа в Интернет. В расширенном курсе мы рассмотрим, как развернуть серверную инфраструктуру компании на основе Linux.

В план базового курса вошли следующие темы:
1.Цели изучения операционной системы Linux, ее основные преимущества.
2.Создание виртуальных машин.
3.Установка операционной системы CentOS.
4.Структура файловой системы Linux.
5.Основные команды, необходимые для работы в консоли Linux (cd, ls, man, grep, find, cp, mv, rm и т.д.).
6.Настройка сети в CentOS. Утилиты Putty, WinSCP.
7.Основы безопасности. Заведение новых пользователей в системе.
8.Установка пакетов. Пакетный менеджер. Репозитории.
9.Файловый менеджер mc, текстовый редактор nano и сетевые утилиты (ifconfig, nslookup, arp, telnet).
10.Настройка шлюза доступа в Интернет. Iptables. NAT. DHCP.

Читайте также:  Linux mint uefi secure boot

Итак, зачем изучать линукс и каковы его преимущества? Полагаю, стоит начать с определения.
GNU/Linux – это семейство unix-подобных операционных систем, основанных на ядре Linux. ОС из этого семейства распространяются обычно бесплатно в виде так называемых дистрибутивов, содержащих помимо самой ОС еще и набор прикладного ПО (т.е. по сути сборка). Дистрибутивов Linux на сегодняшний день существует огромное количество, но почти все они являются потомками трех основных дистрибутивов: Debian, Slackware и Red Hat. Подробнее о GNU/Linux и дистрибутивах можно прочитать здесь и здесь.

Возможно, у кого-то возник вопрос: почему GNU/Linux, а не просто Linux. Все дело в том, что Linux – это всего лишь ядро, в то время как GNU/Linux – это операционная система. Однако, Linux’ом можно называть как ядро так и ОС – и так и так будет правильно.

Условно говоря, ОС состоит из двух частей: kernel space и user space. Kernel space это ядро, которое непосредственно взаимодействует с устройствами в системе, обслуживает их и производит настройку. В нашем случае – это ядро Linux, разработка которого началась в 1991 году Линусом Торвальдсом, являвшимся на тот момент студентом. Оно поддерживает многозадачность, динамические библиотеки, виртуальную память, отложенную загрузку, большинство сетевых протоколов и производительную систему управления памятью и распространяется по лицензии GNU GPL, т.е. свободно. Подробнее про само ядро и его «увлекательную» систему нумерации версий можно узнать здесь. Пользователи же работают в пространстве user space (пространстве приложений), а это в свою очередь файлы. Вообще говоря, все в Linux’е представлено файлами — настройки, сами приложения, даже процессы. Это очень удобно при настройке и когда пытаешься выяснить почему же все поломалось.

Дистрибутивы Linux распространяются в основном по лицензии GNU General Public License – лицензии на свободное программное обеспечение. Цель GNU GPL — предоставить пользователю права копировать, модифицировать и распространять (в том числе на коммерческой основе) программы, а также гарантировать, что и пользователи всех производных программ получат вышеперечисленные права.

Помимо выше указанных неоспоримых плюсов данной ОС, она обладает еще рядом особенностей:
1.Безопасность
2.Производительность
3.Надежность
4.Масштабируемость
5.Аппаратная совместимость
6.Не требуется импортозамещение
7.Зарплата Linux администраторов выше, чем у обычных администраторов

Благодаря выше перечисленным особенностям, Linux получил широкое распространение и используется во многих сферах: критические сервисы (скоростные поезда в Японии, CERN, системы контроля воздушного трафика), социальные сети, поисковые сервисы, а так же в мобильных телефонах, планшетах, ПК, банкоматах и автомобильной электронике.

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

Мы можем:
1.Настроить программный маршрутизатор/ шлюз доступа в Интернет с функциями межсетевого экрана и DHCP сервера
2.Ограничить доступ пользователей к сети Интернет с помощью proxy сервера
3.Организовать почтовый сервер для корпоративной почты
4.Создать веб сервер для корпоративного сайта и внутренних веб ресурсов
6.Настроить первичный и вторичный DNS сервера
7.Развернуть файловый сервер
8.Собирать резервные копии с остальных серверов
9.Развернуть сервер логирования для сбора событий с других серверов

Такую схему мы и будем разворачивать в рамках данного курса.

Полагаю, на этом первый урок можно закончить.

Источник

Оцените статью