Как перенести Linux Device Drivers на современные ядра
Для ОС на базе ядра Linux относительно простой точкой входа является написание своих модулей. Модули по своей сути — это драйверы устройств (символьные char device, блочные block device, сетевые network device и другие). В статье рассмотрены следующие классы устройств: char device, block device и network device.
Для ОС на базе ядра Linux относительно простой точкой входа является написание своих модулей. Модули по своей сути — это драйверы устройств (символьные char device, блочные block device, сетевые network device и другие). В статье рассмотрены следующие классы устройств: char device, block device и network device.
👍3💩2🤡1
Ревизор приехал: pg_anon проверяет, всё ли скрыто
Представьте, что вы редактируете документальный фильм о реальной исторической личности. У вас есть оригинальные видеозаписи, документы и интервью с очевидцами. Однако некоторые моменты содержат конфиденциальную информацию - номера телефонов, адреса, личные данные других людей. При подготовке фильма к показу вы размываете эти детали на видео, заменяете реальные имена и адреса, но сохраняете при этом всю важную историческую информацию и контекст. В результате зрители получают полноценный документальный фильм, в котором защищена приватность всех участников.
Именно такой подход реализует pg_anon для данных в PostgreSQL. В статье подробнее об этом инструменте.
Представьте, что вы редактируете документальный фильм о реальной исторической личности. У вас есть оригинальные видеозаписи, документы и интервью с очевидцами. Однако некоторые моменты содержат конфиденциальную информацию - номера телефонов, адреса, личные данные других людей. При подготовке фильма к показу вы размываете эти детали на видео, заменяете реальные имена и адреса, но сохраняете при этом всю важную историческую информацию и контекст. В результате зрители получают полноценный документальный фильм, в котором защищена приватность всех участников.
Именно такой подход реализует pg_anon для данных в PostgreSQL. В статье подробнее об этом инструменте.
👍9
Мысли вслух. Сколько потребляет памяти один запрос PostgreSQL?
В этой статье поднимается проблема как объективно посчитать размер потребляемой оперативной памяти конкретным запросом в PostgreSQL. И предлагается использовать для этого автоматическое нагрузочное тестирование. Читать дальше на Хабре.
В этой статье поднимается проблема как объективно посчитать размер потребляемой оперативной памяти конкретным запросом в PostgreSQL. И предлагается использовать для этого автоматическое нагрузочное тестирование. Читать дальше на Хабре.
👍5👎1
Сливаем отчетность американской Cyber League с помощью базовых утилит Linux
В этой статье автор рассказывает, как создать хакерское приложение, используя встроенный язык программирования Linux, и собрать базу данных участников западной "Национальной Киберлиги". Можно сказать, хакают хакеров! ;) Читать на Хабре.
В этой статье автор рассказывает, как создать хакерское приложение, используя встроенный язык программирования Linux, и собрать базу данных участников западной "Национальной Киберлиги". Можно сказать, хакают хакеров! ;) Читать на Хабре.
👍6🤡5🔥1
GRUB и параметры ядра в Linux
GRUB — это первый, кого видит твоя система после BIOS/UEFI. Он решает, какое ядро загружать, какие параметры передавать, и вообще, даст ли он тебе шанс на нормальный рабочий день или отправит в режим паники. Читать дальше.
GRUB — это первый, кого видит твоя система после BIOS/UEFI. Он решает, какое ядро загружать, какие параметры передавать, и вообще, даст ли он тебе шанс на нормальный рабочий день или отправит в режим паники. Читать дальше.
💩5👍4🤣2
Vim vs. Emacs: древняя битва, наполненная безумными фактами
Vim и Emacs — это, пожалуй, самый древний и легендарный «братский» конфликт в мире текстовых редакторов. Одни говорят: «Люди делятся на тех, кто знает Vim, и тех, кто знаком с болью и страданием». Другие возражают: «Emacs на самом деле полноценная операционная система, где просто не хватает хорошего текстового редактора».
В этой статье собраны любопытные (а местами и безумные) факты о Vim и Emacs.
Vim и Emacs — это, пожалуй, самый древний и легендарный «братский» конфликт в мире текстовых редакторов. Одни говорят: «Люди делятся на тех, кто знает Vim, и тех, кто знаком с болью и страданием». Другие возражают: «Emacs на самом деле полноценная операционная система, где просто не хватает хорошего текстового редактора».
В этой статье собраны любопытные (а местами и безумные) факты о Vim и Emacs.
🔥7👍4
Использование команд Telnet в Linux/Unix
Telnet (telecommunications network) — это сетевой протокол (работающий по TCP-соединению), предназначенный для ручного управления удаленными машинами с помощью команд консольного терминала.
С помощью Telnet команды вводятся на локальной машине, а выполняются на удаленной. То есть пользователь сперва вводит IP-адрес и порт (по умолчанию 23) удаленного сервера, после чего выполняет команды на нем.
Несмотря на то, что в наши дни чаще всего используется SSH, Telnet до сих пор остается популярным инструментом для управления удаленными хостами.
В этой статье рассмотрено базовое использование команд Telnet в операционных системах на базе Linux.
Telnet (telecommunications network) — это сетевой протокол (работающий по TCP-соединению), предназначенный для ручного управления удаленными машинами с помощью команд консольного терминала.
С помощью Telnet команды вводятся на локальной машине, а выполняются на удаленной. То есть пользователь сперва вводит IP-адрес и порт (по умолчанию 23) удаленного сервера, после чего выполняет команды на нем.
Несмотря на то, что в наши дни чаще всего используется SSH, Telnet до сих пор остается популярным инструментом для управления удаленными хостами.
В этой статье рассмотрено базовое использование команд Telnet в операционных системах на базе Linux.
👍4🔥3
Как собрать Linux-контейнер с нуля и без Docker
Это перевод статьи про то, как с нуля создать Linux-контейнер, аналогичный тому, который можно запустить с помощью Docker, но без использования Docker или других инструментов контейнеризации. Читать дальше на Хабре.
Это перевод статьи про то, как с нуля создать Linux-контейнер, аналогичный тому, который можно запустить с помощью Docker, но без использования Docker или других инструментов контейнеризации. Читать дальше на Хабре.
👍16
Устраняем эффект шумного соседа в PostgreSQL с помощью cgroups
Приходилось ли вам запускать на одной виртуальной или физической машине несколько экземпляров PostgreSQL или любого другого ПО? Зачастую это вызывает эффект шумного соседа: приложения «отбирают» друг у друга ресурсы и мешают корректной работе. Если коротко, то решение запуск БД в контейнере. Читать дальше.
Приходилось ли вам запускать на одной виртуальной или физической машине несколько экземпляров PostgreSQL или любого другого ПО? Зачастую это вызывает эффект шумного соседа: приложения «отбирают» друг у друга ресурсы и мешают корректной работе. Если коротко, то решение запуск БД в контейнере. Читать дальше.
👍15🔥3❤2
Путь пакета через ядро Linux
В этой статье исследуется сетевой стек TCP/IPv4 и UDP/IPv4 в Linux - наиболее распространенной серверной ОС. Также описывается трассировка наиболее важных сетевых функций ядра Linux 5.10.8. Хотя документация по сетевому коду Linux существует, она часто является устаревшей или охватывает только отдельные аспекты, такие как уровень IP или TCP.
В этой статье исследуется сетевой стек TCP/IPv4 и UDP/IPv4 в Linux - наиболее распространенной серверной ОС. Также описывается трассировка наиболее важных сетевых функций ядра Linux 5.10.8. Хотя документация по сетевому коду Linux существует, она часто является устаревшей или охватывает только отдельные аспекты, такие как уровень IP или TCP.
👍13
Что в черном ящике, или Как разработчику понять, что требует оптимизации в БД PostgreSQL
Слово DBA из Т-Банка:
«Мы достигли впечатляющего масштаба — почти 10 000 работающих экземпляров PostgreSQL, с которыми работают более 2 000 команд. Каждый из этих инстансов обслуживает уникальные рабочие нагрузки, разработанные командами с различными подходами к архитектуре, используемыми фреймворками и паттернами проектирования. Несмотря на огромное количество БД, команда администраторов баз данных (DBA) остается относительно небольшой (10 человек). Это создает целый ряд сложных задач, требующих тщательного управления и оптимизации процессов.»
В статье разбираются подходы к визуализации производительности БД. Узнаете на что нужно обращать внимание.
Слово DBA из Т-Банка:
«Мы достигли впечатляющего масштаба — почти 10 000 работающих экземпляров PostgreSQL, с которыми работают более 2 000 команд. Каждый из этих инстансов обслуживает уникальные рабочие нагрузки, разработанные командами с различными подходами к архитектуре, используемыми фреймворками и паттернами проектирования. Несмотря на огромное количество БД, команда администраторов баз данных (DBA) остается относительно небольшой (10 человек). Это создает целый ряд сложных задач, требующих тщательного управления и оптимизации процессов.»
В статье разбираются подходы к визуализации производительности БД. Узнаете на что нужно обращать внимание.
👍7🔥2
Пишем свой загрузчик операционной системы Linux
Современные загрузчики представляют собой сложные программы, способные загружать множество операционных систем различными способами, учитывая массу нюансов, связанных с программным и аппаратным обеспечением. Читая их исходный код, легко утонуть в деталях и потерять понимание сути и реализации. Читать дальше на Хабре.
Современные загрузчики представляют собой сложные программы, способные загружать множество операционных систем различными способами, учитывая массу нюансов, связанных с программным и аппаратным обеспечением. Читая их исходный код, легко утонуть в деталях и потерять понимание сути и реализации. Читать дальше на Хабре.
👍12🔥3🤩1🤡1
Пишем модули для Nginx
Nginx — это не просто веб‑сервер, а платформа, возможности которой можно расширять своими модулями. Если вам не хватает стандартного функционала и хочется больше контроля над обработкой запросов, кастомные модули могут позволить внедрять свою логику, оптимизировать маршрутизацию, фильтровать контент и реализовывать нестандартные механизмы аутентификации. Читать дальше.
Nginx — это не просто веб‑сервер, а платформа, возможности которой можно расширять своими модулями. Если вам не хватает стандартного функционала и хочется больше контроля над обработкой запросов, кастомные модули могут позволить внедрять свою логику, оптимизировать маршрутизацию, фильтровать контент и реализовывать нестандартные механизмы аутентификации. Читать дальше.
👍6🔥3
Как работает bind mount в Linux: руководство для начинающих
В статье рассматриваются основные принципы работы bind mount, а также примеры его использования для доступа к скрытым файлам и работы с chroot-окружениями. Читать дальше.
В статье рассматриваются основные принципы работы bind mount, а также примеры его использования для доступа к скрытым файлам и работы с chroot-окружениями. Читать дальше.
👍5
Влияние источника времени на результат explain в PostgreSQL
При выполнении тестов периодически автор этой статье сталкивался с неожиданными изменениями результатов тестов после рестарта linux и при обновлении версии linux. Причиной оказался источник времени. В статье рассматривается как источник времени влияет на выполнение команды explain analyze. Читать дальше.
При выполнении тестов периодически автор этой статье сталкивался с неожиданными изменениями результатов тестов после рестарта linux и при обновлении версии linux. Причиной оказался источник времени. В статье рассматривается как источник времени влияет на выполнение команды explain analyze. Читать дальше.
👍4
15 однострочных bash-скриптов для упрощения рутинных задач
В статье вы найдете примеры однострочников для быстрой проверки разных полезных штук. Какие-то проверки могут быть знакомы, а какие-то нет.
В статье вы найдете примеры однострочников для быстрой проверки разных полезных штук. Какие-то проверки могут быть знакомы, а какие-то нет.
Teletype
15 однострочных bash-скриптов для упрощения рутинных задач
Подписывайтесь на телеграм-канал usr_bin, где я публикую много полезного по Linux, в том числе ссылки на статьи в этом блоге.
👍31❤3🔥3🐳1
Автоматизированное управление расширенной статистикой в PostgreSQL
Суть метода состоит в автоматическом управлении расширенной статистикой по колонкам таблицы. Идея родилась в момент, когда заканчивая работу над очередным "умным" query-driven продуктом улучшения качества планирования Postgres автор статьи осознал, что архитектура этой СУБД пока ещё не готова к полностью автономной работе - автоматическому детектированию плохих планов и подстройки оптимизатора. Читать дальше.
Суть метода состоит в автоматическом управлении расширенной статистикой по колонкам таблицы. Идея родилась в момент, когда заканчивая работу над очередным "умным" query-driven продуктом улучшения качества планирования Postgres автор статьи осознал, что архитектура этой СУБД пока ещё не готова к полностью автономной работе - автоматическому детектированию плохих планов и подстройки оптимизатора. Читать дальше.
🔥3👍2