Что не является компонентом системы linux ядро системные библиотеки системные утилиты приложения

Обновлено: 02.07.2024

1. Основные архитектурные компоненты Linux: ядро, shell, X Window.

2. Файловая структура Linux: каталоги и файлы; управление файлами и файловыми системами.

3. Система команд в Linux. Конвейеры команд. Перенаправление ввода-вывода.

4. Конфигурирование ядра Linux.

Основные архитектурные компоненты Linux: ядро, shell, X Window

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

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

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

В табл. 1 дан перечень команд для работы с модулями ядра.

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

Команды для работы с модулями ядра

Команда Описание
Ismod insmod rmmod depmod modprobe Вывод списка всех модулей, установленных в данный момент в работающем ядре Установка модуля в работающем ядре. Необходимо указать имя модуля и, возможно, несколько дополнительных параметров, описывающих его поведение (например, IRQ и адреса устройств) Удаление модуля из работающей системы. Необходимо соблюдать осторожность, чтобы не удалить модуль, используемый другими модулями. О взаимозависимости загруженных модулей можно судить по результатам выполнения команды Ismod Создание файла зависимостей, который команда modprbbe использует для загрузки набора модулей Загрузка набора модулей, определенного командой depmod

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

Версия любого ядра Linux задается тремя числами major.minor.patch (большая.малая.обновление). Крупные изменения в ядре соответствуют изменению номера major. Менее значимые изменения могут сопровождаться только изменением номера minor. Отлаженные и проверенные версии имеют четный номер minor. Версии, находящиеся в стадии доработки имеют нечетный номер minor. По мере устранения ошибок и генерации обновлений появляются версии с очередными patch-номерами.

За взаимодействие с пользователем в Linux отвечают специальные программы. Существует два вида таких программ – оболочка shell для работы в текстовом режиме (интерфейс командной строки) и графический интерфейс пользователя (GUI), организующий взаимодействие с пользователем в графическом режиме. Причем любая программа в Linux может быть запущена как через оболочку (если запущен X-сервер), так и через графический интерфейс пользователя (GUI). Запуск программ из оболочки эквивалентен двойному щелчку мышкой по иконке программы в GUI. Некоторые программы не приспособлены для запуска через GUI, так что можно сказать, что существуют программы, предназначенные для исполнения только из командной строки (через оболочку).

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




bash использует несколько символов из числа 256 символов набора ASCII в специальных целях, либо для обозначения некоторых операций, либо для преобразования выражений. В число таких символов входят символы

