Полные руководства по linux системам

Обложка для подборки книг по Linux

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


Обложка книги Just for Fun: The Story of an Accidental Revolutionary

Just for Fun: The Story of an Accidental Revolutionary

Книга, написанная самим создателем Linux Линусом Торвальдсом. В ней он рассказывает о своей жизни и о том, с чего началась разработка Linux. Также в ней Линус поделился своим видением по разработке открытого программного обеспечения и Linux в частности. Если хочется посмотреть на Linux со стороны «отца» системы, а также больше узнать о его личности, то эта книга обязательна к прочтению.


Обложка книги Командная строка Linux. Полное руководство

Командная строка Linux. Полное руководство

Командная строка в Linux — основной инструмент для работы с этой ОС. Поэтому, чтобы полноценно настроить систему под свои нужды и ускорить рабочий процесс, нужно обучиться работе с этим инструментом и основным командам. Данная книга познакомит читателя с возможностями командной строки в Linux. В частности, здесь рассказывается о том, как:

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

Обложка книги Linux глазами хакера

Linux глазами хакера

Несмотря на название книги, она подойдёт не только специалистам в информационной безопасности, но и системным администраторам. В данной книге по полочкам разложены многие аспекты настройки ОС Linux с целью повышения безопасности и производительности системы. Автор Михаил Флёнов рассмотрел потенциальные уязвимости и атаки злоумышленников, а также методы борьбы с ними. Книга хороша также тем, что с её помощью можно изучить «внутреннюю кухню» Linux.


Обложка книги Ten Steps to Linux Survival

Ten Steps to Linux Survival

Книга подойдёт системным администраторам, которые обеспечивают стабильную работу серверов на Windows, но сталкиваются с настройкой Linux-окружения. Она поможет быстро освоиться с работой на Linux. В ней вы найдёте информацию по настройке сетей, работе с файловой системой, диагностике работы серверов, а также управлению процессами.


Обложка книги Linux. Карманный справочник

Linux. Карманный справочник

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


Обложка книги Linux Bible

Linux Bible

Девятое издание этой книги является достаточно полным руководством по работе с Linux, в том числе с Red Hat Enterprise Linux 7 (RHEL 7), Fedora 21 и Ubuntu 14.04 LTS. Отличительной особенностью книги стало разделение материала по уровням. Сначала даётся базовая информация о Linux, затем необходимые знания для рядового пользователя, системного администратора, потом рассматриваются серверное администрирование и безопасность. За счёт такой многоуровневости книга подойдёт всем желающим уверенно работать с этой ОС.


Обложка книги Официальная документация Ubuntu

Официальная документация Ubuntu

Официальная документация популярного Linux-дистрибутива Ubuntu постоянно поддерживается, поэтому в ней можно найти подробную информацию о наиболее последних версиях системы. Оно содержит информацию о том, как устанавливать и настраивать различные приложения в пользовательской и серверной версиях Ubuntu в соответствии с заданными требованиями. Документация по Ubuntu Desktop доступна для чтения только онлайн, по Ubuntu Server — онлайн и в PDF-формате.


Обложка книги Red Hat Enterprise Linux 6 Essentials

Red Hat Enterprise Linux 6 Essentials

В корпоративной среде популярностью пользуется дистрибутив Red Hat Enterprise Linux, считающийся одним из самых стабильных. Данная книга призвана рассказать об особенностях системы как новичкам, так и опытным пользователям. Новичку будет интересно почитать о настройке рабочей среды, электронной почты и веб-сервера. Более опытные пользователи RHEL найдут в книге такие темы, как удалённый доступ, управление логическими томами (LVM), разделение дисков, виртуализация KVM, SSH и совместное использование файлов с использованием Samba и NFS. В книге рассматривается немного устаревший RHEL 6, но в ней описаны концептуальные вещи, не теряющие актуальность со временем.


Обложка книги Современные операционные системы

Современные операционные системы

Эту книгу нельзя было обойти стороной, хоть и Linux рассматривается только в одном разделе. Это классический труд Эндрю Таненбаума, в котором рассказывается обо всех аспектах современных операционных систем. В разделе про Linux можно найти информацию об истории возникновения UNIX и Linux, архитектуре системы, её процессах, управлении памятью, вводе-выводе, файловой системе и безопасности. Кроме того, а этой главе рассматривается и Android как отдельная система на базе Linux.


Обложка книги Внутреннее устройство Linux

Внутреннее устройство Linux

Книга является хорошим руководством по работе с ядром Linux. В ней рассказывается о различных нюансах при эксплуатации этой ОС, системном администрировании Linux, а также о низкоуровневых механизмах системы. Также в книге рассматривается программирование shell-скриптов, программирование на языке Си, безопасность системы, виртуализация, компьютерные сети и многое другое.


Обложка книги How Linux Works: What Every Superuser Should Know

How Linux Works: What Every Superuser Should Know

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


Обложка книги UNIX and Linux System Administration Handbook

UNIX and Linux System Administration Handbook

Книга является полным руководством по установке, настройке и обслуживанию любых UNIX- или Linux-систем, в том числе обеспечивающих облачную инфраструктуру. Руководство охватывает такие темы, как управление хранилищем, проектирование и администрирование сети, безопасность, веб-хостинг, автоматизация, управление конфигурацией, анализ производительности, виртуализация и DNS.


Обложка книги Встраиваемые системы на основе Linux

Встраиваемые системы на основе Linux

В книге описано поэтапное конструирование собственной системы на базе Linux только с необходимыми open source программами. В частности, автор Крис Симмондс рассматривает:

  • необходимый для этого набор инструментов;
  • ядро Linux и его загрузчики;
  • конфигурирование файловой системы;
  • работу с системами сборки Buildroot и Yocto Project;
  • управление памятью, а также процессы и потоки;
  • отладку и оптимизацию полученной системы;
  • исполнение приложений реального времени.

Обложка книги Linux From Scratch

Linux From Scratch

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

Сама онлайн-книга является дополнением к одноимённому проекту. Его цель — создание гибкой и производительной системы, заточенной под нужды конкретного пользователя. Однако созданием собственной ОС можно заняться ещё и для того, чтобы лучше изучить структуру Linux изнутри.


