Файл hosts и его расположение

Файл hosts — текстовый документ, который содержит в себе информацию о домене и IP-адресе, который ему соответствует. Файл hosts появился во времена зарождения Интернета (ARPANET) и служил неким маршрутизатором, пока на замену ему не пришла служба DNS. Но до сих пор он не утратил важности и по-прежнему используется как инструмент, который обладает приоритетом перед обращением к DNS-серверам.

Предположим, вы зарегистрировали домен и привязали его к хостингу. Но чтобы увидеть сайт, вам нужно дождаться делегирования домена на DNS-серверы. В файле hosts вы можете указать ваш домен и IP-адрес хостинга, а затем открыть браузер и зайти на ваш сайт, не дожидаясь делегирования домена. Также с его помощью вы можете заблокировать на локальном компьютере доступ к определённому сайту, указав соответствующую запись.

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

  • Windows XP, 2003, Vista, 7, 8, 10 — C:\Windows\System32\drivers\etc\hosts
  • Linux, Ubuntu, Unix, BSD — /etc/hosts
  • macOS — /private/etc/hosts

Редактировать файл hosts нужно от имени администратора, иначе вы не сможете сохранить внесённые изменения.

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

Рассмотрим, как перезагрузить (перезапустить) по SSH сервер Linux. Перезагрузить сервер Ubuntu, CentOS, Debian и основанные на них дистрибутивы можно удаленно по SSH или подключившись к командной строке другим способом.

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

Когда требуется перезагрузка?

Перезагрузка сервера без веских на то причин может привести к сбоям в работе серверного оборудования.

Так когда перезагружаем?

  1. Сервер завис или тормозит.
  2. Некорректно работают установленные программы.
  3. При смене операционной системы.
  4. При работе с BIOS (если есть физический доступ или его эмуляция).
  5. При использовании программ низкоуровневого копирования и восстановления данных (например, Acronis Backup).

Не перезагружайте сервер во время установки/удаления программ.

Как перезагрузить сервер через терминал?

Linux-серверы можно перезагрузить в консоли 3 простыми командами: shutdownreboot и init.

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

После ввода указанных выше команд соединение с сервером будет прервано. Перезагрузка может занимать до 15 минут.

Подключитесь к вашему серверу под root-пользователем.

1. Команда shutdown -r

Это базовая команда, которая используется для перезагрузки Linux-сервера с Ubuntu.

Введите команду:

shutdown -r now

Еще можно запланировать перезагрузку, введя вместо now конкретное время. Например, назначим перезагрузку сервера на 11 утра:

shutdown -r 11:00

Также можно перезагрузить сервер через небольшой промежуток времени. Например, через 5 минут:

shutdown -r +5

2. Команда reboot

Также можно перезагрузить Linux-серверы с Ubuntu, Debian, CentOS или другим дистрибутивом с помощью универсальной команды reboot.

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

Введите команду, и сервер будет перезагружен сразу:

reboot 0

или

reboot now

После ввода команды соединение с сервером будет прервано.

3. Команда init 6

Также для перезагрузки можно использовать уровни системы инициализации Init Scripts. Всего в этой системе 6 уровней: где 0 — выключение, а 6 — перезагрузка. Чтобы перейти к этому уровню, используйте команду:

init 6

Введение в Linux

В настоящее время, семейство операционных систем Linux является одним из двух самых популярных в мире, наравне с операционными системами семейства Windows.  Данное семейство операционных систем является одним из ответвлений операционных систем семейства Unix.

Наиболее популярные дистрибутивы данного семейства: Ubuntu (Desktop или Server) и CentOS (Desktop или Server).

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

Данные операционные системы можно установить, как на реальную машину (ПК, ноутбук, сервер), так и на виртуальную машину, сервер, облако. Многие компании в настоящее время выбирают данное семейство операционных систем для работы своих сервисов, таких как FTP-, WEB-сервера, сервера баз данных и многих других. Данные операционные системы считаются более надежными, чем операционные системы семейства Microsoft.

Все операционные системы семейства Linux можно разделить на 3 больших группы DesktopServerSpecial Edition. Все три группы операционных систем очень близки по своему функционалу, и их отличие состоит в назначении самой операционной системы и установленных пакетах (программах). Любые пакеты легко устанавливаются и стираются различия между группами операционных систем, но согласитесь, что достаточно удобно, когда мы берем готовый дистрибутив (далее по тексту «сборка») и после его установки получаем готовую к работе операционную систему со всеми пакетами.

