10 вопросов на собеседовании по Linux с примерами — часть 3

Добро пожаловать обратно в нашу рубрику Вопросы для собеседования по Linux! Предыдущие первая и вторая части этой серии. Ваша поддержка мотивирует нас и дальше создавать качественный контент для начинающих пользователей Linux и профессионалов, готовящихся к техническим собеседованиям.
В этой третьей части мы продолжим углублять ваши базовые знания, рассмотрев ещё 10 важных вопросов о Linux, которые помогут вам лучше разобраться в теме благодаря практическим примерам и понятным объяснениям.
1. Как добавить нового пользователя (например, tux) в систему Linux?
Вы можете добавить нового пользователя с помощью команды useradd или adduser. Обе команды используются для создания пользователей, но работают немного по-разному в зависимости от дистрибутива Linux.
Использование useradd (низкоуровневая команда)
useradd
Это стандартная команда, которая есть почти во всех дистрибутивах Linux. Она добавляет пользователя, но не настраивает автоматически домашний каталог и не запрашивает пароль, если не используются дополнительные параметры.
sudo useradd tux sudo passwd tux
Чтобы создать домашний каталог и файлы конфигурации по умолчанию, укажите параметр -m:
sudo useradd -m tux
Использование adduser (дистрибутивы на базе Debian)
adduser
Это более удобная для пользователя команда высокого уровня, которая в основном используется в дистрибутивах на базе Debian, таких как Ubuntu и Mint. На самом деле это Perl-скрипт, который оборачивает useradd
и обеспечивает пошаговую настройку.
sudo adduser tux
Эта команда создаёт пользователя tux
, настраивает его домашний каталог, копирует файлы конфигурации по умолчанию и предлагает ввести пароль и данные пользователя (например, полное имя).
2. Сколько основных разделов можно создать на одном диске?
На одном физическом жёстком диске можно создать максимум 4 основных раздела с использованием традиционной схемы разбиения MBR (главная загрузочная запись).
Объяснение:
- Система разделов MBR (Master Boot Record) позволяет:
- До 4 основных разделов или
- 3 основных раздела и 1 расширенный раздел
- Расширенный раздел может содержать несколько логических разделов, что обеспечивает большую гибкость
- Если вам нужно более 4 разделов:
- Создайте 3 основных раздела
- Создайте 1 расширенный раздел
- Внутри расширенного раздела создайте столько логических разделов, сколько необходимо (ограничение зависит от ОС и конфигурации)
Вопрос 3. Какой порт по умолчанию используется для Apache/HTTP?
Порт по умолчанию для Apache (HTTP) — это порт 80
, который является стандартным портом, назначенным для незащищённого веб-трафика в соответствии с Управлением по присвоению номеров в Интернете (IANA). Если веб-сервер, например Apache, настроен на обслуживание веб-сайтов по протоколу HTTP, он прослушивает порт 80, если не указано иное.
Для безопасного HTTP (HTTPS) порт по умолчанию — 443
, а для обычного HTTP — всегда 80.
Вопрос 4. Что означает аббревиатура GNU?
GNU расшифровывается как «GNU — это не Unix» и представляет собой рекурсивную аббревиатуру, то есть первая буква (G)
обозначает саму аббревиатуру. Такой стиль именования — шутливая традиция в сообществе разработчиков ПО с открытым исходным кодом.
Проект GNU был запущен Ричардом Столлманом в 1983 году с целью создания полностью бесплатной Unix-подобной операционной системы с открытым исходным кодом.
Несмотря на то, что GNU основан на тех же принципах, что и Unix, он был разработан с нуля и не содержит кода Unix, что позволяет свободно использовать, модифицировать и распространять его на условиях Стандартной общественной лицензии GNU (GPL).
Сочетание инструментов GNU с ядром Linux — это то, что большинство людей обычно называют «Linux», хотя с технической точки зрения более точное название — «GNU/Linux»
5. Команда mysql выдаёт ошибку сокета. Что нужно проверить в первую очередь?
Если при выполнении команды mysql возникает ошибка сокета, например:
Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'
Первое, что нужно проверить, — запущена ли служба MySQL.
sudo systemctl status mysql
Если служба не запущена, запустите её:
sudo systemctl start mysql
Если служба MySQL работает, но вы по-прежнему сталкиваетесь с ошибкой сокета, проверьте, не совпадает ли расположение файла сокета. Иногда клиент MySQL пытается подключиться к файлу сокета, расположенному не в том каталоге.
Чтобы решить эту проблему, сначала проверьте путь к сокету, указанный в настройках сервера MySQL, в файле my.cnf
, который обычно находится по адресу /etc/mysql/my.cnf
или /etc/my.cnf
.
mysql --socket=/путь/к/mysql.sock
Другой распространённой причиной являются проблемы с правами доступа к каталогу сокетов. Убедитесь, что у пользователя, выполняющего команду MySQL, есть доступ к каталогу, в котором находится файл сокета, обычно /var/run/mysqld/
. Без соответствующих прав доступа клиент не сможет получить доступ к файлу сокета, даже если он существует.
Наконец, для более детального устранения неполадок следует проверить журнал ошибок MySQL.
sudo less /var/log/mysql/error.log
6. Как подключить раздел Windows NTFS в Linux?
Чтобы смонтировать раздел Windows NTFS в системе Linux, необходимо использовать драйвер ntfs-3g
, который обеспечивает полную поддержку чтения и записи для файловых систем NTFS.
sudo apt install ntfs-3g [#на базе Debian] sudo yum install ntfs-3g [#на базе Red Hat]
После установки определите раздел NTFS, который вы хотите смонтировать, с помощью команды:
lsblk
или
fdisk -l /dev/sdb1
Затем создайте точку подключения и подключите раздел с помощью команды:
sudo mkdir /mnt/ntfs sudo mount -t ntfs-3g /dev/sdb1 /mnt/ntfs
После монтирования вы можете получить доступ к содержимому раздела NTFS через указанную директорию. Чтобы монтирование сохранялось после перезагрузки, вы можете добавить запись в файл /etc/fstab
с указанием соответствующего пути к устройству, точки монтирования, типа файловой системы (ntfs-3g
), а также желаемых параметров монтирования.
7. Какая из перечисленных ниже ОС не основана на RPM?
- RedHat Linux
- CentOS
- Rocky Linux
- Debian
- Fedora
Debian — это операционная система, не основанная на RPM, которая использует формат DEB (пакет Debian), а её инструменты управления пакетами включают dpkg, apt и apt-get.
В отличие от них, RedHat Linux, CentOS, Rocky Linux и Fedora — это дистрибутивы на основе RPM, то есть они используют формат RPM (Red Hat Package Manager) и такие инструменты, как rpm и yum или dnf для управления пакетами.
Таким образом, в то время как все остальные дистрибутивы входят в семейство Red Hat и используют схожие системы упаковки, Debian принадлежит к совершенно другой линейке с собственной экосистемой.
8. Какую команду можно использовать для переименования файла в Linux?
В Linux для переименования файла используется команда mv (move). Хотя её основная функция — перемещение файлов и каталогов из одного места в другое, она также служит стандартным способом переименования файла в том же каталоге.
Если в качестве места назначения указать новое имя файла, mv
просто изменит имя файла, не затрагивая его содержимое. Например, чтобы переименовать файл с именем oldname.txt
в newname.txt
, нужно использовать команду:
mv oldname.txt newname.txt
Это работает, потому что файл «перемещается» из папки со старым именем в папку с новым именем в том же месте. Это быстрый и эффективный способ переименования файлов и каталогов в Linux.
9. Какая команда используется для создания и отображения файла в Linux?
В Linux команда cat обычно используется как для создания, так и для отображения содержимого файла. Название «cat
» расшифровывается как «конкатенация», но эта команда широко используется для выполнения простых задач, таких как просмотр содержимого файла или создание небольших текстовых файлов прямо из терминала.
Чтобы создать файл с помощью cat
, можно использовать синтаксис cat > filename
, затем ввести содержимое, которое вы хотите добавить, и нажать Ctrl + D
, чтобы сохранить и выйти.
Чтобы отобразить содержимое файла, просто используйте cat filename
. Хотя cat не является полноценным текстовым редактором, как vi или nano, это быстрый и эффективный способ создания и просмотра файлов, особенно при работе со скриптами или выполнении базовых операций в командной строке.
10. Какой уровень модели OSI отвечает за взаимодействие на уровне приложений?
В модели OSI (взаимосвязь открытых систем) уровень 7 — это прикладной уровень, который отвечает за управление взаимодействием между программными приложениями и более низкими уровнями сети.
Этот уровень выступает в качестве интерфейса между конечным пользователем и сетью, предоставляя такие услуги, как передача файлов, электронная почта, просмотр веб-страниц, удалённый вход в систему и управление сетью. Он поддерживает протоколы прикладного уровня, такие как HTTP, FTP, SMTP, DNS и многие другие.
Хотя он не представляет собой сами приложения, он позволяет этим приложениям эффективно взаимодействовать по сети. Уровень 7 обеспечивает правильное форматирование данных и их доставку нужному приложению, что крайне важно для сервисов, ориентированных на пользователя, и взаимодействия в рамках сетевой коммуникации.
Заключение
На этом мы завершаем третью часть нашей серии вопросов для собеседования по Linux. Мы продолжим изучать более узкие темы, такие как написание сценариев, сервисы, мониторинг системы и сетевые технологии.
Редактор: AndreyEx