а также символ с кодом 0, символ возврата каретки (генерируемый клавишей [Enter] и пробел.

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

Основой концепции ядра X Window является технология "клиент-сервер". На практике это означает, что X Window обеспечивает среду, которая не связана с единственным процессором. Приложение может выполняться на каком-либо сервере или компьютере сети, но отображается (с помощью X Window) на терминалах или рабочих станциях в любом другом месте сети.


Рис. 1. Архитектура графической системы в Linux

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

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

В представлении цветного фона в X Widows нет сложных рамок окна и меню, нет и других элементов, которые создают завершенный пользовательский графический интерфейс. Эти элементы обеспечиваются вторым приложением – диспетчером окон. Рабочий стол X Window, реализуется с использованием диспетчера окон fvwm95.

Диспетчер окон взаимодействует с X сервером стандартным, заранее предопределенным образом, как обычно взаимодействует X сервер с X приложением. Это значит, что различные диспетчеры окон с различными деталями интерфейса могут взаимодействовать этим стандартным способом с X сервером. Разнообразные доступные X серверы, которые часто поддерживают графические адаптеры, мониторы и другое оборудование, также стандартным образом могут работать с приложениями.

Ядром X Window системы является X сервер. Он выполняет следующие задачи:

· поддержка различных типов видеоадаптеров и мониторов;

· управление разрешением, частотой регенерации и глубиной цвета изображения;

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

Существует множество X серверов, реализующих эти возможности. Для Linux наиболее часто используются XFree86.

Практически во всех некоммерческих версиях Linux X сервером является XFree86. Это некоммерческий X сервер с доступным исходным кодом, причем пользователи могут самостоятельно его изменять и распространять. XFree86 Web-сервер разработан для поддержки широкого спектра аппаратуры персональных компьютеров, работающих на платформе Intel x86, но современные версии этого сервера поддерживают и другие платформы, такие как Compaq Alpha, PowerPC, Spare и MIPS.

Особенностями XFree86-сервер является:

· унифицированная архитектура (Modular Architectural Design) Х-сервера.

· поддержка нескольких графических адаптеров.

· независимость от операционной системы.

С унифицированным X сервером XFree86 версии 4 возможна поддержка различных типов графических адаптеров без реконфигурации. С динамическим загрузчиком XFree86 версии 4 больше не зависит от драйверных библиотек Linux (или любой другой операционной системы, базирующейся на Unix). С расширениями GLX сервер XFree86 теперь поддерживает трехмерный рендеринг на основе 3-D графического языка OpenGL фирмы Silicon Graphics. Поддержка FreeType позволяет использовать шрифты TrueType в XFree86.

Диспетчеры окон позволяют GUI выйти за рамки возможностей, обеспечиваемых X серверами. В частности, диспетчеры окон добавляют пользовательские средства управления окнами (например, для изменения размеров, передвижения, закрытия и минимизации окон) и механизмы для запуска приложений (меню рабочего стола, панели управления и панели инструментов).

Диспетчеры FVWM и fvwm95.

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

Рабочий стол – это больше, чем диспетчер окон. Рабочий стол должен обеспечивать полный интерфейс GUI. При использовании простого диспетчера окон нет гарантий "мирного сосуществования" методов отображения/управления приложения и соответствующих возможностей другой операционной системы (например, метод "перенести-и-оставить" (drag-and-drop) между приложениями или внедрение данных из одного приложения в другое).

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

Два рабочих стола – К Desktop Environment и GNOME – свободно распространяются и позиционируются как конкуренты рабочего стола Linux, являющегося стандартом de facto.

К Desktop Environment.

KDE (К Desktop Environment) объединяет ряд приложений (диспетчер файлов, эмулятор терминала и утилита конфигурирования дисплея) с диспетчером окон, обеспечивая непротиворечивые механизмы отображения/управления для Х-приложений.

КDЕ по умолчанию используется как рабочий стол для ряда дистрибутивов Linux, включая Caldera, S.u.S.E. и Corel. Он представляет собой альтернативный вариант для большинства других дистрибутивов.

GNOME: сетевая объектная модель окружения GNU.

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

Подготовка к конфигурированию X Window.

Для настройки графического интерфейса необходимо учитывать особенности построения и работы видеосистемы компьютера.

Видеосистема компьютера состоит из видеоадаптера и монитора.

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

Функцию управления монитором осуществляет видеоадаптер. Видеоадаптер передает в монитор три сигнала: видео сигнал (RGB), строчную синхронизацию (HS), кадровую синхронизацию (VS). По сигналу горизонтальной (строчной) синхронизации происходит возврат луча с конца каждой строки к началу следующей, а сигнал вертикальной (кадровой) синхронизации определяет момент возврата луча из правого нижнего угла экрана в верхний левый. Частоты генерации этих двух сигналов (измеряемые числом импульсов в секунду) необходимо знать для правильной установки и настройки X сервера. Значения частот горизонтальной и вертикальной синхронизации должны быть указаны в документации к монитору. Частота вертикальной синхронизации (обозначим ее VSF) обычно указывается в герцах (Hz) и находится в пределах 50 - 180 Гц. Частота горизонтальной синхронизации (HSF) задается в килогерцах (KHz) и принимает значения в диапазоне от 31 до 135 КГц.

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

Есть еще одна важная частота – число точек, которые могут быть отображены на экране за одну секунду. Электронный луч перемещается по экрану с конечной скоростью (которая ограничена не скоростью перемещения самого луча, а параметрами микросхем видеоадаптера). В английской документации эта частота называется "the card's dot clock". Эта частота называется тактовой частотой развертки и обозначается как DCF (dot clock frequency).

Следующий существенный параметр – это частота обновления экрана (SRR - screen refresh rate). Чем выше эта частота, тем меньше устают глаза при работе с компьютером, потому что уменьшается мерцание экрана. Но задать очень большое значение частоты обновления экрана невозможно, потому что она не может быть больше, чем тактовая частота развертки (DCF), поделенная на произведение числа точек в строке и числа строк на экране. На самом деле частота обновления экрана еще меньше, потому что на перемещение электронного луча от конца строки в начало следующей и из левого нижнего угла экрана в правый верхний требуется некоторое время (то есть дополнительные такты работы тактового генератора видеоадаптера). Кроме того, для создания четких границ изображения на экране, электронный луч обычно перемещается на несколько точек левее и правее видимой части изображения, а также пробегает одну-две строки выше и ниже изображения (это темные полосы, окружающие изображение на экране). Поэтому фактически число необходимых для вывода изображения точек в строке (обозначается HFL - Horizontal Frame Length – размер фрейма по горизонтали) и число необходимых строк на экране (Vertical Frame Length -VFL) больше, чем размеры видимого изображения. Точнее

HFL = (число невидимых точек слева) + (число видимых точек в строке) + (число невидимых точек справа) + (число тактов, необходимых для перевода луча к началу новой строки).

Аналогичное соотношение действует для размера фрейма по вертикали - VFL и поэтому имеет место формула:

SRR = DCF / (HFL * VFL).


Именно эта частота и является частотой обновления экрана (SRR = VSF) и должна лежать в границах, заданных для частоты вертикальной синхронизации монитора. Таким образом, частота вертикальной синхронизации монитора и тактовая частота видеоадаптера накладывают ограничения на предельное разрешение изображения на экране.

Еще одно ограничение накладывается объемом памяти на плате видеоадаптера. Цвет каждой отдельной точки на экране формируется путем смешивания трех основных цветов: красного (R), зеленого(G) и голубого(B). Интенсивность каждого из этих трех цветов определяется уровнем сигнала в соответствующем луче (в цветном мониторе каждая точка высвечивается тремя электронными лучами, которые одновременно направлены в данную точку). Изображение для вывода на экран формируется в видеопамяти, которая физически расположена на плате видеоадаптера, но входит в общее адресное пространство оперативной памяти компьютера. Изображение хранится в памяти в цифровом виде, и преобразование его в аналоговый сигнал RGB является одной из основных задач видеоадаптера, для чего на плате видеоадаптера обычно ставится цифро-аналоговый преобразователь (ЦАП).

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

Формула, определяющая ограничения на разрешение экрана и количество воспроизводимых цветов, очень проста:

(Объем видеопамяти в байтах) >= (число видимых точек в строке) х (число видимых строк на экране) * (число байт на точку).

Например, если нужно выбрать разрешение экрана 1024 х 768 и иметь 16 миллионов цветов для каждой точки (4 байта на точку), то необходимо иметь 1024х768х4=3145728 байт памяти.

Прежде чем приступить к конфигурированию, необходимо собрать указанную информацию об оборудовании, чтобы при оптимизации X Window не повредить монитор. После конфигурирования программа создает конфигурационный файл, который в Linux записывается в каталог /etc/X11 под именем XR86Config.

Для тестирования конфигурации необходимо запустить X Windows.

Для запуска X Windows вводится следующая команда: $ startx

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

Для работы в X Window можно входить в систему с правами обычного либо корневого пользователя. Однако не следует без особой надобности пользоваться учетной записью корневого пользователя: избыток прав влечет за собой риск повреждения важных системных файлов.

Неудачный запуск X Window означает реальные трудности. Возможны три проявления неудачного запуска:

· экран переключается в графический режим, но остается совершенно пустым;

· экран переключается в графический режим и тут же возвращается в текстовый с командной строкой.

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

В двух других случаях (когда происходит переключение в графический режим, не более того) надо проверить конфигурацию запуска X Windows и диспетчера окон.

45 вопросов по Linux и ответы на них, изображение №1

Linux — это бесплатная операционная система с открытым исходным кодом, основанная на ядре Linux.

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

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

Linux состоит из 4 основных компонентов:

  • Ядро: это ядро системы Linux. Он отвечает за взаимодействие с аппаратными компонентами и обеспечивает взаимодействие операционной системы с аппаратными устройствами.
  • Оболочка: Оболочка — это интерфейс между пользователем Linux и ядром. Именно в оболочке команды назначаются пользователем и затем выполняются операционной системой.
  • Системные библиотеки: это специальные программы или функции, которые отвечают за реализацию большинства функций операционной системы, не полагаясь на права доступа к коду модулей ядра.
  • Системные утилиты. Это специальные программы, выполняющие определенные задачи. например, LibreOffice, Brasero, Gparted.

2. Что такое ядро Linux?

Ядро Linux является главным компонентом системы Linux.

Оно связывает базовое оборудование с операционной системой.

Как понизить версию ядра в Linux

3. В чем разница между Linux и Unix?

Linux — это форк системы UNIX.

В то время как Linux является открытым исходным кодом и бесплатен в использовании, UNIX является проприетарной операционной системой.

4. Что такое inode в Linux? Как найти индекс, связанный с файлом?

Инод (индексный узел) — это структура данных в файловой системе в стиле Unix, которая описывает объект файловой системы, такой как файл или каталог.

Когда создается файл, ему присваивается имя и номер индекса, который является целым числом, уникальным в файловой системе.

Как получить общее количество инодов раздела root

5. Что такое оболочка Linux? Как проверить текущую оболочку?

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

Чтобы проверить используемую оболочку, выполните команду:

6. Какой командой найти количество памяти и используемую подкачку?

Используйте команду free

7. Различия между жесткой и символической ссылкой?

а) Жесткая ссылка не может быть создана для каталогов. Жесткая ссылка может быть создана только для файла.

