Начинался как блог посвященный администрированию AIX'a, но "перенос" в блог о жизни с АйТи-технологиями. Приятного чтения, буду рад вашим отзывам=)
Wednesday, October 9, 2019
Linux: вопросы среднего уровня
Всем, привет!
Продолжаю список интересных вопросов, которые задают на собеседовании Linux админам.
В этот раз рассмотрим вопросы среднего уровня(middle)
Весь список тут
Вопросы среднего уровня:
20. Что обозначает ```&``` после команды?
Амперсанд переводит выполнение команды терминала в фоновый режим(background).
21. Что обозначает ```& disown``` после команды?
& disown переводит выполнение команды в фоновый реджим и "отвязывает" терминал от выполняемого процесса(disown удаляет задачу из списка задач оболочки).
22. Что такое фильтр пакетов (packet filter) и как он работает?
Фильтр пакетов - программа, которая просматривает заголовки пакетов по мере их поступления, и определяет дальнейшую судьбу всего пакета. Фильтр может сбросить (DROP) пакет или принять (ACCEPT) пакет или сделать с ним что-то еще более сложное.
23. Что такое виртуальная память(Virtual Memory)?
Виртуальная память – это адресное пространство процесса. Процесс работает не с физической памятью напрямую, а с виртуальной.
24.Что такое swap и для чего используется?
SWAP (своп) — это механизм виртуальной памяти, при котором часть данных из оперативной памяти (ОЗУ) перемещается на хранение на жёсткий диск. В ОС Linux оперативная память делится на разделы, называемые страницами (pages). Swapping (”подкачка”) – это процесс во время которого страницы памяти копируются на специально сконфигурированный для этого раздел диска, называемый swap space (раздел подкачки, может быть как и файлом, так и разделом жесткого диска), для освобождения ОЗУ.
Что такое "sticky bit"?
Сегодня sticky bit используется в основном для каталогов, чтобы защитить в них файлы. Из такого каталога пользователь может удалить только те файлы, владельцем которых он является. Примером может служить каталог /tmp, в который запись открыта для всех пользователей, но нежелательно удаление чужих файлов.
Для чего предназначен бит неизменяемости(immutable bit)?
Бит (bit) неизменяемости (immutable) может быть назначен файлу, который размещён в расширенной файловой системе (Ext3, Ext4), для его защиты от изменений. "immutable bit" может быть добавлен к атрибутам файла с помощью программы chattr и только супер-пользователем.
Что такое жесткая ссылка, символическая? Чем отличаются? Что произойдет если удалить источник, на который указывает ссылка?
Символическая ссылка(ярлык) - содержит адрес нужного файла в вашей файловой системе. Когда вы пытаетесь открыть такую ссылку, то открывается целевой файл или папка. При удалении источника ссылка указывает в никуда
Жесткая ссылка непосредственно указывает на местоположение файла на жестком диске. Файл можно перемещать между каталогами, и все ссылки останутся рабочими, поскольку для них неважно имя.
Что такое айнод(inode) и какие поля в нем хранятся?
Inode (индексный дескриптор) — структура данных в традиционных для ОС UNIX файловых системах(например, ext4). В этой структуре хранится метаинформация:названии, разрешениях, устройстве размещения, времени последнего доступа и тд.
Посмотреть можно командами: ls -i && stat filename
Что такое SNMP и для чего он используется?
Стандарт SNMP (Simple Network Managment Protocol) был специально разработан для диагностики, управления и мониторинга любых устройств и программных компонентов, доступных по сетевым интерфейсам.
Как уменьшить размер файла, который используется в текущий момент(например, файла лога)?
Используя команду truncate
Например, полностью очистить: truncate -s 0 file
Что такое переадресация SSH-порта?
Переадресация порта SSH создает безопасное соединение между удаленным компьютером, через который можно ретранслировать сервисы, и локальным компьютером, который выдает команды. Это также называется SSH-туннелированием и используется для передачи информации, которая не требует зашифрованного протокола.
Как добавить пользователя без использования команд useradd/adduser?
Добавить запись в /etc/passwd
Добавить запись группы в /etc/group
Создать домашнюю директорию для пользователя
Установить пароль
Опишите команду mknod и расскажите когда вы её используете?
Команда mknod используется для создания файлов устройств. Файлы устройств хранятся в каталоге /dev, и в отличие от обычных файлов, эти файлы устройств — те, о которых ядро знает, и которые читает или записывает в них.
Загрузка диского пространства 100%, вы удалили огромный файл логов, но df показывает - нет свободного места. В чем проблема?
Какой-то процесс держит файл. С помощь lsof some.log определяем какие процессы не отпустили файл, завершаем их и файл удаляется.
Вы получаете ошибку "filesystem is full", хотя 'df' говорит об обратном, место есть. В чем проблема?
Проверьте досутность inode, df -i. Возможно закончились айноды.
Расскажите как работает команда 'ps'.
Команда ps работает путем чтения файлов в файловой системе proc. Каталог / proc / PID содержит различные файлы, содержащие информацию о PID'е процесса. Содержимое этих файлов генерируется ядром на лету, когда процесс их считывает.
Что происходит с дочерним процессом, который завершил свое выполнение, но у которого нет родительского процесса ожидающего его завершение? Почему это плохо?
Процесс при завершении освобождает все свои ресурсы и становится «зомби» — пустой записью в таблице процессов, хранящей код завершения для родительского процесса. Система уведомляет родительский процесс о завершении дочернего с помощью сигнала SIGCHLD. Предполагается, что после получения SIGCHLD он считает код возврата с помощью системного вызова wait(), после чего запись зомби будет удалена из списка процессов. Если родительский процесс игнорирует SIGCHLD, то зомби остаются до завершения родительского процесса.
Кратко опишите каждое состояние процесса(process states) в ОС Linux.
Running состояние, в котором процесс либо запущен, либо готов к запуску. Interruptible является заблокированным состоянием процесса, который ожидает события или сигнала от другого процесса Uninterruptible. Процесс вынужден остановиться при определенном условии, т.к оборудование находится в состоянии ожидания и сигнал не может быть обработан. Stopped возникает, когда процесс завершен. Этот процесс можно перезапустить. Zombie в этом состоянии процесс будет завершен, и информация по-прежнему будет доступна в таблице процессов.
Вы запускаете скрипт и хотите посмотреть вывод в терминале и сохранить в файл, как это можно сделать?
Можно воспользоваться утилитой tee ./script | tee somefile.log
Объясните, что выполнит данная команда echo "1" > /proc/sys/net/ipv4/ip_forward
Команда включает IP Forwarding
Какие типы файлов вы знаете в ОС Linux?
- : обычный файл
d : директория
c : символьное устройство, используется для взаимодействия с периферическими устройствами
b : блочное устройство, используется для взаимодействия с периферическими устройствами:диски, память
s : сокет, используется для взаимодействия между процесами
p : пайп, похож на сокет, используется для взаимодействия 2-х локальных процессов
l : ссылка
В чем разница между процессом и потоком?
Процесс — экземпляр программы во время выполнения, независимый объект, которому выделены системные ресурсы (например, процессорное время и память). Каждый процесс выполняется в отдельном адресном пространстве: один процесс не может получить доступ к переменным и структурам данных другого. Поток использует то же самое пространства стека, что и процесс, а множество потоков совместно используют данные своих состояний. Как правило, каждый поток может работать (читать и писать) с одной и той же областью памяти, в отличие от процессов, которые не могут просто так получить доступ к памяти другого процесса. У каждого потока есть собственные регистры и собственный стек, но другие потоки могут их использовать. Поток — определенный способ выполнения процесса. Когда один поток изменяет ресурс процесса, это изменение сразу же становится видно другим потокам этого процесса.
No comments:
Post a Comment