💡 Полезные Советы

Процесс загрузки Linux‑системы

31.01.26
464

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

1. BIOS/UEFI: старт системы

После включения процессор начинает выполнять код встроенной прошивки материнской платы - BIOS или UEFI.

Прошивка выполняет самотест (POST), инициализирует базовые устройства (оперативная память, контроллеры, видеосистема) и по настройкам выбирает загрузочное устройство: диск, флешку, сетевую карту и т.д.

Основная задача этого этапа - подготовить железо и найти, откуда загружать операционную систему.

2. MBR/GPT: первая стадия загрузки

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

MBR (Master Boot Record) - классическая схема, занимает первые 512 байт диска.

GPT (GUID Partition Table) - современная схема, логически отделяет таблицу разделов и код загрузки.

В этой области лежит крошечный фрагмент кода - первая стадия загрузчика. Его возможности ограничены: он только считывает таблицу разделов и находит место, где расположена "вторая стадия" полноценного загрузчика (обычно на разделе /boot).

3. Загрузчик (GRUB/LILO): выбор и запуск ядра

Дальше управление получает загрузчик второго этапа - чаще всего GRUB.

Он уже умеет работать с файловыми системами и конфигурационными файлами.

Типичные задачи загрузчика:

  • Показать меню с вариантами загрузки (разные ядра, режим восстановления, другие ОС).
  • По выбору пользователя загрузить в память образ ядра Linux и initramfs (initial RAM filesystem).
  • Передать управление загруженному ядру.

В системах с dual‑boot GRUB может не только загружать Linux, но и "передавать эстафету" загрузчику Windows (chainloading).

4. initramfs: временная файловая система в памяти

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

Зачем она нужна:

  • На "настоящем" корневом разделе (/) лежат драйверы и модули, но чтобы его смонтировать, эти драйверы уже должны быть доступны.
  • initramfs решает эту проблему, предоставляя ядру временный root с необходимыми модулями, скриптами и утилитами.

Типичный сценарий работы initramfs:

  1. Ядро монтирует initramfs как временную корневую файловую систему и запускает из неё скрипт /init.
  2. /init подгружает модули ядра, настраивает RAID, LVM, расшифровывает шифрованные разделы и ищет постоянный корневой раздел.
  3. После нахождения и монтирования «настоящего» root выполняется переход (switch_root/pivot_root) на него, и система готова стартовать основную init‑систему.

По сути initramfs - одноразовая мини‑система, которая существует только во время старта и "исчезает" после перехода на основной root.

5. Ядро Linux: инициализация системы

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

На этом этапе формируется базовый программный "скелет" системы: ядро уже умеет работать с устройствами и файловыми системами и готово запускать пользовательские процессы.

Когда корневой раздел смонтирован, ядро запускает первый пользовательский процесс с PID 1 - init‑систему.

6. Init‑система: запуск служб и пользовательской среды

Init‑система - это первый процесс в пространстве пользователя, который отвечает за запуск всех остальных сервисов и подготовку окружения для пользователя.

В современных дистрибутивах чаще всего используется systemd, но исторически применялись и другие варианты:

SysV init - набор shell‑скриптов и runlevel’ов (0,1,3,5 и т.д.), запускающих службы в определённом порядке.

Upstart - событийная система, где службы стартуют в ответ на события (запуск системы, поднятие сети и т.п.).

systemd - современная система с unit‑файлами, параллельным запуском служб, зависимостями и мощным журналированием.

Основные задачи init‑системы:

  • Запустить системные службы (журналы, сеть, диспетчер входа, SSH, cron и др.).
  • Смонтировать дополнительные файловые системы.
  • Запустить графический сервер и рабочее окружение пользователя либо выдать текстовое приглашение логина.

Как только init‑система завершит свои задачи, пользователь видит приглашение к входу или рабочий стол - на этом процесс загрузки считается завершённым.

Глоссарий терминов

BIOS и UEFI - "Начальники железа"

  • BIOS (Basic Input/Output System - базовая система ввода‑вывода)
    Представьте BIOS как "бригадира" на стройке. Когда вы включаете компьютер, он просыпается первым, проверяет, что все рабочие (железо) на месте и в состоянии работать, а затем показывает, откуда начинать строительство (загрузку системы).
    Это старая технология: она простая, но имеет ограничения (например, не видит очень большие современные диски и имеет примитивный текстовый интерфейс).
  • UEFI (Unified Extensible Firmware Interface)
    Это "современный менеджер" на замену старому бригадиру BIOS. Он делает то же самое (проверяет железо и ищет загрузчик), но гораздо умнее:
    • Понимает мышку и имеет красивый графический интерфейс.
    • Видит диски огромного объёма (больше 2 ТБ).
    • Умеет загружаться быстрее и безопаснее (Secure Boot).
      Сегодня почти на всех новых компьютерах стоит именно UEFI, хотя по привычке мы часто называем его BIOS.
  • POST (Power-On Self Test)
    Это "утренняя перекличка" железа. Сразу после включения BIOS/UEFI быстро проверяет основные узлы:
    • Оперативная память (RAM) - целая ли?
    • Видеокарта - работает ли вывод на экран?
    • Клавиатура - подключена ли?
      Если всё хорошо - компьютер пикнет один раз или просто покажет логотип. Если что-то сломалось - начнёт пищать кодами ошибок (например, три длинных гудка - проблема с памятью).

Разметка диска: MBR и GPT
Чтобы компьютер понял, где на диске лежат файлы, диск нужно разметить.

  • MBR (Master Boot Record - главная загрузочная запись)
    Старый способ разметки, как старая карта города.
    • Ограничение: видит диск размером максимум 2 Терабайта.
    • Может иметь всего 4 главных раздела (например, диск C, D, E и F).
    • Хранит информацию о разделах только в одном месте (в самом начале диска) - если это место повредится, можно потерять все данные.
      Загрузчик при такой разметке часто "втискивается" прямо в эти первые байты диска.
  • GPT (GUID Partition Table - таблица разделов GUID)
    Современная "карта города".
    • Понимает диски любого реального размера (хоть 100 ТБ).
    • Позволяет создать огромное количество разделов (теоретически - бесконечно, практически - 128 и больше).
    • Хранит копии таблицы разделов в начале и в конце диска - если начало повредится, данные можно восстановить из копии.
      Обычно используется в паре с UEFI.

Загрузчики в мир ОС

  • Загрузчик (Bootloader)
    Это маленькая программа-посредник. BIOS/UEFI слишком примитивен, чтобы разбираться в файлах операционной системы. Поэтому он запускает загрузчик, а уже загрузчик знает: "Ага, ядро Linux лежит вот в этой папке на этом диске, сейчас я его прочитаю и запущу".
    Примеры: GRUB (для Linux), Windows Boot Manager (для Windows).
  • GRUB (GRand Unified Bootloader)
    Самый популярный и мощный загрузчик в мире Linux.
    Его суперсилы:
    • Умеет загружать почти любую операционную систему.
    • Показывает меню при включении компьютера, где вы можете выбрать: "Загрузить Ubuntu", "Загрузить Windows" или "Восстановить систему".
    • Если что-то сломалось, у него есть своя командная строка, через которую иногда можно починить загрузку вручную.
  • Chainloading (Цепная загрузка)
    Это когда один загрузчик не грузит систему сам, а передает управление другому загрузчику.
    Представьте: вы выбрали в меню GRUB пункт «Windows». GRUB не умеет запускать ядро Windows напрямую, он просто говорит: «Эй, загрузчик Windows, твой выход!», и передаёт управление ему. Для пользователя это выглядит просто как выбор пункта меню.