Обложка книги Настольная книга администратора Debian

Настольная книга администратора Debian

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


Какие книги помогли вам освоиться в Linux? Пишите своё мнение в комментариях. Лучшие книги из комментариев также войдут в эту подборку.

Время на прочтение
14 мин

Количество просмотров 185K

Привет, Хабр!

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

Главная задача данной статьи – указать начинающим специалистам направление развития, дать ключевые понятия для дальнейшего изучения и показать несколько простых практических приемов. По этой причине (а еще, безусловно, вследствие недостаточной квалификации автора) теоретический материал достаточно сильно упрощен.

Что такое Linux?

История и определение

В 1969 году в дочернем подразделении компании AT&T – Bell Laboratories – была выпущена операционная система Unix, которая стала основной для большого количества операционных систем того времени. UNIX была проприетарной системой, лицензия на нее стоила порядка 40 000 долларов. Таким образом, позволить себе ее покупку могли только крупные компании. Это послужило толчком для старта в 1983 году проекта GNU – GNU is Not Unix. Его основоположник, Ричард Столлман, объявил целью проекта создание свободно распространяемой операционной системы. Чуть позже Столлманом был написан знаменитый манифест GNU, который стал основой для лицензии GPL (GNU General Public License), актуальной и по сей день. К началу 1990-х годов в рамках проекта GNU было написано большинство компонентов ОС – оболочка bash, компиляторы, отладчик, текстовый редактор и др. Не хватало лишь ядра операционной системы.

В 1991 году Линус Торвальдс, будучи студентом финского университета, увлекся идеей написания ядра операционной системы для своего персонального компьютера с процессором Intel. Вдохновлением и прототипом для будущего Linux стала совместимая с Unix операционная система для персональных компьютеров Minix. Уже в августе 1991 года было написано ядро операционной системы, в нее были портированы оболочка bash и компилятор gсс из проекта GNU. По признанию самого Линуса, изначально это было не более, чем хобби, однако проект оказался весьма востребованным, к нему начали присоединяться разработчики со всего мира. Дополненная массой программ, разработанных в рамках проекта GNU, ОС Linux стала пригодна для практического использования. При этом ядро системы распространялось под лицензией GNU General Public License, что гарантировало свободное распространение кода ядра системы. 

Читать подробнее: История Linux. Вкратце о главном

Итак, сегодня Linux (или GNU/Linux) – семейство Unix-подобных операционных систем на базе ядра Linux, включающих тот или иной набор утилит и программ проекта GNU. Linux-системы распространяются в виде различных дистрибутивов, имеющих свой набор системных и прикладных компонентов (как свободных, так и проприетарных).

Серверные дистрибутивы

Дистрибутив Linux — это операционная система, созданная на основе ядра Linux, которая включает в себя набор библиотек и утилит (пакетов), разработанных в рамках проекта GNU, а также систему управления пакетами (менеджер пакетов). В настоящее время существует более 500 различных дистрибутивов, разрабатываемых как при коммерческой поддержке (Red Hat / Fedora, SLED / OpenSUSE, Ubuntu и др.), так и исключительно усилиями добровольцев (Debian, Slackware, Gentoo, ArchLinux и др.). 

Дистрибутивы делятся на несколько типов в зависимости от базового дистрибутива и системы управления пакетами. Вот несколько примеров наиболее популярных серверных дистрибутивов двух типов:

  • RPM-based (используют формат пакетов .rpm)
    RedHat Enterprise Linux, CentOS, Fedora

  • DEB-based (используют формат пакетов .deb)
    Debian, Ubuntu, Astra Linux

Стоит отметить, что существует великое множество различных дистрибутивов на любой вкус и цвет. Их невозможно даже сосчитать, так как практически каждый представитель сообщества может собрать свой собственный дистрибутив на основе ядра Linux.

Работа с Linux

Загрузка

Алгоритм включения сервера и загрузки Linux в большинстве случаев выглядит следующим образом:

  • BIOS / UEFI → MBR / GPT
    Выполняется код, заложенный производителем аппаратного обеспечения. Этот код проводит тестирование системы POST (Power On Self Test) и передает управление загрузчику в MBR (Master Boot Record) / GPT (GUID Partition Table)

  • MBR / GPT → GRUB2 (существуют и другие загрузчики)
    Загрузчик из MBR / GPT очень простой – он способен только найти на диске и запустить следующий загрузчик. Как правило это GRUB2, но существуют и другие загрузчики, например LILO (в настоящее время практически не используется)

  • GRUB2 → Kernel
    GRUB2 расположен на разделе жесткого диска в каталоге /boot. GRUB2 загружает ядро Linux (vmlinuz)

  • Kernel → Init
    Ядро запускает процесс инициализации операционной системы. Как правило это SystemD, но существуют и другие системы инициализации, например SystemV (в настоящее время практически не используется). Процесс инициализации запускает все остальные процессы в системе

Читать подробнее: Алгоритм загрузки Linux (BIOS / UEFI)

Подключение

Командная оболочка

Подключиться к Linux для управления можно в интерфейсе командной строки (command-line interface, CLI) или в графическом интерфейсе (graphical user interface, GUI). При работе с серверной инфраструктурой в подавляющем числе случаев GUI отсутствует и взаимодействие с сервером осуществляется в CLI. При входе пользователя на сервер в CLI запускается командная оболочка (в GUI командную оболочку можно запустить через эмулятор, например Terminal). Командная оболочка (shell) – это программа, которая принимает команды с клавиатуры и передает их операционной системе для выполнения. Наиболее распространенной командной оболочкой в Linux является GNU bash (Bourne Again SHell). bash основывается на другой легковесной оболочке-предшественнике – sh (Bourne sh), созданной Стефеном Борном.

Команды можно выполнять с помощью командной строки, указав имя двоичного (бинарного, bin) исполняемого файла или сценария. По умолчанию в Linux много команд, которые позволяют перемещаться по файловой системе, устанавливать ПО, конфигурировать его и выполнять другие действия. Каждая запущенная команда является отдельным процессом. Важно отметить, что в Linux (в отличие от Windows) почти всегда учитывается регистр, включая имена файлов и каталогов, команды, аргументы и опции.

Читать подробнее: Основы работы с терминалом Linux

