TGViewer
Channel Public Channel
Linux Ninja

Linux Ninja

@linux_ninjas

Linux Ninja – ваш гид по миру Linux! Лайфхаки, фишки и мощные команды для настоящих мастеров CLI.
Subscribers
3.42K
Photos
865
Videos
143
Links
858

Showing posts older than #1180 · Back to latest

Older Posts 14 shown
Post #1179 495
Попался сегодня пост про traceroute, и вспомнил, как часто эта штука реально спасает, когда сеть ведёт себя как-то странно.

Traceroute по сути делает простую вещь: отправляет пакеты с разным TTL и смотрит, где они умирают. Каждый роутер, на котором TTL падает в ноль, шлёт ответ типа "я тут, пакет сдох" — и так собирается маршрут до цели.

Когда пакет наконец добирается до сервера — прилетает другой ICMP-ответ, и на этом всё заканчивается.

Утилита умеет работать по-разному в зависимости от системы:

Linux/macOS: обычно гоняет UDP
Windows: использует ICMP, почти как ping, но smarter
TCP: отдельная версия, которая пробивается туда, где ICMP/UDP заблокированы фаерволами — например, на порты 80/443

Команды:

Linux:

traceroute google.com


Windows:

tracert google.com


Зачем вообще это запускать?

- понять, на каком этапе всё разваливается
- увидеть, где растёт задержка
- проверить маршрут до сервисов, клаудов, VPN или CDN

✈️ Linux Ninja
  • ❤ 3
  • 👍 2
  • 🔥 2
Post #1178 477
nsntrace — инструмент для захвата трафика нужного приложения в Linux.

С помощью создания виртуальных интерфейсов и отдельного сетевого пространства имён, nsntrace запускает нужное нам приложение, и выполняет трассировку трафика только для него используя libpcap. Результат работы может быть либо перенаправлен в другое приложение, либо в файл, который можно будет прочитать любой стандартной утилитой, умеющей работать с pcap.

1. Ставим nsntrace из репозитория:

# apt install nsntrace
# dnf install nsntrace


2. Пробуем выполнить захват трафика для обычного wget, который обращается к сайту. По-умолчанию, дамп будет иметь имя nsntrace.pcap:

# nsntrace --use-public-dns wget -q -O /dev/null https://sysadmin.pm/
Starting network trace of 'wget' on interface enp1s0.
Your IP address in this trace is 172.19.28.255.
Use ctrl-c to end at any time.
Finished capturing 131 packets.


Аналогично для PHP скрипта, например:

# nsntrace php -f index.php
Starting network trace of 'php' on interface enp1s0.
Your IP address in this trace is 172.19.213.255.
Use ctrl-c to end at any time.
Finished capturing 52 packets.


3. Работаем с дампом привычной утилитой, в данном случае tcpick:

# tcpick -r nsntrace.pcap 
Starting tcpick 0.2.1 at 2023-04-28 12:28 MSK
Timeout for connections is 600
tcpick: reading from nsntrace.pcap
1 SYN-SENT 172.19.28.255:40638 > 104.244.78.134:https
1 SYN-RECEIVED 172.19.28.255:40638 > 104.244.78.134:https
1 ESTABLISHED 172.19.28.255:40638 > 104.244.78.134:https
1 FIN-WAIT-1 172.19.28.255:40638 > 104.244.78.134:https
1 FIN-WAIT-2 172.19.28.255:40638 > 104.244.78.134:https
1 RESET 172.19.28.255:40638 > 104.244.78.134:https
tcpick: done reading from nsntrace.pcap

131 packets captured
1 tcp sessions detected


Собрать nsntrace из исходников, при необходимости можно так:

# apt install automake docbook-xml docbook-xsl iptables libnl-route-3-dev libpcap-dev pkg-config xsltproc git make gcc
# git clone https://github.com/nsntrace/nsntrace
# cd nsntrace/
# ./autogen.sh
# ./configure
# make


Github проекта: https://github.com/nsntrace/nsntrace