б) Символические ссылки или симлинки могут ссылаться на каталог.

в) удаление исходного файла, на который указывает твоя жесткая ссылка, не удаляет саму жесткую ссылку; Жесткая ссылка по-прежнему предоставляет содержимое основного файла.

г) Если вы удалите жесткую ссылку или символическую ссылку, исходный файл останется без изменений.

e) Удаление исходного файла не удаляет вложенную символическую ссылку, но без исходного файла символическая ссылка бесполезна

8. Объясните права на файлы в Linux?

В Linux существует 3 основных типа прав доступа к файлам: чтение, запись и выполнение.

Эти разрешения могут быть назначены либо файлу, либо каталогу рекурсивно.

Будучи многопользовательской системой, вы можете назначать эти права пользователю root, группам или другим пользователям, использующим систему.

  • Чтение: В разрешениях на чтение используется возможность открывать и читать файл.
  • Запись: Разрешение на запись позволяет пользователю открывать, изменять или редактировать содержимое файла и сохранять изменения.
  • Выполнить: Это позволяет пользователю выполнять или запускать исполняемый файл или программу или скрипт оболочки.

StickyBit, SUID и SGID в Linux с примерами

9. Как создать и удалить каталог в Linux?

Чтобы создать каталог, используйте команду mkdir, как показано далее:

