Методическое пособие по linux

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

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

Just for Fun: The Story of an Accidental Revolutionary

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

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

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

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

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

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

Ten Steps to Linux Survival

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

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

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

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-формате.

Читайте также:  Что значит локальная переустановка windows

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, а также о низкоуровневых механизмах системы. Также в книге рассматривается программирование shell-скриптов, программирование на языке Си, безопасность системы, виртуализация, компьютерные сети и многое другое.

How Linux Works: What Every Superuser Should Know

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

UNIX and Linux System Administration Handbook

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

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

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

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

Linux From Scratch

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

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

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

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

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

Источник

Основы Linux от основателя Gentoo. Часть 1 (1/4): BASH, основы навигации

Предисловие

Об этом руководстве

Добро пожаловать в первую из четырех частей обучающего руководства по основам Linux, разработанного чтобы подготовить вас к сдаче экзамена Linux Professional Institute 101. В нем вы познакомитесь с bash (стандартной оболочкой командного интерпретатора в Linux), узнаете о большинстве возможностей таких стандартных команд Linux, как ls, cp и mv, разберетесь в инодах, жестких и символьных ссылках, и многом другом. К концу этого руководства у вас сформируется некий фундамент знаний, и вы будете готовы к изучению основ администрирования Linux. К концу всего курса (8 частей), у вас будет достаточно навыков, чтобы стать системным администратором Linux и пройти сертификацию LPIC Level 1 от Linux Professional Institute, если конечно захотите.

Читайте также:  Windows server 2016 security update

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

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

Введение в bash

Оболочка

Если вы уже использовали Linux ранее, то наверняка знаете, что после входа в систему вас приветствует приглашение, которое выглядит примерно так:

На практике приглашение, которое вы видите, может немного отличаться. Например, оно может содержать имя хоста, имя текущей рабочей директории, или все вместе. Не зависимо от того, как выглядит ваше приглашение, есть одна несомненная вещь: программа, которая выводит это приглашение, называется оболочка интерпретатора команд (от англ. shell — оболочка, он же командная строка или терминал — прим. пер.), и, вероятнее всего, вашей командной оболочкой будет ‘bash’.

А у вас запущен bash?

Вы можете убедиться, что используете bash, набрав:

Если строчка выше выдает ошибку, или ответ не соответствует, возможно, что вы запустили другую оболочку. В этом случае большая часть этого руководства все еще будет полезна, но было бы значительно лучше для вас переключиться на bash, ради подготовки к экзамену 101.

О bash

Bash — это акроним от Bourne-again-shell, от англ. «ещё-одна-командная-оболочка-Борна» или «рождённая-вновь-командная оболочка» (тут игра слов Bourne/born — прим. пер.), и является оболочкой по умолчанию для большинства Linux-систем. Задача оболочки получать от вас команды, через которые вы взаимодействуете с Linux-системой. После того, как вы закончили ввод команд, вы можете выйти из оболочки (exit) или закончить сеанс (logout), в этом случае вы увидите приглашение входа в систему.

Кстати, вы также можете выйти из оболочки bash нажав control-D в приглашении.

Использование «cd»

Вы, возможно, уже обнаружили, что пялиться на приглашение bash — не самое впечатляющее занятие в мире. Ну что ж, давайте узнаем как путешествовать по нашей файловой системе. В приглашении введите пожалуйста следующую команду (без $):

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

Чтобы узнать текущую рабочую директорию в bash нужно набрать:

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

Читайте также:  What is disk quota in windows

Абсолютные пути

Ниже несколько из них:

/dev
/usr
/usr/bin
/usr/local/bin

Как можно заметить, у всех абсолютных путей есть одна общая черта, они начинаются с /. Указывая, допустим, /usr/local/bin в качестве аргумента для cd, мы сообщаем, что хотим попасть в / директорию, затем в usr директорию внутри нее, и так далее в local и bin, вниз по дереву. Абсолютные пути всегда отсчитываются начиная от / сперва.

Относительные пути

Другой тип пути называется «относительный путь». bash, cd, и другие команды всегда интерпретируют их относительно текущей директории. Относительные пути НИКОГДА не начинаются с /. Так, если мы сначала переместимся в /usr:

То, затем мы можем использовать относительный путь local/bin, чтобы попасть в директорию /usr/local/bin:

Использование ..

Относительные пути могут также содержать одну или более «..» директории. Директория «..» специальная; она указывает на родительскую директорию. Так, продолжая с примера выше:

Как видно, наша текущая директория теперь /usr/local. Мы смогли переместиться «назад» на одну директорию относительно текущей, где были до того.

Кроме того, мы также можем использовать «..» в существующем относительном пути, позволяющем нам переместиться в директорию «рядом» с той, в которой находимся:

Примеры относительных путей

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

А теперь наберите их и проверьте свои предположения. 😉

Понимание .

Перед тем как мы закончим изучение cd, есть несколько моментов, которые необходимо прояснить. Во-первых, есть еще одна специальная директория «.», которая означает «текущая директория». Хотя она и не используется с командой cd, но часто используется для выполнения программы из текущей директории, как в следующем примере:

В данном случае будет запущена исполняемая программа myprog, находящаяся в текущей рабочей директории.

cd и домашняя директория

Если бы мы хотели переместиться в нашу домашнюю директорию, то могли бы набрать:

Без каких либо аргументов cd переместит в вашу домашнюю директорию, которая будет /root для суперпользователя, или обычно /home/username (где username — имя пользователя в системе — прим.пер.) для любого другого пользователя. Но, что если мы хотим указать файл в нашей домашней директории? Может быть мы хотим передать путь к файлу в качестве аргумента нашей программе myprog. Если файл расположен в нашей домашней директории, мы можем набрать:

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

(тильда), чтобы проделать то же самое:

Другие домашние директории пользователей

Bash воспримет одиночную

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

Об авторах

Daniel Robbins

Дэниэль Роббинс — основатель сообщества Gentoo и создатель операционной системы Gentoo Linux. Дэниэль проживает в Нью-Мехико со свой женой Мэри и двумя энергичными дочерьми. Он также основатель и глава Funtoo, написал множество технических статей для IBM developerWorks, Intel Developer Services и C/C++ Users Journal.

Chris Houser

Крис Хаусер был сторонником UNIX c 1994 года, когда присоединился к команде администраторов университета Тэйлора (Индиана, США), где получил степень бакалавра в компьютерных науках и математике. После он работал во множестве областей, включая веб-приложения, редактирование видео, драйвера для UNIX и криптографическую защиту. В настоящий момент работает в Sentry Data Systems. Крис также сделал вклад во множество свободных проектов, таких как Gentoo Linux и Clojure, стал соавтором книги The Joy of Clojure.

Aron Griffis

Эйрон Гриффис живет на территории Бостона, где провел последнее десятилетие работая в Hewlett-Packard над такими проектами, как сетевые UNIX-драйвера для Tru64, сертификация безопасности Linux, Xen и KVM виртуализация, и самое последнее — платформа HP ePrint. В свободное от программирования время Эйрон предпочитает размыщлять над проблемами программирования катаясь на своем велосипеде, жонглируя битами, или болея за бостонскую профессиональную бейсбольную команду «Красные Носки».

Источник

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