Сборник теоретического материала 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Сборник теоретического материала



СБОРНИК ТЕОРЕТИЧЕСКОГО МАТЕРИАЛА

по параграфу: §02.02.02 Администрирование Linux

МДК.02.02 Организация администрирования компьютерных систем

Для специальности 09.02.02 Компьютерные сети

 

2021

Содержание

Тема 1. Общие сведения операционной системы Linux.. 3

Лекция №1.1. История развития ОС Linux. Ядро ОС Linux. 3

Лекция №1.2. Виды и выбор дистрибутива для клиента/сервера. Требования к оборудованию 10

Лекция №1.3. Загрузчики Linux. 18

Лекция №1.4. Навигация по рабочему столу. 21

Тема 2. Основы командной строки.. 25

Лекция №2.1. Терминал и командная строка. 25

Лекция №2.2. Управление пакетами. 30

Тема 3. Пользователи и группы пользователей.. 47

Лекция №3.1. Управление пользователями. 47

Лекция №3.2. Управление доступом и привилегиями. 51

Тема 4. Структура файловой системы Linux.. 60

Лекция №4.1. Организация файловой системы. Управление файлами и каталогами. Основные команды для работы с файлами и каталогами. 60

Тема 5. Сетевая инфраструктура в Linux.. 64

Лекция №5.1. Базовая конфигурация сети. 64

Лекция №5.2. Сетевые инструменты.. 69

Тема 6. Конфигурация параметров безопасности и служб аутентификации.. 82

Лекция №6.1. Особенности работы SELinux, firewalld, iptables. 82

Тема 7. Сетевые хранилища и пакеты... 102

Лекция №7.1. Репозитории. 102

Тема 8. Конфигурация служб удаленного доступа.. 105

Лекция №8.1. Методы удаленного доступа к серверу-клиенту Linux. 105

Тема 9. Конфигурация веб-служб. 117

Лекция №9.1. Инструменты для создания веб-ресурсов. 117

Тема 10. Мониторинг производительности и управление процессами.. 119

Лекция №10.1. Инструменты командной строки для мониторинга производительности Linux 119

Лекция №10.2. Программы для отслеживания использования системных ресурсов. 132

Информационное обеспечение обучения. 137

 


Тема 1. Общие сведения операционной системы Linux

Лекция №1.1. История развития ОС Linux. Ядро ОС Linux

Цель: изучить вопросы истории и развития ОС Linux

Введение

Определение слова Linux зависит от контекста, в котором оно используется. Linux означает ядро системы, которое является центральным контроллером всего, что происходит на компьютере.

Когда большинство людей ссылаются на Linux, они на самом деле имеют в виду комбинацию программного обеспечения под названием GNU / Linux, которая определяет операционную систему. GNU - это бесплатное программное обеспечение, которое предоставляет с открытым исходным кодом эквиваленты многих распространенных команд UNIX. Linux часть этой комбинации является Linux ядра, которая является ядром операционной системы. Ядро загружается во время загрузки и продолжает работать, чтобы управлять всеми аспектами работы системы.

История Linux начинается с UNIX, операционной системы, разработанной AT&T Bell Labs в 1970-х годах. UNIX написан на языке C, что делает его уникальным для переносимости среди конкурирующих операционных систем, которые, как правило, были тесно связаны с оборудованием, для которого они были написаны. Он быстро завоевал популярность в исследовательских и академических кругах, а также среди программистов, которых привлекла его модульность. Со временем он был модифицирован и разветвлен (то есть люди модифицировали его, и эти модификации послужили основой для других систем), так что в настоящее время существует множество различных вариантов UNIX. Однако теперь UNIX является одновременно товарным знаком и спецификацией, принадлежащими промышленному консорциуму под названием Open Group. Только программное обеспечение, сертифицированное Open Group, может называть себя UNIX.

Linux стартовал в 1991 году как хобби-проект Линуса Торвальдса, финского ученого-информатика, который учился в Хельсинкском университете. Разочарованный лицензированием MINIX, UNIX-подобной операционной системы, предназначенной для использования в образовательных целях, и желанием ее создателя не превращать ее в полноценную операционную систему, Линус решил создать собственное ядро ​​ОС.

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