✈️ Linux Ninja
  • ❤ 7
Post #1175 486
SSH-туннели: локальный и удалённый проброс портов

SSH – технология старой школы, которая до сих пор остаётся невероятно полезной. Всего одной командой ssh можно:

- Получить доступ к приватным сервисам внутри VPC через bastion host
- Открыть в браузере порт localhost на удалённой машине
- Пробросить сервис из homelab наружу через публичный сервер
- Превратить SSH-соединение в SOCKS-прокси для всей приватной сети


В этом обновлённом туториале разбирается SSH port forwarding с диаграммами, практическими лабораторными заданиями и наглядной шпаргалкой, которая поможет понять разные типы SSH-туннелей и запомнить нужные флаги:
https://labs.iximiuz.com/tutorials/ssh-tunnels 🍆

✈️ Linux Ninja
  • 👍 3
  • ❤‍🔥 2
Post #1174 465
Как проиндексировать весь исходный код Linux Kernel (28 млн строк) для AI-агента всего за 3 минуты?
Нужно перестать заставлять агента читать файлы по одному.

Недавно вышел любопытный open-source проект — codebase-memory-mcp.
Это движок для анализа кода, который заменяет обычный поиск по файлам на высокоскоростной граф знаний, построенный на AST.

Самое интересное здесь — исследование, на котором основан проект.
Согласно результатам из статьи arXiv:2603.27277, где систему тестировали на 31 реальном репозитории, такой подход даёт:
→ снижение расхода токенов на структурные запросы на 99%
→ 83% качества ответов на сложных задачах
→ в 2,1 раза меньше вызовов инструментов

Система строит граф функций, классов, HTTP-маршрутов и связей между сервисами. Когда агенту нужен контекст, он запрашивает данные напрямую из графа, а не перебирает файлы.

Отдельный плюс — всё работает полностью локально.

Без Docker, Ollama и API-ключей.
Скачиваешь бинарник, перезапускаешь агента — и можно работать.
Интересно, насколько сильно такие индексы смогут сократить расходы на AI-разработку в ближайшие годы.

https://github.com/DeusData/codebase-memory-mcp

✈️ Linux Ninja
  • ❤ 3
Post #1170 400
Из Linux удаляют огромное количество драйверов устройств… потому что разработчики ядра Linux не хотят разбираться с потоком сгенерированных ИИ патчей и "ИИ-багрепортов" по этим драйверам.

Среди удаляемых драйверов Linux – драйверы для мышей, Ethernet-карт, любительского радиооборудования, NFC и других устройств, включая legacy-железо ещё с 2002 года.

Другими словами: ИИ/LLM напрямую приводят к тому, что Linux начинает поддерживать заметно меньше оборудования.

«Давайте удалим это, раз LLM уже начинают туда лезть».


«Эти старые драйверы — LLM-покалипсис».


«До недавнего времени эти старые драйверы почти не создавали нагрузки по сопровождению. Но теперь новички используют ИИ и фаззеры для поиска проблем, из-за чего у мейнтейнеров становится больше работы».


✈️ Linux Ninja
  • ❤ 2
Post #1169 477
Простой YAML для деплоя EKS кластера.

В этом туториале по Kubernetes ты разберешься, как создать AWS EKS кластер с помощью eksctl и YAML-конфига за пару минут.
Плюс будет разбор ключевых концепций eksctl.

Как вообще работает eksctl?

Когда ты деплоишь YAML файл eksctl или запускаешь команду на создание кластера, eksctl под капотом раскатывает CloudFormation шаблоны.
Фактически именно CloudFormation и поднимает кластер.
eksctl просто обертка над CloudFormation.

Туториал: тут

✈️ Linux Ninja
  • ❤ 2
Post #1166 432
У этого проекта уже больше 18 000 звёзд на GitHub!

Инструмент, который показывает, почему порт занят, и позволяет легко закрыть процесс прямо из терминала.
$ witr 8000


✓ Работает на Windows, macOS и Linux
✓ Написан на Go и имеет открытый исходный код

