Аппаратные брейкпойнты: что это и когда они нужны в Linux
В блоге YADRO на Хабре вышло весьма подробное исследование аппаратных брейкпойнтов в Linux. Сначала с точки зрения отладчика раскрывается смысл аппаратных триггеров. Далее автор рассматривает реализацию с их помощью не только брейкпойнтов, но и вотчпойнтов, выделяет кейсы, когда такая реализация уместней софтверной. В завершение следует небольшой гайд по работе с аппаратными брейкпойнтами с помощью Perf Events — фреймворка для профилирования и трассировки в ядре.ㅤㅤ
Интересно, что начинается статья с намеренной поломки GDB. И этому найдется свое объяснение.
Прочитать →
В блоге YADRO на Хабре вышло весьма подробное исследование аппаратных брейкпойнтов в Linux. Сначала с точки зрения отладчика раскрывается смысл аппаратных триггеров. Далее автор рассматривает реализацию с их помощью не только брейкпойнтов, но и вотчпойнтов, выделяет кейсы, когда такая реализация уместней софтверной. В завершение следует небольшой гайд по работе с аппаратными брейкпойнтами с помощью Perf Events — фреймворка для профилирования и трассировки в ядре.ㅤㅤ
Интересно, что начинается статья с намеренной поломки GDB. И этому найдется свое объяснение.
Прочитать →
❤8🔥1🐳1
This media is not supported in your browser
VIEW IN TELEGRAM
Линукс очень удобный.
Тем временем Линукс, когда нужно установить программу:
Тем временем Линукс, когда нужно установить программу:
🔥63💅13🤣11👍7🗿7❤3👎3👏1🥴1
❕ Бесплатный вебинар: «GitOps + Flux — ваш путь к автоматизированному деплою в Kubernetes»!
Вы хотите развернуть приложение в Kubernetes без тонны ручных команд и нервов? Мечтаете о системе, где код сам «доставляется» в прод по принципу «закоммитил — заработало»?
Приглашаем вас на открытый урок в рамках курса «Инфраструктурная платформа на основе Kubernetes , где разберём»:
• как перестать вручную деплоить приложения;
• как добиться стабильного состояния кластера;
• как сделать процессы прозрачными и контролируемыми.
🗓 Когда: 23.12, в 20-00
Для кого: DevOps‑инженеры, разработчики, администраторы Kubernetes, все, кто хочет автоматизировать деплой.
На уроке вы узнаете как:
- внедрить GitOps в Kubernetes;
- настроить Flux для автоматической синхронизации;
- избежать ошибок при переходе на «конфигурацию как код».
➡️ Регистрирация: https://tglink.io/c974785d3d45?erid=2W5zFG7muh2
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
Вы хотите развернуть приложение в Kubernetes без тонны ручных команд и нервов? Мечтаете о системе, где код сам «доставляется» в прод по принципу «закоммитил — заработало»?
Приглашаем вас на открытый урок в рамках курса «Инфраструктурная платформа на основе Kubernetes , где разберём»:
• как перестать вручную деплоить приложения;
• как добиться стабильного состояния кластера;
• как сделать процессы прозрачными и контролируемыми.
🗓 Когда: 23.12, в 20-00
Для кого: DevOps‑инженеры, разработчики, администраторы Kubernetes, все, кто хочет автоматизировать деплой.
На уроке вы узнаете как:
- внедрить GitOps в Kubernetes;
- настроить Flux для автоматической синхронизации;
- избежать ошибок при переходе на «конфигурацию как код».
➡️ Регистрирация: https://tglink.io/c974785d3d45?erid=2W5zFG7muh2
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
❤3🔥2👍1
🖥️🔌 PortKiller: Убийца процессов на открытых портах для macOS
PortKiller — это удобное приложение для меню на macOS, позволяющее быстро находить и завершать процессы, использующие открытые порты. Идеально подходит для разработчиков, которым нужно освободить порты, такие как 3000, 8080 и другие.
🚀Основные моменты:
- Интеграция в меню — без загромождения Dock
- Автоматическое обнаружение всех прослушивающих TCP портов
- Быстрое завершение процессов одним кликом
- Фильтрация по номеру порта или имени процесса
- Автообновление списка каждые 5 секунд
📌 GitHub: https://github.com/productdevbook/port-killer
#swift
PortKiller — это удобное приложение для меню на macOS, позволяющее быстро находить и завершать процессы, использующие открытые порты. Идеально подходит для разработчиков, которым нужно освободить порты, такие как 3000, 8080 и другие.
🚀Основные моменты:
- Интеграция в меню — без загромождения Dock
- Автоматическое обнаружение всех прослушивающих TCP портов
- Быстрое завершение процессов одним кликом
- Фильтрация по номеру порта или имени процесса
- Автообновление списка каждые 5 секунд
📌 GitHub: https://github.com/productdevbook/port-killer
#swift
❤5👍2🔥2
Basic Navigation
pwd - показать текущий каталог ls - список файлов и директорий ls -l - подробный формат ls -a - показать скрытые файлы cd dirname - перейти в директорию cd .. - вверх на уровень cd / - корень cd ~ - домашняя директория clear - очистить терминал history - история команд File & Directory Management
touch file - создать файл mkdir dir - создать директорию rmdir dir - удалить пустую директорию rm file - удалить файл rm -r dir - удалить директорию рекурсивно cp src dest - копировать файл cp -r src dest - копировать директорию mv src dest - переместить/переименовать cat file - вывести содержимое less file - просмотр с пагинацией head file - первые 10 строк tail file - последние 10 строк tail -f file - потоковый вывод Permissions & Ownership
chmod 755 file - права доступа chmod u+x file - сделать исполняемым chown user:group file - владелец ls -l - просмотр прав System Info
uname -a - вся системная инфа hostname - имя хоста uptime - аптайм top - процессы htop - интерактивный монитор df -h - дисковое пространство du -sh * - размеры директорий free -h - память lscpu - процессор lsblk - блочные устройства Process Management
ps - процессы ps aux - подробный список kill PID - завершить процесс killall name - завершить по имени bg - в фоне fg - на передний план jobs - задания Networking
ifconfig - сеть ip a - IP адреса ping host - проверить связь ss -tuln - открытые порты curl url - получить данные wget url - скачать файл ssh user@host - удалённый вход scp file user@host:/path - копирование по SSH Package Management (Ubuntu/Debian)
sudo apt update - обновить индексы sudo apt upgrade - обновить пакеты sudo apt install pkg - установить sudo apt remove pkg - удалить sudo apt autoremove - очистка Package Management (RHEL/CentOS)
sudo yum update sudo yum install pkg sudo yum remove pkg sudo dnf install pkg Archiving & Compression
tar -cvf file.tar dir - создать tar tar -xvf file.tar - распаковать gzip file - сжать gunzip file.gz - распаковать zip file.zip files - zip unzip file.zip - unzip User Management
whoami - текущий пользователь who - кто в системе id - инфо о пользователе sudo adduser user - добавить sudo passwd user - пароль sudo deluser user - удалить su user - переключиться logout - выйти Shutdown & Reboot
sudo shutdown now - выключить sudo shutdown -r now - ребут reboot - перезапуск poweroff - выключение Searching
find /path -name file - поиск по имени grep 'text' file - поиск текста grep -r 'text' dir - рекурсивно locate file - быстрый поиск updatedb - обновить базу Disks & Filesystems
fdisk -l - список разделов mkfs.ext4 /dev/sdX - форматирование mount /dev/sdX /mnt - монтировать umount /mnt - размонтировать Environment & Variables
echo $PATH - переменная PATH export VAR=value - установить переменную env - список переменных Useful Commands
man cmd - документация alias ll='ls -la' - алиас date - дата cal - календарь exit - выйтиPlease open Telegram to view this post
VIEW IN TELEGRAM
👍43❤21🐳4✍2👎2🔥2💅1
Он сканирует директории и показывает, что именно съедает место, работая особенно шустро на SSD за счёт параллельной обработки. Есть TUI-интерфейс: можно стрелками ходить по каталогам, сортировать по размеру и удалять лишнее прямо из программы.
Установка максимально простая - есть готовые бинарники на GitHub, пакеты в репозиториях (AUR, Homebrew, Snap и др.), так что поставить и проверить свои диски можно за пару минут.
https://github.com/dundee/gdu
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤6
Forwarded from Kali Linux
🎂 С Днём рождения, Линус!
56 - это не возраст…
это просто новая стабильная версия 💻✨
56 - это не возраст…
это просто новая стабильная версия 💻✨
❤77👍34😁12👎5🔥5🎉5🌭2
This media is not supported in your browser
VIEW IN TELEGRAM
🎄 Новогодний Linux-лайфхак: включи праздничный режим в терминале
Сделай себе новогоднюю команду в Linux: один короткий вызов, и терминал очищается, пишет праздничное сообщение, показывает дату и календарь текущего месяца. Удобно открыть год прямо из консоли и зарядиться настроением перед работой.
Просто добавь функцию в свой ~/.bashrc или ~/.zshrc, перезапусти терминал и запускай её в любой момент праздников.
Сделай себе новогоднюю команду в Linux: один короткий вызов, и терминал очищается, пишет праздничное сообщение, показывает дату и календарь текущего месяца. Удобно открыть год прямо из консоли и зарядиться настроением перед работой.
Просто добавь функцию в свой ~/.bashrc или ~/.zshrc, перезапусти терминал и запускай её в любой момент праздников.
# добавь это в ~/.bashrc или ~/.zshrc
ny() {
clear
echo "❄️ Happy Linux New Year! ❄️"
echo "🎄 Пусть твой терминал падает только от смеха!"
date
cal
}
# после сохранения перезапусти терминал и запускай команду:
# ny
🔥18🥱15🎉8❤5🗿4☃1👍1
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 Linux: как «вычислить» по IP (что можно и что нельзя)
Важно: по одному IP нельзя узнать конкретного человека или адрес квартиры.
Максимум — провайдера, страну/город уровня провайдера и маршрут сети.
Для персональных данных нужны только провайдер и полиция.
Ниже безопасные и полезные команды 👇
🔹 Узнать свой внешний IP
🔹 Узнать IP у сайта
🔹 Посмотреть, кто владеет IP (провайдер, диапазон)
Покажет провайдера, контакты абьюз-отдела и диапазон IP - не личность пользователя.
🔹 Посмотреть маршрут до IP / сайта (где «теряется» трафик)
🔹 Понять задержку и потери пакетов
🔹 Узнать примерную геолокацию (город уровня сети)
(через публичный сервис — не даёт точный адрес)
📌 Короткий вывод
✔ можно: провайдер, маршрут, примерная геолокация
❌ нельзя: личность, адрес, телефон — без участия провайдера и полиции
Важно: по одному IP нельзя узнать конкретного человека или адрес квартиры.
Максимум — провайдера, страну/город уровня провайдера и маршрут сети.
Для персональных данных нужны только провайдер и полиция.
Ниже безопасные и полезные команды 👇
🔹 Узнать свой внешний IP
curl ifconfig.me
🔹 Узнать IP у сайта
dig +short example.com
или:
nslookup example.com
🔹 Посмотреть, кто владеет IP (провайдер, диапазон)
whois 8.8.8.8
Покажет провайдера, контакты абьюз-отдела и диапазон IP - не личность пользователя.
🔹 Посмотреть маршрут до IP / сайта (где «теряется» трафик)
traceroute 8.8.8.8
🔹 Понять задержку и потери пакетов
ping -c 5 8.8.8.8
🔹 Узнать примерную геолокацию (город уровня сети)
(через публичный сервис — не даёт точный адрес)
curl ipinfo.io/8.8.8.8
📌 Короткий вывод
✔ можно: провайдер, маршрут, примерная геолокация
❌ нельзя: личность, адрес, телефон — без участия провайдера и полиции
👍19😁18❤9💅2👎1🔥1
Владение Docker - навык, который отличает новичка от профи
Сегодня почти всё разворачивается в контейнерах.
Если ты не умеешь работать с Docker, ты медленнее, зависим от чужих настроек и постоянно ловишь баги «у меня локально работает».
Этот курс покажет:
• разобраны все возможные ошибки при работе c Docker
• как упаковывать проекты в контейнеры
• как поднимать целые системы за минуты
• как избегать типичных ошибок в продакшене
• как делать стабильные и повторяемые окружения
Только практика и реальные кейсы - с нуля до уверенного уровня.
🎁 40 процентов скидка действует 48 часов в честь нового года
👉 Записывайся и сделай Docker своим настоящим рабочим инструментом.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍4🔥4👎2💅2
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 Полезный совет по Linux #linux #ubuntu
Команда rm сама по себе рискованна, а с подстановкой * становится ещё опаснее.
Чтобы не выполнить разрушительную команду по ошибке, можно сначала посмотреть, как она будет выглядеть после расширения shell’ом. Это позволяет сделать «сухой прогон» и убедиться, что всё безопасно.
Пример:
Команда rm сама по себе рискованна, а с подстановкой * становится ещё опаснее.
Чтобы не выполнить разрушительную команду по ошибке, можно сначала посмотреть, как она будет выглядеть после расширения shell’ом. Это позволяет сделать «сухой прогон» и убедиться, что всё безопасно.
Пример:
echo rm -rf /*
Дополнительные полезные проверки:
echo cp *.log /backup/
echo mv ~/Downloads/* /tmp/
echo chown user:group /var/www/*
👍18👎6❤5🔥4
Быстрый Linux совет 🐧
Нужно создать сразу несколько директорий?
Не повторяй
Команда:
$ mkdir -p ~/scripts/{site-01,site-02}/{backup,monitoring,network}
Создаёт структуру мгновенно:
- два сайта (`site-01` и `site-02`)
- в каждом — каталоги
Удобно, быстро и помогает поддерживать порядок в проектах.
Нужно создать сразу несколько директорий?
Не повторяй
mkdir много раз — используй brace expansion.Команда:
$ mkdir -p ~/scripts/{site-01,site-02}/{backup,monitoring,network}
Создаёт структуру мгновенно:
- два сайта (`site-01` и `site-02`)
- в каждом — каталоги
backup, monitoring и networkУдобно, быстро и помогает поддерживать порядок в проектах.
👍59❤12🔥1
Linux совет дня💡
Нужно быстро найти исполняемые файлы в каталоге?
Используй
Пример:
В отличие от проверки прав через
Нужно быстро найти исполняемые файлы в каталоге?
Используй
find с флагом -executable — он покажет только те файлы, которые действительно можно запускать.Пример:
find . -type f -executable
В отличие от проверки прав через
-perm, этот вариант учитывает реальные разрешения и ACL, поэтому результат точнее — вывод включает только те файлы, которые доступны для выполнения текущим пользователем.❤16🔥9👍8
🧰 Подборка полезных скриптов для опытных Linux-админов
1) 🔍 Быстрый поиск крупных файлов (удобно перед очисткой диска)
du -ah / | sort -rh | head -n 30
2) 🛑 Массовое убийство зависших процессов по шаблону
pkill -f "pattern"
3) 🧼 Очистка старых логов/кэша старше X дней
find /var/log -type f -mtime +7 -delete
4) 🧬 Проверка файловой системы без остановки
fsck -n /dev/sdX
5) 📦 Список пакетов, обновлённых за последние 5 дней
grep "upgrade" /var/log/dpkg.log | tail
6) 🕵 Слежение за открытыми портами в реальном времени
watch -n1 "ss -tulpn"
7) 📊 Сбор top-нагружающих процессов по CPU за минуту
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head
😍 🔁 Авто-рестарт службы при падении
while true; do systemctl restart myservice; sleep 5; done
9) 🔗 Быстрый тест сетевой задержки и MTU
tracepath google.com
10) 🔐 Сканирование слабых SSH-ключей
ssh-audit -p 22 localhost
Такие короткие утилитарные команды экономят кучу времени в рутине админа.
1) 🔍 Быстрый поиск крупных файлов (удобно перед очисткой диска)
du -ah / | sort -rh | head -n 30
2) 🛑 Массовое убийство зависших процессов по шаблону
pkill -f "pattern"
3) 🧼 Очистка старых логов/кэша старше X дней
find /var/log -type f -mtime +7 -delete
4) 🧬 Проверка файловой системы без остановки
fsck -n /dev/sdX
5) 📦 Список пакетов, обновлённых за последние 5 дней
grep "upgrade" /var/log/dpkg.log | tail
6) 🕵 Слежение за открытыми портами в реальном времени
watch -n1 "ss -tulpn"
7) 📊 Сбор top-нагружающих процессов по CPU за минуту
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head
😍 🔁 Авто-рестарт службы при падении
while true; do systemctl restart myservice; sleep 5; done
9) 🔗 Быстрый тест сетевой задержки и MTU
tracepath google.com
10) 🔐 Сканирование слабых SSH-ключей
ssh-audit -p 22 localhost
Такие короткие утилитарные команды экономят кучу времени в рутине админа.
👍29❤11🔥3👎1