Как можно догадаться Desktop сборка – это дистрибутив, предназначенный для работы на пользовательском ПК. Основное его отличие в том, что данная сборка включает в себя основной компонент это GUI  (Graphical User Interface), графический интерфейс пользователя, а говоря простыми словами — понятный инструмент взаимодействия операционной системы и человека, включающий набор графических оболочек для популярных программ. Ниже пример рабочего стола операционной системы CentOS.

CentOS 9 Desktop

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

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

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

Обычно данную сборку ставят на сервера или виртуальные машины, которые должны обеспечивать работу определенного сервиса. Пример: на виртуальный сервер, который поддерживает работу интернет сайта, устанавливаются пакеты веб-сервера Apache или Nginx, базы данных MySQL или MariaDB и так далее. Рабочее пространство или интерфейс взаимодействия между операционной системой и пользователем, представляется в виде командной строки и курсора с приглашением для ввода команд. Пользователь вводит команды, а программный интерпретатор их воспринимает и передает в операционную систему на исполнение.

Вот примерно в таком интерфейсе происходит работа в серверной операционной системе.

CentOS 9 Server

Рассмотрим последнюю группу специализированных сборок Special Edition. Ярким представителем является сборка Kali Linux. Данная сборка позиционируется, как инструмент для пентестеров и специалистов по информационной безопасности. Данная сборка содержит набор пакетов для проведения комплексной проверки на проникновение и взлом. В нее входят такие программы для сбора информации об удаленной системе, программы для поиска уязвимостей, программы для проведения атак на удаленные ресурсы, программы для социальной инженерии.

Существует и российская разработка — дистрибутив AstraLinux. Она отличается от классического дистрибутива на базе Debian повышенной взломостойкостью, внедренной мандатной моделью разграничения доступа. Данная сборка устанавливается в силовых ведомствах РФ. 

Если рассматривать семейство операционных систем Linux в совокупности, то мы можем видеть, что под конкретную задачу подбирается свой дистрибутив операционной системы и набор приложений для обеспечения работоспособности сервисов. Можно отметить также, что их объединяет – это принципы работы ядра операционной системы (в данном контексте имеется в виду, что ядро базовое — Unix, а дополнительные компоненты можно в него включить), принципы построения файловых структур, принципы работы с устройствами и сетевыми устройствами.

Нужно также отметить, что Linux – Open Source проект, то есть программное обеспечение с открытым исходным кодом. Каждый желающий может просмотреть данный код, в том числе на предмет закладок или написать свою программу.

Большинство софта и дистрибутивов бесплатное, но существуют и отдельные коммерческие проекты, которые взимают плату за техническую поддержку, например RHEL – Red Hat Enterprise Linux. Это сборка предназначена для серверов и считается наиболее удачной. Сборка CentOS является ее бесплатным аналогом.

Изучение Linux поможет:

Кому будет интересно семейство операционных систем Linux:

  • Системным администраторам для развертывания сервисов. Для семейства операционных систем Linux практически не существует вирусов, а защита от проникновения на пару порядков выше.
  • Разработчикам ПО и WEB сайтов, так как удобство работы со структурой сайтов и написание кода, внедрения и развертывания в тестовой среде и в продуктивной, практически неоспоримо. 
  • DevOPS инженерам, которые развертывают тестовые и продуктовые контуры для разработчиков. 
  • Обычным пользователям, которые хотят научится чему, то новому, более безопасному, чем Windows.

Manjaro Linux

Manjaro Linux или Manjaro — дистрибутив GNU/Linux, основанный на Arch Linux, использующий модель обновлений rolling release. Официально доступно несколько версий: с рабочим окружением Xfce, KDE Plasma или GNOME.

Manjaro делает упор на удобство использования и доступность, а сама система предназначена для работы полностью «прямо из коробки» с разнообразным предустановленным программным обеспечением. Он имеет модель обновлений rolling и использует Pamac в качестве диспетчера пакетов.