До и параллельно с этой разработкой был проект GNU, созданный Ричардом Столлманом в 1983 году. Хотя изначально GNU была сосредоточена на создании собственной операционной системы, они в конечном итоге оказались гораздо более эффективными в создании инструментов, которые работают вместе с UNIX-подобной операционной системой, например, в качестве редакторов, компиляторов и пользовательских интерфейсов, которые делают ядро ​​пригодным для использования. Поскольку исходные тексты были в свободном доступе, программисты Linux смогли включить инструменты GNU для создания полной операционной системы. Таким образом, многие инструменты и утилиты, которые являются частью системы Linux, произошли от этих ранних инструментов GNU.

Первоначально Линус назвал проект Freax, однако администратор сервера, на который были выгружены файлы разработки, переименовал его в Linux, что соответствует имени Линуса и UNIX. Название прижилось.

GNU - это рекурсивная аббревиатура от «GNU's Not Unix», и произносится она так же, как африканская рогатая антилопа, являющаяся ее тезкой.

Дистрибутивы Linux

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

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

Как и в UNIX, существуют дистрибутивы, подходящие для всех мыслимых целей. Существуют дистрибутивы, ориентированные на работу серверов, настольных компьютеров или даже отраслевых инструментов, таких как проектирование электроники или статистические вычисления. Основные игроки рынка восходят к Red Hat, Debian или Slackware. Наиболее заметное различие между Red Hat и производными Debian - это менеджер пакетов, хотя есть и другие отличия во всем, от расположения файлов до политических взглядов.

Командная строка Linux

Доступны два основных типа интерфейсов, которые позволяют вам взаимодействовать с операционной системой. Типичный пользователь компьютера сегодня больше всего знаком с графическим интерфейсом пользователя (GUI). В графическом интерфейсе приложения представлены в окнах, размер которых можно изменять и перемещать. Есть меню и инструменты, помогающие пользователям ориентироваться. Графические приложения включают в себя веб-браузеры, инструменты для редактирования графики и электронную почту, чтобы назвать некоторые из них.

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

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

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

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

Более того, изучая интерфейс командной строки, пользователь может легко работать практически мгновенно с ЛЮБЫМ дистрибутивом Linux, сокращая время, необходимое для ознакомления с системой из-за вариаций графического интерфейса.

Ядро ОС Linux

Linux - монолитное (большое) ядро операционной системы. Оно включает в себя все необходимые для работы системы драйверы (графические X11 и звуковые ALSA в т.ч.) и функционирует логически целостно. Однако, Linux так же поддерживает и динамическое, "горячее", подключение внешних модулей для поддержки оборудования, в виде которых и распространяются, например, закрытые (проприетарные) драйверы для видеокарт NVidia и AMD/ATI.

Монолитное ядро предоставляет богатый набор абстракций оборудования. Все части монолитного ядра работают в одном адресном пространстве. Это такая схема операционной системы, при которой все компоненты её ядра являются составными частями одной программы, используют общие структуры данных и взаимодействуют друг с другом путём непосредственного вызова процедур. Монолитное ядро — старейший способ организации операционных систем. Примером систем с монолитным ядром является большинство UNIX-систем.

Достоинства: Скорость работы, упрощённая разработка модулей.

Недостатки: Поскольку всё ядро работает в одном адресном пространстве, сбой в одном из компонентов может нарушить работоспособность всей системы.

Примеры: Традиционные ядра UNIX (такие как BSD), Linux; ядро MS-DOS, ядро KolibriOS.

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

Модульное ядро — современная, усовершенствованная модификация архитектуры монолитных ядер операционных систем.

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

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

Достоинства: Устойчивость к сбоям оборудования, ошибкам в компонентах системы. Основное достоинство микроядерной архитектуры — высокая степень модульности ядра операционной системы. Это существенно упрощает добавление в него новых компонентов.

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

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

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

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