Внутренности Linux: Ядро и его помощники

  • Ядро (Kernel)
    Это "мозг" операционной системы.
    Ядро - это самая главная программа, которая управляет всем компьютером.
    • Оно решает, какой программе дать поработать процессором прямо сейчас.
    • Оно выделяет память программам и следит, чтобы они не мешали друг другу.
    • Оно общается с железом (дисками, видеокартой, мышкой).
      Пользователь с ядром напрямую не общается - для этого есть оболочки и программы.
  • Драйвер
    Это "словарь" или "инструкция" для ядра.
    Ядро само по себе не знает, как управлять конкретной моделью видеокарты NVIDIA или принтером Canon. Драйвер - это модуль, который объясняет ядру: "Чтобы напечатать страницу на этом принтере, нужно отправить вот такие команды в порт USB".
    Без драйверов железо просто "мертвый груз".
  • initramfs (Initial RAM Filesystem)
    Это "аварийный чемоданчик" для старта ядра.
    Проблема: чтобы прочитать файлы с диска, ядру нужен драйвер диска. Но драйвер диска сам лежит на диске! Как его прочитать, если мы еще не умеем читать диск?
    Решение: initramfs - это маленький архив, который загрузчик кладёт в оперативную память вместе с ядром. В нём уже лежат самые важные драйверы. Ядро сначала открывает этот архив, берёт оттуда драйвер диска, а уже потом может читать настоящий большой диск с системой.
  • Root (Корень, /)
    Это главная папка всей системы Linux.
    В Windows есть диски C:, D:, E:. В Linux всё начинается от одного корня - символа /.
    Все остальные диски и флешки "подключаются" (монтируются) внутрь папок в этом корне. Когда система загружена, именно в корне лежат все ваши программы, настройки и файлы.

Init-системы: "Управляющие процессами"
После того как ядро запустилось, оно запускает самый первый процесс (PID 1). Этот процесс должен запустить всё остальное (сеть, звук, экран входа в систему). Это и есть Init-система.

  • SysV init (System V init)
    Классический, "дедовский" метод.
    • Работает по строгой очереди: сначала запусти сеть, потом (когда сеть готова) запусти SSH, потом запусти веб-сервер.
    • Использует простые и понятные скрипты (текстовые файлы с командами).
    • Минус: загрузка идёт медленно, потому что процессы ждут друг друга.
  • systemd
    Современный стандарт (используется в Ubuntu, Debian, CentOS, Fedora).
    • Умеет запускать всё параллельно: сеть и звук грузятся одновременно, не ожидая друг друга, если не зависят друг от друга.
    • Очень мощная и сложная: умеет перезапускать упавшие службы, следить за логами, управлять таймерами.
    • Многие критикуют её за сложность ("комбайн, который делает всё"), но она де-факто стандарт сегодня.
  • Upstart
    Попытка сделать что-то среднее между старым SysV и новым systemd.
    Главная идея - "события". Не просто "запусти сеть", а "если вставили сетевой кабель - запусти настройку сети".
    Сейчас почти не используется, так как systemd победила в "войне init-систем".

ИИ Браузер Comet: Почему это будущее веб-серфинга (и зачем вам Perplexity Pro)?

31.01.26
538

Мы привыкли, что браузер - это просто окно в интернет. Chrome, Safari, Edge - все они работают примерно одинаково: вы вводите запрос, получаете список ссылок, открываете десятки вкладок и тратите часы на поиск нужного. Но в 2025 году правила игры изменились.

Компания Perplexity AI представила Comet - первый в мире браузер, где искусственный интеллект не просто "прикручен" сбоку, а является самим сердцем программы. Давайте разберемся, почему Comet называют будущим интернета и как подписка Pro раскрывает его полный потенциал.

Что такое Comet?

Comet - это браузер на базе Chromium, разработанный Perplexity AI. В отличие от конкурентов, которые просто добавляют боковые панели с чат-ботами, Comet построен вокруг концепции агентного поиска.

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

Секретное оружие IT-поддержки в 2026 году

Каждый сотрудник техподдержки знает: 90% работы - это умение правильно "гуглить". Бесконечные вкладки c форумами вендоров, GitHub-issue и документацией Microsoft... Это рутина, которая съедает часы!

Но что, если браузер сам сделает ресёрч за вас, пока вы наливаете кофе?

 

Кейсы для Support-инженера:

  1. Траблшутинг за секунды (Agentic Search)
    Прилетел тикет со странным кодом ошибки в Legacy-софте? Вместо того чтобы открывать 10 ссылок из выдачи, просто введите в Comet: "Ошибка 0x80040154 при запуске 1C на Windows Server 2022, найди решение в ветках Technet и Reddit".
    Браузер просканирует обсуждения, отсеет флуд и выдаст вам сухую выжимку: в чем причина и какие 3 команды PowerShell нужно запустить для фикса.
  2. Мгновенный разбор документации
    Нужно быстро найти параметры конфига в PDF-мануале на 500 страниц? Comet "читает" открытую страницу контекстно. Выделите кусок текста или просто спросите в чате сбоку: "Какие порты нужно открыть для этой службы?" - и получите точный ответ без скроллинга.
  3. Генерация скриптов на лету
    Прямо в браузере можно попросить ИИ написать скрипт для автоматизации. Например: "Напиши .bat файл, который чистит кэш этого приложения и перезапускает службу".

Зачем админу Perplexity Pro?


Бесплатный Comet хорош, но для профессиональной работы нужна "тяжелая артиллерия". Подписка Perplexity Pro дает возможности, которые окупаются с первого же сложного инцидента.

  • Анализ логов и конфигов. В Pro-версии вы можете "скормить" чату файл лога (txt, log, csv) прямо в окне браузера. ИИ найдет аномалии, тайм-ауты или ошибки авторизации быстрее, чем вы просмотрите файл глазами.
  • Доступ к топовым моделям (GPT-5, Claude 3.5/4). Для написания сложного кода или анализа неочевидных проблем лучше использовать самые мощные «мозги». Pro позволяет переключаться между моделями под разные задачи: Claude для анализа кода, GPT для генерации инструкций пользователям.
  • Deep Research для сложных кейсов. Если проблема редкая и решение не гуглится с ходу, режим Deep Research проведет глубокое расследование, сопоставляя факты из разрозненных источников, чтобы найти корень проблемы.
     

Comet + Perplexity Pro - это как нанять джуниора-помощника, который работает 24/7, мгновенно читает документацию и никогда не устает. Это инструмент, который позволяет закрывать тикеты быстрее и освобождает голову для действительно важных задач.

P.S. О безопасности пользователей
Пока ИИ помогает вам решать технические проблемы, не забывайте о базовой гигиене безопасности. При заведении новых учеток пользователям всегда используйте надежные пароли. Быстро сгенерировать криптостойкий пароль любой сложности можно на нашем внутреннем инструменте - Riopass.ru.

PATA, SATA, SAS, SCSI, NVMe и M.2: что это, в чём разница и какой интерфейс лучше?

29.01.26
642

При сборке компьютера или апгрейде старого ноутбука легко запутаться в аббревиатурах. Почему диск M.2 не подходит в разъем M.2? Чем серверный SAS отличается от обычного SATA? И почему старые широкие шлейфы ушли в прошлое?

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

Часть 1. Эпоха кабелей: PATA, SATA и серверные монстры

В этом разделе речь пойдет о дисках, которые подключаются к материнской плате с помощью проводов (шлейфов).

1. PATA (IDE) - "Старая школа"

Parallel ATA, более известный как IDE. Доминировал в 90-х и начале 2000-х.

  • Как узнать: Широкий плоский серый шлейф (40 или 80 жил) и массивный разъем с кучей ножек.

  • Особенность: Передача данных шла параллельно (одновременно по нескольким жилам). Это требовало широких кабелей, которые перекрывали поток воздуха в корпусе.

  • Настройка: Чтобы подключить два диска на один шлейф, приходилось вручную переставлять перемычки (джамперы) в режим Master или Slave.

Вердикт: Полностью устарел. Встречается только в ретро-сборках.

2. SATA (Serial ATA) - современный массовый стандарт

Пришел на смену IDE и используется до сих пор практически в каждом домашнем ПК для жестких дисков (HDD) и 2.5-дюймовых SSD.

  • Как узнать: Тонкий кабель (обычно красный, черный или синий) шириной около 1 см. Г-образный коннектор.

  • Особенность: Последовательный интерфейс. Данные передаются по одной линии, но на очень высокой частоте. Это позволило сделать кабели компактными и поднять скорость до 600 МБ/с (в версии SATA III).

  • Плюсы: Дешево, просто, поддерживает "горячую замену".

Вердикт: Живее всех живых. Идеален для хранения больших объемов данных (HDD).

3. SCSI (Small Computer System Interface) - дедушка серверных технологий

Читается как "скази". Пока дома использовали IDE, в серверах и рабочих станциях стоял SCSI.

  • Особенность: Это была универсальная шина. К одному контроллеру можно было цепочкой подключить жесткие диски, сканеры и ленточные накопители.

  • Плюсы: Высокая надежность и умение работать с очередью команд.

  • Минусы: Дорогие и громоздкие кабели.

Вердикт: Физически устарел, но его логика переродилась в SAS.

4. SAS (Serial Attached SCSI) - серверный стандарт высокой надёжности

Прямой наследник SCSI, но переведенный на последовательную передачу данных (аналог того, как SATA заменил PATA).

  • Где используется: Серверы, корпоративные хранилища.

  • Главное отличие от SATA:

    1. Надежность: Рассчитан на работу 24/7 под высокой нагрузкой.

    2. Full Duplex: Умеет одновременно читать и писать данные (SATA делает это по очереди).

    3. Совместимость: В контроллер SAS можно воткнуть обычный диск SATA, и он будет работать. А вот наоборот (диск SAS в домашнюю плату) -  нет.

Вердикт: Стандарт для профессиональных серверов.

Эпоха плат: M.2, NVMe и путаница форм‑факторов

Здесь начинается самое интересное. Современные SSD стали настолько быстрыми, что старые провода их тормозили. Диски уменьшились и переехали прямо на материнскую плату.

Что такое M.2?

M.2 - это просто название разъема (форм-фактор). Это "гнездо" на плате. В него можно вставить устройства с разными технологиями работы. И вот тут часто совершают ошибки при покупке.

M.2 SATA

Это обычный медленный SSD, просто без пластикового корпуса и проводов.

  • Скорость: Та же, что и у обычного SATA (до 550 МБ/с).

  • Как узнать: Обычно имеет два выреза ("ключа") на контактах: B & M Keys.

  • Зачем нужен: Часто встречается в старых ноутбуках или как дешевая альтернатива для офисных ПК.

 M.2 NVMe (PCIe)

Это современные сверхскоростные диски.

  • Технология: Использует протокол NVMe и шину PCI Express (прямой доступ к процессору, как у видеокарты).

  • Скорость: От 2000 до 12000+ МБ/с. В 10-20 раз быстрее SATA!

  • Как узнать: Обычно имеет только один вырез справа: M Key.

Важно: "NVMe SATA" не существует. Это взаимоисключающие понятия. Диск M.2 может быть либо SATA, либо NVMe.

Итоговая таблица:

АббревиатураТип подключенияСкорость (примерно)Где применяется
PATA (IDE)Широкий шлейф (Параллельный)до 133 МБ/сМузеи, ретро-ПК, старое пром. оборудование
SCSI (Legacy)Толстый кабель (Параллельный)от 5 до 320 МБ/сСтарые серверы и рабочие станции (90-е и 00-е)
SATAТонкий кабель (Последовательный)до 600 МБ/сСовременные HDD, обычные 2.5" SSD
SASКабель / Корзина (Последовательный)до 2400 МБ/с (12-24 Гбит/с)Современные серверы, корпоративные хранилища
M.2 SATAПлата в разъемдо 550 МБ/сБюджетные ноутбуки и офисные ПК
M.2 NVMeПлата в разъем3500 - 12000+ МБ/сИгровые ПК, топ-ноутбуки, рабочие станции

Если вы собираете современный компьютер:

  1. Под систему и игры берите M.2 NVMe (смотрите, чтобы слот на плате поддерживал PCIe/NVMe).

  2. Под хранение фото и фильмов берите обычный HDD на SATA.

  3. Избегайте покупки M.2 SATA, если у вас нет специфической необходимости - они занимают слот M.2, но работают медленно. Смотри примечание.

В зависимости от разводки платы, слот M.2 бывает трех типов:

  1. Только NVMe (PCIe): Самый частый вариант в новых платах. Если вы вставите туда M.2 SATA, диск просто не определится. Компьютер его не увидит, хотя лампочка на диске может гореть!

  2. Только SATA: Встречается в старых ноутбуках. Туда можно вставить M.2 SATA, и он заработает. А вот NVMe диск (с одним вырезом) туда чаще всего даже физически не влезет.

  3. Универсальный (SATA + PCIe): Материнская плата "умная". Она сама определяет, что вы вставили, и переключает режим. Здесь заработает всё.

Как узнать точно?

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

Шпаргалка по chmod: права доступа в Linux простым языком

27.01.26
540

В Linux права считаются простой арифметикой. Вы просто складываете числа для нужных действий.

1. Базовые значения

ЧислоДействиеАнгл.Описание
4ЧтениеReadМожно открыть и посмотреть файл
2ЗаписьWriteМожно изменять или удалять файл
1ВыполнениеeXecuteМожно запустить файл (скрипт/программу)

2. Полная таблица (как на твоем скрине)

Чтобы получить комбинированные права, просто сложите цифры (например: Чтение + Запись = 4 + 2 = 6).

ЧислоСимволыРасшифровка (Права)Формула
0---Нет правНичего
1--xТолько выполнение1
2-w-Только запись2
3-wxЗапись + Выполнение2 + 1
4r--Только чтение4
5r-xЧтение + Выполнение4 + 1
6rw-Чтение + Запись4 + 2
7rwxПолные права (всё вместе)4 + 2 + 1

В командах вы обычно видите три цифры подряд, например 755. Они обозначают права для трех категорий пользователей по очереди:

  1. Владелец (Owner) - тот, кто создал файл.

  2. Группа (Group) - коллеги/команда владельца.

  3. Остальные (Others) - все прочие пользователи системы.

Пример: chmod 755 filename

  • 7 (Владелец): rwx (Может всё: читать, писать, запускать).

  • 5 (Группа): r-x (Может читать и запускать, но не редактировать).

  • 5 (Остальные): r-x (Могут читать и запускать, но не редактировать).

Популярные комбинации

  • chmod 777 - Разрешено всё и всем (опасно для безопасности, используйте с осторожностью).

  • chmod 755 - Стандарт для программ и скриптов (владелец меняет, остальные только запускают).

  • chmod 644 - Стандарт для обычных документов (владелец читает/пишет, остальные только читают).

  • chmod 600 - Секретный файл (только владелец может читать и писать, остальные даже не откроют).

  • chmod +x - Сделать файл исполняемым (добавляет "x" всем).

💡 Важное применительно к папка(директориям)

  1. Папка без x (Execute) - бесполезна!

    • Если у папки есть права rw- (6), но нет x, вы сможете сделать ls (увидеть имена файлов), но не сможете открыть ни один файл внутри, не сможете зайти в нее (cd) и получить доступ к подпапкам.

    • Поэтому для папок почти всегда нужно давать минимум 5 (r-x) или 7 (rwx). Права 6 (rw-) для папок встречаются крайне редко.

  2. Право удалять файлы (w на папку)

    • Чтобы удалить файл, вам не нужны права на запись в сам файл. Вам нужны права на запись (w) в папку, где этот файл лежит.

    • Пример: Вы можете удалить чужой файл, защищенный от записи (r--), если у вас есть полные права (rwx) на папку, в которой он находится.

  3. Комбинация wx (3) для папок

    • Это называется "Drop Box" (почтовый ящик). Вы можете положить туда файл (создать), но не можете посмотреть (ls), что там еще лежит (нет r). Используется редко, например, для папки lost+found.
       

Шпаргалка: wget и curl

26.01.26
479

Два самых популярных инструмента командной строки для скачивания файлов и взаимодействия с сетью - это wget и curl. Они часто выполняют похожие задачи, но имеют разную философию.

  • curl (Client URL) - про гибкость и протоколы.Он поддерживает множество протоколов и идеален для работы с API, отладки и сложных запросов. Выводит данные в консоль (stdout) по умолчанию.

  • wget (World Wide Web Get) - про надёжность и скачивание. Он надежен, отлично справляется с нестабильным соединением и умеет скачивать сайты целиком (рекурсивно). Сохраняет в файл по умолчанию.

Таблица шпаргалки:

Задачаcurlwget
Просто скачать файлcurl -O URLwget URL
Сохранить с другим именемcurl -o file.zip URLwget -O file.zip URL
Докачка (Resume)curl -C - -O URLwget -c URL
Следовать за редиректомcurl -L URL(Автоматически)
Показать заголовки (Headers)curl -I URLwget -S --spider URL
Игнорировать SSL (Insecure)curl -k URLwget --no-check-certificate URL
Авторизация (Basic)curl -u user:pass URLwget --user=user --password=pass URL
Проксиcurl -x proxy:port URLwget -e use_proxy=yes -e http_proxy=...

Примеры

1. Узнать свой внешний IP

Самый простой способ быстро проверить выход в сеть и свой IP-адрес.

