Иногда бывает ситуация когда dev-сервер по какой-либо причине не закрылся и висит в процессах, занимая порт.
Это может быть из-за падения IDE или просто сам забыл погасить и закрыл терминал.
Для таких случаев я набросал простую функцию с командой:
kill_on_port() {
port=$(lsof -t -i:$1)
echo "KILL PROCESS:" $port
sudo kill -9 $port
}
alias killonport="kill_on_port $@"
Код поместить в ~/.bashrc и рестартнуть систему.
Если во время старта dev-сервера получаете ошибку что порт уже занят, просто выполните команду, подставив свой порт.
Bash
kill_on_port 8000
Скорее всего бесполезно, если другой процесс назначен на перезапуск вашего dev-сервера в случае падения.
Имя команды можете изменить на любое другое.
#linux
Как патчить ядро Linux: подробное руководство
#Linux
Всем привет, это Тимур. Сейчас в YADRO я разрабатываю сетевую операционную систему для коммутаторов KORNFELD. В ходе этого проекта летом я получил сложную задачу: реализовать установку опции PROTO_DOWN для Ethernet-интерфейсов в ядре Linux. «Из коробки» ядро поддерживает эту опцию только для vxlan и macvlan-интерфейсов, а для Ethernet поддержка определяется драйвером сетевого устройства.
В статье я подробно расскажу о той части задачи, что касается непосредственно ядра Linux. На реализацию требования я потратил много сил, времени и хочу, чтобы мой опыт остался в сообществе. Постараюсь максимально подробно объяснить каждый шаг, чтобы вы смогли построить собственный процесс разработки на этой основе, даже если никогда не занимались разработкой для ядра. Статья будет полезна не только программистам, но и любителям Linux, так как в большей степени она посвящена тонкостям работы с этой ОС, а не программированию.
Ссылка на статью
• Операционная система Linux, а точнее, ее ядро, является основой для огромного числа дистрибутивов. Выбор подходящего дистрибутива – задача, требующая понимания их ключевых различий, философии и целевой аудитории.
• На хабре была опубликована хорошая статья, которая преследует цель предоставить структурированный обзор наиболее значимых дистрибутивов и их семейств, осветить их сильные и слабые стороны, а также помочь в формировании критериев для осознанного выбора. Материал содержит тонну полезных ссылок для осознанного подхода к выбору и дальнейшему изучению мира Linux.
➡️https://habr.com/ru/articles/908986/
#Linux
👩💻 Создаем свой загрузочный диск Linux.
• Если у вас есть потребность в создании собственного загрузочного образа Linux, чтобы всегда иметь под рукой флешку с готовой к работе системой, то я рекомендую изучить данную статью.
• Тут описывается, как создать собственный загрузочный диск Linux, добавить в него только нужные программы и убрать все лишнее. Полученный образ у автора занял менее 25 Мб. Образ позволяет быстро загружаться, работать в текстовом режиме, создавать, редактировать, удалять файлы на разных файловых системах, имеет поддержку русского языка. За основу взят Debian.
➡️https://habr.com/ru/articles/709528/
#Linux
• На прошлой неделе я делился с вами ссылкой на бесплатный курс по изучению Linux, который вам очень понравился (судя по реакциям и репостам). Так вот, после этой публикации мне написал один из подписчиков и поделился ссылкой на очень полезный блог одного автора, который написал большое кол-во книг по изучению Linux и опубликовал их совершенно бесплатно. Книги написаны на английском языке, а некоторые из них опубликованы в бородатом году, но там много тем, которые являются актуальными. Так что забирайте по ссылочке ниже и изучайте:
➡️https://linux-training.be
#Linux
👩💻 Большое руководство по сетям и шифрованию трафика в Linux.
• На хабре есть очень крутое руководство, которое состоит из двух частей и содержит информацию по теме шифрования трафика в Linux системах. Если в коротко, то мы рассмотрим основные методы шифрования, которые можно использовать в Linux, и разберем, как их внедрить. Мы попытаемся разобраться, как работает криптография на уровне протоколов, как работает сеть в Linux, что такое сквозное шифрование и виртуальные частные сети.
➡️Часть 1 [23 min];
➡️Часть 2 [16 min].
#Linux
👩💻Если не можете выбрать подходящий Linux дистрибутив, то вот вам полностью бесплатный сервис, который позволяет прямо в браузере затестить различные версии операционных систем. Тут даже есть богатый выбор графических оболочек, а общее кол-во доступных систем переваливает за 70!
➡️https://distrosea.com/
• Кстати, судя по Reddit, проект поддерживается только одним человеком. Достойно уважения 👍
#Linux
• Turnkey Linux - отличный проект, который содержит огромное кол-во дистрибутивов на базе Linux с преднастроенным набором ПО (на выбор). Самое главное: сервис бесплатный, имеет открытый исходный код и более 100 готовых решений.
• В общем и целом, если нужен готовый образ под определенные нужды, то загляните сюда. Да, вы можете всё сделать самостоятельно (скачать отдельно нужный образ, настроить ПО и т.д.), но тут всё уже сделали за вас:
➡️https://www.turnkeylinux.org
#Linux
• Полезный репозиторий, который содержит огромную коллекцию ссылок, связанных с безопасностью ядра Linux и эксплуатацией уязвимостей:
- Books.
- Techniques:
➡Exploitation;
➡Protection Bypasses.
- Vulnerabilities:
➡Info-leaks;
➡LPE;
➡RCE;
➡Other.
- Finding Bugs.
- Defensive.
- Exploits.
- Tools:
➡Fuzzers;
➡Assorted.
- Practice:
➡Workshops;
➡CTF Tasks;
➡Other Tasks;
➡Playgrounds;
➡Infrastructure.
➡️https://github.com/xairy/linux-kernel-exploitation
• В качестве дополнения рекомендую обратить внимание на материал, который описывает ядро Linux и его внутреннее устройство:
➡Первые шаги после декомпрессии ядра — описывает первые шаги в ядре.
➡Начальная обработка прерываний и исключений — описывает инициализацию начальных прерываний и начального обработчика ошибки страницы.
➡Последние приготовления перед точкой входа в ядро — описывает последние приготовления перед вызовом start_kernel.
➡Точка входа в ядро — описывает первые шаги в общем коде ядра.
➡Продолжение архитектурно-зависимой инициализации — описывает архитектурно-зависимую инициализацию.
➡Архитектурно-зависимая инициализация, снова... — описывает продолжение процесса архитектурно-зависимой инициализации.
➡Конец архитектурно-зависимой инициализации, почти... — описывает конец setup_arch.
➡Инициализация RCU — описывает инициализацию RCU.
➡Конец инициализации — последняя часть об инициализации ядра Linux.
#Linux
• Смотрите какая крутая библиотека команд, однострочников и шпаргалок для линуксоидов. На самом деле, данному ресурсу уже много лет, но я решил напомнить о нем, так как библиотека постоянно обновляется авторами и содержит тонну полезной информации, как для начинающих, так и для опытных специалистов.
• На текущий момент времени приложение содержит 6686 страниц информации по 22 основным категориям:
➡One-liners;
➡System information;
➡System control;
➡Users & Groups;
➡Files & Folders;
➡Input;
➡Printing;
➡JSON;
➡Network;
➡Search & Find;
➡GIT;
➡SSH;
➡Video & Audio;
➡Package manager;
➡Hacking tools;
➡Terminal games;
➡Crypto currencies;
➡VIM Texteditor;
➡Emacs Texteditor;
➡Nano Texteditor;
➡Pico Texteditor;
➡Micro Texteditor.
• Здесь собраны все основные команды, которые разбиты по разделам и используются при работе с UNIX-подобными системами. К примеру для работы с файлами, папками, сетью и т.д. А может вы ищите хакерские примочки? Пожалуйста!
• Исходный код открыт, а еще есть приложение приложение на Android, которое можно скачать с GitHub или F-Droid. Пользуйтесь!
#linux
• Linux в роли серверной ОС привыкли считать гарантией надёжности и безопасности, он популярен у компаний и обычных пользователей. Однако никакая система не является полностью непроницаемой для атак. С учётом эволюционирующих киберугроз администраторы серверов должны принимать проактивные меры для защиты своих систем от атак и вовремя закрывать уязвимости.
• По ссылкам ниже можно найти очень полезный материал, который содержит рекомендации для тех, кто только начинает заниматься администрированием и защитой Linux-серверов и планирует изучить базовые техники создания укреплённой линукс-среды, устойчивой к различным угрозам:
➡Hardening Linux Servers Against Threats and Attacks.
➡40 Linux Server Hardening Security Tips [2024 edition].
➡Linux Hardening Guide.
#Linux
• Нашел очень крутой ресурс по основам Linux для начинающих. Вся соль в том, что материал представлен в виде мини-курсов, которые содержат уроки с заданиями. Если приступаете к решению задач, то сервис проверит ваши ответы автоматически. Доступно множество тем для изучения:
➡Командная строка;
➡Работа с текстом;
➡Управление пользователями;
➡Управление процессами;
➡Файловая система;
➡Ядро Linux;
➡Логирование;
➡Сети и многое другое...
➡️https://linuxjourney.com
#Linux