Сервисные процессы (в принятой в семействе UNIX терминологии — «демоны») активно используются в самых различных ОС для задач типа запуска программ по расписанию (UNIX и Windows NT), ведения журналов событий (UNIX и Windows NT), централизованной проверки паролей и хранения пароля текущего интерактивного пользователя в специально ограниченной области памяти (Windows NT). Тем не менее, не следует считать ОС микроядерными только из-за использований такой архитектуры.

Примеры: Symbian OS; Windows CE; OpenVMS; Mach, используемый в GNU/Hurd и Mac OS X; QNX; AIX; Minix; ChorusOS; AmigaOS; MorphOS.

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

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

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

Гибридные ядра — это модифицированные микроядра, позволяющие для ускорения работы запускать «несущественные» части в пространстве ядра. Пример: ядра ОС Windows семейства NT.


 

Лекция №1.2. Виды и выбор дистрибутива для клиента/сервера. Требования к оборудованию

Цель: изучить виды дистрибутивов и научиться подпирать необходимый под заданные условия и задачи

Red Hat начиналась как простой дистрибутив, который представил Red Hat Package Manager (RPM). В конечном итоге разработчик сформировал вокруг него компанию, которая попыталась коммерциализировать рабочий стол Linux для бизнеса. Со временем Red Hat начала уделять больше внимания серверным приложениям, таким как веб- сервис и обслуживание файлов, и выпустила Red Hat Enterprise Linux (RHEL), который был платной услугой с длительным циклом выпуска. Цикл выпуска определяет, как часто обновляется программное обеспечение. Бизнес может ценить стабильность и иметь длительные циклы выпуска, в то время как любителю или стартапу может понадобиться последняя версия программного обеспечения и выбрать более короткий цикл выпуска. Чтобы удовлетворить последнюю группу, Red Hat спонсирует проект Fedora, что делает персональный рабочий стол с новейшим программным обеспечением, но по-прежнему построен на тех же принципах, что и корпоративная версия.

Поскольку все в Red Hat Enterprise Linux имеет открытый исходный код, появился проект под названием CentOS. Он перекомпилировал все пакеты RHEL (преобразовав их исходный код с языка программирования, на котором они были написаны, в язык, используемый системой) и раздал их бесплатно. CentOS и ему подобные (например, Scientific Linux) в значительной степени совместимы с RHEL и интегрируют некоторое более новое программное обеспечение, но не предлагают платную поддержку, как Red Hat.

Scientific Linux — это пример специального дистрибутива на основе Red Hat. Этот проект спонсируется Fermilab и предназначен для обеспечения научных вычислений. Помимо множества приложений, Scientific Linux используется с ускорителями частиц, включая Большой адронный коллайдер в ЦЕРНе.

SUSE, изначально производный от Slackware, был одним из первых всеобъемлющих дистрибутивов Linux, он во многом похож на Red Hat Enterprise Linux. Первоначальная компания была куплена Novell в 2003 году, а затем в 2011 году была приобретена группой Attachmate Group. Затем группа Attachmate объединилась с Micro Focus International в 2014 году, а в 2018 году SUSE объявила о планах развития в качестве независимого бизнеса. Благодаря всем слияниям и поглощениям SUSE удалось продолжить и расти.

В то время как SUSE Linux Enterprise содержит проприетарный код и продается как серверный продукт, openSUSE — это полностью открытая бесплатная версия с несколькими пакетами для настольных ПК, аналогичными CentOS и Linux Mint.

Debian — это скорее работа сообщества, и поэтому он также способствует использованию программного обеспечения с открытым исходным кодом и соблюдению стандартов. Debian разработал свою собственную систему управления пакетами, основанную на.debформате файла. В то время как Red Hat оставляет поддержку платформ, отличных от Intel и AMD, производным проектам, Debian поддерживает многие из этих платформ напрямую.

Ubuntu - самый популярный дистрибутив на основе Debian. Это продукт Canonical, компании, которая была создана для дальнейшего роста Ubuntu и зарабатывает деньги, оказывая поддержку. Ubuntu имеет несколько различных вариантов для настольных компьютеров, серверов и различных специализированных приложений. Они также предлагают версию LTS, которая обновляется в течение 3 лет на настольных компьютерах и 5 лет на серверах, что дает разработчикам и компаниям, с которыми они работают, уверенность в создании решений на основе стабильного дистрибутива.

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

