🪟 WSL 2: Прощай, проблема с localhost!
Главная боль пользователей WSL 2 (Linux внутри Windows) долгие годы — сеть. Запускаешь сервер в Linux на порту 3000 → Windows его не видит на localhost. Приходится искать IP виртуалки.
В свежих версиях Windows 11 (24H2+) и WSL (2.0+) это починили режимом Mirrored Networking.
Что это: Linux и Windows начинают делить один IP-адрес и одно сетевое пространство (как это было в WSL 1, но с ядром WSL 2). ✅ IPv6 работает. ✅ LAN-доступ работает. ✅ VPN работает корректно!
Как включить: Создайте файл .wslconfig в папке пользователя Windows (C:\Users\User\.wslconfig):
Перезапустите: wsl --shutdown. Жизнь разработчика и админа стала проще.
#windows #wsl #linux #networking #tips #devops
Главная боль пользователей WSL 2 (Linux внутри Windows) долгие годы — сеть. Запускаешь сервер в Linux на порту 3000 → Windows его не видит на localhost. Приходится искать IP виртуалки.
В свежих версиях Windows 11 (24H2+) и WSL (2.0+) это починили режимом Mirrored Networking.
Что это: Linux и Windows начинают делить один IP-адрес и одно сетевое пространство (как это было в WSL 1, но с ядром WSL 2). ✅ IPv6 работает. ✅ LAN-доступ работает. ✅ VPN работает корректно!
Как включить: Создайте файл .wslconfig в папке пользователя Windows (C:\Users\User\.wslconfig):
[wsl2]
networkingMode=mirrored
dnsTunneling=true
firewall=true
Перезапустите: wsl --shutdown. Жизнь разработчика и админа стала проще.
#windows #wsl #linux #networking #tips #devops
👻 Windows: Режим «Призрака» в RDP (Shadow Mode)
Ситуация: Звонит бухгалтер. "У меня 1С не открывается, ошибка какая-то". Вы подключаетесь по RDP — и выкидываете пользователя из сессии (экран блокируется). Приходится кричать в трубку: "Ну что там написано?", а в ответ: "Ой, всё пропало, черный экран!".
В Windows встроен штатный способ подключиться к сессии пользователя, не выкидывая его (он видит, что вы делаете).
Как это сделать:
Узнаем ID сессии пользователя:
Подключаемся в режиме Shadow:
Что значат ключи:
/shadow:1 — подключиться к сессии с ID 1.
/control — разрешить управление мышкой/клавиатурой (без этого будет только просмотр).
/noConsentPrompt — подключиться без спроса (нужна настройка GPO, иначе у пользователя вылезет окошко "Разрешить админу просмотр?").
Идеально для техподдержки. Вы видите проблему глазами пользователя.
#windows #rdp #helpdesk #tips #shadowmode #cmd
Ситуация: Звонит бухгалтер. "У меня 1С не открывается, ошибка какая-то". Вы подключаетесь по RDP — и выкидываете пользователя из сессии (экран блокируется). Приходится кричать в трубку: "Ну что там написано?", а в ответ: "Ой, всё пропало, черный экран!".
В Windows встроен штатный способ подключиться к сессии пользователя, не выкидывая его (он видит, что вы делаете).
Как это сделать:
Узнаем ID сессии пользователя:
qwinsta /server:BUH-PC-01
# Видим: buhgalter ID: 1 Active
Подключаемся в режиме Shadow:
mstsc /shadow:1 /v:BUH-PC-01 /control
Что значат ключи:
/shadow:1 — подключиться к сессии с ID 1.
/control — разрешить управление мышкой/клавиатурой (без этого будет только просмотр).
/noConsentPrompt — подключиться без спроса (нужна настройка GPO, иначе у пользователя вылезет окошко "Разрешить админу просмотр?").
Идеально для техподдержки. Вы видите проблему глазами пользователя.
#windows #rdp #helpdesk #tips #shadowmode #cmd
👍4
🧠 Skill: SSH Jump Host (Прыжок через шлюз)
Ситуация: Сервер DB-Server (10.0.0.5) находится в закрытой сети.
Доступ к нему есть только с Gateway-Server (1.2.3.4).
Плохой путь: Зайти по SSH на Gateway, оттуда по SSH на DB. Неудобно копировать файлы (scp), не работают туннели.
Путь Архитектора (ProxyJump): Используем флаг -J (Jump).
SSH сам прокинет соединение через промежуточный узел.
Команда:
Чтобы не писать каждый раз (добавьте в ~/.ssh/config):
Теперь вход одной командой: ssh db-prod. Работает и для scp, и для Ansible.
#ssh #network #security #tips #jumphost
Ситуация: Сервер DB-Server (10.0.0.5) находится в закрытой сети.
Доступ к нему есть только с Gateway-Server (1.2.3.4).
Плохой путь: Зайти по SSH на Gateway, оттуда по SSH на DB. Неудобно копировать файлы (scp), не работают туннели.
Путь Архитектора (ProxyJump): Используем флаг -J (Jump).
SSH сам прокинет соединение через промежуточный узел.
Команда:
ssh -J user@1.2.3.4 user@10.0.0.5
Чтобы не писать каждый раз (добавьте в ~/.ssh/config):
Host db-prod
HostName 10.0.0.5
User admin
ProxyJump admin@1.2.3.4
Теперь вход одной командой: ssh db-prod. Работает и для scp, и для Ansible.
#ssh #network #security #tips #jumphost
👍2🔥1
🪟 WSL 2: Верни мне мой диск C: (Compact VHDX)
Проблема архитектуры WSL 2: Виртуальный диск (ext4.vhdx) динамически расширяется, когда вы качаете файлы в Linux, но не сжимается обратно, когда вы их удаляете. Вы удалили 50 ГБ логов в Ubuntu, а файл vhdx в Windows всё так же весит 100 ГБ.
Как сжать его вручную:
1. Выключаем WSL:
2. Находим путь к файлу диска: Обычно лежит тут:
3. Сжимаем через diskpart: Запускаем
После этой процедуры файл диска "сдуется" до реального размера данных внутри Linux.
#windows #wsl #storage #powershell #diskpart #tips
Проблема архитектуры WSL 2: Виртуальный диск (ext4.vhdx) динамически расширяется, когда вы качаете файлы в Linux, но не сжимается обратно, когда вы их удаляете. Вы удалили 50 ГБ логов в Ubuntu, а файл vhdx в Windows всё так же весит 100 ГБ.
Как сжать его вручную:
1. Выключаем WSL:
wsl --shutdown
2. Находим путь к файлу диска: Обычно лежит тут:
%LOCALAPPDATA%\Packages\CanonicalGroupLimited...\LocalState\ext4.vhdx3. Сжимаем через diskpart: Запускаем
diskpart от админа и пишем:
select vdisk file="C:\Полный\Путь\К\ext4.vhdx"
attach vdisk readonly
compact vdisk
detach vdisk
exit
После этой процедуры файл диска "сдуется" до реального размера данных внутри Linux.
#windows #wsl #storage #powershell #diskpart #tips
🕵️♂️ Linux: Читаем логи как Профи (grep -C)
Когда вы грепаете лог по слову
Используйте флаги контекста в
🔹 -B 5 (Before): Показать 5 строк до совпадения.
🔹 -A 5 (After): Показать 5 строк после совпадения.
🔹 -C 5 (Context): Показать 5 строк вокруг.
Команда:
Результат:
Вы сразу видите историю:
"User logged in"
➡️"Executed command"
➡️ 🔥 ERROR.
Причина становится ясна мгновенно.
#linux #grep #logs #troubleshooting #cli #bash #tips
Когда вы грепаете лог по слову
Error , вы видите строку ошибки, но не видите, что привело к ней. Обычно админы открывают vim и листают вручную. Это долго и неудобно.Используйте флаги контекста в
grep . Это киллер-фича!🔹 -B 5 (Before): Показать 5 строк до совпадения.
🔹 -A 5 (After): Показать 5 строк после совпадения.
🔹 -C 5 (Context): Показать 5 строк вокруг.
Команда:
# Найти "Error" и показать 5 строк ДО и ПОСЛЕ
grep -C 5 "Error" /var/log/syslog
Результат:
Вы сразу видите историю:
"User logged in"
➡️"Executed command"
➡️ 🔥 ERROR.
Причина становится ясна мгновенно.
#linux #grep #logs #troubleshooting #cli #bash #tips
🏎️ Curl: Почему сайт тормозит? (Разбор на атомы)
Пользователь жалуется: "Сайт открывается полчаса".
Вы пингуете — пинг ок. Где затык? DNS тупит? Канал забит? Или Бэкенд (PHP/Python) долго думает?
Чтобы не гадать, используйте curl с форматированием. Он покажет тайминги каждого этапа.
Команда (сохрани в алиасы!):
Как читать диагностику:
* DNS: Высокое? 👉 Виноват провайдер или ваш DNS-сервер.
* TCP: Высокое? 👉 Проблемы с маршрутизацией или каналом.
* TTFB (Time To First Byte): Высокое? 👉 Сервер получил запрос, но долго генерировал ответ (БД, код). Сеть не виновата!
Total: Общее время.
Это лучший способ доказать разработчикам, что проблема на их стороне (или убедиться, что на вашей).
#network #curl #troubleshooting #performance #web #latency #tips
Пользователь жалуется: "Сайт открывается полчаса".
Вы пингуете — пинг ок. Где затык? DNS тупит? Канал забит? Или Бэкенд (PHP/Python) долго думает?
Чтобы не гадать, используйте curl с форматированием. Он покажет тайминги каждого этапа.
Команда (сохрани в алиасы!):
curl -w "\nDNS: %{time_namelookup}s\nTCP: %{time_connect}s\nSSL: %{time_appconnect}s\nTTFB: %{time_starttransfer}s\nTotal: %{time_total}s\n" -o /dev/null -s https://google.com
Как читать диагностику:
* DNS: Высокое? 👉 Виноват провайдер или ваш DNS-сервер.
* TCP: Высокое? 👉 Проблемы с маршрутизацией или каналом.
* TTFB (Time To First Byte): Высокое? 👉 Сервер получил запрос, но долго генерировал ответ (БД, код). Сеть не виновата!
Total: Общее время.
Это лучший способ доказать разработчикам, что проблема на их стороне (или убедиться, что на вашей).
#network #curl #troubleshooting #performance #web #latency #tips
🕵️♂️ Linux: Кто занял порт? Кто держит файл? (lsof)
Классика: вы пытаетесь перезапустить Nginx, а он кричит: "Address already in use". Или пытаетесь размонтировать флешку, а Linux говорит: "Device is busy". Не гадайте. Вызывайте детектива — lsof (List Open Files).
1. Кто слушает порт 80?
Вывод покажет PID процесса. Можно сразу его убить.
2. Кто держит файл или папку? Если не дает удалить папку /var/www, узнайте, кто в ней сидит:
3. Что делает конкретный юзер?
В Linux "всё есть файл" (и сокеты, и библиотеки). Поэтому
#linux #cli #lsof #troubleshooting #sysadmin #tips
Классика: вы пытаетесь перезапустить Nginx, а он кричит: "Address already in use". Или пытаетесь размонтировать флешку, а Linux говорит: "Device is busy". Не гадайте. Вызывайте детектива — lsof (List Open Files).
1. Кто слушает порт 80?
lsof -i :80
Вывод покажет PID процесса. Можно сразу его убить.
2. Кто держит файл или папку? Если не дает удалить папку /var/www, узнайте, кто в ней сидит:
lsof +D /var/www
3. Что делает конкретный юзер?
lsof -u username
В Linux "всё есть файл" (и сокеты, и библиотеки). Поэтому
lsof видит вообще всё.#linux #cli #lsof #troubleshooting #sysadmin #tips
⌨️ Bash: Магия восклицательного знака (!)
Вы только что набрали длинную команду, но забыли sudo. Или создали папку и хотите сразу в неё зайти. Не нажимайте "Вверх" и не правьте курсором. Используйте History Expansion.
Это экономит тысячи нажатий клавиш в год.
🔹 Забыл sudo?
🔹 Использовать аргумент из прошлой команды?
🔹 Найти последнюю команду, начинающуюся на...
Маленькие трюки для большой скорости. 🏎
#linux #bash #cli #productivity #tips #shortcuts
Вы только что набрали длинную команду, но забыли sudo. Или создали папку и хотите сразу в неё зайти. Не нажимайте "Вверх" и не правьте курсором. Используйте History Expansion.
Это экономит тысячи нажатий клавиш в год.
🔹 Забыл sudo?
apt update
# Error: Permission denied
sudo !!
# Bash сам подставит последнюю команду: sudo apt update
🔹 Использовать аргумент из прошлой команды?
mkdir /var/www/html/project_x
cd !$
# Bash подставит последний аргумент: cd /var/www/html/project_x
🔹 Найти последнюю команду, начинающуюся на...
!vim
# Запустит последнюю команду, которая начиналась с "vim"
Маленькие трюки для большой скорости. 🏎
#linux #bash #cli #productivity #tips #shortcuts
🪟 Windows: Секретный "God Mode" и быстрый доступ к администрированию 🛠️
Иногда нужно быстро найти глубокую настройку в Windows Server или Win11, но новый интерфейс "Параметры" только путает. Есть способ вывести абсолютно все настройки системы (более 200 штук) в одну папку с человеческим поиском.
Как создать "Все задачи":
1. Создай на рабочем столе новую папку.
2. Переименуй её в это: GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}
Открыв эту папку, ты получишь список всех инструментов управления — от настройки iSCSI и ODBC до управления сертификатами и планами электропитания. Всё в одном месте, без бесконечных кликов по меню. 💎
#windows #sysadmin #lifehack #tips #windows11 #windowsserver #management
Иногда нужно быстро найти глубокую настройку в Windows Server или Win11, но новый интерфейс "Параметры" только путает. Есть способ вывести абсолютно все настройки системы (более 200 штук) в одну папку с человеческим поиском.
Как создать "Все задачи":
1. Создай на рабочем столе новую папку.
2. Переименуй её в это: GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}
Открыв эту папку, ты получишь список всех инструментов управления — от настройки iSCSI и ODBC до управления сертификатами и планами электропитания. Всё в одном месте, без бесконечных кликов по меню. 💎
#windows #sysadmin #lifehack #tips #windows11 #windowsserver #management
🔥2👍1👏1
🪟 Windows: История команд PowerShell — твой личный бортовой самописец 📝
Ты когда-нибудь тратил полчаса на то, чтобы вспомнить ту самую сложную команду с 5-ю фильтрами, которую писал месяц назад?
В PowerShell 7+ есть модуль PSReadLine, который хранит историю всех твоих команд в текстовом файле.
Как найти, где лежит твоя история:
Совет: Чтобы история сохранялась между сессиями и была бесконечной, добавь в
#windows #powershell #productivity #sysadmin #scripting #terminal #tips
Ты когда-нибудь тратил полчаса на то, чтобы вспомнить ту самую сложную команду с 5-ю фильтрами, которую писал месяц назад?
В PowerShell 7+ есть модуль PSReadLine, который хранит историю всех твоих команд в текстовом файле.
Как найти, где лежит твоя история:
(Get-PSReadLineOption).HistorySavePath
Лайфхак: поиск по истории как в Bash (Ctrl+R):
Нажми Ctrl+R в терминале и начни вводить часть команды — PowerShell сам найдет её в истории.
Совет: Чтобы история сохранялась между сессиями и была бесконечной, добавь в
$PROFILE: Set-PSReadLineOption -HistorySaveStyle SaveIncrementally
#windows #powershell #productivity #sysadmin #scripting #terminal #tips
🔥3👍1👏1