- Уроки по Linux
- Лекции Технотрека. Администрирование Linux
- Лекция 1. Основы
- Лекция 2. Пользовательское окружение Linux
- Лекция 3. Linux и сеть (основы)
- Лекция 4. Управление пользовательским окружением
- Лекция 5. Веб-сервисы
- Лекция 6. Хранение данных
- Лекция 7. Сервисы инфраструктуры
- Лекция 8. Резервное копирование
- Лекция 9. Резервное копирование (часть 2)
- Лекция 10. Инфраструктура электронной почты
- Лекция 11. Распределение ресурсов системы
- IgorKa — Информационный ресурс
- КУРСЫ LINUX
- Комментариев: 46
- IgorKa — Информационный ресурс » Учу английский:
- Вячеслав:
- Гріша:
- Конспект лекций по дисциплине ОС на тему: Операционная система Linux»
Уроки по Linux
Linux — это семейство Unix-подобных операционных систем (сокр. «ОС»), использующих ядро Linux, которое разработал финно-американский программист Линус Торвальдс. ОС, использующие ядро Linux, называются дистрибутивами Linux, и они являются такими же операционными системами как Microsoft Windows и Apple macOS, но с одной очень важной особенностью, а именно: их исходные коды являются открытыми, так как они распространяются под лицензией GNU GPL, которая подразумевает создание свободного и открытого программного обеспечения (open source software).
Linux существует вокруг нас с середины 1990-х годов. Вы можете встретить его повсюду: в телефонах, ноутбуках, наручных часах, суперкомпьютерах, автомобилях и даже в холодильниках. Он обрел известность как среди разработчиков, так и среди обычных пользователей компьютеров.
Операционные системы на базе ядра Linux пользуются популярностью в разработчиков, так как поддерживают почти все наиболее часто используемые языки программирования: C/C++, Java, Python, Ruby и др. Кроме того, они облегчают работу с широким спектром полезных приложений для разработки ПО.
Цель данных уроков — помочь новичкам разобраться в теме Linux.
Примечание: Уроки регулярно добавляются и обновляются. В процессе построения логической структуры и последовательности тем для изучения 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.
Лекция 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-специалистов в проектах Технопарк, Техносфера и Технотрек по-прежнему публикуются на канале Технострим.
Другие курсы Технотрека на Хабре:
Информацию обо всех наших образовательных проектах вы можете найти в недавней статье.
Источник
IgorKa — Информационный ресурс
Немного обо всем и все о немногом, или практический опыт системного администратора.
КУРСЫ LINUX
Решил попробовать публиковать сюда информацию, которую получал на курсах посвященных изучению Linux, которые я проходил в Харькове. Так как времени много нет, то буду писать здесь так как услышал на занятиях и записал в конспекте. То есть это будет, если можно так выразится — мой электронный конспект лекций. Текст из конспекта буду писать обычным шрифтом, а возможные дополнения от своего имени будут писать курсивом. По мере возможности буду корректировать ошибки и неточности. Ваша помощь приветствуется! Поэтому большая просьба писать в комментариях о найденных ошибках. Сейчас цель — перевести конспект в электронный вид, чтобы поделится услышанной информацией.
Комментариев: 46
IgorKa — Информационный ресурс » Учу английский:
Вячеслав:
Огромное спасибо за выложенный материал по LINUX, весма не плохое пособие у Вас получилось.
Дякую за лекції. Давно шукав щось схоже. Зараз займаюся вивченням цих лекцій. Все викладено в дуже доступній формі.
Igorka Reply:
марта 9, 2010 at 15:37
Користуйтесь на здоров’я! Це ще не весь конспект. Так що заходьте, вивчайте, коментуйте. За коментарі до окремих лекцій буду дуже вдячний.
Гріша:
Дякую! Написано просто і доступно.
тоже хочу на курсы живьем ходить.
какие посоветуешь?
уровь=начинающий +средний слегка
спс
Igorka Reply:
апреля 10, 2010 at 11:28
Да тут трудно, что-то советовать. Смотря для чего нужны курсы. Для работы или для себя. Мне больше нужны были для себя. Если нужны для работы, то возможно стоит поискать курсы в каких-то серьезных учебных заведениях, где можно будет получить и знания и сертификат. Также если нужны для работы, то это должны быть курсы с упором на сетевые возможности Linux. Но здесь уже нужно иметь определенную базу знаний как по самой ОС так и по сетевым технологиям.
А по поводу уровня, то на любых курсах обязательно должны быть требования к слушателям курсов. Иногда даже проводят предварительное тестирование, чтобы определить уровень и сказать подходит уровень знаний для этих курсов или нет. Если нужны именно знания, было бы неплохо пообщаться с лектором, чтобы понять, что он за человек и как будут проходить занятия. Мне допустим с преподавателем очень повезло, так как этот человек учил нас не за деньги, а, как говорят, за идею. Вместо положенных 64 часов мы с ним провели на лекциях часов 80, так как ему было важно не посидеть с нами “от звонка до звонка”, а действительно чему, то научить и если нужно было вместо положенных полутора часов занятие могло быть и два часа и больше (как правило так и было). И за это ему еще раз огромное спасибо.
ок
понятно
мне больше для себя.
Источник
Конспект лекций по дисциплине ОС на тему: Операционная система Linux»
Операционная система Linux
На сегодняшний день наиболее известной операционной системой для компьютеров является не только ОС Microsoft Windows, но и ОС семейства UNIX.
Операционная система UNIX была разработана группой сотрудников Bell Labs под руководством Дениса Ричи, Кена Томпсона и Брайана Кернигана в 1969 году. Говоря об операционной системе UNIX, чаще всего имеют в виду не конкретную ОС, а скорее целое семейство UNIX-подобных операционных систем. Cамо же слово UNIX (заглавными буквами) стало регистрироваться торговой маркой корпорации AT&T.
В конце 70-х годов прошлого века сотрудники Калифорнийского университета в Беркли внесли ряд усовершенствований в исходные коды UNIX, включая работу с протоколами семейства TCP/IP. Их разработка стала известна под именем BSD («Berkley Systems Distribution»). Она распространялась под лицензией, которая позволяла дорабатывать и усовершенствовать продукт, и передавать результат третьим лицам (с исходными кодами или без них) при условии, что буде указано, какая часть кода разработана в Беркли. Операционные системы типа UNIX, в том числе и BSD, изначально разрабатывались для работы на больших многопользовательских компьютерах.
В начале 90-х годов студент Хельсинского университета Линус Торвальдс приступил к разработке UNIX-подобной операционной системы для IBM-совместных персональных компьютеров.
Файлы первого варианта Lunix (версия 0.01) были опубликованы в Интернете 17 сентября 1991 года.
Как было описано выше, в любой операционной системе можно выделить 4 основных части: ядро, файловую структуру, интерпретатор команд пользователя и утилиты. Ядро ОС — это основная, определяющая часть ОС, которая управляет аппаратными средствами и выполнением программ. Файловая структура — это система хранения файлов на запоминающих устройствах. Интерпретатор команд (оболочка) — это программа, организующая взаимодействие пользователя с компьютером. Утилиты — это отдельные программы, которые выполняют служебные функции.
Если быть точным, то слово «Linux» обозначает только ядро. Поэтому, когда идет речь об операционной системе, правильнее было бы говорить «операционная система, основанная на ядре Linux». Ядро ОС Linux разрабатывается под общим руководством Линуса Торвальдса и распространятся свободно на основе лицензии GPL (General Public License). Суть лицензии GPL состоит в том, что программное обеспечение, распространяемой под этой лицензией, можно как угодно дорабатывать, модифицировать, передавать другим лицам. Одним следствием свободного распространения программного обеспечения для Linux является то, что большое число разных фирм и компаний, а также просто независимых групп разработчиков стали выпускать называемые дистрибутивы Linux.
Дистрибутив — это набор программного обеспечения, включающий все основные 4 составные части ОС (ядро, файловую систему, оболочку и совокупность утилит), а также некоторую совокупность прикладных программ.
В силу того, что исходные коды Linux распространяются свободно и общедоступны, к развитию системы с самого начала подключилось большое число независимых разработчиков. Благодаря этому на сегодняшний день Linux — самая современная, устойчивая и быстроразвивающая система, почти мгновенно вбирающая в себя самые последние технологические новшества. Она обладает всеми возможностями, которые присущи современным полнофункциональным операционным системам типа UNIX. Приведем краткий список этих возможностей.
Реальная многозадачность. Все процессы независимы; ни один из них не должен мешать выполнению других задач. Для этого ядро осуществляет режим разделения времени центрального процессора, поочередно выделяя каждому процессу интервалы времени для выполнения. Это существенно отличается от режима «вытесняющей многозадачности», реализованной в Windows, когда процесс должен сам «уступить» процессор другим процессам (и может сильно задержать их выполнение).
Многопользовательский доступ. Linux — не только многозадачная ОС, она поддерживает возможность одновременной работы многих пользователей. При этом Linux может предоставлять все системные ресурсы пользователям, работающих с хостом через различные удаленные терминалы.
Страничная организация памяти. Системная память Linux организована в виде страниц объемом 4 Кбайт. Если оперативная память полностью исчерпана, ОС будет искать давно не использующие страницы памяти для их перемещения из памяти на жесткий диск. Если какие-либо из этих страниц становятся нужны, Linux восстанавливает их с диска.
Загрузка выполняемых модулей «по требованию». Ядро Linux поддерживает выделение страниц памяти по требованию, при котором только необходимая часть кода исполняемой программы находится в оперативной памяти, а не используемые в данный момент части остаются на диске.
Совместное использование исполняемых программ. Если необходимо запустить одновременно несколько копий какого-либо приложения (либо один пользователь запускает несколько идентичных задач, либо разные пользователи запускают одну и ту же задачу), то в память загружается только одна копия исполняемого кода этого приложения, которая используется всеми одновременно исполняющимися идентичными задачами.
Динамическое кэширование диска. Кэширование диска — это использование части оперативной памяти для хранения часто используемых данных с диска, что существенно ускоряет доступ к часто используемым программам и задачам. Linux использует более динамичную систему кэширования: память, зарезервированная под кэш, увеличивается, когда память не используется, и уменьшается, если системе или процессу пользователя требуется больше памяти.
Сетевые возможности. Linux можно интегрировать в любую локальную сеть.
Работа на разных аппаратных платформах. Хотя ОС Linux первоначально была разработана для ПК на базе Intel 386/486, сейчас она может работать на всех версиях микропроцессоров от Intel, начиная с 386 и кончая многопроцессорными системами на Pentium III (с Pentium IV возникли определенные трудности, но, судя по сообщениям в Интернете, они были вызваны ошибками в реализации процессора). Так же успешно Linux работает на различных клонах Intel от других производителей; в Интернете встречаются сообщения о том, что на процессорах Athlon и Duron от AMD Linux работает даже лучше, чем на Intel. Кроме того, разработаны версии для других типов процессоров.
Источник