Linux — это ядро, и многие команды, описанные в этом курсе, на самом деле являются частью пакета GNU. Вот почему некоторые люди настаивают на использовании термина GNU / Linux вместо одного только Linux.

Android, спонсируемый Google, - самый популярный в мире дистрибутив Linux. Он принципиально отличается от аналогов. Android использует виртуальную машину Dalvik с Linux, обеспечивая надежную платформу для мобильных устройств, таких как телефоны и планшеты. Однако из-за отсутствия традиционных пакетов, которые часто распространяются вместе с Linux (таких как GNU и Xorg), Android обычно несовместим с настольными дистрибутивами Linux.

Эта несовместимость означает, что пользователь Red Hat или Ubuntu не может загружать программное обеспечение из магазина Google Play. Точно так же в эмуляторе терминала в Android отсутствуют многие команды его аналогов в Linux. Однако можно использовать BusyBox с Android, чтобы большинство команд работало.

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

Linux From Scratch (LFS) — это больше средство обучения, чем рабочий дистрибутив. Этот проект состоит из онлайн-книги и исходного кода с «пошаговыми инструкциями» по созданию собственного дистрибутива Linux, начиная с исходного кода. Этот «дистрибутив» воплощает истинный дух Linux, благодаря которому пользователи могут изменять любой аспект операционной системы и узнавать, как все части работают вместе. Это также хорошая отправная точка для всех, кому нужны специализированные функции или сверхкомпактная сборка для проекта встраиваемой системы.

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

Выбор дистрибутива

CentOS – для сервера

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

Плюсы: Высокий уровень безопасности

Минусы: Сложности использования Microsoft технологий

Альтернатива: Rocky Linux — это операционная система для предприятий, разработанная для того, чтобы быть на 100% совместимой с Red Hat Enterprise Linux в условиях, когда CentOS изменила направление

Процессор: чип с тактовой частотой 1 гигагерц.

Оперативная память: 1 гигабайт или больше.

Жесткий диск: 5 гигабайт свободного пространства на жестком диске.

Fedora

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

Плюсы: простота в использовании

Минусы: длительный запуск системы

Альтернатива: Ubuntu Mate - стабильная, простая в использовании операционная система с настраиваемой рабочей средой.

Процессор: чип с тактовой частотой не менее 1 гигагерц.

Оперативная память: 1 гигабайт или больше.

Жесткий диск: 15 гигабайт свободного пространства на жестком диске.


 

Доступ к командной строке

Интерфейс командной строки (CLI) - это простая система ввода текста для ввода чего угодно, от команд из одного слова до сложных сценариев. Большинство операционных систем имеют интерфейс командной строки, который обеспечивает прямой доступ к компьютеру и управление им.

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

Терминал GUI - это программа в среде GUI, которая имитирует окно терминала. Доступ к терминалам с графическим интерфейсом пользователя можно получить через систему меню. Например, на компьютере с CentOS вы можете щелкнуть «Приложения » в строке меню, затем «Системные инструменты»> и, наконец, «Терминал ». Если у вас есть инструменты поиска, вы можете найти терминал, как показано здесь.

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

Каждый дистрибутив Linux для настольных ПК немного отличается, но терминал приложения или x-term откроет окно терминала из графического интерфейса. Хотя есть тонкие различия между терминами " консоль" и " сеанс окон терминала», они все одинаковы с точки зрения администратора и требуют одинакового знания команд для использования.

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

Приложения

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

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

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

Ядро также выполняет переключение приложений - процесс, известный как многозадачность. Компьютерная система имеет небольшое количество центральных процессоров (ЦП) и ограниченный объем памяти. Ядро выполняет выгрузку одной задачи и загрузку новой, если потребности больше, чем доступных ресурсов. Когда одна задача выполняется в течение определенного времени, ЦП приостанавливает ее, чтобы другая могла работать. Если компьютер выполняет несколько задач одновременно, ядро ​​решает, когда переключить фокус между задачами. При быстром переключении задач создается впечатление, что компьютер делает много вещей одновременно.

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