curl:

curl icanhazip.com

wget:

wget -qO- ifconfig.me

2. Скачивание файла (Логотип Google)

Попробуем скачать реальный файл - логотип Google.

curl (нужен флаг -O, чтобы сохранить файл):

curl -O https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png

wget (просто работает):

wget https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png

3. Посмотреть погоду (ASCII-графика)

Один из самых популярных примеров использования curl для консольных утилит. Сервис wttr.in возвращает погоду в красивом текстовом формате.

curl wttr.in/Moscow
# Ниже пример по текущей локации, вычисляеться по ip адресу.
curl wttr.in

4. Тестирование HTTP-запросов (HttpBin)

Для разработчиков. Сайт httpbin.org - это специальный сервис, который просто "эхает" (возвращает) вам то, что вы ему отправили.

Посмотреть заголовки (Headers) сайта: Узнаем, на каком сервере работает сайт, без скачивания содержимого.

curl -I https://httpbin.org/get

Отправить JSON (POST запрос): Отправим тестовые данные и увидим, как сервер их принял. 

curl -X POST "https://httpbin.org/post" -H "Content-Type: application/json" -d "{"username": "dev_user", "status": "active"}"

5. Работа с редиректами (Github)

Github перенаправляет http запросы на https. Посмотрим, как инструменты реагируют на это.

curl (без флага -L ничего не покажет, только сообщит "Moved Permanently"):

# Не сработает как ожидается
curl http://github.com

# Сработает редирект
curl -L http://github.com

wget (умный, перейдет сам):

wget http://github.com

7. Имитация браузера (User-Agent)

Некоторые сайты могут блокировать стандартные запросы от роботов. Нужно притвориться обычным браузером. Для этого можно добавить User-Agent:


Википедия обычно не блокирует, пример учебный.

wget:

wget --user-agent="Mozilla/5.0" https://ru.wikipedia.org/robots.txt

curl:

curl -A "Mozilla/5.0" https://ru.wikipedia.org/robots.txt

Шпаргалка по systemctl: Управление службами в Linux

25.01.26
677

systemd - это система инициализации и управления службами в Linux. Основная утилита для взаимодействия с ней - systemctl. С её помощью мы запускаем веб-серверы, базы данных, ботов и настраиваем их автозагрузку.

Примечание.

systemd - это центральный механизм, который отвечает за запуск Linux после включения компьютера и за управление всеми службами (демонами), работающими в системе.
Когда Linux загружается, именно systemd:
•     запускает сетевые службы
•     поднимает базы данных
•     стартует веб‑серверы
•     следит за зависимостями
•     перезапускает упавшие процессы
•     управляет логами
Чтобы взаимодействовать с systemd, используется команда systemctl - это как "пульт управления" всеми службами.

В командах ниже замените name на имя вашей службы (например, nginx, docker, postgresql или my-bot).

1. Управление состоянием (прямо сейчас)

Базовые команды для включения и выключения.

КомандаОписание
systemctl start nameЗапустить службу.
systemctl stop nameОстановить службу.
systemctl restart nameПерезапустить (Stop + Start). Используется, если служба зависла или нужно применить серьезные изменения.
systemctl reload nameПеречитать конфигурацию без остановки. Идеально для веб-серверов (Nginx/Apache) при правке конфигов.
systemctl status nameПоказать статус. Самая важная команда: показывает, запущена ли служба, последние логи и ошибки.

Примечание.

Не обязательно писать .service в конце имени (например, можно писать sudo systemctl start nginx вместо nginx.service).

2. Автозагрузка (при включении ПК)

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

КомандаОписание
systemctl enable nameВключить автозагрузку. Создает симлинк в системе.
systemctl disable nameВыключить автозагрузку. Служба не запустится сама после ребута.
systemctl enable --now nameКиллер-фича: Включает автозагрузку И сразу запускает службу. (2 команды в одной).
systemctl is-enabled nameПроверить, включена ли автозагрузка сейчас.

Диагностика и поиск проблем

Если что-то сломалось, эти команды помогут понять, где именно.

  • systemctl --failed Показать список всех служб, которые упали с ошибкой. С этого стоит начинать починку системы.

  • systemctl list-units --type=service Показать вообще все активные службы в системе.