Например, чтобы создать каталог с именем «data», выполните команду:

Чтобы удалить каталог на Linux, используйте команду rm или rmdir.

  • Команда rmdir используется для удаления пустых каталогов.
  • Команда rm в основном используется с флагом -R для рекурсивного удаления каталогов.

10. Как создавать файлы в Linux?

Для создания файлов используйте команду touch.

Например, чтобы создать файл file1.doc, выполните команду:

Вы также можете использовать команду cat, за которой следует оператор перенаправления или знак «больше»>
сопровождаемый именем файла.

Затем введите содержимое файла и, наконец, нажмите CTRL + D, чтобы выйти из файла.

Введите содержимое файла и нажмите CTRL + D

11. Как переименовать файл и каталог в Linux?

Чтобы переименовать файлы, используйте команду mv.

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

Например, чтобы переименовать файл file1.doc в каталоге /data/files на file2.doc, выполните команду:

mv /data/files/file1.doc /data/files/file2.doc

12. Как копировать файлы и каталог в Linux?

Чтобы скопировать файлы в Linux, используйте команду cp.

Синтаксис довольно прост:

cp /source/of/the/file /destination/of/the/file

13. Как составить список и смонтировать устройства в Linux?

Для просмотра списка точек монтирования выполните команду:

Чтобы найти больше информации о точках монтирования в вашей системе, выполните команду:

Кроме того, вы можете использовать команду cat:

Также вы можете использовать команду mount, как показано далее:

14. Как создать пустой файл в Linux?

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

15. Как запланировать задачу в Linux? Что такое crontab и объясните поля в crontab?

Cron — это демон, который выполняет команды в определенные даты и время в Linux.

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

Crontab — это программа, используемая для установки, удаления или перечисления таблиц, используемых для управления демоном cron на сервере.

Каждый пользователь может иметь свой собственный crontab, и, хотя это файлы в /var/spool/cron/crontabs, они не предназначены для непосредственного редактирования.

Вот несколько параметров командной строки crontab:

  • crontab -e Отредактировать файл
  • crontab -l Показать файл
  • crontab -r Удалить файл

Традиционный формат cron состоит из шести полей, разделенных пробелами:

<Minute> <Hour> <Day_of_the_Month>
<Month_of_the_Year> <Day_of_the_Week> <command/program to
execute>

Формат объясняется следующим образом:

  • * * * * *
    | | | | | |
    | | | | | +—Год (диапазон: 1900-3000)
    | | | | +—- День недели (диапазон: 1-7, 1 — понедельник)
    | | | +—— Месяц года (диапазон: 1-12)
    | | +——— День месяца (диапазон: 1-31)
    | +———- Час (диапазон: 0-23)
    +———— Минута (диапазон: 0-59)

17. Как добавить двоичный файл в переменную $PATH?

18. Объясните команду Grep и регулярные выражения?

Команда Grep — это выражение, используемое для фильтрации результатов или вывода.

Например, чтобы вывести список каталогов и искать только файлы со словом «cron», выполните команду:

19. В чем разница между umask и ulimit?

Umask расшифровывается как «User file creation mask», которая определяет настройки маски, которая определяет, какие права доступа к файлам устанавливаются для файлов и каталогов при их создании.

А ulimit — это встроенная команда linux, которая обеспечивает контроль над ресурсами, доступными для оболочки и / или запускаемым ею процессам.

Вы можете ограничить пользователя определенным диапазоном, отредактировав /etc/security/limits.conf, в то же время общесистемные настройки могут быть обновлены в /etc/sysctl.conf

20. Объясните вывод команды ls в Linux?

Команда ls выводит содержимое каталога в Linux.

Она отображает файлы и подкаталоги внутри каталога.

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