Основные приложения

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

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

Программное обеспечение Linux обычно попадает в одну из трех категорий:

Серверные приложения

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

Настольные приложения

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

Инструменты

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

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

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

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


 

Горячие клавиши

Копирование команд

Часто вам придётся следовать каким-либо инструкциям, которые требуют копирования команд в терминал. Наверное, вы удивитесь, когда обнаружите, что текст, скопированный вами с интернет-страницы при помощи комбинации клавиш Ctrl+С, не вставляется в терминал при нажатии Ctrl+V. И что, неужели придётся перепечатывать все эти команды и имена файлов вручную? Нет, расслабьтесь! Вставить текст в терминал можно тремя способами: Ctrl+Shift+V, нажатием средней кнопки мыши или правой кнопки мыши и выбором строки «Вставить».

Экономия набора

↑ или Ctrl+P прокрутка недавно использованных команд вверх
↓ или Ctrl+N прокрутка недавно использованных команд вниз
Enter выполнение выбранной команды
Tab крайне удобная возможность - автозаподстановка команд и имён файлов. Если с выбранных символов начинается только одна команда, подставится именно она, а если их несколько,то по двойному нажатию tab выведется список всех возможных вариантов.
Ctrl+R поиск по командам, которые вы вводили раньше. Если вам нужно повторно выполнить очень длинную и сложную команду, вы можете ввести только её часть, а эта комбинация клавиш поможет найти команду целиком.
History Команда history выводит список всех команд, которые вы вводили. Каждой команде будет присвоен номер. Чтобы выполнить команду под номером x, просто введите «!x». Если у вас получилась слишком длинная история, можно попробовать «history I less», это сделает список прокручиваемым.

Изменение текста

Здесь мышь не работает. Используйте стрелки влево/вправо, чтобы перемещаться по строке.

Ввод с клавиатуры будет добавлять символы. Существующий текст удаляться не будет.

ctrl+a или Home перемещает курсор в начало строки
ctrl+e или End перемещает курсор в конец строки
ctrl+b перемещает курсор в начало предыдущего или текущего слова
ctrl+k удаляет текст с текущей позиции курсора до конца строки
ctrl+u удаляет всю текущую строку
ctrl+w удаляет слово перед курсором

Программная оболочка

Консоль и терминал обрабатывают команды с помощью программной оболочки.
Программная оболочка - интерпретатор команд, он распознает команды введенные в командной строке, и запускает программы для выполнения команды.
В Ubuntu по умолчанию используется оболочка bash, он распознает команды на языке bash.
Bash можно заменить на другую оболочку, их существует несколько.

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

Команды

Команды - это предопределенный набор букв, цифр, символов, которые можно ввести в командной строке и выполнить нажав энтер.

Команды делятся на два вида:

команды встроенные в программную оболочку (например history)

команды управляющие программами, установленными в системе

Команды для управления программами строятся по такой схеме:

название_программы -ключ значение


Название програмы - это название исполняемого файла из каталогов записанных в переменной $PATH (/bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin и др.) или полный путь к исполняемому файлу (/opt/deadbeef/bin/deadbeef)
Ключ - пишется после названия программы, например -h, у каждой программы свой набор ключей, они перечислены в справке к программе, ключи используются для указания какие настройки использовать или какое действие выполнить
Значение - адрес, цифры, текст, спецсимволы (*, ~, \, &, «», _), переменные ($HOME, $USER, $PATH)

Выполнить команды можно следующим образом:

набрать команду в командной строке и нажать Enter

скопировать команду из инструкции и вставить ее в командную строку, затем нажать Enter

создать скрипт и выполнить двойным нажатием мыши (создать текстовый файл, в первой строке написать #!/bin/bash, ниже написать команд



Поделиться:


Последнее изменение этой страницы: 2021-03-09; просмотров: 121; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.222.69.152 (0.086 с.)