Время на прочтение
6 мин
Количество просмотров 59K
В мире железа есть понятие сертификации, которое говорит о том, что данное оборудование сертифицировано для выполнения конкретных задач, работы в конкретных условиях и т.д. Такое же понятие есть в мире ПО, например: операционная система сертифицирована для работа на конкретном оборудовании, или программа сертифицирована выполнять определенные расчеты. Это понятие говорит о том, что клиент (покупатель) может быть уверен в том, что продукт, который он покупает, выполнит его задачи на все 100%.
Точно такое понятие сейчас применимо и к специалистам. Сертификация специалиста — проверка его на наличие необходимых знаний, навыков и опыта для выполнения задач, связанных с технологией или продуктом, для которого он сертифицируется. В случае успешного прохождения сертификации специалист получает сертификат (бумажный или электронный) и, по идее, считается экспертом в данной технологии в рамках направленности и уровню сертификационного экзамена.
В этой статье я хотел бы осветить процесс подготовки к сертификационному экзамену, основываясь на своем опыте сдачи сертификационных экзаменов IBM.
Первое, что нужно четко определить для себя: цель. В большинстве случаев это, конечно же, получение работы, надежда на более легкое и быстрое собеседование, украшение резюме. Цель — это мотивация к изучению, она должна быть четкой и важной на столько, чтобы заставила оторваться от дивана и готовиться к экзамену. В моем случае целью было как раз привлечение внимания к моему резюме заветной надписью «IBM Certified …», т.к. официального опыта работы у меня всего 2 года, хотя администрирую UNIX системы уже 5 лет и 2 года веду тренинги по администрированию Linux как фрилансер.
Второе — технология и вендор. Здесь я могу сказать свое мнение только о UNIX сертификациях, которых сейчас есть несколько. Один умный человек мне однажды на форуме сказал: «Если вы хотите легко и быстро найти работу — изучайте Windows. Если вы готовы инвестировать немножко своего времени в изучение системы и получать чуть больше зарплаты — изучайте Linux. Если вы готовы инвестировать не только время в свое будущее и получать нормальную зарплату — изучайте Unix. Если вы хотите быть всегда востребованным специалистом на рынке — изучайте „редкие“ системы, как i5/OS или z/OS. Работу найти будет сложно, зато когда вы станете высококвалифицированным специалистом она будет сама вас искать и находить.» Из вендоров сертификаций по Linux я бы выделил следующие: RedHat, Novell, LPI. Это самые известные у нас сертификации админов Linux. RedHat и Novell — два гиганта, которые разрабатывают дистрибутивы Enterprise-уровня. Они же и проводят сертификации, т.е. прямо производитель софта говорит: «Да! Я утверждаю, что этот человек может работать с моей системой». Звучит убедительно, и, как показал опыт, эти слова — не просто колебание воздуха, если человек имеет на руках сертификат RHCE или Novell CLE — можно гарантированно этому верить. Эти экзамены — не тесты, а практика, они проводятся в специальных центрах сертификации, которые жестко проверяются и контроллируются самими вендорами. Если выбирать из этих двух — я бы предпочел RedHat, в свете последних событий у Novell непонятная позиция на рынке. С другой стороны — экзамены RedHat сложнее и довольно дорогие. Чтобы получить RHCE, которая является самой популярной и уважаемой, нужно сдать RHCSA, и все эти экзамены по $400.
LPI — отдельный вопрос. Это абсолютно сторонняя контора, которая разрабатывает тесты и программы обучения Linux. В отличие от RedHat и Novell — эти тесты общие для всех дистрибутивов, т.е. в тесте может попасться вопрос о менеджере пакетов yum, и тут же — по APT. Хоть в официальном FAQ LPI и валятся шишки на высокую цену экзамена RHCE — сами в зеркало они смотреть не хотят: они предлагают 3 уровня, для каждого уровня нужно сдать минимум 2 экзамена, каждый экзамен стоит $150. Из этого всего я сделал вывод для себя: LPI я буду сдавать только в том случае, если этого потребует мой будущий работодатель. Причины для этого две: во первых — банально дорого, во вторых лично для меня фраза вендора «Этот человек способен работать с моей ОС» звучит убедительнее, чем фраза какой-то левой конторы: «Этот человек может работать с любым Линуксом». LPI, по сути, держится на хорошем счету только потому, что поддерживается большими компаниями типа IBM и Novell.
Из UNIX сертификаций самыми ходовыми сейчас являются сертификации по IBM AIX, Oracle Solaris, HP-UX. Выбирать из них лучше то, с чем больше знаком и не нужно забывать о том, что все они привязаны к железу. AIX крутится только на IBM System P со своими технологиями виртуализации, Solaris в принципе работает и на x86, и на SPARC, а HP-UX — на PA-RISC или Itanium. Если нет доступа к оборудованию, то очевидным выбором будет Solaris, который можно установить на обычную виртуалку и учиться. Мне повезло, я бесплатно съездил в IBM и прослушал курс «AIX 6 Jumpstart for UNIX Professionals», где узнал основы AIX, покопался на HMC и даже увидел как работает Live Partition Mobility. Затем мне дали shell на AIX, где я, в последствии, и готовился к экзамену.
Третье: практика. И так, по чем сдавать сертификацию выбрали. Теперь нужно подумать о практике, без практики на экзамен лучше не соваться. Здесь очень помогут технологии виртуализации: Linux и Solaris лучше установить на какой нибудь VirtualBox, сделать бекап образа винта и спокойно изучать систему, не боясь ее запороть. С AIX и UP-UX ситуация сложнее, здесь придется или покупать shell, или как-то выкручиваться. Вариант, которым воспользовался я — академическая инициатива IBM. В рамках этой программы преподы ВУЗов получают бесплатный доступ на LPAR для себя и своих студентов, где и можно потренироваться. В результате я заказал LPAR — и сам научился, и студентов на них учу.
Четвертое: Документация. Я рекомендую использовать официальную документацию к системе, которую дает производитель. Для IBM — это официальные руководства (доступные по академ. программе) и редбуки, по HP-UX и Solaris документации много на оф. сайтах. С Linux сложнее — там придется взять список тем, которые выносятся на экзамен, и искать книгу или книги, которые содержит все эти темы. Экспресс метод типа «залез в гугль, увидел, что команда rm удаляет файл, и этого будет достаточно» — не покатит. Экзаменаторы придумывают вопросы опираясь на то, что человек имеет некоторый опыт, и могут спросить: «А почему когда под рутом удаляешь файл — система переспрашивает: удалять его, или нет, а если под юзером — то не спрашивает?». Здесь потребуется знать, что под рутом в системе есть защита от дурака: поставили алиас с «rm» на «rm -i». Вывод: нужно нарабатывать опыт работы с системой, читать в книге всю главу и цепляться за такого рода мелочи, чтобы узнать почему так происходит.
Пятое: дампы. Сдавать экзамен по дампам я НЕ рекомендую. Некоторые компании предлагают текущие дампы экзаменов за деньги, но эти деньги будут выброшены на ветер, потому что даже при наличии сертификата собеседование будет, и там все равно все всплывет. Я однажды подрабатывал фрилансером, а в контору брали администратора сети, ну меня попросили провести собеседование. Пришла девушка, в резюме указано, что сдан CCNA, но как же было противно когда всплыло, что она толком айпи адрес от подсетки не отличит.
Но у дампов есть одна не плохая особенность. Дампы предыдущих экзаменов обычно свободно висят в Интернете. И очень полезно пройти по ним этот экзамен чтобы оценить свои силы перед сдачей, потому что в случае провала — деньги за экзамен не возвращаются. Как я и сделал: я сдавал экзамен по IBM 000-104, а нашел дамп по IBM 000-223. Вопросы разные, версии AIX разные, но после прохождения этого дампа я понял свои слабые места и продолжил обучение.
Шестое: регистрация в центре сертификации. И так, к экзамену подготовились, можно регистрироваться для сдачи. Для RedHat и Novell есть свои правила, обычно экзамены проходят по расписанию, придется искать ближайший авторизованный центр и согласовывать даты. Остальные экзамены можно сдать в Prometric, для этого нужно зарегистрироваться на сайте, заказать экзамен, оплатить его платежной картой и ждать экзамена. Очень важно не забыть взять с собой в центр тестирования 2 документа, я брал паспорт гражданина и загран паспорт.
Седьмое: сдача экзамена. В процессе сдачи теста не стоит волноваться, времени обычно дается предостаточно, но все же рекомендую пропускать вопросы, над которыми нужно долго подумать, и быстро отмечать то, в чем есть уверенность, а затем уже возвращаться к сложным вопросам. Когда я сдавал экзамен по AIX — я потратил час, хотя давали 150 минут, а когда сдавал экзамен ASPLinux — было мало времени и много вопросов, из которых половина наподобие «какой ключ используется для…», а некоторые ситуационные, например: «Вот такая ситуация:… Какие параметры конфигурационного файла squid необходимы для решения проблемы?» и штук 10 ответов чекбоксами.
После сдачи экзамена центр тестирования дает документ, в котором указаны результаты теста. Это единственное подтверждение того, что тест сдан, до момента попадания результатов в базу данных Prometric и вендора сертификации, поэтому терять его не желательно.
Обычно экзамены фиксируются в БД через несколько рабочих дней, после чего производится выдача электронных сертификатов. Тенденция пошла такая: электронные сертификаты присылаются, могут быть проверены через вендора, а если нужен бумажный — то за него нужно заплатить. Например, IBM берет около 6 долларов + доставка, что в сумме для Украины вышло приблизительно $12.
Задача выполнена. Теперь время искать работу, чем я и займусь в ближайшее время. А читателю я пожелаю творческих успехов и удачи в сдаче экзаменов!
Материал из iRunner Wiki
- История операционных систем семейства UNIX. Философия, принципы. POSIX. Распространённость ОС в мире.
- Организация файловой системы в UNIX-подобных ОС. Дерево каталогов и монтирование. Специальные типы файлов.
- Стандартные утилиты для работы с файлами и каталогами.
- Символические и жёсткие ссылки: особенности, создание и использование.
- Стандарт иерархии файловой системы (Filesystem Hierarchy Standard). Названия и назначение каталогов верхнего уровня.
- Командная оболочка: назначение и разновидности. «Башизмы».
- Работа с оболочкой в интерактивном режиме. Получение справки по командам.
- Базовый синтаксис сценариев: shebang, переменная окружения PATH, запуск процессов, коды выхода.
- Командная оболочка: перенаправление ввода-вывода. Стандартные дескрипторы 0, 1, 2. Именованные каналы.
- Командная оболочка: конвейер. Применение команды tee.
- Командная оболочка: использование переменных. Подстановка параметров (parameter substitution). Получение аргументов командной строки.
- Командная оболочка: строковые литералы. Экранирование. Проблема разбиения на слова (word splitting).
- Командная оболочка: подстановка вывода команд (command substitution), heredoc-синтаксис.
- Программирование в командной оболочке: проверка условий, циклы, функции, целочисленная математика. Использование source. Обработка ошибок.
- Управление заданиями (job control) в командной оболочке. Подстановка процесса (process substitution).
- Использование шаблонов (globbing). Утилиты xargs и parallel.
- Работа с текстом при помощи стандартных утилит UNIX.
- Пользователи и группы. Конфигурационные файлы с данными о пользователях, хранение паролей.
- Суперпользователь (root). Различия между su и sudo.
- Система разграничения прав доступа к файлам и каталогам. Команды редактирования прав доступа.
- Права доступа: биты setuid и setgid, sticky-бит для каталогов. Маска umask.
- Процессы. Идентификатор процесса. Просмотр списка запущенных процессов. Файловая система procfs.
- Статусы процессов. Приоритеты процессов и планирование. Назначение процессов на ядра.
- Процесс init. Уровни выполнения (runlevels). Современные системные менеджеры.
- Сигналы. Средства командной строки для посылки сигналов процессам.
- Реализация обработчика сигнала на языке C.
- Порождение процессов. Процессы-зомби и процессы-сироты.
- Демоны. Демонизация через двойной вызов fork(): механизм и обоснование метода.
- Техника fork — exec. Запуск произвольной программы в UNIX.
- Неименованные каналы (pipes). Создание канала и использование для межпроцессного взаимодействия.
- Проблема обнаружения ошибки вызова exec() при создании нового процесса и метод её решения.
- Потоки. Стандарт POSIX Threads. Ручной запуск потока.
- Основы pthreads. Создание и завершение потока. Мьютексы и условные переменные.
- Внутреннее устройство примитивов синхронизации. Атомарные операции. Механизм futex.
- POSIX C API. Функции для осуществления ввода-вывода.
- Совместный доступ к файлам. Открытые файлы и вызов fork(). Атомарные файловые операции.
- Показатель средней загрузки системы (load average) и принцип его вычисления.
- Понятие виртуальной памяти. Механизм копирования при записи (copy-on-write). Ситуации отказа страниц (page faults).
- Классификация виртуальной памяти: private и shared, anonymous и file-backed. Анализ показаний htop: VIRT, RES, SHR.
- File-backed-память: различия между private- и shared-памятью. Ввод-вывод посредством отображения файлов в память.
- Память типа shared anonymous: два способа создания, использование для межпроцессного взаимодействия.
- Учёт свободной памяти командой free. Кеширование дисковых операций. Сброс кешей.
- Ситуация нехватки памяти в системе. Настройки overcommit’а. Swap-раздел.
- Сетевые интерфейсы. Конфигурирование сети через командную строку.
- Прикладные программы для работы с сетью: nc, telnet, wget, curl, …
- Linux в качестве сервера в локальной сети: DNS, DHCP, веб-сервер, интернет-шлюз.
- Понятие сокета. Потоковые и датаграммные сокеты. Адреса IPv4 и IPv6. Нумерация портов. Порядок байтов (endianness).
- Реализация клиента и сервера для взаимодействия по сети через сокеты. Последовательность выполнения системных вызовов.
- Сокеты домена UNIX и их особенности.
- Неблокирующий ввод-вывод через сокеты. Системный вызов select().
- Жёсткие диски: система адресации, разбиение на разделы, MBR и GPT, именование файлов устройств.
- Технологии хранения данных RAID и LVM.
- Индексные дескрипторы (inodes). Восстановление удалённого незакрытого файла.
- Примеры файловых систем. Сетевые диски. Диски в оперативной памяти. Механизм FUSE.
- Ядро Linux. Нумерация версий. Файлы ядра. Initial RAM Disk.
- Модули ядра Linux. Создание простейшего модуля.
- Процесс загрузки операционной системы Linux. Загрузчики.
- Конфигурирование, сборка и установка ядра Linux.
В списке вопросов возможны незначительные изменения.
В экзаменационном билете предлагается два вопроса: один из первой половины (1–29), другой из второй половины (30–58). Кроме того, будут задаваться дополнительные вопросы (например, объяснить, что делает конкретный фрагмент кода).
Тесты по линуксу с ответами
Комплект содержит 30 вопросов. Среди тестовых заданий имеются вопросы на выбор одного правильного ответа, выбор нескольких правильных ответов, установление соответствия.
Во время теста обучающемуся предлагается 30 вопросов. Порядок вопросов, а также порядок ответов на вопросы также определяется случайным образом.
Правильные ответы в тесте по linux отмечены +.
1. Ядро операционной системы
– программы, входящие в дистрибутив операционной системы;
+ резидентная часть операционной системы;
— основная программа, принимающая и обрабатывающая команды пользователя;
– графическая оболочка, позволяющая выполнить операции с файлами и каталогами
2. Привилегированный режим работы программы
+ режим монопольного владения процессором на время работы программы;
– режим, при котором программа в любой момент может монопольно завладеть процессором;
– режим неограниченного доступа ко всем ресурсам компьютера;
– режим, при котором программа имеет привилегии перед другими программами в условиях многозадачности.
3. К основным функциям операционных систем относятся:
– управление включением/выключением компьютера, управление памятью, управление файлами и каталогами, управление пользователями;
– управление памятью, выполнение команд пользователя, управление файлами и каталогами
– управление процессами, управление памятью, управление периферийными устройствами
+ управление устройствами, управление данными, управление памятью, управление процессами
4. Ресурс процесса
– оперативная память и свободное место на диске;
– файл, из которого или в который происходит ввод-вывод;
+ любой аппаратный или программный объект, который может понадобиться для работы процесса и доступ к которому может при этом вызвать конкуренцию процессов
– любой аппаратный или программный объект, который может понадобиться для работы процесса и работа с которым не вызывает конфликта с другими процессами
5. Сопоставить определения состояний процесса
|
1 |
Работа |
1-А |
А |
состояние, в котором находится процесс, программу которого выполняет процессор |
|
2 |
Готовность |
2-Б |
Б |
состояние, при котором процесс может быть переведен состояние работы, как только это сочтет нужным сделать операционная система |
|
3 |
Сон |
3-В |
В |
состояние, в котором процесс продолжит выполнение, только когда произойдет некоторое внешнее по отношению к процессу событие |
|
4 |
Блокировка |
4-Г |
Г |
то же самое, что и сон |
6. Дать определение невытесняющей многозадачности
а) режим многозадачности, при котором переключение процессов возможно в любой момент времени;
б) режим многозадачности, при котором переключение процессов возможно через определенные кванты времени
в) режим многозадачности, при котором переключение процессов выполняется поочередно в порядке их приоритетов;
+ г) режим, при котором переключение процессов возможно только, когда работающий процесс вызовет системную функцию;
7. Дать определение вытесняющей многозадачности
а) режим многозадачности, при котором переключение процессов возможно в любой момент времени;
б) режим, при котором переключение процессов возможно только, когда работающий процесс вызовет системную функцию;
в) режим многозадачности, при котором каждый новый процесс монопольно занимает процессорное время, а состояние остальных процессов записывается в файл подкачки;
+ г) режим многозадачности, при котором переключение процессов происходит через определенные кванты времени соответственно приоритетам
8. Дистрибутив операционной системы включает:
+ а) операционную систему, программу ее установки и настройки, сопровождение и регулярное обновление;
б) только операционную систему и программу ее установки;
в) операционную систему, программу ее установки и наиболее популярные прикладные программы;
г) операционную систему, программу ее установки и наиболее популярные системные утилиты от сторонних разработчиков.
9. ОС распространяется по лицензии:
+ а) GNU;
б) Линуса Торвальдса;
в) фирмы Microsoft;
г) компании GNU.
10. При установке ОС Linux рекомендуется выбрать файловую систему:
a) FAT16 либо FAT32;
б) NTFS;
+ в) journalized ext3 FS;
г) любую из перечисленных.
Тест — 11. Жесткая ссылка на файл в ОС Linux:
a) является дополнительным ярлыком для файла;
+ б) представляет собой другое имя файла;
в) это указатель на начало файла;
г) структура, содержащая сведения о расположении и размере файла.
12. Список пользователей системы хранится в файле
а) /etc/users
+ б) /etc/passwd
в) /root/passwd
г) /system/passwd
13. Конвейером называют:
а) параллельное выполнение нескольких команд, причем переключение между ними производится в строгой очередности;
+ б) параллельное выполнение нескольких команд, при этом вывод одной команды перенаправляется на стандартный ввод следующей;
в) последовательное выполнение нескольких команд, причем каждая следующая команда начинает выполняться после завершения предыдущей;
г) последовательное выполнение нескольких команд..
14. Пакет с программным обеспечением в Linux содержит:
+ а) собранную программу, сценарии действий до установки и после нее, информацию о зависимостях от других пакетов;
б) собранную программу, сценарии действий до установки и после нее;
в) собранную программу, информацию о зависимостях от других пакетов, программу-установщик setup либо install;
г) собранную программу и программу-установщик setup либо install.
15. Командная оболочка операционной системы :
+ a) программа, которая преобразует команды пользователя в действия операционной системы;
б) программа, которая выполняет команды пользователя;
в) часть операционной системы, котороая выполняет команды пользователя.
16. Команда ls :
a) выводит на экран список файлов текущего каталога;
б) делает заданный каталог текущим и выводит список файлов;
в) выполняет переход в заданный каталог;
+ г) выводит на экран список файлов каталога, заданного в командной строке либо текущего.
17 — Тест. Для копирования файлов в ОС Linux используется команда:
a) mkfile;
б) copy;
+ в) cp
18. Сопоставить функции команд постраничного просмотра текстовых файлов :
|
more |
постраничный вывод содержимого файла, перемещение только «сверху вниз» |
|
less |
постраничный вывод содержимого файла, перемещение «вверх» и «вниз» |
|
cat |
вывод содержимого файла на консоль |
|
tail |
вывод на экран последних строк файла |
19. Файловый менеджер :
a) программа для создания, удаления, копирования файлов;
б) программа для перемещения по каталогам;
в) программа управления атрибутами и редактирования файлов;
+ г) программа, выполняющая все перечисленные функции.
20. Для завершения работы системы в ОС Linux используется команда :
a) logout;
+ б) shutdown;
в) exit;
г) quit.
21. Режимы работы редактора vi :
a) текстовый и графический;
б) редактирования и копирования;
+ в) вставки, командный и режим командной строки;
г) вставки и замены.
Тест № 22. Для установки программы в ОС Linux необходимо :
a) выполнить команду setup;
+ б) запустить менеджер пакетов и выбрать пакет с устанавливаемой программой;
в) распаковать пакет, содержащий программу;
г) скопировать пакет, содержащий программу, в отдельный каталог.
23. Права доступа к файлу определяются :
a) с помощью 9 символов или трехзначного шестнадцатеричного числа;
б) с помощью 3 символов или трехзначного восьмеричного числа;
+ в) с помощью 9 символов или трехзначного восьмеричного числа;
г) с помощью 9 символов.
24. Атрибуты прав доступа к файлу включают :
a) доступ с правами администратора или пользователя;
+ б) разграничение доступа для владельца, членов его группы и остальных пользователей;
в) разграничение прав доступа для владельца и остальных пользователей;
г) доступ «только для чтения» для всех, кроме владельца файла.
25. Сопоставить права доступа к файлу :
|
rwxrw-r— |
для владельца – все права, для членов группы – чтение и запись, для остальных – только чтение |
|
rwxr—r— |
для владельца – все права, для членов группы и для остальных – только чтение |
|
rwx—x—x |
для владельца – все права, для членов группы и для остальных – только запуск |
|
rwxr-xr-x |
для владельца – все права, для членов группы и остальных – чтение и запуск |
26. Конфигурационные файлы в ОС Linux хранятся преимущественно:
a) в зашифрованном виде, недоступном для просмотра;
б) в зашифрованном виде, просмотр – с помощью программы-конфигуратора;
в) в текстовом формате, просмотр и редактирование – только с помощью редактора vi;
+ г) в текстовом формате, просмотр и редактирование – любым текстовым редактором.
27. При страничной организации виртуальной памяти:
+ а) все страницы имеют одинаковые размеры, а разбиение виртуального адресного пространства процесса на страницы выполняется системой автоматически;
б) размер страниц выбирается операционной системой в зависимости от объема свободной оперативной памяти;
в) размер страниц определяется программой при ее запуске;
г) страницы имеют одинаковый размер, количество страниц определяется программой при ее запуске.
28. Тест. Выберите правильные утверждения для многопроцессорных операционных систем:
+ а) Асимметричная ОС целиком выполняется только на одном из процессоров компьютера, распределяя прикладные задачи по остальным процессорам;
+ б) Симметричная ОС полностью децентрализована и использует все процессоры, разделяя их между системными и прикладными задачами;
в) Асимметричная ОС выполняется на нескольких процессорах компьютера;
г) В симметричной ОС процессоры одна половина процессоров отводится для системных задач, вторая – для прикладных.
29. Пользователь root — это
+ а) единственная учётная запись, принадлежащая администратору системы
б) учётная запись, гарантированно дающая пользователю исключительные права работы в системе
в) учётная запись, которую рекомендуется использовать администратору системы, даже если у него имеется персональная учётная запись
30. Лицензия на программное обеспечение нужна, чтобы
а) указать, кто является обладателем всех прав на это программное обеспечение
+ б) определить круг прав пользователя по отношению к этому программному обеспечению
в) определить, на каких условиях можно продавать данное программное обеспечение
г) сделать данное программное обеспечение свободным.
Вы готовитесь к интервью по Linux?
Мы подготовили некоторые из часто задаваемых вопросов о Linux и ответы на них.
Если вы новичок (со знанием Linux или с сертификацией) или с профессиональным опытом администрирования Linux, пробегитесь по вопросам и ответам для подготовки к собеседованию.
Содержание
- 1. Что такое Linux и основные компоненты?
- 2. Что такое ядро Linux?
- 3. В чем разница между Linux и Unix?
- 4. Что такое inode в Linux? Как найти индекс, связанный с файлом?
- 5. Что такое оболочка Linux? Как проверить текущую оболочку?
- 6. Какой командой найти количество памяти и используемую подкачку?
- 7. Различия между жесткой и символической ссылкой?
- 8. Объясните права на файлы в Linux?
- 9. Как создать и удалить каталог в Linux?
- 10. Как создавать файлы в Linux?
- 11. Как переименовать файл и каталог в Linux?
- 12. Как копировать файлы и каталог в Linux?
- 13. Как составить список и смонтировать устройства в Linux?
- 14. Как создать пустой файл в Linux?
- 15. Как запланировать задачу в Linux? Что такое crontab и объясните поля в crontab?
- 16. Какие основные команды Vim вы знаете?
- 17. Как добавить двоичный файл в переменную $PATH?
- 18. Объясните команду Grep и регулярные выражения?
- 19. В чем разница между umask и ulimit?
- 20. Объясните вывод команды ls в Linux?
- 21. Объясните вывод команды top в Linux?
- 22. Каковы состояния процесса в Linux?
- 23. Как сделать резервную копию или архивировать файлы в Linux (команда tar)?
- 24. Как остановить запущенный процесс в Linux?
- 25. Как искать файлы в linux?
- 26. Как проверить, работает ли конкретный сервис?
- 27. Как запустить сервис при перезагрузке?
- 28. Как запустить и остановить службу?
- 29. Как выполнить удаленный вход на другой компьютер Linux?
- 30. Как проверить использование диска?
- 31. Зачем использовать команду export?
- 32. Как узнать версию ядра с нескольких серверов Linux, используя скрипт bash?
- 33. Какие минимальные требования для установки Linux?
- 34. Как установить права доступа к файлам / каталогам Linux?
- 35. Как установить владельца для файлов / каталогов?
- 36. Как создать пользователя и группу в Linux?
- 37. Как найти версию ядра / ОС в Linux?
- 38. Как узнать IP-адрес интерфейса?
- 39. Что такое образ initrd?
- 40. Объясните термины suid, sgid и sticky bit?
- 41. Что такое уровни запуска в linux и как их изменить?
- 42. Что такое SeLinux?
- 43. Что такое dev/null ?
- 44. В чем разница между виртуальным хостингом на основе имени и виртуальным хостингом на основе IP?
- 45. Что такое переменные среды?
- 46. Какое использование файлов /etc/passwd и /etc/shadow?
- 47. Зачем устанавливать безпарольный вход по ssh?
- 48. Что такое swappiness в Linux?
- 49. Кэш и буфер на Linux
- 50. В чем разница между apt и apt-get?
- Заключение
1. Что такое Linux и основные компоненты?
Linux – это бесплатная операционная система с открытым исходным кодом, основанная на ядре Linux.
Это одна из широко используемых операционных систем, особенно в мире серверов и разработчиков.
Его использование простирается от размещения веб-сайтов и приложений до основной операционной системы в таких интеллектуальных устройствах, как смартфоны, планшеты и телевизоры.
Linux состоит из 4 основных компонентов:
- Ядро: это ядро системы Linux. Он отвечает за взаимодействие с аппаратными компонентами и обеспечивает взаимодействие операционной системы с аппаратными устройствами.
- Оболочка: Оболочка – это интерфейс между пользователем Linux и ядром. Именно в оболочке команды назначаются пользователем и затем выполняются операционной системой.
- Системные библиотеки: это специальные программы или функции, которые отвечают за реализацию большинства функций операционной системы, не полагаясь на права доступа к коду модулей ядра.
- Системные утилиты. Это специальные программы, выполняющие определенные задачи. например, LibreOffice, Brasero, Gparted.
2. Что такое ядро Linux?
Ядро Linux является главным компонентом системы Linux.
Оно связывает базовое оборудование с операционной системой.
⏬ Как понизить версию ядра в Linux
3. В чем разница между Linux и Unix?
Linux – это форк системы UNIX.
В то время как Linux является открытым исходным кодом и бесплатен в использовании, UNIX является проприетарной операционной системой.
Разница между macOS и ядрами Linux
4. Что такое inode в Linux? Как найти индекс, связанный с файлом?
Инод (индексный узел) – это структура данных в файловой системе в стиле Unix, которая описывает объект файловой системы, такой как файл или каталог.
Когда создается файл, ему присваивается имя и номер индекса, который является целым числом, уникальным в файловой системе.
🐧 Как получить общее количество инодов раздела root
5. Что такое оболочка Linux? Как проверить текущую оболочку?
Оболочка Linux – это интерпретатор команд или программа, которая принимает команды и передает их в операционную систему для выполнения.
Чтобы проверить используемую оболочку, выполните команду:
echo $0
6. Какой командой найти количество памяти и используемую подкачку?
Используйте команду free
7. Различия между жесткой и символической ссылкой?
а) Жесткая ссылка не может быть создана для каталогов. Жесткая ссылка может быть создана только для файла.
б) Символические ссылки или симлинки могут ссылаться на каталог.
в) удаление исходного файла, на который указывает твоя жесткая ссылка, не удаляет саму жесткую ссылку; Жесткая ссылка по-прежнему предоставляет содержимое основного файла.
г) Если вы удалите жесткую ссылку или символическую ссылку, исходный файл останется без изменений.
e) Удаление исходного файла не удаляет вложенную символическую ссылку, но без исходного файла символическая ссылка бесполезна
8. Объясните права на файлы в Linux?
В Linux существует 3 основных типа прав доступа к файлам: чтение, запись и выполнение.
Эти разрешения могут быть назначены либо файлу, либо каталогу рекурсивно.
Будучи многопользовательской системой, вы можете назначать эти права пользователю root, группам или другим пользователям, использующим систему.
- Чтение: В разрешениях на чтение используется возможность открывать и читать файл.
- Запись: Разрешение на запись позволяет пользователю открывать, изменять или редактировать содержимое файла и сохранять изменения.
- Выполнить: Это позволяет пользователю выполнять или запускать исполняемый файл или программу или скрипт оболочки.
🧟♀️ StickyBit, SUID и SGID в Linux с примерами
9. Как создать и удалить каталог в Linux?
Чтобы создать каталог, используйте команду mkdir, как показано далее:
mkdir directory_name
Например, чтобы создать каталог с именем «data», выполните команду:
mkdir data
Чтобы удалить каталог на Linux, используйте команду rm или rmdir.
- Команда rmdir используется для удаления пустых каталогов.
- Команда rm в основном используется с флагом -R для рекурсивного удаления каталогов.
10. Как создавать файлы в Linux?
Для создания файлов используйте команду touch.
Например, чтобы создать файл file1.doc, выполните команду:
touch file1.doc
Вы также можете использовать команду cat, за которой следует оператор перенаправления или знак «больше»>
сопровождаемый именем файла.
Затем введите содержимое файла и, наконец, нажмите CTRL + D, чтобы выйти из файла.
cat > file1.doc
Введите содержимое файла и нажмите 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?
Для просмотра списка точек монтирования выполните команду:
df -aTh
Чтобы найти больше информации о точках монтирования в вашей системе, выполните команду:
findmnt
Кроме того, вы можете использовать команду cat:
cat /proc/self/mounts
Также вы можете использовать команду mount, как показано далее:
mount -l
14. Как создать пустой файл в Linux?
Чтобы создать пустой файл в Linux, используйте команду touch:
touch new_file
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?
$ export PATH=$PATH:/path/to/the/binary/file
18. Объясните команду Grep и регулярные выражения?
Команда Grep – это выражение, используемое для фильтрации результатов или вывода.
Например, чтобы вывести список каталогов и искать только файлы со словом «cron», выполните команду:
ls | 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, выполните команду
kill 3836
25. Как искать файлы в linux?
Для поиска файлов в Linux используйте команду locate или find
👸 Как использовать на Linux команду find для поиска файлов
26. Как проверить, работает ли конкретный сервис?
Чтобы проверить, работает ли служба, используйте синтаксис:systemctl status service_name
Например, чтобы проверить, работает ли Postfix, выполните команду:systemctl status postfix
27. Как запустить сервис при перезагрузке?
Чтобы запустить службу при запуске перезагрузки, используйте синтаксис:
systemctl enable service_name
Например, чтобы запустить httpd веб-сервер после перезагрузки, запустите
systemctl enable httpd
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?
#!/bin/bash
#we user variable serverlist to keep there path to file with server names
serverlist='server_list.txt'
#we write in variable all server list
servers=`cat $serverlist`
#we use variable result to keep there path to file with result
result='result.txt'
#this print header to file with resilt using tt to add 2 tab symbols
echo -e "Servername tt kernel version"> $result
#this get each line of serverlist one by one and write to server variable
for server in $servers
do
#this login to server by ssh and get uname -r
kernel=`ssh root@${server} "uname -r"`
#this write server name and kernel version separated by 2 tab to result file
echo -e "$server tt $kernel" >> $result
#end of for loop.
done
33. Какие минимальные требования для установки Linux?
В связи с тем, что новые дистрибутивы Linux запускаются раз в неделю или месяц, нет четких минимальных требований.
Более новые версии потребуют более высоких минимальных требований, чем более старые версии из-за обновленных функций и архитектуры графического интерфейса.
Каковы лучшие дистрибутивы Linux в 2019 году
Тем не менее, любой дистрибутив Linux должен работать с ПК со следующими минимальными требованиями:
25 GB of hard disk space 2 GB RAM 2 Ghz dual core processor A screen resolution of 1024x768 A CD/DVD ROM or USB port for inserting installation media
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 :
adduser Radyga
37. Как найти версию ядра / ОС в Linux?
Запустите команду uname -a
38. Как узнать IP-адрес интерфейса?
Вы можете легко найти IP-интерфейс, выполнив команду ifconfig имя_интерфейса или используя команду ip (рекомендуется).
Пример:
ifconfig eth0
ip addr show
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 для различных целей.
Описания приведены ниже.
0: Halt System (To shutdown the system) 1: Single user mode 2: Basic multi user mode without NFS 3: Full multi user mode (text based) 4: unused 5: Multi user mode with Graphical User Interface 6: Reboot System
Чтобы изменить уровень выполнения, отредактируйте файл «/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 в Linux?
44. В чем разница между виртуальным хостингом на основе имени и виртуальным хостингом на основе IP?
Виртуальные хосты используются для размещения нескольких доменов на одном экземпляре Apache.
Вы можете иметь один виртуальный хост для каждого IP-адреса вашего сервера, или один и тот же IP-адрес, но разные порты, или один и тот же IP-адрес, один и тот же порт, но разные имена хостов.
Последнее называется «ame based vhosts».
На виртуальном хостинге на основе IP мы можем запустить более одного веб-сайта на одном сервере, но каждый веб-сайт имеет свой IP-адрес, в то время как в виртуальном хостинге на основе имен мы размещаем несколько веб-сайтов на одном IP-адресе.
Но для этого вам нужно поместить более одной записи DNS для вашего IP-адреса в базу данных DNS.
45. Что такое переменные среды?
у нас еть целая статья про это:
🐧 Как установить и перечислить переменные среды в Linux
46. Какое использование файлов /etc/passwd и /etc/shadow?
Файл /etc/shadow хранит действительный пароль в зашифрованном формате с некоторыми дополнительными свойствами, связанными с паролем пользователя.
В основном он учитывает параметры старения. Все поля разделены двоеточием (:).
Он содержит одну запись на строку для каждого пользователя, указанного в файле /etc/passwd.
47. Зачем устанавливать безпарольный вход по ssh?
Чтобы еще больше повысить безопасность системы, большинство организаций решили использовать аутентификацию на основе ключей вместо аутентификации на основе пароля.
Мы можем обеспечить аутентификацию на основе ключей, отключив стандартную аутентификацию по паролю.
Открытый ключ добавляется в файл конфигурации сервера, в то время как личный ключ остается конфиденциальным на стороне клиента.
48. Что такое swappiness в Linux?
Параметр swappiness контролирует стремление ядра перемещать процессы из физической памяти на диск подкачки.
Поскольку диски намного медленнее ОЗУ, это может привести к более медленному времени отклика для системы и приложений, если процессы слишком агрессивно перемещаются из памяти.
swappiness может иметь значение от 0 до 100
swappiness = 0 говорит ядру избегать выгрузки процессов из физической памяти как можно дольше
swappiness = 100 говорит ядру агрессивно выгружать процессы из физической памяти и перемещать их в кеш подкачки
49. Кэш и буфер на Linux
у нас еть целая статья про это:
В чем разница между кешем и буфером в Linux?
50. В чем разница между apt и apt-get?
у нас еть целая статья про это:
Разница между apt и apt-get
Заключение
В этой статье мы показали наиболее ожидаемые вопросы на собеседовании про Linux.
Помимо этих вопросов, вы должны быть готовы объяснить ежедневные задачи Linux, проекты, некоторые критические ситуации, с которыми вы столкнулись. Удачи!!