21. Объясните вывод команды top в Linux?

Команда top — это утилита мониторинга, которая дает пользователю представление о системных показателях, таких как время безотказной работы, средняя загрузка,% ЦП и % использования памяти.

22. Каковы состояния процесса в Linux?

Состояния процесса, как следует из названия, относится к текущему состоянию процесса Linux.

Существует 4 состояния процесса, а именно: Запуск, ожидание, остановка и зомби.

23. Как сделать резервную копию или архивировать файлы в Linux (команда tar)?

Чтобы создать резервную копию каталога, просто запустите команду tar:

$ tar -cvf tarball_name.tar /path/to/directory

Например, чтобы создать архив в формате tar.gz файла sales.txt в /data/reports/path, выполните:

$ tar -cvf sales.tar.gz /data/reports/sales.txt

Вы также можете заархивировать весь каталог, как показано тут:

$ tar -cvf repors.tar.gz /data/reports/

24. Как остановить запущенный процесс в Linux?

Чтобы остановить запущенный процесс, используйте команду kill, за которой следует PID процесса.

Например, чтобы остановить процесс с PID 3836, выполните команду

25. Как искать файлы в linux?

Для поиска файлов в Linux используйте команду locate или find

Как использовать на Linux команду find для поиска файлов

26. Как проверить, работает ли конкретный сервис?

Чтобы проверить, работает ли служба, используйте синтаксис: systemctl status service_name

Например, чтобы проверить, работает ли Postfix, выполните команду: systemctl status postfix

27. Как запустить сервис при перезагрузке?

Чтобы запустить службу при запуске перезагрузки, используйте синтаксис:

systemctl enable service_name

28. Как запустить и остановить службу?

Чтобы запустить службу в системе systemd, выполните команду:

systemctl start service_name

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

systemctl start sshd

Чтобы остановить службу, запустите:

systemctl stop service_name

Чтобы остановить запуск SSH:

systemctl stop sshd

29. Как выполнить удаленный вход на другой компьютер Linux?

Вы можете войти на удаленный компьютер Linux, используя протокол SSH или службу VNC.

30. Как проверить использование диска?

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

Кроме того, используйте команду du для проверки использования определенными файлами и каталогами.

31. Зачем использовать команду export?

Для экспорта командных меток и экспорта переменных среды.

32. Как узнать версию ядра с нескольких серверов Linux, используя скрипт bash?

33. Какие минимальные требования для установки Linux?

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

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

Тем не менее, любой дистрибутив Linux должен работать с ПК со следующими минимальными требованиями:

34. Как установить права доступа к файлам / каталогам Linux?

Чтобы установить права доступа к файлу, используйте команду chmod, затем восьмеричное или символическое значение, а затем имя файла или имя каталога.

Например, чтобы назначить файлу права 664:

chmod 664 filename

Чтобы назначить права для каталога, используйте опцию -R для рекурсивного назначения разрешений.

chmod -R 664 directory_name

35. Как установить владельца для файлов / каталогов?

Чтобы установить владельца файла, используйте команду chown.

chown user:user filename

Для каталога используйте опцию -R для рекурсивного назначения разрешений. Например

chown -R user:user directory_name

36. Как создать пользователя и группу в Linux?

Чтобы создать пользователя, запустите команду adduser user_name :

37. Как найти версию ядра / ОС в Linux?

Запустите команду uname -a

38. Как узнать IP-адрес интерфейса?

Вы можете легко найти IP-интерфейс, выполнив команду ifconfig имя_интерфейса или используя команду ip (рекомендуется).

39. Что такое образ initrd?

Начальный RAM-диск (initrd) — это исходная корневая файловая система, которая монтируется до того, как будет доступна настоящая корневая файловая система.

Initrd привязан к ядру и загружен как часть процедуры загрузки ядра.

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

Таким образом, образ initrd играет жизненно важную роль в процессе загрузки Linux.

40. Объясните термины suid, sgid и sticky bit?

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

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

SGID: То же, что и выше, но наследует групповые привилегии файла при исполнении, а не привилегии пользователя. Аналогичным образом, когда вы создаете файл в каталоге, он наследует групповое владение каталогами.

Sticky bit: Sticky bit использовался в исполняемых файлах Linux, чтобы они оставались в памяти больше времени после первоначального выполнения, надеясь, что они понадобятся в ближайшем будущем. Но в основном это касается папок, что подразумевает, что файл или папка, созданные в папке с поддержкой stickybit, могут быть удалены только владельцем. Очень хорошая реализация sticky-бита — это /tmp, где каждый пользователь имеет разрешение на запись, но удалить его могут только пользователи, владеющие файлом.

41. Что такое уровни запуска в linux и как их изменить?

Уровень выполнения — это состояние init и всей системы, которое определяет, какие системные службы работают, и они идентифицируются по номерам.

Существует 7 различных уровней выполнения (уровень выполнения 0-6) в системе Linux для различных целей.

Описания приведены ниже.

Чтобы изменить уровень выполнения, отредактируйте файл «/etc/inittab» и измените запись initdefault (id: 5: initdefault :).

Если мы хотим изменить уровень запуска на лету, это можно сделать с помощью команды «init».

Например, когда мы вводим «init 3» в командной строке, это переместит систему с текущего уровня выполнения на runlevl 3.

Текущий уровень можно просмотреть, введя команду ‘who -r’

42. Что такое SeLinux?

SELinux — это аббревиатура от Security-enhanced Linux.

Это реализация контроля доступа и функция безопасности для ядра Linux.

Он предназначен для защиты сервера от неправильной настройки и / или скомпрометированных демонов.

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

43. Что такое dev/null ?

Псевдоустройство /dev/null — это, своего рода, "черная дыра" в системе.

44. В чем разница между виртуальным хостингом на основе имени и виртуальным хостингом на основе IP?

Виртуальные хосты используются для размещения нескольких доменов на одном экземпляре Apache.

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

Последнее называется «ame based vhosts».

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

Но для этого вам нужно поместить более одной записи DNS для вашего IP-адреса в базу данных DNS.

Linux – многопользовательская и многозадачная ОС с полным набором UNIX -совместимых инструментов.

Ее файловая система соответствует традиционной семантике UNIX . Она полностью реализует стандартную сетевую модель UNIX .

Основные цели проектирования Linux – скорость, эффективность и стандартизация.

ОС Linux разработана как система, совместимая со стандартами POSIX по крайней мере два дистрибутива Linux были официально сертифицированы как совместимые с POSIX . Программный интерфейс Linux соответствует семантике диалекта SVR4 UNIX (разработанного фирмой AT&T), но не диалекта BSD UNIX (разработанного университетом Беркли).

Компоненты системы Linux изображены на рис. 25.2.

Компоненты системы Linux.

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

Ядро отвечает за поддержку основных концепций (абстракций) ОС.

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

Весь код и структуры данных ядра хранятся и исполняются в едином адресном пространстве .

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

Системные утилиты выполняют индивидуальные специфические задачи.

Загружаемые модули ядра Linux

Одним из важнейших новшеств в ядре Linux являются загружаемые модули ядра ( loadable kernel modules, LKM ), появившиеся в версии 1.2. Они обеспечивают ядру гибкость и функциональность.

Части (секции) кода ядра могут компилироваться, загружаться и выгружаться, независимо от остальной части ядра.

Модуль ядра может реализовывать драйвер устройства , файловую систему или сетевой протокол .

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

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

Три компоненты модуля Linux поддерживают:

  • Управление модулем
  • Регистрацию драйвера
  • Разрешение конфликтов .

Компонента управление модулем управляет загрузкой модуля в память и его взаимодействием с остальной частью ядра.

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

  • Управление частями кода модуля в памяти ядра
  • Управление символами, на которые модуль разрешает ссылаться.

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

Схема исходного кода загружаемого модуля ядра Linux изображена на рис. 25.3.

Схема исходного кода загружаемого модуля ядра Linux.


увеличить изображение
Рис. 25.3. Схема исходного кода загружаемого модуля ядра Linux.

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

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

Таблицы регистрации включают следующие элементы:

  • Драйверы устройств
  • Файловые системы
  • Сетевые протоколы
  • Двоичные форматы.

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

Цели модуля разрешения конфликтов :

  • Предотвратить конфликты, связанные с использованием аппаратуры
  • Предотвратить автопроверки ( autoprobes) от пересечения с уже существующими драйверами устройств
  • Разрешить конфликты различных драйверов, пытающихся иметь доступ к одной и той же аппаратуре.

Управление процессами в Linux

В классической системе UNIX средства управления процессами разделяют создание процесса и запуск новой программы на две различные операции :

  • Системный вызов fork создает новый процесс
  • Новая программа запускается с помощью системного вызова exec .

В UNIX процесс содержит всю информацию, которую ОС должна поддерживать для реализации концепции отдельного исполнения отдельной программы.

В системе Linux свойства процесса делятся на три группы: идентификация процесса, его окружение и контекст.

Идентификатор процесса (PID) - уникальный идентификатор процесса (число); используется для указания процессов в операционной системе, когда приложение выполняет системный вызов signal, modify или wait для другого процесса.

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

Идентификация личности (Personality).Хотя это и нетрадиционно для систем типа UNIX , в Linux каждый процесс имеет уникальный идентификатор личности, с помощью которого возможна некоторая модификация семантики ряда системных вызовов. Он используется главным образом в библиотеках эмуляции, для запроса о совместимости системных вызовов с тем или иным специфическим диалектом UNIX .