→ http://github.com/pranshuparmar/witr

✈️ Linux Ninja
  • 🔥 3
  • ❤‍🔥 2
Post #1165 437
Linux Foundation запустила Akrites — инициативу по защите open source-проектов от кибератак с использованием ИИ.

К ней уже присоединились более 20 организаций, включая AWS, Anthropic, Google, Microsoft, OpenAI, NVIDIA, IBM, Red Hat и Cisco.

Причина проста: современные ИИ-модели научились находить уязвимости в популярном ПО за минуты вместо недель. В некоторых случаях рабочий эксплойт появляется практически сразу после публикации исправления безопасности — сам патч становится инструкцией для атаки.

Akrites — это не очередной сканер уязвимостей. Проект создаёт общую систему реагирования, чтобы сопровождающие open source-проектов, облачные провайдеры и специалисты по безопасности могли совместно проверять угрозы, координировать выпуск исправлений и раскрытие информации об уязвимостях до того, как ими воспользуются злоумышленники.

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

✈️ Linux Ninja
  • 👍 3
Post #1164 366
Введите в вашем терминале эту команду:

watch -d -n 1 sensors


Это отображает данные о температуре CPU, GPU, Wi-Fi, NVMe SSD и HDD в реальном времени.

Подробнее читаем здесь⬇️

☝️ Ссылка источник

✈️ Linux Ninja
  • ❤ 4
Post #1162 405
Факт про ядро Linux:

Когда в системе Linux заканчивается память, ядро не зависает.

Оно запускает OOM Killer.

OOM Killer выбирает процесс для завершения, чтобы освободить память.

Каждому процессу присваивается оценка oom_score (0–1000). Чем выше значение, тем выше вероятность быть убитым.

Оценка зависит от:

→ объёма используемой памяти
→ времени работы процесса
→ наличия дочерних процессов (завершение родителя освобождает больше)

На это можно влиять:

echo -17 > /proc/<PID>/oom_adj — защитить процесс
echo 1000 > /proc/<PID>/oom_score_adj — сделать приоритетной целью

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

OOMKilled — это значит, что OOM Killer ядра завершил контейнер.

✈️ Linux Ninja
  • 👍 3
Post #1159 493
Теперь у всех разработчиков операционных систем есть срок до 1 января 2028 года, чтобы внедрить проверку возраста для всех пользователей.

Это касается Windows, macOS, Linux и всех остальных операционных систем, которые имеют какой-либо доступ к интернету.

31 июля губернатор Прицкер подписал законопроект штата Иллинойс HB-5511. Закон предусматривает значительные финансовые санкции для всех разработчиков ОС, включая некоммерческие организации и опенсорс-разработчиков.

https://gov-pritzker-newsroom.prezly.com/gov-pritzker-signs-nation-leading-legislation-to-protect-illinois-children-on-social-media

✈️ Linux Ninja
  • ❤ 3
  • 😨 2
  • 👍 1
Post #1157 405
Новичок в Linux и не понимаешь, что занимает порт 80?

Одна команда покажет всё: какой процесс, PID и детали соединения:

sudo ss -tulnp | grep :80


ss быстрее, чем netstat, и уже установлен в большинстве современных дистрибутивов. Полезно держать под рукой.

✈️ Linux Ninja
  • ❤ 4
Post #1155 410
Вышла NetBSD 11. Среди основных изменений:

* стабильная поддержка RISC-V;
* улучшенная совместимость с системными вызовами Linux и стандартом POSIX;
* сохранена поддержка i386 – в отличие от Linux.

Также добавлено множество других изменений, включая поддержку огромного количества платформ – от ARM до Mac на базе 68K.

Просто невероятно, сколько аппаратных платформ официально поддерживает NetBSD. Её можно запустить даже на Dreamcast, Amiga и Atari Falcon.

Полный список изменений NetBSD 11:
https://netbsd.org/releases/formal-11/NetBSD-11.0.html

✈️ Linux Ninja
  • ❤ 3
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →