Linux – Telegram
Linux
2.68K subscribers
296 photos
518 videos
7 files
206 links
Все для системного администратора, новости и информация из мира Linux

По всем вопросам @evgenycarter
Download Telegram
Эволюция технологий виртуализации сети в Linux

С китайского языка я еще не переводил:) Но мимо статьи ребят из ByteDance, которые разработали технологию VDUSE, пройти не смог. И хотя в название авторы вынесли «технологии виртуализации сети», на самом деле эти технологии применимы и к другим типам устройств — например, к дискам и видеокартам. Статья последовательно разбирает, как и почему развивались технологии виртуализации устройств, параллельно объясняя, как эти технологии работают, какие у них есть сильные и слабые стороны.

https://habr.com/ru/companies/flant/articles/751746/

👉 @linuxchmod
🔥2👍1
Как отлаживать bash-noscript-ы по шагам

Мне всегда хотелось иметь возможность отлаживать bash-noscripts так же, как и любой другой код, т.е. по шагам, и bash такую возможность предусмотрел, но о ней не все знают. Несмотря на довольно большой опыт использования Linux, я дошёл до неё только недавно.

Волшебная строчка, которую нужно добавить после #!/bin/bash, чтоб скрипт можно было отлаживать по шагам


#!/bin/bash

trap 'echo "# $BASH_COMMAND";read' DEBUG

echo line1
echo line2

echo line3


Процесс отладки
Запускаем скрипт, перед выполнением каждой команды выводится то, что будет исполняться, затем интерпретатор начинает ожидать нажатия клавиши <ENTER>.

Если понимаем, что что-то пошло не так, нажимаем Ctrl+C и выходим из отладки.

Ингредиенты
команда trap, которая умеет перехватывать разные сигналы и в нашем случае она перехватывает сигнал DEBUG, посылаемый перед выполнением команды

команда read, которая умеет ожидать ввода чего-нибудь с клавиатуры (в данном случае нам нужно только либо ENTER либо Ctrl+C

переменная окружения $BASH_COMMAND, валидная внутри обработчика команды trap.


# Online Bash Shell.
# Code, Compile, Run and Debug Bash noscript online.
# Write your code in this editor and press "Run" button to execute it.

trap 'echo "# $BASH_COMMAND";read' DEBUG

echo line1
echo line2

echo line3

echo "Hello World";


👉 @linuxchmod
🔥5👍2
Media is too big
VIEW IN TELEGRAM
Протокол ICMP, утилита traceroute

Утилита traceroute (в Windows tracert) используется для определения маршрута от отправителя к получателю. Утилита выдает перечень всех маршрутизаторов, через которые необходимо пройти.

Для определения IP-адресов маршрутизаторов, traceroute использует протокол ICMP. На первом этапе отправляется эхо-запрос (ICMP-пакет с кодом 8, типом 0) со временем жизни 1. Первый маршрутизатор уменьшает время жизни до 0, отбрасывает пакет и передает отправителю сообщение об истечении времени жизни пакета (ICMP-пакет с кодом 11, типом 0). traceroute получает ICMP-пакет, анализирует IP-заголовок и извлекает из него IP-адрес отправителя. Это и есть адрес первого маршрутизатора.

Затем отправляется эхо-запрос со временем жизни 2, он доходит до второго маршрутизатора. Второй маршрутизатор отбрасывает пакет и также передает сообщение, что время жизни пакета истекло. traceroute извлекает из сообщения IP-адрес второго маршрутизатора. После этого traceroute передает эхо-запрос со временем жизни 3, 4, 5 и т.д., пока запрос не дойдет до получателя.

источник

👉@linuxchmod
👍1🔥1
Регулярное выражение

Регулярное выражение - это шаблон, сопоставляемый с искомой строкой слева направо. Термин «Регулярное выражение» сложно произносить каждый раз, поэтому, обычно, вы будете сталкиваться с сокращениями "регэкспы" или "регулярки". Регулярные выражения используются для замен текста внутри строк, валидации форм, извлечений подстрок по определенным шаблонам и множества других вещей.

https://github.com/zevilz/learn-regex/blob/master/translations/README-ru.md

👉@linuxchmod
👍5
Media is too big
VIEW IN TELEGRAM
Протокол NDP

Рассматриваем два сценария использования протокола NDP:
- Автоматическая настройка сетевой конфигурации. Компьютеры получают от маршрутизатора сетевые настройки в сообщении Router Advertisement.
- Определение MAC-адреса по известному IPv6 адресу. Компьютер, который хочет узнать MAC-адрес, высыдает сообщение NDP Neighbor Solicitation. Получатель отправляет свой MAC-адрес в ответ в пакете NDP Neighbor Advertisement. Информация сохраняется в таблице NDP (аналог ARP-таблицы в протоколе IPv4).

источник

👉@linuxchmod
👍1
Идеальная иллюстрация

👉@linuxchmod
🔥5
Теперь только липучка. Больше никаких стяжек 👍

👉@linuxchmod
🔥2
Обход стека — это перемещение по кадрам стека функций для получения цепочки вызовов. Обход стека используют при отладке, измерении производительности, а также в livepatching и других экзотических сценариях. Но не каждый обход стека проходит без проблем — в ядре Linux для RISC-V это стало началом целого расследования с тремя подозреваемыми.

Детали этого приключения — в статье YADRO на Хабре.
🔥2