Окружение процесса наследуется от процесса-родителя. Состоит из двух векторов, завершающихся нулями:

  • Вектор аргументов содержит список аргументов командной строки , использованный при вызове исполняемой программы; традиционно начинается с имени самой программы
  • Вектор окружения – список пар "NAME=VALUE", которые связывают переменные окружения с заданными именами и их произвольные текстовые значения.

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

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

Контекст процесса – это постоянно изменяющееся состояние исполняемой программы в любой момент времени.

Контекст планирования – наиболее важная часть контекста процесса; это информация , которую использует планировщик для приостановки и запуска процесса .

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

Таблица файлов – это вектор указателей на системные файловые структуры. При выполнении системных вызовов для ввода-вывода процессы ссылаются на эти структуры с помощью индексов в таблице файлов.

В то время как таблица файлов содержит список открытых файлов, контекст файловой системы применяется для запросов об открытии новых файлов. Здесь хранятся ссылки на текущую корневую ( root ) директорию и рабочую ( default ) директорию для поиска файлов.

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

Контекст виртуальной памяти процесса определяет все содержимое его персонального адресного пространства.

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

Различие проявляется только в случае, когда новый поток создается системным вызовом clone:

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

Использование системного вызова clone дает процессам возможность явного контроля над тем, какие ресурсы совместно используются потоками.

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

Идентификатор администратора системы (пользователя root ) равен:

(1) Аппаратно реализованная часть загрузки системы, в отличие от вторичного загрузчика, реализованного программно

(2) Программа, записанная в ПЗУ, определяющая местонахождение и тип операционной системы

(3) Программа, работающая со стартовым виртуальным диском, в отличие от вторичного загрузчика, работающего с полным вариантом системы

(4) Маленькая программа в заранее известном месте диска, задача которой — найти и загрузить вторичный загрузчик

(1) Любой тип объектов файловой системы, кроме собственно файлов и каталогов

(2) Особый объект файловой системы, называемый также символьным устройством

(3) Класс объектов файловой системы, обмен данными с которыми не приводит к обращению к содержимому какого-либо определённого файла

(1) Полностью определяет состояние работающей системы

(2) Полностью определяет поведение системы на данном пользовательском наполнении

(4) о размере и атрибутах каждого файла, принадлежащего пакету

Разделение сетевых протоколов на уровни не позволяет

(1) Интерпретировать данные более высокого уровня независимо от того, каким способом они были получены на более низком уровне

(2) Одновременно обмениваться данными посредством нескольких различных сред передачи данных

(3) Передавать несколько пакетов более высокого уровня в одном пакете более низкого уровня

(4) Передавать один пакет более высокого уровня с помощью нескольких пакетов более низкого уровня

Какой параметр сети можно задавать с помощью утилиты ifconfig ?

(4) Список интерфейсных адресов абонентов локальной сети

В оконном интерфейсе субъектом с точки зрения системы является

(3) задача, выводящая и вводящая данные в рамках окна

Для редактирования «плоского» текста на удалённом компьютере пользователю потребуется

(2) Клиент Secure Shell на рабочей станции и текстовый редактор ( vim , ncedit или joe ) на удалённом компьютере

(3) Любой текстовый редактор на рабочей станции, имеющий встроенный сервер Secure Shell

(1) указать, кто является обладателем всех прав на это программное обеспечение

(2) определить круг прав пользователя по отношению к этому программному обеспечению

(3) определить, на каких условиях можно продавать данное программное обеспечение

(4) сделать данное программное обеспечение свободным

Основное средство взаимодействия пользователя и ОС Linux

(2) файл особого типа, содержащий ссылки на другие файлы и каталоги

(3) список подкаталогов следующего уровня вложенности

Уникальным идентификатором файла в файловой системе является:

(4) номер индексного дескриптора каталога, в котором находится файл

(3) UID и GID объекта, список GID, членом которых является хозяин объекта, тип объекта и его атрибуты

(1) программа, которая читает со стандартного ввода, а выводит на стандартный вывод

(2) связанная пара дескрипторов, где данные, записанные на входной дескриптор, сразу доступны для чтения с выходного

Управляющий символ “ ^W ” (удаление слова) действует на

(2) любой ввод с терминала, если не изменены настройки терминала

(3) любой ввод с терминала, только если программа использует библиотеку readline

(4) только ввод командной строки любого командного интерпретатора

(1) текст, который состоит только из печатных (отображаемых на экране) символов

(2) текст, в котором не содержится никакой метаинформации об оформлении

(3) формат файлов, который используется текстовыми редакторами

(1) Изменять настройки некоторой службы или последовательность выполнения некоторых сценариев без редактирования файлов