SSH

Подключаться к Linux и работать с командной оболочкой можно локально (например включив ПК дома или подойдя к серверу в центре обработки данных), однако гораздо чаще работать с системой требуется удаленно. Для этого необходимо настроить SSH и подключаться через него. SSH (Secure SHell) – это протокол, позволяющий производить удаленное управление операционной системой и туннелирование TCP-соединений (например, для копирования файлов). SSH основан на клиент-серверной архитектуре, которая организует защищенное (зашифрованное) соединение поверх небезопасных каналов связи. Серверная часть устанавливается на удаленном сервере, а клиентская на компьютере, с которого осуществляется подключение.

Существует много клиентов для удаленного подключения к серверу по SSH. Вот несколько примеров для различных операционных систем:

  • Windows
    PuTTY – выбор новичка, PowerShell (команда ssh), Xshell – выбор автора, MobaXterm, mRemoteNG

  • Linux
    Terminal (команда ssh) – выбор новичка и автора, Asbru Connection Manager

  • MacOS
    Terminal (команда ssh) – выбор новичка и автора, Core Shell

Читать подробнее: 

  • SSH

  • Как подключиться по SSH

  • Лучшие SSH клиенты для Windows, Linux и MacOS

Установка программ (утилит) пакетным менеджером

Зачем нужны пакетные менеджеры?

На заре развития Linux установить приложение (утилиту) можно было только путем скачивания исходного кода программы и компиляции. Это не практично и не слишком удобно для пользователей, поэтому были разработаны пакетные менеджеры. Установка приложений в них производится из пакетов – архивов с файлами скомпилированной программы. Большинство популярных дистрибутивов Linux содержат пакетные менеджеры, способные устанавливать любое программное обеспечение. Пакетные менеджеры имеют свой список репозиториев – серверов с базой пакетов. Во время установки алгоритм менеджера находит необходимый пакет в базе и производит автоматическое скачивание, установку и настройку.

Существует несколько форматов пакетов, однако наибольшее распространение получили .deb и .rpm. Рассмотрим операционные системы и менеджеры пакетов для данных форматов:

  • DEB (.deb)
    ОС – DEB-based, например Debian, Ubuntu, AstraLinux
    Система управления пакетами – DPKG (работает только с локальными пакетами)
    Пакетный менеджер – apt

  • RPM (.rpm)
    ОС – RPM-based, например RedHat Enterprise Linux, Fedora, CentOS
    Система управления пакетами – RPM (работает только с локальными пакетами) 
    Пакетный менеджер – yum (в последних дистрибутивах заменен на dnf)

Читать подробнее: Популярные пакетные менеджеры Linux

Практика

На практике пользователю необходимо уметь взаимодействовать с пакетными менеджерами – устанавливать и удалять пакеты.

Ниже приведены несколько примеров команд:

# руководство (справочная информация)
man <utility> # просмотр справочной информации по утилите
<utility> --help # просмотр справочной информации по утилите

# менеджер пакетов apt (.deb)
sudo apt install nano # установка пакета
sudo apt remove nano # удаление пакета
sudo apt autoclean # удаление кэша пакетов

# менеджер пакетов yum (.rpm) - для dnf команды полностью аналогичны
sudo yum install nano # установка пакета
sudo yum remove nano # удаление пакета
sudo yum clean all # удаление кэша пакетов

При необходимости уточняйте описание утилит и ключей выполнения в Интернете или в руководстве man.

Структура файловой системы и работа с файлами

Типы файлов

Все объекты в Linux являются файлами. Существуют следующие типы файлов:

  • Обычные файлы 
    Символьные и двоичные данные (текст, картинки, программы и др.)

  • Каталог (директория) d
    Список ссылок на файлы или другие каталоги

  • Символьные ссылки l
    Ссылки на другие файлы по имени

  • Блочные устройства b, символьные устройства c
    Интерфейсы для взаимодействия с аппаратным обеспечением (диски, терминалы, клавиатуры, принтеры и др.). Когда происходит обращение к файлу устройства, ядро операционной системы передает запрос драйверу этого устройства

  • Сокеты s и каналы p
    Интерфейсы для взаимодействия процессов

Читать подробнее: Типы файлов в Linux

Структура файловой системы

Структура файловой системы представляет собой дерево, корнем которой является каталог /.

Рассмотрим подробно структуру и назначение каталогов:

  • /bin (binaries) – исполняемые файлы самых необходимых утилит. Может быть символьной ссылкой на /usr/bin

  • /boot – файлы, необходимые для самого первого этапа загрузки – загрузки ядра (и обычно само ядро)

  • /dev (devices) – блочные и символьные файлы устройств (диски, терминалы, клавиатуры, принтеры и др.)

  • /etc (etcetera) – конфигурационные файлы системы и различных программ

  • /home – домашние каталоги пользователей для хранения «личных» файлов

  • /lib (libraries) – файлы библиотек (стандартных функций, необходимых многим программам), необходимых для работы утилит. Может быть символьной ссылкой на /usr/bin

  • /mnt (mount) – каталог для подключения файловых систем (съемных носителей и др.)

  • /opt (optional) – каталог для дополнительных программ (проприетарных драйверов, агентов мониторинга и др.)

  • /proc (process) – файлы в оперативной памяти, в которых содержится информация о выполняемых в системе процессах

  • /root – домашний каталог пользователя root

  • /sbin (system binaries) – файлы системных утилит, необходимые для загрузки, резервного копирования и восстановления системы. Может быть символьной ссылкой на /usr/sbin

  • /sys (system) – виртуальная файловая система sysfs, которая содержит информацию об аппаратном обеспечении (ЦПУ, ОЗУ, дисках, сетевых устройствах), драйверах, ядре системы и др.

  • /tmp – каталог для временных файлов, обычно зачищается при каждой загрузке системы

  • /usr – пользовательский каталог, который содержит каталоги исполняемых файлов и конфигурационных файлов

  • /var (variable) – файлы, создаваемые или используемые различными программами (логи, очереди, идентификаторы процессов, БД и др.)

Читать подробнее: Структура файловой системы Linux

Права доступа

В Linux права доступа к файлам (в том числе к каталогам) задаются для трех видов пользователей – владельца, группы владельца и остальных. Также есть три типа доступа к файлу – чтение r (Read), запись w (Write) и исполнение x (eXecution), которые задаются для каждого из видов пользователей. Прочерк  означает отсутствие доступа.

Таким образом, права доступа к файлу выглядят следующим образом:

  • права для владельца (u, user) – read, write, execution

  • права для группы владельца (g, group) – read, write, execution

  • права для остальных пользователей (o, other) – read, write, execution

Пример: rwx r— — означает, что у владельца есть права на все, у группы владельца доступ только на чтение, а у остальных доступа нет. В двоичной системе счисления эти права выглядят как три группы цифр – 111 100 000, что равносильно трем цифрам 7 4 0 в восьмеричной и десятичной системах счисления.

Читать подробнее: 

  • Владельцы файлов и папок в Linux

  • Команда chmod в Linux

Практика

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

Ниже приведены несколько примеров наиболее часто используемых команд:

# руководство (справочная информация)
man <utility> # просмотр справочной информации по утилите
<utility> --help # просмотр справочной информации по утилите

# навигация
ls -la <dir> # просмотр содержимого каталога (в том числе прав доступа)
cd <dir> # переход в каталог

# каталоги
mkdir <dir> # создание каталога
rmdir <dir> # удаление пустого каталога
rm -rf <dir> # удаление каталога с файлами

# файлы
cat <file> # вывод файла в консоль
less <file> # постраничный вывод файла
tail <file> # вывод последних строк («хвоста») файла
vi <file> # редактиврование файла текстовым редактором vi
nano <file> # редактирование файла текстовым редактором nano
cp <file> <dir> # копирование файла в каталог
mv <file> <dir> # перемещение файла в каталог (для переименования переместите файл в тот же каталог)
rm <file> # удаление файла
rm -rf <dir>/* # удаление всех файлов в каталоге

# права доступа
chown <user> <dir> # установить пользователя владельцем каталога
chown <user>:<group> <dir> # установить владельца и группу владельца каталога
chmod 644 <file> # установить права доступа rw- r-- r-- (чтение и запись для владельца, чтение для группы владельца, чтение для остальных пользователей)
сhmod 740 <file> # установить права доступа rwx r-- --- (чтение, запись и исполнение для владельца, чтение для группы владельца)
chmod u+w <file> # добавить владельцу право на запись файла

При необходимости уточняйте описание утилит и ключей выполнения в Интернете или в руководстве man.

Процессы и потребление ресурсов сервера

Процессы

Если предельно упростить, то процесс – это любая программа, которая выполняется в системе. В ходе работы с системой может быть запущено множество программ, которые, в свою очередь, могут запустить множество процессов. Простейший пример процесса – командная оболочка bash. Каждому процессу в Linux присваивается уникальный идентификатор процесса (PID), который используется ядром для управления процессом до завершения программы или команды, с которой он связан.

Процесс может находиться в следующих статусах:

  • Выполнение (R, Running)
    Выполнение или ожидание ЦПУ для выполнения

  • Сон (S, Sleep)
    Прерываемое программно ожидание

  • Непрерываемый сон (D, Direct)
    Ожидание «прямого» сигнала от аппаратной части для прерывания

  • Приостановлен (T, Tracing)
    Отладка

  • Зомби (Z, Zombie)
    Выполнение завершено, однако ресурсы не освобождены

Почти любой процесс (кроме процесса в статусе D) может быть принудительно прерван администратором в случае необходимости («убит»). Это не всегда безопасно, однако возможно.

Запущенные процессы требуют использования аппаратных ресурсов сервера – ЦПУ, ОЗУ, дисков, сетевых интерфейсов.

Читать подробнее: Процессы в Linux

Практика

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

Ниже приведены несколько примеров наиболее часто используемых команд:

# руководство (справочная информация)
man <utility> # просмотр справочной информации по утилите
<utility> --help # просмотр справочной информации по утилите

# процессы
top
sudo ps aux
sudo kill -9 <pid> # убийство процесса по PID
sudo killall -s 9 <name> # убийство всех процессов по имени

# утилиты для мониторинга использования ресурсов
htop # использование ресурсов по процессам (может потребоваться установка пакета htop)
nmon # использование процессора по ядрам, памяти, дисков и др. (может потребоваться установка пакета nmon)
iostat # использование процессора в среднем по ядрам и чтение/запись по дискам

# ЦПУ
lscpu # общая информация
cat /proc/cpuinfo # подробная информация

# ОЗУ
cat /proc/meminfo # общая информация и потребление
free -h # удобное представление на основе данных из файла meminfo
ps aux --sort -rss # использование памяти по процессам

# диски
lsblk # общая информация
df -h # просмотр занятного места по разделам
du -сh <dir> # просмотр занятого места в каталоге

# сеть
/sys/class/net/<interface>/speed # просмотр максимальной скорости интерфейса

При необходимости уточняйте описание утилит и ключей выполнения в Интернете или в руководстве man.

Программный комплекс systemd

Зачем нужен systemd?

SystemD – это программный комплекс, состоящий из системных компонентов Linux. Основным компонентом является система инициализации системы SystemD, которая пришла на смену SystemV в большинстве современных дистрибутивов. Ядро Linux запускает процесс systemd, который, в свою очередь, запускает все остальные процессы системы.

SystemD предоставляет следующий функционал:

  • Запуск служб при старте системы (по возможности параллельно) по различным таргетам (target, аналог уровней загрузки в SystemV)
    Обеспечивается обратная совместимость с системами инициализации SystemV и LSB

  • Контроль состояния запущенных служб

  • Управление устройствами, входом в систему, сетевыми подключениями, ведение журнала событий

  • Интерфейсы для реализации функциональных возможностей ядра – cgroups, autofs, kdbus

  • Набор утилит для управления системой – systemctl, journalctl и др.

Что такое systemd unit?

SystemD Unit – это обычный текстовый файл в стиле ini, который декларативно описывает информацию о службах .service, устройствах .device, целях запуска .target и других типах модулей systemd.

Описание юнита состоих из нескольких секций:

  • Unit
    Description (краткое описание), After (ожидание запуска), Requires (обязательная зависимость) и др.

  • Service
    Type (тип) – по умолчанию Simple, ExecStart (команда для запуска), ExecStop (команда для остановки) и др.

  • Install
    WantedBy (таргет или уровень запуска, на котором юнит должен запуститься)

Файлы systemd unit располагаются в следующих каталогах:

  • /etc/systemd/system – юниты, создаваемые администраторами

  • /usr/lib/systemd/system – юниты из установленых пакетов

  • /run/systemd/system – юниты, создаваемые во время работы системы (в runtime)

Редактировать и создавать юниты можно с помощью текстового редактора (например vi или nano).

Читать подробнее:

  • Применение systemd: только самое главное

  • Понимание systemd юнитов

  • Примеры systemd unit – NGINX, Apache

Практика

На практике пользователю необходимо просматривать различные systemd unit, просматривать их содержимое и управлять сервисами, а также читать журналы логов.

Ниже приведены несколько примеров наиболее часто используемых команд:

# руководство (справочная информация)
man <utility> # просмотр справочной информации по утилите
<utility> --help # просмотр справочной информации по утилите

# просмотр юнитов
systemctl # список юнитов (это псевдоним команды systemctl list-units)
systemctl --type=service # юниты типа сервисы
systemct | grep <keyword> # юниты, содержащие ключевое слово (полезно для быстрого поиска)
systemctl cat <unit> # описание юнита

# управление юнитами
systemctl status <unit> # статус (состояние) юнита
sudo systemctl daemon-reload # перезагрузка конфигурационных файлов в systemd
sudo systemctl enable <unit> # включение сервиса в автозагрузку
sudo systemctl disable <unit> # отключение сервиса из автозагрузки
sudo systemctl start <unit> # запуск
sudo systemctl stop <unit> # остановка

# журналы логов
journalctl -u <unit> # чтение логов по юниту
journalctl -u <unit> --since today # чтение логов по юниту со смены дня 

При необходимости уточняйте описание утилит и ключей выполнения в Интернете или в руководстве man.

Сеть

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

Ниже приведены несколько примеров наиболее часто используемых команд:

# руководство (справочная информация)
man <utility> # просмотр справочной информации по утилите
<utility> --help # просмотр справочной информации по утилите

# просмотр сетевых настроек сервера
ip a # IP адреса
ip n # ARP таблица
cat /etc/resolv.conf # конфигурация DNS
sudo netstat -tulpn # открытые порты
sudo ss -tulpn # открытые порты (молодежный вариант)

# диагностика сетевых проблем
nslookup <hostname> # проверка разрешения DNS имени
ping <host> # отправка ICMP пакетов до хоста
traceroute <host> # трассировка до хоста UDP пакетами
telnet <host> <port> # проверка доступности TCP порта на хосте
nmap <host> # сетевое сканирование хоста
nmap -p T:<port> <host> # проверка доступности TCP порта на хосте (молодежный вариант)
nmap -p U:<port> <host> # проверка доступности UDP порта на хосте (молодежный вариант)

При необходимости уточняйте описание утилит и ключей выполнения в Интернете или в руководстве man.


Все статьи серии:

  1. Основы Linux (обзор с практическим уклоном)

  2. Основы виртуализации (обзор)

  3. Основы контейнеризации (обзор Docker и Podman)

  4. Основы мониторинга (обзор Prometheus и Grafana)

Linux. Полное руководство

Эта книга — перевод девятого издания фундаментального руководства Михаэля Кофлера, уже ставшего классическим произведением по Linux.Михаэль Кофлер открыл путь в мир свободных операционных систем для нескольких поколений пользователей Linux. Журнал Linux-Magazin причисляет его к 15 наиболее влиятельным специалистам в данной области.Книга представляет собой справочник на тему «Как это делается в Linux», она будет полезна и актуальна для всех, кто хочет работать с Linux на ПК или на сервере.

Скачать книгу «Linux. Полное руководство»

О книге

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

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

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

Популярные книги жанра «Операционные системы и утилиты для ПК»

С этой книгой читают

Linux - карманный справочник скачать

Linux — карманный справочникГраннеман Скотт

Данная книга представляет собой краткое пособие по основным командам операционной системы Linux. Читатель найдет в ней описание большинства команд, необходимых ему в…

рейтинг книги

Разработка приложений в среде Linux скачать

Разработка приложений в среде Linux Майкл К. Джонсон, Эрик В. Троан

Книга известных профессионалов в области разработки коммерческих приложений в Linux представляет собой отличный справочник для широкого круга программистов в Linux, а…

рейтинг книги

Интернет-разведка. Руководство к действию скачать

Интернет-разведка. Руководство к действиюЮщук Евгений Леонидович

Согласно расхожему мнению, человек, владеющий информацией, владеет миром. Интернет — гигантская информационная база современности, и необходимость освоения тонкостей…

рейтинг книги

Новейшие секреты Интернета.Практическое руководство пользователя скачать

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

Создание электронных книг в формате FictionBook 2.1: практическое руководство скачать

Fedora 8 Руководство пользователя скачать

Fedora 8 Руководство пользователяКолисниченко Денис Николаевич

Эта книга поможет быстро освоить новую версию дистрибутива Linux Fedora 8. В ней рассказывается, как установить Fedora 8 и выполнить базовую настройку системы после…

рейтинг книги

Сборник Полный набор Книга 1-4 скачать

Сборник «Полный набор» Книга 1-4Князев Милослав

1. Милослав Князев: Полный набор. Великая миссия. 2. Милослав Князев: Полный набор. Месть темной эльфийки 3. Милослав Князев: Полный набор. Свой замок 4. Милослав Князев:…

рейтинг книги

LINUX. Полное руководство по работе и администрированию

Книга будет полезна для любого уровня читателей – как для тех, кто только заинтересовался Линуксом, так и для тех, кто хочет расширить свои навыки использования этой операционной системы. Каждый найдет здесь для себя что-то полезное и востребованное! Важно, что одним из дистрибутивов (наряду с Ubuntu), на котором показывается работа в Linux, выбран российский Astra Linux, сертифицированный и рекомендованный к использованию на территории России.

Название: LINUX. Полное руководство по работе и администрированию
Автор: Колисниченко Денис
Год: 2021
Язык: русский
Формат: pdf
Страниц: 481
Размер: 61,77 Мб

Скачать Колисниченко Д. LINUX. Полное руководство по работе и администрированию

Содержание

  1. Учебники и руководства по Ubuntu Материалы для загрузки
  2. Содержание
  3. Учебники по Ubuntu
  4. Руководство по Ubuntu для новичков
  5. Ubuntu Linux. Базовый курс
  6. Секреты и настройки Ubuntu Linux
  7. Администрирование
  8. Руководство по iptables
  9. Другие руководства
  10. Подборка книг для изучения Linux
  11. Авторизуйтесь
  12. Подборка книг для изучения Linux
  13. Just for Fun: The Story of an Accidental Revolutionary
  14. Командная строка Linux. Полное руководство
  15. Linux глазами хакера
  16. Ten Steps to Linux Survival
  17. Linux. Карманный справочник
  18. Linux Bible
  19. Официальная документация Ubuntu
  20. Red Hat Enterprise Linux 6 Essentials
  21. Современные операционные системы
  22. Внутреннее устройство Linux
  23. How Linux Works: What Every Superuser Should Know
  24. UNIX and Linux System Administration Handbook
  25. Встраиваемые системы на основе Linux
  26. Linux From Scratch
  27. Настольная книга администратора Debian
  28. Подборка материала для начинающего linux-сисадмина
  29. Linux/Unix:
  30. Python:
  31. Осваиваем Linux за три недели
  32. Зачем сейчас нужно уметь обращаться с Linux?
  33. Как Linux связан с освоением других дисциплин?
  34. Почему для этого нужен отдельный курс?
  35. Что в Linux интересного?
  36. Как проверять решение задач на курсе по Linux? Это вообще возможно?
  37. А почему всё-таки Linux так хорош?

Учебники и руководства по Ubuntu Материалы для загрузки

Содержание

На этой странице собраны ссылки с описаниями на различные учебники и руководства по использованию Ubuntu, которые вы можете загрузить на свой компьютер и читать в отсутствии интернета.

Учебники по Ubuntu

Руководство по Ubuntu для новичков

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

Ubuntu Linux. Базовый курс

Электронная книга, в которой описан процесс установки и настройки Ubuntu Linux.

Секреты и настройки Ubuntu Linux

Две книги с описанием различных секретов и настроек Ubuntu.

Администрирование

Руководство по iptables

iptables — мощный инструмент для создания программных файрволов на основе компьютера под управлением ОС семейства GNU/Linux, работающий на уровне ядра и позволяющий строить разнообразные правила управления сетевым трафиком.

Iptables Tutorial — подробное и потрясающе удачно написанное руководство по iptables. В состав руководства включены примеры правил для различных ситуаций. Автор руководства — Oskar Andreasson.

http://www.opennet.ru/docs/RUS/iptables/ — Iptables Tutorial 1.1.19 на русском языке в переводе Андрея Киселева.

http://www.frozentux.net/iptables-tutorial/iptables-tutorial.html — Iptables Tutorial 1.2.2 на английском языке.
Доступны для скачивания или просмотра другие форматы Iptables Tutorial 1.2.2.

Другие руководства

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

© 2012 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.

Источник

Подборка книг для изучения Linux

Авторизуйтесь

Подборка книг для изучения Linux

linux cover

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

41xNrr2ihFL. SX330 BO1204203200

Just for Fun: The Story of an Accidental Revolutionary

Книга, написанная самим создателем Linux Линусом Торвальдсом. В ней он рассказывает о своей жизни и о том, с чего началась разработка Linux. Также в ней Линус поделился своим видением по разработке открытого программного обеспечения и Linux в частности. Если хочется посмотреть на Linux со стороны «отца» системы, а также больше узнать о его личности, то эта книга обязательна к прочтению.

44611169

Командная строка Linux. Полное руководство

Командная строка в Linux — основной инструмент для работы с этой ОС. Поэтому, чтобы полноценно настроить систему под свои нужды и ускорить рабочий процесс, нужно обучиться работе с этим инструментом и основным командам. Данная книга познакомит читателя с возможностями командной строки в Linux. В частности, здесь рассказывается о том, как:

4986849 mihail flenov linux glazami hakera 4986849

Linux глазами хакера

Несмотря на название книги, она подойдёт не только специалистам в информационной безопасности, но и системным администраторам. В данной книге по полочкам разложены многие аспекты настройки ОС Linux с целью повышения безопасности и производительности системы. Автор Михаил Флёнов рассмотрел потенциальные уязвимости и атаки злоумышленников, а также методы борьбы с ними. Книга хороша также тем, что с её помощью можно изучить «внутреннюю кухню» Linux.

Bez nazvanija

Ten Steps to Linux Survival

Книга подойдёт системным администраторам, которые обеспечивают стабильную работу серверов на Windows, но сталкиваются с настройкой Linux-окружения. Она поможет быстро освоиться с работой на Linux. В ней вы найдёте информацию по настройке сетей, работе с файловой системой, диагностике работы серверов, а также управлению процессами.

1014976383

Linux. Карманный справочник

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

51zYOAhejWL. SX397 BO1204203200

Linux Bible

Девятое издание этой книги является достаточно полным руководством по работе с Linux, в том числе с Red Hat Enterprise Linux 7 (RHEL 7), Fedora 21 и Ubuntu 14.04 LTS. Отличительной особенностью книги стало разделение материала по уровням. Сначала даётся базовая информация о Linux, затем необходимые знания для рядового пользователя, системного администратора, потом рассматриваются серверное администрирование и безопасность. За счёт такой многоуровневости книга подойдёт всем желающим уверенно работать с этой ОС.

Официальная документация Ubuntu

Официальная документация популярного Linux-дистрибутива Ubuntu постоянно поддерживается, поэтому в ней можно найти подробную информацию о наиболее последних версиях системы. Оно содержит информацию о том, как устанавливать и настраивать различные приложения в пользовательской и серверной версиях Ubuntu в соответствии с заданными требованиями. Документация по Ubuntu Desktop доступна для чтения только онлайн, по Ubuntu Server — онлайн и в PDF-формате.

61uxqlVE5ML

Red Hat Enterprise Linux 6 Essentials

В корпоративной среде популярностью пользуется дистрибутив Red Hat Enterprise Linux, считающийся одним из самых стабильных. Данная книга призвана рассказать об особенностях системы как новичкам, так и опытным пользователям. Новичку будет интересно почитать о настройке рабочей среды, электронной почты и веб-сервера. Более опытные пользователи RHEL найдут в книге такие темы, как удалённый доступ, управление логическими томами (LVM), разделение дисков, виртуализация KVM, SSH и совместное использование файлов с использованием Samba и NFS. В книге рассматривается немного устаревший RHEL 6, но в ней описаны концептуальные вещи, не теряющие актуальность со временем.

2468679 detail

Современные операционные системы

Эту книгу нельзя было обойти стороной, хоть и Linux рассматривается только в одном разделе. Это классический труд Эндрю Таненбаума, в котором рассказывается обо всех аспектах современных операционных систем. В разделе про Linux можно найти информацию об истории возникновения UNIX и Linux, архитектуре системы, её процессах, управлении памятью, вводе-выводе, файловой системе и безопасности. Кроме того, а этой главе рассматривается и Android как отдельная система на базе Linux.

21589583 brayan uord vnutrennee ustroystvo linux 21589583

Внутреннее устройство Linux

Книга является хорошим руководством по работе с ядром Linux. В ней рассказывается о различных нюансах при эксплуатации этой ОС, системном администрировании Linux, а также о низкоуровневых механизмах системы. Также в книге рассматривается программирование shell-скриптов, программирование на языке Си, безопасность системы, виртуализация, компьютерные сети и многое другое.

51xTQyVBl9L. SX375 BO1204203200

How Linux Works: What Every Superuser Should Know

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

61iWkQ87uTL. SX381 BO1204203200

UNIX and Linux System Administration Handbook

Книга является полным руководством по установке, настройке и обслуживанию любых UNIX- или Linux-систем, в том числе обеспечивающих облачную инфраструктуру. Руководство охватывает такие темы, как управление хранилищем, проектирование и администрирование сети, безопасность, веб-хостинг, автоматизация, управление конфигурацией, анализ производительности, виртуализация и DNS.

27071892 kris simmonds vstraivaemye sistemy na osnove linux 27071892

Встраиваемые системы на основе Linux

В книге описано поэтапное конструирование собственной системы на базе Linux только с необходимыми open source программами. В частности, автор Крис Симмондс рассматривает:

Linux From Scratch

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

Сама онлайн-книга является дополнением к одноимённому проекту. Его цель — создание гибкой и производительной системы, заточенной под нужды конкретного пользователя. Однако созданием собственной ОС можно заняться ещё и для того, чтобы лучше изучить структуру Linux изнутри.

front cover small 226x300

Настольная книга администратора Debian

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

Какие книги помогли вам освоиться в Linux? Пишите своё мнение в комментариях. Лучшие книги из комментариев также войдут в эту подборку.

Источник

Подборка материала для начинающего 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 — соберем свой собственный линукс дистрибутив с блэкджеком и девушками.

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

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 за три недели

Идея вводного курса по работе с Linux возникла у нас с коллегами довольно давно. Я с 2011 года занимаюсь биоинформатикой в Лаборатории алгоритмической биологии СПбАУ РАН (тут и тут мой напарник писал про то, чем мы занимаемся). Сразу нужно сказать, что работа биоинформатика без Linux практически невозможна, поскольку большинство биоинформатических программ созданы именно под эту операционную систему и работают только на ней.

image loader

В силу того, что это область на стыке наук, мы постоянно общаемся с биологами. Биологам же сейчас приходится работать с очень большими объемами данных, поэтому умение использовать Linux, оптимальную для подобных задач операционную систему, становится необходимым навыком. На самом деле, речь не только об умении обращаться с Linux, а в целом о компьютерной грамотности: какие существуют правила работы на сервере, как загружать и эффективно хранить файлы с данными, какие программы запускать для их обработки и как это сделать и т.д. — все те вещи, которые как упрощают и ускоряют вашу работу, так и значительно облегчают совместную деятельность с коллегам. Несмотря на то, что разобраться с Linux можно и самостоятельно, почитав умные книжки и сайты, для людей из не технической среды это часто вызывает определенные сложности и многие сдаются на начальных этапах освоения этой ОС (например, на знакомстве с командной строкой).

На основе нашего опыта я и мой коллега Андрей Пржибельский (@andrewprzh) изначально собирались провести несколько занятий для биологов по компьютерной грамотности. А потом эта идея выросла в трехнедельный открытый онлайн-курс (MOOC) Института биоинформатики на русском языке, который позже был сужен до именно введения в Linux, как отправной точки, — поскольку вместить все в три недели оказалось очень и очень трудно. Курс уже начался и оказался достаточно популярен (на данный момент на него записалось более пяти тысяч человек), но первый дедлайн по заданиям — 24 ноября, поэтому еще можно присоединиться без потери баллов или просто изучать курс в свободном режиме (все материалы останутся открытыми).

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

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

Зачем сейчас нужно уметь обращаться с Linux?

Многие не замечают, но Linux уже вокруг нас. Все Android устройства работают на Linux, большинства серверов в Интернете также используют эту операционную систему и есть множество других примеров. Конечно, можно продолжать пользоваться всеми этими вещами и не зная Linux, но освоив основы этой системы, можно лучше понять поведение окружающих вас вещей. Кроме того, при работе с большим объемом данных, Linux просто необходим, ведь большинство сложных вычислений над огромными массивами данных выполняются именно на компьютерах под управлением Linux. И это не случайный выбор: большинство вычислительных задач выполняются на Linux гораздо быстрее, чем на Windows или Mac OS X.

Как Linux связан с освоением других дисциплин?

Огромная доля научного ПО, особенно программ для обработки больших данных (например, в области биоинформатики) разработана специально под Linux. Это значит, что эти приложения просто не могут быть запущены под Windows или Mac OS X. Так что если вы не умеете работать в Linux, то автоматически лишаетесь возможности использовать самые современные научные наработки. Кроме того, изучая Linux, вы лучше понимаете как работает компьютер, ведь вы сможете отдавать ему команды практически напрямую.

Почему для этого нужен отдельный курс?

У Linux очень много возможностей, которые полезно знать и, конечно же, уметь ими воспользоваться в нужный момент. К счастью, современные версии Linux гораздо более дружелюбны к пользователям, чем их собратья еще 5-6 лет назад. Сейчас можно не мучиться часами и даже днями ночами после установки системы, чтобы настроить себе выход в Интернет, печать на принтере, раскладки клавиатуры и так далее. Любой желающий сможет начать использовать Linux так же, как он использовал Windows или Mac OS X уже после минимального знакомства с этой системой, которое будет исчисляться минутами. Однако возможности Linux гораздо шире «повседневного» использования. Рассказать обо всей функциональности Linux просто невозможно даже за трехнедельный курс. Однако мы стараемся научить слушателей использовать большинство базовых возможностей Linux, а самое главное, надеемся, что прошедшие курс смогут успешно продолжить освоение Linux самостоятельно.

Что в Linux интересного?

Для нас Linux похож на очень интересную книгу, которую вы прочитали и с удовольствием рекомендуете своим друзьям и даже чувствуете зависть от того, что у них знакомство с этим произведением еще впереди. Единственная разница в том, что хоть мы и знакомы с Linux уже почти по 10 лет, не можем сказать, что «прочитали» его целиком. В нем постоянно можно найти что-то новое для себя, узнать что многие вещи, которые ты привык делать одним способом, можно сделать совершенно по-другому — гораздо проще и быстрее.

aa7ec3cfa82445bcb0ee9a7631af1419

Чем больше знакомишься с Linux, тем он становится интереснее. И от первоначального желания «поскорее бы выключить и перезагрузиться в родную и знакомую Windows (Mac OS X)» вы вскоре переходите в состояние «хм, а тут не так и плохо» и еще немного позже в «как я вообще мог работать в этой Windows?!». А еще изучая Linux вы порою можете почувствовать себя немного хакером или героем фильма про программистов =)

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

Как проверять решение задач на курсе по Linux? Это вообще возможно?

Ответ на этот вопрос был нетривиальным — мы долго думали, как проверять задания (например, что пользователь установил Linux себе на компьютер или отредактировал файл в определенном редакторе) и как придумать интересные задачи, чтобы действительно показать реальную работу с Linux. Для каких-то тем получились довольно любопытные подходы. Например, специально для курса был добавлен новый тип задач на платформе Stepic — подключение к удалённому серверу (и открытие «терминала») прямо в окне браузера — по отзывам первых пользователей, им понравилось. Конечно, в первый раз не обошлось без шероховатостей, но, в целом, всё работает довольно хорошо. Про техническую сторону этого вопроса скоро появится отдельный пост от разработчиков. Пример такого задания (для просмотра вживую можно записаться на курс):

image loader

Нужно сказать, что не все пользователи воспринимали задачи с юмором. Например, мы проверяли навык установки программ на Linux на примере программы VLC. Нужно было установить ее в свою систему одним из рассказанных способов, потом открыть справку о программе, найти фамилию первого автора и ввести ее в форму для проверки. Каких только комментариев мы не наслушались про это задание 🙂 А ошибались люди в основном в том, что вводили имя и фамилию, или только имя, или часть фамилии (а она там двойная, через дефис!). В общем, если решитесь проходить курс, то читайте условия задач внимательнее и это сэкономит много времени и нервов! Правда с тем же автором было замечание и по делу, оказалось что в старых версиях VLC он идет аж на 14 месте, так что добавили в проверку еще одного автора, который первый среди «старого» списка (и, кстати, третий в «новом»).

А почему всё-таки Linux так хорош?

Вопрос, конечно, неоднозначный. На мой взгляд одним из ключевых преимуществ Linux перед Windows или Mac OS X является то, что эта операционная система разрабатывается огромным сообществом программистов по всему миру, а не в двух, пусть и очень больших компаниях (Microsoft и Apple). Исходный код этой системы открыт, и каждый может познакомится с внутренним устройством Linux или поучаствовать в его развитии. Разработчики развивают его не только для пользователей-покупателей, но и для самих себя, с чем и связан такой большой прогресс в развитии и многие другие его преимущества. В качестве «бонусов» для обычных пользователей: Linux бесплатный, на Linux практически нет вирусов (а сами разработчики вирусов зачастую сидят под Linux!), существую огромное число версий этой системы и каждый может выбрать понравившуюся именно ему!

И напоследок хотелось бы рассказать о своем первом знакомстве с Linux именно в рабочем процессе (до этого был еще отдельный курс по учебе, но из него я не очень много вынес, к сожалению). Этот случай меня так впечатлил, что помню его до сих пор. Когда я работал на кафедре в Политехе на 3-ем курсе мне понадобилось запускать одну программу для обработки данных. Программа была написана на С++, а работали мы тогда в Windows XP. Запусков нужно было сделать много, были они довольно однотипные и занимали обычно пару минут. За это время ничего другого сделать на компьютере было нельзя — он полностью «подвисал», так что можно было поболтать с другими сотрудниками или просто прогуляться по кабинету. Примерно через пару недель таких запусков, мой научный руководитель посоветовал попробовать мне сделать всё тоже самое, но не в Windows, а в Linux. Я тогда подумал «ну какая разница», но так руководителя уважал, то программу перекомпилировал и его совет исполнил. Какового же было моё удивление, когда я запустил ту же самую программу на тех же самых данных и получил результат (естественно, точно такой же) за несколько секунд! Я даже со стула встать не успел, не то что прогуляться…

Кстати, помимо нашего русскоязычного онлайн-курса по Linux, существует хороший англоязычный вводный курс от Linux Foundation, про который уже писали на хабре. Судя по сайту, он снова начнется 5 января 2015.

Если вы знаете ещё интересные онлайн-курсы или обучающие материалы по азам Linux, будем рады увидеть ссылки на них в комментариях.

Источник

Понравилась статья? Поделить с друзьями:
  • Инструкция пользования банкоматом сбербанка пошаговая инструкция
  • Руководство по горцу
  • Метформин инструкция по применению цена отзывы аналоги кому прописывают
  • Лента руководство в россии
  • Как собрать дверь гармошку пошаговая инструкция видео