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

Debian. История о том, почему серьезная серверная операционная система носит имена игрушек?

12.12.25
555

Это одна из самых милых легенд в мире IT.

Как возникла связь с Pixar?

В 1996 году лидером проекта Debian стал человек по имени Брюс Перенс (Bruce Perens).

В то самое время, когда он занимался разработкой Debian, он работал в компании Pixar. И не просто работал, а участвовал в создании технической инфраструктуры в период производства первого мультфильма "История игрушек" (Toy Story), который вышел в 1995 году.

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

  • Первый релиз, которому дали имя, был Debian 1.1. Брюс назвал его Buzz (в честь Базза Лайтера).

  • Следующий стал Rex (тираннозавр).

  • Затем Bo (пастушка Бо Пип).

Брюс давно ушел из проекта, но традиция так полюбилась сообществу, что её решили оставить навсегда.

Главная пасхалка: Кто такой Сид?

В Debian есть три ветки разработки:

  1. Stable (Стабильная) - текущая версия (например, Buster, Bookworm).

  2. Testing (Тестовая) - будущая версия.

  3. Unstable (Нестабильная) - вечная версия для разработчиков, где всё меняется каждый день.

У ветки Unstable есть постоянное кодовое имя, которое никогда не меняется. Её зовут Sid.

Помните мальчика-хулигана Сида Филипса из первой части"Истории игрушек"? Того самого, который ломал игрушки, взрывал их и пересобирал в жутких мутантов?

Это идеальная аллегория:

Debian Sid (Unstable) - это место, где разработчики ломают программы, чтобы посмотреть, что внутри, и собирают из них что-то новое. Если вы используете Sid, ваша система может "сломаться", как игрушка в руках Сида.

3. Хронология имен (от старых к будущим)

Вот как выглядит история версий и их персонажи:

ВерсияИмя (Персонаж)Кто это в мультфильме?Статус
Debian 7WheezyПингвин с поломанной пищалкойУстарела (Архив)
Debian 8JessieДевушка-ковбойУстарела (Архив)
Debian 9StretchРезиновый осьминог (из 3 части)Устарела (Архив)
Debian 10BusterТакса ЭндиУстарела (ELTS*)
Debian 11BullseyeКонь Джесси (Булзая)Поддерживается (LTS)
Debian 12BookwormКнижный червь (с фонариком)Поддерживается
Debian 13TrixieСиний трицератопсТекущая стабильная
Debian 14ForkyВилкинс (из 4 части)Testing (В разработке)
Debian ∞SidМальчик-хулиганUnstable (Вечная бета)

Интересный факт

Слух о том, что "мультфильм создавался на Debian", верен лишь отчасти. В 1995 году Pixar использовала мощные рабочие станции Unix (SGI и Sun), а Linux тогда был еще слишком "сырым". Но Брюс Перенс использовал утилиты GNU и Linux для построения внутренней инфраструктуры студии, поэтому дух Debian действительно витал в коридорах Pixar в момент рождения "Истории игрушек".

Linux Cheat Sheet: Справочник полезных команд с примерами

12.12.25
597

🖥 Информация об оборудовании и системе

Команды для диагностики "железа" и ядра. Многие из них требуют прав root.

  • Сообщения ядра (dmesg): dmesg | less (Показывает события, произошедшие при загрузке. | less позволяет листать вывод).

  • Информация о процессоре: cat /proc/cpuinfo или более наглядно: lscpu

  • Оперативная память (RAM): free -h (Флаг -h показывает размер в Mb/Gb).

  • Конфигурация всего оборудования: sudo lshw -short (Краткий список всего "железа").

  • Блочные устройства (диски, флешки): lsblk

  • PCI-устройства (видеокарты, сетевые карты): lspci -tv

  • USB-устройства: lsusb -tv

  • Информация из BIOS (DMI): sudo dmidecode

  • Информация о параметрах диска: sudo hdparm -i /dev/sda (Замените sda на имя вашего диска).

  • Тест скорости чтения диска: sudo hdparm -tT /dev/sda

  • Проверка диска на битые сектора: sudo badblocks -s /dev/sda


📂 Файлы и Навигация

Базовое управление файловой системой.

  • Список файлов: ls -lh (Показывает размеры файлов в удобном виде).

  • Показать вообще все файлы (включая скрытые): ls -a

  • Где я сейчас? (Текущий каталог): pwd

  • Создать папку: mkdir [имя_папки] (Используйте mkdir -p папка/подпапка, чтобы создать структуру вложенных папок).

  • Создать пустой файл: touch [имя_файла]

  • Копирование файла: cp [источник] [назначение]

  • Копирование папки (рекурсивно): cp -r [папка_источник] [папка_назначение]

  • Перемещение или переименование: mv [старое_имя] [новое_имя]

  • Удаление файла: rm [имя_файла]

  • Удаление папки (Осторожно!): rm -rf [имя_папки] (Удаляет рекурсивно и без вопросов).

  • Символическая ссылка (ярлык): ln -s /путь/к/файлу [имя_ссылки]

Просмотр содержимого:

  • cat [файл] — вывести весь файл.

  • less [файл] — прокрутка длинного файла.

  • head [файл] — первые 10 строк.

  • tail [файл] — последние 10 строк.

  • tail -f [файл] — следить за новыми строками в файле (логи) в реальном времени.


🔍 Поиск

  • Поиск текста в файле (grep): grep "текст" [файл]

  • Рекурсивный поиск текста в папке: grep -r "текст" [папка]

  • Поиск файла по имени (find): find [где_искать] -name "имя_файла"

    Пример: find /home -name "*.jpg"

  • Поиск файлов по размеру: find / -size +100M (Найти файлы больше 100 Мб).

  • Быстрый поиск по базе имен: locate [имя_файла]


📦 Архивация и сжатие

  • Создать архив (tar): tar cf архив.tar [файл_или_папка]

  • Распаковать архив (tar): tar xf архив.tar

  • Создать сжатый архив (tar.gz): tar czf архив.tar.gz [папка]

  • Распаковать сжатый архив (tar.gz): tar xzf архив.tar.gz

  • Сжать файл (gzip): gzip [файл] (Создаст файл.gz и удалит оригинал).


👥 Пользователи и Группы

Команды для администрирования. Требуют sudo.

  • Кто я? whoami

  • Кто в системе? w или who

  • Добавить пользователя: sudo adduser [имя]

  • Добавить группу: sudo groupadd [группа]

  • Добавить пользователя в группу: sudo usermod -aG [группа] [пользователь]

  • Удалить пользователя: sudo userdel [пользователь]


🛡 Права доступа (Permissions)

В Linux права записываются тремя цифрами (Владелец-Группа-Остальные) или буквами (r=чтение, w=запись, x=исполнение).

  • Сделать файл исполняемым: chmod +x [файл]

  • Полные права всем (777 - опасно!): chmod 777 [файл]

  • Стандартные права для файлов (755): chmod 755 [файл] (Владелец может всё, остальные — только читать и исполнять).

  • Изменить владельца файла: sudo chown [юзер]:[группа] [файл]


⚙️ Управление процессами

  • Диспетчер задач (Top): top или htop (если установлен).

  • Список всех процессов: ps aux

  • Дерево процессов: pstree

  • Убить процесс по ID (PID): kill [PID]

  • Убить процесс по имени: pkill [имя_процесса] (Например: pkill firefox).

  • Список открытых файлов: lsof


🌐 Сеть

  • Показать IP-адреса: ip addr show (современный вариант) или ifconfig (устаревший).

  • Показать открытые порты: sudo netstat -tulpn (Или ss -tulpn — более современный аналог).

  • Проверить доступность хоста: ping [google.com]

  • Узнать владельца домена: whois [домен]

  • DNS-запросы: dig [домен] или host [домен]

  • Скачать файл: wget [ссылка]

  • Копировать файл на сервер (SCP): scp [файл] user@host:/путь/куда/класть

  • Синхронизация папок (Rsync): rsync -avz [откуда] [куда]


📥 Установка программ (Пакетные менеджеры)

Команды зависят от вашего дистрибутива.

Debian / Ubuntu / Mint (APT):

  • sudo apt update — обновить список пакетов.

  • sudo apt install [пакет] — установить.

  • sudo apt remove [пакет] — удалить.

CentOS / RHEL (YUM/DNF):

  • sudo yum install [пакет]

  • sudo dnf install [пакет] (для новых версий).


⌨️ Полезные горячие клавиши терминала

Эти сочетания сэкономят вам часы работы.

СочетаниеДействие
Ctrl + CПрервать выполнение текущей команды
Ctrl + ZПриостановить процесс (отправить в фон)
Ctrl + DРазлогиниться (аналог exit)
Ctrl + LОчистить экран (аналог clear)
Ctrl + AКурсор в начало строки
Ctrl + EКурсор в конец строки
Ctrl + RПоиск по истории введенных команд
TabАвтодополнение имен файлов и команд (нажимать дважды)

🔧 Использование диска

  • Свободное место на дисках: df -h

  • Размер папки: du -sh [папка] (Покажет суммарный вес указанной директории).

  • Список разделов: sudo fdisk -l

  • Монтирование: sudo mount /dev/[устройство] /mnt/[папка]

Как добавить или изменить контрольные вопросы для локальной учетной записи (даже если Windows не предлагает)

11.12.25
988

Прочитай прежде:

В Windows 11 Home (и в новых версиях Pro) Microsoft практически принуждает использовать облачный аккаунт при установке. Команда ms-cxh://setsqsalocalonly работает СТРОГО только на полностью локальных аккаунтах.

Если вы входите в систему по email (или используете PIN-код, привязанный к email), эта команда просто проигнорируется системой, так как безопасность вашего аккаунта управляется через серверы Microsoft, а не локально.
Особенность 24H2/25H2

В новейших сборках Windows (особенно после обновлений безопасности 2024-2025 годов) Microsoft могла активировать политику, скрывающую вопросы безопасности, чтобы стимулировать использование Windows Hello.

Решение для версий 23H2 и ниже:
Пользователи локальных учетных записей Windows 10 и 11 часто сталкиваются с проблемой: если забыть пароль, восстановить доступ к системе практически невозможно без потери данных.

Обычно Windows предлагает задать контрольные вопросы только при создании пользователя. Но что делать, если вы пропустили этот шаг или хотите изменить вопросы позже? В настройках этот пункт часто спрятан или недоступен.

Решение - скрытая команда Cloud Experience Host, которая принудительно вызывает меню настройки безопасности.

Для чего это нужно?

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

Инструкция

1. Проверка типа учетной записи Убедитесь, что вы используете именно локальную учетную запись (не Microsoft Account). Для онлайн-аккаунтов эта команда просто не сработает (выдаст ошибку или ничего не произойдет).

2. Запуск команды Нажмите комбинацию клавиш Win + R на клавиатуре. Вставьте следующую команду и нажмите Enter:

ms-cxh://setsqsalocalonly

3. Подтверждение личности Откроется синее системное окно. Сначала вам нужно будет ввести ваш текущий пароль администратора, чтобы подтвердить, что это действительно вы.

4. Настройка вопросов После ввода пароля появится меню "Обновление контрольных вопросов".

  • Выберите 3 вопроса из списка.

  • Впишите ответы.

  • Нажмите кнопку "Готово".

Теперь, если вы когда-нибудь забудете пароль, на экране блокировки достаточно нажать кнопку "Сбросить пароль", ответить на вопросы, и доступ будет восстановлен.

 

Как увеличить время приостановки обновлений Windows 10 и 11

11.12.25
848

По умолчанию Microsoft разрешает пользователям Windows 10 и 11 приостанавливать обновления максимум на 35 дней. Однако, если вам нужна стабильность на более длительный срок или вы хотите отложить апдейты на год и более, это ограничение можно обойти через системный реестр.

В этой инструкции мы изменим параметр FlightSettingsMaxPauseDays, который отвечает за доступный диапазон дней для паузы.

Важно: Редактирование реестра — это операция, требующая внимательности. Рекомендуется создать точку восстановления системы перед внесением изменений.

Пошаговая инструкция:

1. Запуск редактора реестра Нажмите комбинацию клавиш Win + R на клавиатуре. В открывшемся окне «Выполнить» введите команду regedit и нажмите Enter.

2. Переход к нужной ветке В адресную строку редактора реестра (вверху) вставьте следующий путь и нажмите Enter:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings

3. Создание или изменение параметра В правой части окна найдите параметр с именем FlightSettingsMaxPauseDays.

  • Если его нет: Нажмите правой кнопкой мыши по пустому месту в правой части окна -> Создать -> Параметр DWORD (32 бита). Назовите его FlightSettingsMaxPauseDays.

  • Если он есть: Просто дважды кликните по нему.

4. Настройка количества дней В открывшемся окне настройки параметра выполните следующие действия:

  1. В блоке «Система исчисления» обязательно выберите Десятичная (Decimal).

  2. В поле «Значение» введите желаемое количество дней паузы.

    • Например, введите 365 для возможности отложить обновления на год.

    • Или 3650 для 10 лет.

  3. Нажмите ОК.

5. Проверка результата Теперь закройте редактор реестра и перейдите к настройкам обновлений:

  • Windows 10: Параметры -> Обновление и безопасность -> Центр обновления Windows -> Дополнительные параметры.

  • Windows 11: Параметры -> Центр обновления Windows -> Приостановка обновлений.

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

Как вернуть всё обратно?

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

 

VPN (Outline) не работает через мобильную сеть, только по Wi-Fi. Обход DPI, чиним за минуту

10.12.25
8236

Вы настроили свой Outline VPN, и дома через Wi-Fi всё летает. Instagram грузится, YouTube показывает в 4K. Но стоит выйти на улицу и переключиться на LTE/4G, как магия исчезает. Сайты перестают открываться, а приложение выдает ошибки вроде error network changed или просто бесконечно переподключается.

Почему так? 

Разница между домашним провайдером и мобильным оператором часто кроется в настройках систем фильтрации трафика (DPI — Deep Packet Inspection).

Мобильные операторы часто используют более агрессивные настройки DPI. Когда вы включаете Outline, он создает зашифрованный туннель. Простой Shadowsocks (протокол, на котором работает Outline) шифрует содержимое, но сам процесс соединения (рукопожатие) может выглядеть подозрительно для умных фильтров.

Оператор видит «непонятный» поток данных, который не похож на обычный просмотр сайтов (HTTP/HTTPS), и на всякий случай разрывает соединение (connection reset), что и приводит к ошибке смены сети.
Здесь добавлю мем про разрыва сессии "Звонок в саппорт Стрима в три часа ночи". (Для TCP важно стабильное соединение без разрывов, в отличие от UDP)

Решение: Маскировка под обычный сайт.

Нужно добавить к вашему ключу доступа специальный "хвост"(prefix). Это заставит соединение выглядеть как обычная отправка данных на веб-сайт (HTTP POST), и оператор его пропустит. Для оборудования провайдера это будет выглядеть так, будто вы просто отправляете форму на сайте или загружаете картинку.

Инструкция:

  1. Скопируйте ваш текущий ключ Outline в заметки. 
  2. В самый конец ключа, без пробелов, добавьте этот текст:

    &prefix=POST%20

    (Важно: %20 — это код пробела, пишите именно так!)

    Было: ss://Y2hh...443/?outline=1

    Стало: ss://Y2hh...443/?outline=1&prefix=POST%20

  3. Скопируйте новый длинный ключ.
  4. Удалите старый сервер из приложения Outline и добавьте новый.