(2) Помещать все конфигурационные файлы и сценарии служб в один специальный каталог

(3) Изменять любые настройки службы без редактирования файлов

(4) Изменять содержимое конфигурационных файлов или стартовых сценариев, не редактируя их

(1) Любой раздел диска, указанный в расширенном разделе

(3) Любой раздел диска, кроме первого и расширенного разделов

(3) Большинства конфигурационных файлов и стартовых сценариев

(4) Любых файлов, не попадающих по классификации FHS в специальные каталоги /lib , /var , /bin и т. п.

Какие две из перечисленных ниже задач решаются на сетевом уровне семейства протоколов TCP/IP?

(2) построение пути данных от отправителя к получателю

Чем отличается «таблица» межсетевого экрана iptables от «цепочки»?

(1) Понятие «цепочка» использовалось только в предыдущей версии межсетевого экрана Linux — ipchains . В iptables его заменили более общим понятием «таблица»

(2) Таблицы и цепочки следуют попеременно в произвольном порядке; по действию ACCEPT пакет может покинуть таблицу, но не цепочку

(3) Цепочки iptables состоят из нескольких таблиц; покидая одну таблицу, пакет направляется в другую

(4) Таблицы iptables состоят из нескольких цепочек; покидая одну цепочку, пакет направляется в другую

(1) ко всем утилитам, которые могут быть запущены в Linux

(2) только к свободному UNIX-совместимому ядру, изначально написанному Линусом Торвальдсом

Какая из перечисленных команд не имеет отношения к справочной подсистеме Linux?

Какая из перечисленных строк не может быть именем файла:

Пользователь может управлять фоновым процессом с помощью

(1) предназначенный для совместного хранения файлов несколькими пользователями

(2) из которого пользователь не может удалить не принадлежащий ему файл

(3) в котором пользователь не может модифицировать не принадлежащий ему файл

(4) при просмотре которого пользователем выводятся только имена принадлежащих ему файлов

Что окажется записанным в файле grep.info после такой операции: info grep 2>&1 > grep.info ?

(1) в точности повторяет алгоритм обработки шаблонов

(2) основана на алгоритме обработки шаблонов, однако имеет отличия, связанные со спецификой работы с файлами

(3) использует упрощённый вариант алгоритма обработки шаблонов

(4) использует алгоритм «globbing», который, в отличие от генерации имён файлов в более ранних версиях shell, не основан на понятии «шаблон»

Как, редактируя текст в Vim/Vi, сохранить текст от курсора до конца текущей строки и записать сохранённый фрагмент в самый конец файла?

Команда [someone@localhost someone]$ who am i someone tty4 Oct 13 13:31 (localhost) отдана:

(1) пользователем localhost с любой виртуальной консоли;

(2) пользователем someone с любой виртуальной консоли;

(3) пользователем someone с четвёртой виртуальной консоли;

(1) Собирать файловые системы различных разделов в одно дерево каталогов

(2) Подключать к дереву каталогов содержимое файлов, данные ядра, каталоги на других компьютерах

(3) Использовать журналирование с файловыми системами, в которых оно не предусмотрено

(4) Использовать различные по скорости и надёжности способы доступа к различным подкаталогам

Способ ведения системных журналов Linux называется «централизованным», потому что

(2) С журналами работают различные программы, однако эта работа управляется единым файлом /etc/syslog.conf

Что означают понятия «клиент» и «сервер» на прикладном уровне TCP/IP?

(1) Клиент — тот, кто устанавливает соединение, сервер — тот, кто отвечает на него

(2) Клиент — тот, кто запрашивает данные, сервер — тот, кто передаёт их

(3) Сервер — тот, кто устанавливает соединение, клиент — тот, кто пользуется установленным соединением

(1) Регламентируют доступ к почтовому ящику, при этом SMTP не требует идентификации пользователя, а POP3, в отличие от IMAP4, поддерживает создание пользователем почтовых ящиков на сервере

(2) запуск пользовательского сценария .xinitrc , а при его отсутствии — системного сценария xinitrc

(3) настройку окружения, запуск X-сервера и диспетчера окон или рабочего стола

(4) запуск X-сервера и затем X-приложений, указанных в сценарии .xinitrc пользователя, системном сценарии xinitrc или в командной строке

При использовании алгоритмов сжатия звука «с потерей качества»

(2) Звучание исходного и сжатого файлов на слух неразличимо

(3) Из сжатого файла нельзя получить исходный, а искажения звука зависят от качества сжатия

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

Необходимость в дистрибутивах Linux возникла, когда

(1) появились пользователи, желающие установить скомпилированное ядро Linux и набор утилит на свой компьютер

(2) появились пользователи, готовые купить операционную систему Linux

(4) немедленно после публикации первой версии ядра Linux

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

Читайте также: