Обновить
256K+

Linux *

Пишем под *nix

406,09
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности
Формат публикации

Почему нельзя парсить вывод ls(1)

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели23K

Команда ls(1) достаточно хорошо справляется с отображением атрибутов одного файла (по крайней мере, в некоторых случаях), но когда просишь у неё список файлов, возникает огромная проблема: Unix позволяет использовать в имени файла почти любой символ, в том числе пробелы, переносы строк, точки, символы вертикальной черты, да и практически всё остальное, что вы можете использовать как разделитель, за исключением NUL. Существуют предложения по «исправлению» этой ситуации внутри POSIX, но они не помогут в решении текущей ситуации (см. также, как правильно работать с именами файлов). Если в качестве стандартного вывода не используется терминал, в режиме по умолчанию ls разделяет имена файлов переносами строк. И никаких проблем не возникает, пока не встретится файл, в имени которого есть перенос строки. Так как очень немногие реализации ls позволяют завершать имена файлов символаи NUL, а не переносами строк, это не позволяет получить безопасным образом список имён файлов при помощи ls (по крайней мере, портируемым способом).

Читать далее

Canonical представила 12-летнюю программу поддержки Everything LTS для образов Docker в рамках подписки Ubuntu Pro

Время на прочтение2 мин
Охват и читатели3.3K

26 июня 2024 года Canonical представила 12-летнюю программу поддержки под названием Everything LTS (Long Term Support) для любого образа Docker с открытым исходным кодом в рамках подписки Ubuntu Pro.

Читать далее

Firmware в Linux. Коротко и своими словами

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели27K

Рано или поздно системный программист сталкивается с понятием firmware. В данной статье мы коротко рассматриваем, что это, зачем, и как с этим работать.

Disclaimer:
Материал не является сборником best practices и не претендует на фундаментальный труд. Это шпаргалка. Если угодно - application note в свободной форме. Основная задача материала - "сделать короткую статью, которая помогла бы лично мне быстро разобраться, если бы я впервые столкнулся с темой". Если вы знаете что-то лучше - дополнения и замечания по существу приветствуются. Мотивацией для написания послужила недавно встреченная статья, которая как раз объясняла эти аспекты не очень хорошо.

Читать далее

SVG-виджеты для tcl/tk. Градиентная заливка и прозрачность. Часть II

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели3.1K

Продолжим знакомство с svg-виджетами для tcl/tk. Напомним, что рассматриваемые примеры, сам пакет svgwidgets и интерпретаторы tcl/tk с необходимыми пакетами можно найти на github-е. После выхода первой статьи все они претерпели изменения. Начнем мы статью с примера скрипт_button_PACK.tcl:

$/usr/local/bin64/tclexecomp140_svg_Linux64 скрипт_button_PACK.tcl

Читать далее

Дайте мне 15 минут, и я изменю ваш взгляд на GDB

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели38K

Материал подготовлен на основе выступления с CppCon 2015 "Greg Law: Give me 15 minutes & I'll change your view of GDB" (доступно по ссылке ). Многие моменты я изменял и корректировал, поэтому учтите, что перевод достаточно вольный.

И да, вынесем за скобки вопрос о том, насколько GDB в целом удобная или неудобная программа, и что в принципе лучше использовать для дебаггинга: в данной статье будет рассматриваться именно работа с GDB.

В статье будет рассматриваться отладка кода на C в ОС Linux.

Читать далее

Stamus Networks представила выпуск специализированного дистрибутива SELKS 10, предназначенного для развёртывания...

Время на прочтение1 мин
Охват и читатели69

Stamus Networks представила выпуск специализированного дистрибутива SELKS 10, предназначенного для развёртывания систем обнаружения, предотвращения сетевых вторжений, организации реагирования на выявленные угрозы и мониторинга безопасности сети.

Читать дальше →

Ушёл из жизни учёный и разработчик драйверов для беспроводной сети в Linux Ларри Фингер

Время на прочтение2 мин
Охват и читатели26K

21 июня 2024 года ушёл из из жизни учёный и разработчик драйверов для беспроводной сети в Linux Ларри Фингер (Larry Finger). С 2005 года он входил в сообщество разработчиков ядра Linux. Именно благодаря ему беспроводные технологии в Linux работают стабильно, а их поддержка имеет оперативный приоритет. Фингер умер после продолжительной болезни на 85-м году жизни в своём доме в окружении семьи и близких.

Читать далее

Эндрю Таненбаум получил премию ACM Software System Award 2023, ежегодно присуждаемую профильной Ассоциацией...

Время на прочтение1 мин
Охват и читатели44

Эндрю Таненбаум получил премию ACM Software System Award 2023, ежегодно присуждаемую профильной Ассоциацией вычислительной техники (ACM).

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

Читать дальше →

Строим свой SSO. Часть 5: Итоговый SSO, Защита от XSS/CSRF, Custom Grant Type

Уровень сложностиСредний
Время на прочтение44 мин
Охват и читатели9.5K

Всем привет! Мы продолжаем нашу серию статей по созданию собственного SSO. В этой статье мы увидим итоговый проект и разберём самые интересные решения из него. Подумаем над безопасностью приложения и настроим защиту от XSS и CSRF атак, а также изучим разные Security Headers. В заключение статьи мы создадим собственый Grant Type.

Читать далее

Разработка ядра – API для прошивки

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели7.9K

Что касается абсолютного большинства устройств, поддерживаемых в ядре Linux, от вас не требуется почти никакого вмешательства, чтобы пустить их в работу. Пожалуй, устройство потребуется включить (например, при помощи регулятора), отменить команду сброса или обратиться к нескольким конфигурационным регистрам. Но среди устройств есть и достаточно сложные; чтобы в полной мере использовать имеющиеся в них функции или добавлять собственные, для таких устройств требуется специализированная прошивка. Некоторые подобные устройства изначально рассчитаны на подключение заранее запрограммированной персистентной памяти, но в других предусматривается механизм, получающий им подтягивать прошивку из какого-либо приложения. Есть даже такие устройства, в которых одновременно предоставляются обе эти возможности.

Читать далее

Релиз открытого менеджера буфера обмена с функциями редактирования и создания скриптов CopyQ 9.0

Время на прочтение1 мин
Охват и читатели11K

22 июня 2024 года состоялся релиз открытого мультиплатформенного (поддерживает Linux, Windows и OS X 10.9+) менеджера буфера обмена с функциями редактирования и создания скриптов CopyQ 9.0. Исходный код проекта написан на языках C++ и C и опубликован на GitHub под лицензией GNU General Public License v3.0.

Читать далее

Обновленный дистрибутив Linux postmarketOS даст вторую жизнь устаревшим ПК и ноутбукам. Перспективы проекта

Время на прочтение3 мин
Охват и читатели29K

Почти у каждого есть старый ПК или ноутбук, который и выбросить жалко, и использовать не получается. Как правило такие девайсы не могут нормально работать из-за старого процессора, малого объема ОЗУ и прочих проблем. Особенно много такой техники бывает на складах у компаний.

Один из вариантов нормальной эксплуатации подобного оборудования — установка специализированных дистрибутивов Linux, которым для работы не нужен большой объем ОЗУ и быстрый процессор. Одна из таких сборок —  postmarketOS.

Читать далее

В Linux может появиться «чёрный экран смерти» при Kernel Panic

Время на прочтение1 мин
Охват и читатели21K

В новых версиях ядра Linux может появиться «чёрный экран смерти» при возникновении фатальной ошибки Kernel Panic.

Читать далее

Ближайшие события

Моя первая встраиваемая система под управлением Linux

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели33K

В этой статье я задокументировал историю создания своей первой системы под управлением Linux. Здесь я расскажу, как собрал печатную плату под эту ОС, не имея какого-либо опыта работы с печатными платами в принципе.

Первая часть статьи может показаться не совсем по теме, но в ходе прочтения вы поймёте, что она также имеет отношение к основному тексту. В общем, рекомендую терпеливо прочесть всю историю.
Читать дальше →

FUSE: как написать свою файловую систему

Уровень сложностиСложный
Время на прочтение21 мин
Охват и читатели33K

Меня зовут Максим, я ведущий разработчик в VK. Занимаюсь инфраструктурой доставки электронной почты в проекте Mail.ru. Наша команда разработала и довела до эксплуатации файловую систему (ФС) на FUSE в рамках проекта распределённой почтовой очереди. В проекте требовалось реализовать сетевую ФС, которая сохраняет данные в трёх копиях, в разных ЦОДах. Цель — повысить отказоустойчивость, чтобы даже полный выход из строя одного ЦОДа не приводил к нарушениям SLA. Эта статья для всех, кто интересуется файловыми системами и хранением данных. Мы обсудим:

- зачем писать свою ФС;

- как написать свою ФС с помощью фреймворка FUSE;

- какие подводные камни есть у эксплуатации FUSE в production.

Эта статья — результат трёх лет разработки ФС. Сейчас самое время заварить чай, рассказ будет долгим. 

Заварить чай и читать

Разработчики Debian 10 напомнили пользователям о необходимости обновления до конца месяца

Время на прочтение1 мин
Охват и читатели6.6K

Пользователям Debian 10 необходимо обновить систему до 30 июня. Как напоминают разработчики, в этот день закончится долгосрочная поддержка продукта.

У пользователей есть два варианта: перейти на Debian 11, и в этом случае следующее обновление нужно будет сделать через два года, либо на Debian 12 и обновиться в 2028 году.

Читать далее

Проект инструментария по управлению каталогами Active Directory, Samba DC и FreeIPA. Часть 1: Постановка задачи

Время на прочтение7 мин
Охват и читатели9.9K

Привет, Хабр! Наша инициативная группа приступила к работе над интересным проектом, который претендует на определенную значимость в масштабе отечественной ИТ-индустрии. Речь идет об универсальном веб-инструментарии для централизованного управления разнородными службами каталогов для крупных холдингов и корпораций, будь то Microsoft Active Directory (MS AD), либо службы каталогов, основанные на Samba DC или FreeIPA. Разрабатываемое решение позволит осуществлять управление наиболее востребованными функциями из единой точки доступа вне зависимости от типа используемых в доменах служб каталогов.

Читать далее

В systemd 256.1 исправлена проблема в systemd-tmpfiles, приводившая к удалению всех домашних каталогов раздела /home

Время на прочтение2 мин
Охват и читатели6.3K

19 июня 2024 года вышла подсистема инициализации и управления службами в Linux systemd 256.1, где исправлена проблема в systemd-tmpfiles --purge, приводившая к удалению всех домашних каталогов раздела /home при выполнении команды systemd-tmpfiles --purge, добавленной в systemd 256 для удаления всех файлов и каталогов, созданных через настройки в tmpfiles.d. Релиз стабильной версии systemd 256 состоялся 11 июня.

Читать далее

Представлен выпуск дистрибутива SysLinuxOS 12.4, построенного на пакетной базе Debian 12 и нацеленного на...

Время на прочтение1 мин
Охват и читатели29

Представлен выпуск дистрибутива SysLinuxOS 12.4, построенного на пакетной базе Debian 12 и нацеленного на предоставление загрузочного live-окружения, оптимизированного для системных интеграторов и администраторов.

Читать дальше →