Если не помогло: Попробуйте вместо POST использовать GET. Добавьте в конец: &prefix=GET%20

 

 

Оптимизация сетевого стека Linux: Включение TCP BBR для ускорения VPN и прокси.

07.12.25
2006

Если вы настроили VPN (O******, W***** Op****) или прокси-сервер, но сталкиваетесь с низкой скоростью передачи данных при хорошем канале, причина часто кроется не в ширине канала, а в устаревших алгоритмах управления перегрузкой TCP.

В этой инструкции мы разберем, как включить алгоритм TCP BBR от Google, который де-факто стал стандартом для оптимизации высоконагруженных и удаленных серверов.

Что такое TCP BBR и зачем он нужен?

По умолчанию в большинстве дистрибутивов Linux используется алгоритм TCP CUBIC. Он был создан в эпоху проводных сетей и работает по принципу "loss-based" (основан на потере пакетов):

  1. Сервер наращивает скорость передачи.

  2. Как только теряется хотя бы один пакет, CUBIC считает, что канал забит, и резко сбрасывает скорость (обычно в 2 раза).

  3. Затем начинается медленный набор скорости заново.

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

Решение (TCP BBR): Algorithm BBR (Bottleneck Bandwidth and Round-trip propagation time), разработанный Google, использует другой подход. Он моделирует сеть, постоянно измеряя два параметра:

  • Максимальную пропускную способность (Bandwidth).

  • Минимальное время отклика (RTT).

BBR игнорирует случайные потери пакетов и поддерживает скорость передачи на уровне реальной пропускной способности канала. Это дает прирост скорости от 30% до 1000% на нестабильных соединениях.

Инструкция по включению

Шаг 0: Проверка версии ядра

Для работы BBR требуется ядро Linux версии 4.9 или выше. Абсолютное большинство современных систем (Ubuntu 18.04+, Debian 10+, CentOS 8+) уже соответствуют этому требованию.

Проверьте версию ядра командой:

uname -r

Если версия ниже 4.9, вам необходимо сначала обновить ядро ОС.

Шаг 1: Включение BBR

Нам нужно изменить два параметра ядра через sysctl.

  1. Изменить планировщик пакетов (Queue Discipline) на fq (Fair Queueing), так как BBR требует его для корректной работы.

  2. Включить сам алгоритм bbr.

# Добавляем настройки в конфигурационный файл
echo "net.core.default_qdisc=fq" | sudo tee -a /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" | sudo tee -a /etc/sysctl.conf
# Применяем изменения без перезагрузки
sudo sysctl -p

Шаг 2: Проверка результата

Убедитесь, что настройки применились корректно.

  1. Проверяем, какой алгоритм управления перегрузкой используется сейчас:

  2. sysctl net.ipv4.tcp_congestion_control
  3. Проверяем, запущен ли модуль BBR:

  4. lsmod | grep bbr

Ожидаемый вывод (пример):

tcp_bbr 20480 14

Результаты

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

Что вы заметите:

  • Стабильность: YouTube и потоковое видео перестанут буферизироваться.

  • Скорость: Speedtest покажет результаты, близкие к заявленным хостером, даже если клиент находится на другом континенте.

  • Плавность: Исчезнут резкие провалы скорости при использовании мобильного интернета.

Техническое примечание (для администраторов)

  • Почему fq, а не fq_codel? Хотя fq_codel часто является дефолтным в современных дистрибутивах, для работы BBR необходим именно планировщик fq, так как он обеспечивает pacing (равномерную подачу пакетов), на который опирается модель BBR.

  • Совместимость: BBR работает только на стороне отправителя (в данном случае — вашего VPN-сервера). Клиентам (телефонам, ноутбукам) ничего настраивать не нужно.