Manjaro обладает полной поддержкой мультимедиа, распознаёт оборудование, поддерживает несколько ядер, в том числе и rc. В версии 0.8.3 использовался текстовый установщик, в версии 0.8.8 кроме него также предлагается к использованию Thus — разрабатываемый установщик с графическим интерфейсом. Модель rolling release означает, что у пользователя нет необходимости в переустановке системы. Управление пакетами осуществляется pacman, а также его графическими фронт-эндами Pamac (XFCE) и Octopi (OpenBox). С ноября 2017 официально поддерживается только 64-bit версия, а 32-bit версия существует как отдельный проект, поддерживаемый сообществом.

Для управления репозиториями используется BoxIt.

Ссылка на дистрибутив: https://manjaro.org/

Получение списка имен файлов в папке, соответствующих шаблону при помощи PowerShell

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

Get-ChildItem -Path $path -Recurse -Filter "*sample*"

Это должно вернуть все файлы и папки , в имени которых есть образец. Если вам просто нужны файлы или каталоги, вы сможете использовать переключатели -File или -Directory возвращать эти конкретные типы объектов.

Как включить клиент Telnet в Windows 7?

Вопрос

При попытке выполнить команду telnet, Windows 7 сообщает о том, что telnet не распознается как команда.

Ответ

По умолчанию клиент Telnet не включен в Windows 7. Чтобы его включить, необходимо добавить Windows-компонент клиента Telnet.

Для этого откройте Control Panel (Панель управления) и выберите Programs > Turn Windows features on or off (Программы > Включение или отключение компонентов Windows).

Установить флажок рядом с «Telnet Client» (Клиент Telnet) и нажать ОК.

После установки компонента, можно использовать клиент Telnet в командной строке.

Android-x86 — перенос Android на x86

Android-x86 — это неофициальный порт мобильной операционной системы Android для запуска или установки на компьютерах, ноутбуках и нетбуках с процессорами AMD и Intel.

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

Некоторые компоненты разработаны в проекте для запуска на x86-архитектуре. Например, некоторые низкоуровневые компоненты заменены для лучшей поддержки архитектуры, к примеру, ядро, и HAL (Hardware Abstraction Layer, cлой аппаратных абстракций). Операционная система поддерживает аппаратное ускорение OpenGL ES, если поддерживаемые чипсеты GPU обнаружены, например, Intel GMA, AMD Radeon, и Nvidia (появилась поддержка Nouveau в версии 4.4-r3). При отсутствии поддерживаемых GPU, система может работать с использованием программного рендеринга.

Как обычный дистрибутив Linux, проект выпускает готовые ISO-образы, которые можно запускать в режиме Live или устанавливать на жёсткий диск целевого устройства. Начиная с 4.4-r2 Android-x86 также выпускает образы efi_img[9], которые могут быть использованы для создания Live USB, который можно загружать с устройств UEFI.

Следующие компоненты были разработаны с нуля или созданы на базе других проектов с открытым исходным кодом:

  • Ядро.
  • Установщик.
  • Drm_gralloc и Mesa.
  • Аудио.
  • Камера.
  • GPS.
  • Управление дисплеем.
  • Радиоинтерфейс.
  • Сенсор.

Скачать проект можно по ссылке: https://www.android-x86.org/

Разница между stdout и /dev/stdout

Рассмотрим пример:

root@debian:~$ echo "Hello, World" > stdout
root@debian:~$ cat stdout
Hello, World

root@debian:~$ echo "Hello, World" > /dev/stdout
Hello, World

В первом случае stdout это обычный файл, созданный в том же каталоге, в котором выполняется команду. Он ничем не отличающийся от любого другого обычного файла, например, ~/anyfile.txt. Он не имеет ничего общего со стандартным выводом, кроме того факта, что в данном примере на него перенаправляется стандартный вывод.

Во втором случае /dev/stdout это файл устройства, который является символической ссылкой (которую можно создать с помощью ln -s) на специальный виртуальный файл /proc/self/fd/1, представляющий файловый дескриптор 1 хранящийся в текущем процессе.

Загрузка потокового видео в Linux при помощи утилиты FFmpeg

Для загрузки потокового видео в терминале необходимо выполнить команду:

ffmpeg -protocol_whitelist file,http,https,tcp,tls,crypto -i "<ссылка>" -c copy <файл>.mp4

Здесь:

  • <ссылка> — это ссылка, которая обычно берется из HTML-тега <video>, часто начинается с https
  • <файл> — это имя файла, которое необходимо придумать самостоятельно

Перед тем, как загружать видео в терминале, его необходимо запустить в окне браузера.