Обновить
60.8

*nix *

Хаб про UNIX-подобные операционные системы

Сначала показывать
Порог рейтинга
Уровень сложности

Погружение в работу SWAP ОС FreeBSD

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

Оригинал: https://klarasystems.com/articles/exploring-swap-on-freebsd/ 

Свободная память = память, потраченная впустую? Как использовать swap наилучшим образом.

Для современных Unix-систем, таких как FreeBSD, термин “swapping” (подкачка памяти) означает операции по выгрузке данных из памяти на диск (устройство подкачки) и обратно, осуществляемые по требованию. 

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

Процесс выгрузки данных запускается при нехватке свободной памяти в системе: ядро системы вычисляет страницы памяти, которые скорее всего не будут нужны в ближайшем будущем, и  копирует их содержимое на диск, на котором данные хранятся до востребования.

Если приложение пытается получить доступ к данным, выгруженным на устройство подкачки, этот процесс блокируется до тех пор, пока ядро системы не извлечет необходимые данные с диска. После этого, работа приложения возобновляется в обычном режиме.

Описанная технология выглядит весьма рациональной. Объем памяти дисков обычно больше объема RAM, так почему бы не использовать их для кэширования редко используемых страниц памяти? Однако, для многих опытных администраторов процесс подкачки памяти до сих пор воспринимается как некорректное поведение системы. И этому есть объяснение: до недавнего времени диски, используемые для подкачки памяти, имели задержки доступа в миллионы раз выше, чем у RAM.

Читать далее

[Окончание] Новогодний детектив: странный хайзенбаг в «питоньих» часах

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


Здесь лежит окончание "расследования" Новогодний детектив: странный хайзенбаг в «питоньих» часах.
Изначально хотел просто обновить статью и написать соответствующий комментарий, но понял что апдейт выходит чуть не длиннее самой статьи.


Напомню краткое содержание предыдущей части: python, как впрочем и всё на нем написанное, временами прыгает в будущее, а конкретно в 2023-й год в локальной временной зоне, и по некоторым данным в 2024-й в UTC/GMT (но это не точно) и побыв там некоторое время возвращается обратно в настоящее.


Во время прыжка оно ведет себя довольно стабильно (т.е. считает нано-, микро- и миллисекунды, а то и секунды, как будто время идет как ни в чём не бывало) в 2023-м т.е. локально, при том что в результате повторных прыжков время вновь продолжается как будто по возвращению оно (время) течет в какой-то параллельной вселенной. Однако странное его "отражение" в UTC/GMT, ну то что как будто бы в 2024-м, выглядит менее стабильно, ибо для него наблюдается странные дрейфы дополнительно к смещению прыжка.


Хотя куда уж страннее.

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

Кунг-фу стиля Linux: автоматическое генерирование заголовочных файлов

Время на прочтение7 мин
Охват и читатели6.6K
Я пробовал много «новых» языков программирования, но как-то так получается, что всегда, когда я возвращаюсь к С++ или даже к C, это наполняет меня радостью. Правда, когда я возвращаюсь к этим языкам, кое-что меня слегка раздражает. Это — то, что мне нужны заголовочные файлы с объявлениями, а так же — отдельный файл, в котором продублирована почти та же самая информация. Я постоянно вношу в код изменения и забываю обновлять заголовочные файлы. Эти файлы не генерируются автоматически при использовании C++ и C. А инструменты, сопутствующие другим языкам, сами заботятся о подобных вещах. Это привело меня к поискам чего-либо, позволяющего автоматизировать генерирование заголовочных файлов. Конечно, некоторые IDE автоматически вставляют объявления туда, куда нужно, но меня всё это, по многим причинам, никогда полностью не устраивало. Мне хотелось что-то маленькое и быстрое, такое, что я мог бы использовать в составе множества различных наборов инструментов.



Я нашёл один довольно старый инструмент, который хорошо справляется с этой задачей. У него, правда, имеются определённые ограничения. Инструмент этот кажется немного запутанным. Поэтому я решил, что о нём стоит рассказать. Речь идёт о makeheaders. Это — часть системы управления конфигурацией программ Fossil. История программы восходит к 1993 году, когда Дуэйн Ричард Хипп (тот самый программист, который создал SQLite) написал её для собственных нужд. Эта программа не особенно сложна: вся она помещается в довольно большом C-файле. Но своё дело она делает: сканирует директорию и создаёт для всего, что найдёт, заголовочные файлы. В некоторых случаях для применения makeheaders нет нужды делать больших изменений в исходном коде, но, если есть такая необходимость, кое-что в нём можно и изменить.
Читать дальше →

Gitlab-Ci-Pipelines-Exporter

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

Я считаю , что это очень полезный инструмент , он позволяет следить за состоянием ваших пайплайнов, job-ов и мониторить переменные окружения, можно отслеживать статусы, продолжительность, и на самом деле там есть очень много интересных настроек

Читать далее

FOSS News №104 — дайджест материалов о свободном и открытом ПО за 27 декабря 2021 — 16 января 2022 года

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


Всем привет!


Продолжаем дайджесты новостей и других материалов о свободном и открытом ПО и немного о железе. Всё самое главное про пингвинов и не только, в России и мире.


Главные темы нового выпуска:


  1. Новости о распространении и борьбе с катастрофической уязвимостью в Log4j.
  2. Аналитические статьи о катастрофической уязвимости в Log4j.
  3. Конференция «Базальт СПО» — «СПО: от обучения до разработки 2022».
  4. Январский рейтинг языков программирования TIOBE.
  5. «Базальт СПО» получил грант РФРИТ на развитие ОС «Альт».
  6. Сравнение производительности игр при использовании Wayland и X.org.
  7. Наиболее важные события 2021 года по версии OpenNET.
  8. Ларри Лессиг о создании Creative Commons 20 лет назад: «Мы были лучше, чем казались. Раньше наша доброта не была видна».
  9. Новогоднее обращение от председателя совета директоров Linux Foundation.
  10. «Open Source 2022: год осознания».
  11. Число уязвимостей WordPress более чем удвоилось в 2021 году, и 77% из них являются эксплуатируемыми.
  12. 30 команд, необходимых для освоения интерфейса командной строки Git.
  13. «Python: Явное лучше неявного».
  14. Разработчик внёс деструктивные изменения в NPM-пакеты colors и faker, применяемые в 20 тысячах проектах.

И многое другое…




В составлении дайджеста мне помогали qark, invasy и 6 пользователей через нашего Telegram бота [→], приглашаем вас тоже помочь нам через этого бота.


Ещё — мы не только составляем FOSS-дайджесты, но и автоматизируем процесс, все 3 проекта автоматизации тоже являются FOSS, их можно посмотреть на GitHub [→].


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

Делай добро и бросай его в воду: бесплатно поднимаем obfs4-бриджи в Oracle Cloud

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

Привет, Хабр!

Надеюсь, ты уже слегка отошёл от новогодних праздников и возвращаешься в привычную колею. Лично я эти длинные выходные терпеть ненавижу и, посмотрев, по традиции, режиссёрские версии "Хоббита" с "Властелином Колец" дня за 3-4, начинаю от скуки лезть на стену и остервенело искать, чем бы себя занять. Не стал исключением и прошедший год - в этот раз сердце успокоилось с помощью авантюры с участием бриджей Тора, ораклового облака и вполне реальной возможности заполучить ценный лут.

Но давайте обо всём по порядку.

WAF в Roxy-WI: базовая защита веб-приложений через графический интерфейс

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

С самого начал работы над Roxy-WI мы думали о максимальном упрощении жизни пользователя с помощью веб-интерфейса. Поэтому мы решили добавить в продукт возможность работы с  WAF (Web Application Firewall), чтобы обеспечить защиту веб-сервисов от разного рода вредоносной активности. Естественно, всё то мы старались сделать максимально просто, чтобы даже начинающий пользователь смог без проблем всё настроить.

Читать далее

Кунг-фу стиля Linux: делиться — это плохо

Время на прочтение7 мин
Охват и читатели31K
В детском саду вы узнали о том, что делиться — это хорошо. Но, если речь заходит о компьютерной безопасности, часто оказывается, что не всё так однозначно. Концепция пространств имён (namespaces) появилась в ядре Linux начиная с версии 2.6.24. Это случилось много лет назад, но использование пространств имён не стало массовым явлением, несмотря на то, что существуют инструменты для работы с ними. Разумеется, задумываться о пространствах имён нужно далеко не всегда. Но это одна из тех вещей, которые, если в них возникает необходимость, дают нам просто бесценные возможности. Если описать эти возможности в двух словах, то получится, что пространства имён позволяют предоставить процессу его собственные, приватные ресурсы, и, что важнее, запретить процессу доступ к ресурсам из других пространств имён.



На самом деле мы, работая в Linux, постоянно пользуемся этой концепцией. Каждый запускаемый нами процесс существует в среде, описываемой неким набором пространств имён. Почему я говорю тут о «наборе» пространств имён? Дело в том, что существуют пространства имён, используемые для управления различными ресурсами. Например, можно настроить особое сетевое пространство имён, которое позволит предоставить процессу его собственный набор сетевых ресурсов — таких, например, как таблицы маршрутизации и правила файрвола.

Поговорим о том, как в Linux организована работа с пространствами имён, и о том, что они скрывают.
Читать дальше →

Обходим файловый кэш Google Drive в Colab

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

Про colab знают, наверное, все. Этот инструмент позволяет независимым исследователям использовать облачную инфраструктуру с GPU и TPU бесплатно или почти бесплатно.

Как всегда, проблемы возникают на больших данных. Если ваш датасэт лежит в google drive (он же Диск), то вы можете обращаться к нему напрямую из colab. Однако, если файл велик, например, 70+ GiB, то процесс обучения будет существенно медленнее, чем если бы этот же файл лежал в локальном хранилище, которое выделяется при создании инстанса.

Выход - скопировать файл с Диска в локальное хранилище (обучение станет быстрее в несколько раз!). Но дело в том, что colab и вся инфраструктура очень умная, файлы с Диска кэшируются каким то неуправляемым вами алгоритмом. И если у вашего инстанса, допустим, доступно ~120 GiB, то 70 GiB с Диска вы не скопируете, у вас закончится свободное место как раз из-за системы кэширования. То есть, команда cp не отработает корректно. И rsync то же. И tar. Кэширование работает на уровне драйвера. По сути файл копируется в локальное хранилище дважды. Шах и мат!

Так что вот вам небольшой костылёк:

Читать далее

Новогодний детектив: странный хайзенбаг в «питоньих» часах

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


Давненько я не писал на Хабр, да и тема интересная появилась, так что пора поправить это постыдное упущение.


Далее собственно детектив как оно есть, "расследование" которого ещё не окончено, можно присоединиться кстати… Пост будет обновляться, по окончанию (я надеюсь что баг таки найдётся) пост изменит название получив префикс "[SOLVED]"...
Продолжение и надеюсь окончание истории см. в этом посте.


Постучался тут человечек на GH, с ошибкой типа "Fail2ban ведет себя как-будто он временами в будущем". Первой мыслью было — что опять! ну снова кто-то во временных зонах потерялся.
Но нет, всё оказалось несколько хуже — иногда, редко, Fail2ban пишет в логи дату из 2023-го года.
И не только пишет, а по всей видимости действительно начинает считать что он где-то в 2023-м, со всеми вытекающими — снятием бана для блокированных адресов по истечению срока действия и т.д. и т.п.
Причем делает это для всех потоков, а чуть позже возвращается в 2021-й, чтобы позднее снова на короткое время прыгнуть в 2023-й и так снова и снова.

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

Как простой баг повреждения памяти ядра Linux может привести к полной компрометации системы

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

Введение


В этом посте описывается простой в реализации баг блокировки ядра Linux и то, как я использовал его против ядра Debian Buster 4.19.0-13-amd64. В посте рассматриваются варианты устранения бага, препятствующие или усложняющие использование подобных проблем злоумышленниками.

Я надеюсь, что подробный разбор такого эксплойта и его публикация помогут при определении относительной полезности различных подходов к его устранению.

Многие описанные здесь отдельные техники эксплойтов и варианты их устранения не новы. Однако я считаю, что стоит объединить их в одну статью, чтобы показать, как различные способы устранения взаимодействуют друг с другом на примере достаточно стандартного эксплойта с использованием освобождённой памяти.
Читать дальше →

FOSS News №103 — дайджест материалов о свободном и открытом ПО за 20—26 декабря 2021 года

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


Всем привет!


Продолжаем дайджесты новостей и других материалов о свободном и открытом ПО и немного о железе. Всё самое главное про пингвинов и не только, в России и мире.


Главные темы нового выпуска:


  1. Новости о распространении и борьбе с катастрофической уязвимостью в Log4j.
  2. Аналитические статьи о катастрофической уязвимости в Log4j.
  3. Критическая уязвимость в плагине «All in One SEO» для WordPress, под угрозой миллионы сайтов.
  4. Три четверти из тысячи самых популярных игр Steam работают на Linux, подсчитал проект ProtonDB.
  5. Эксперты выпустили подробный технический отчёт о блокировке Tor в России.
  6. Пиринговый видеохостинг PeerTube — свободная альтернатива YouTube, без цензуры и блокировок.
  7. Онлайн-самоучитель по Kubernetes и деплою с werf для разработчиков.
  8. ГК Astra Linux и компания Zabbix обеспечат полную совместимость своих продуктов.
  9. Союз ПО и «железа»: «Базальт СПО» на ежегодных итоговых конференциях «Эльбруса» и «Байкала».

И многое другое…


В составлении дайджеста мне помогали qark, invasy и 4 пользователя через нашего Telegram бота [→], приглашаем вас тоже помочь нам через этого бота.


Ещё — мы не только составляем FOSS-дайджесты, но и автоматизируем процесс, все 3 проекта автоматизации тоже являются FOSS, их можно посмотреть на GitHub [→].


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

Быстрая обработка CSV с помощью ОКМД (SIMD)

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

Недавно автор узнал об инструменте csvquote, который кодирует проблемные символы CSV так, чтобы утилиты unix правильно их обрабатывали. Он меняет кодировку в конце конвейера, восстанавливая исходный ввод. Оригинальная реализация работает с кавычками CSV простым, примитивным методом. Но на современном «железе» есть подход лучше, проще и в 3 раза быстрее.

CSV часто используется как формат наборов данных. Подробностями делимся к старту флагманского курса по Data Science, который начнётся уже завтра.

Читать далее

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

FOSS News №102 — дайджест материалов о свободном и открытом ПО за 13—19 декабря 2021 года

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


Всем привет!


Продолжаем дайджесты новостей и других материалов о свободном и открытом ПО и немного о железе. Всё самое главное про пингвинов и не только, в России и мире.


Главные темы нового выпуска:


  1. Новости о распространении и борьбе с катастрофической уязвимостью в Log4j.
  2. Аналитические статьи о катастрофической уязвимости в Log4j.
  3. Престижная национальная премия «Приоритет-2021» — у программно-аппаратных комплексов на основе ОС «Альт».
  4. Утверждена Рекомендация ЮНЕСКО об открытой науке.
  5. Российская компания Syntacore вошла в состав правления глобального консорциума RISC-V International.
  6. В TikTok Live Studio выявлено заимствование кода OBS, нарушающее лицензию GPL.

И многое другое…


В составлении дайджеста мне помогали qark, invasy и 4 пользователя через нашего Telegram бота [→], приглашаем вас тоже помочь нам через этого бота.


Ещё — мы не только составляем FOSS-дайджесты, но и автоматизируем процесс, все 3 проекта автоматизации тоже являются FOSS, их можно посмотреть на GitHub [→]


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

FOSS News №101 — дайджест материалов о свободном и открытом ПО за 6—12 декабря 2021 года

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


Всем привет!


Продолжаем дайджесты новостей и других материалов о свободном и открытом ПО и немного о железе. Всё самое главное про пингвинов и не только, в России и мире.


Главные темы нового выпуска:


  1. Катастрофическая уязвимость в Apache Log4j, затрагивающая многие Java-проекты.
  2. Imagination Technologies представляет семейство процессоров Catapult RISC-V.
  3. Новости противостояния Роскомнадзора и проекта Tor.
  4. Годовой отчёт Linux Foundation.
  5. ГК Astra Linux и ИСП РАН представили основы методологии разработки безопасного системного программного обеспечения.
  6. Красноярский край переводит ключевые государственные информсистемы на российские ОС «Альт».
  7. Еврокомиссия будет распространять свои программы под открытыми лицензиями.
  8. Олимпийские игры «Базальт СПО».
  9. Пять причин для ИТ-компании полюбить Open Source.
  10. Компания Mozilla опубликовала финансовый отчёт за 2020 год.

И многое другое…




В составлении дайджеста мне помогали qark, invasy и 2 пользователя через нашего Telegram бота [→], приглашаем вас тоже помочь нам через этого бота.


Ещё — мы не только составляем FOSS-дайджесты, но и автоматизируем процесс, все 3 проекта автоматизации тоже являются FOSS, их можно посмотреть на GitHub [→]



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

FOSS News №100 — дайджест материалов о свободном и открытом ПО за 29 ноября — 5 декабря 2021 года

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


Всем привет!


Продолжаем дайджесты новостей и других материалов о свободном и открытом ПО и немного о железе. Всё самое главное про пингвинов и не только, в России и мире.


Главные темы нового выпуска:


  1. Linux Foundation создаёт альянс по квантовым вычислениям для обеспечения совместимости.
  2. В основной ветке Python появилась возможность сборки для работы в браузере.
  3. Microsoft стала предупреждать пользователей Windows 10 и 11, что Edge лучше Google Chrome.
  4. В РФ наблюдаются проблемы с подключением к Tor.
  5. Переход на Ubuntu LTS: шесть фактов для пользователей CentOS.
  6. Linux Vacation / Eastern Europe (LVEE 2021) снова пройдёт онлайн.
  7. Ubuntu управляет Xiaomi CyberDog.
  8. OPEN SOURCE трибуна на HighLoad++.
  9. Linux-way. Куда развивается самый…
  10. HyperStyle — адаптация системы машинного обучения StyleGAN для редактирования изображений.

И многое другое…




В составлении дайджеста мне помогали qark, invasy и 2 пользователя через нашего Telegram бота [→], приглашаем вас тоже помочь нам через этого бота.


Ещё — мы не только составляем FOSS дайджесты, но и автоматизируем процесс, все 3 проекта автоматизации тоже являются FOSS, их можно посмотреть на GitHub [→]



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

Углубленное знакомство с пространствами имен Linux. Часть 2

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


В предыдущей части мы разобрали, чем являются пространства имен, и какую роль они играют в современных системах, после чего познакомились с двумя их видами: PID и NET. Во второй и заключительной части материала мы изучим пространства имен USER, MNT, UTS, IPC и CGROUP, а в завершении объединим полученные знания, создав полностью изолированную среду для процесса.
Читать дальше →

Интерфейс: функционал против красоты

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

XXI век уверенно шагает по планете. Холивары вспыхивают не только в секторе Газа, но и на форумах, в комментариях, телеграмм-каналах. Лет 50 назад люди думали, что FIDO -- это лучшая система для общения людей по всему миру: быстрая и... ну, относительно, надёжная. Но какой это был кайф -- пять минут t(k)-mail мучает модем и выкачивает архивы "эх", парматоссер раскладывает всё по местам, и в финале ты запускаешь своего любимого голого деда... Тихо-тихо, GoldEd -- редактор почты, всего-лишь. Запускаешь -- и ты соединился с миром! Ты можешь общаться с миллионами людей по всему миру... в формате текста. Да-да, никаких тебе гиперссылок, картинок, крутых интерфейсов. Даже мышки нет, всё на клавиатуре.

Нет-нет, Интернеты в то время уже были. Кое-где в этих Интернетах даже были картинки, естественно -- для взрослых. Странички на сайтах были настолько простыми. что сейчас за подобную поделку в школе, в первом классе ставили бы 2. Но, имея модем и повременку особого выхода небыло. Помните знаменитое "только не дисконнект, только не дисконнект..."? Да, интерфейс был самым простым...

Сегодня всё совсем не так! Знали бы мы, сегодня в часах процессоры будут в разы производительнее, чем в те годы? Мечтали, конечно. Нам думалось, что скучный NC или, позднее, windows 95, Far, да и вообще всё в компе станет чуточку круче. Таким, как нам рисовали в фильмах -- с крутыми дисплеями, офигенными интерфейсами, космически-футуристичными... Да, мы мечтали.

А что же мы получили в итоге, и так ли это круто -- иметь супер технологичный интерфейс, безумно красивый и неимоверно навороченный, или лучше попроще, но удобный? Давай смотреть!

Читать далее

Mozilla Sops для управления секретами в гите

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

Задача управления секретами одна из самых неприятных в IT. Само существование секретов уже неприятно, потому надо специально прикладывать усилия, чтобы у кого-то не работало (например, чтобы анонимный пользователь не мог прочитать секрет).

Когда кто-то прикладывает осмысленные усилия, появляются баги. А баги с секретами особо плохие, потому что это секреты, и смотреть на вывод нельзя. Всё равно, что USB-A втыкать вслепую, только возможных неправильных позиций больше.

В индустрии, по мере наработки практик, появилось множество систем управления секретами: с собственными серверами (hashicorp vault), 'as a service' (их ещё называют KMS, key management system), аппаратные (токены и TPM), самописные скрипты на gpg и т.д.

Среди всего этого множества я хочу выделить Mozilla Sops, и, как мне кажется, это один из лучших инструментов. Предупреждая возражения: я говорю про инструмент, а не решение. SOPS не заменяет KMS и не претендует на отмену Hashicorp'ового vault'а.

На Хабре уже был перевод про sops с точки зрения IT-директора, весьма убедительная статья, после которой я и занялся sops всерьёз. Если вы ту статью не читали, очень рекомендую начать с неё, чтобы получить заряд мотивации.

В этой статье я расскажу про техническую часть.

Читать далее

Linux-way. Куда развивается самый…

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

Хакеры под Linux — забавные люди. Они измеряют время версиями патчей.— Rob Riggs, в .sig

Я из тех самых престарелых "геймеров" в командную строку и конфиг-файлы, который предпочтёт чтение полезных статей пустому срачу в комментариях. Поклонник Gentoo, поэтому испугать меня сборкой firefox или LibreOffice весьма проблематично. Я никогда не выступал против альтернативных дистрибутивов, предпочитая для своих проектов проверенный и хорошо изученный мной.

Время неумолимо летит вперёд, и окружающий мир меняется, порой, быстрее, чем нам хотелось бы. За долгие годы использования Gentoo, я столкнулся с внушительным объемом "сюрпризов" от разработчиков: и переезд на rolling-release, и внезапно упавший как снег на голову systemd, и, даже, любовное послание Торвальдса nVidia. И год от года я замечаю (а я, вообще, замечательный человек) растущую популярность Linux.

Огромный шаг в этом направлении сделали в Canonical, выпустив "народный" дистрибутив. В своё время я даже удивился, что в Сибирской сети супермаркетов "Аллея", "Командор" и "Хороший" на всех ККМ используется подпиленная под задачу Ubuntu.

Да, Ubuntu был (и является) простым в использовании дистрибутивом, готовым радовать среднестатистического пользователя "из коробки". Да, это всё тот же старый-добрый Linux, рафинированный до боли в паху и скрежета в зубах. Миллионы статей, обзоров, видео на этих ваших ютьюбчиках рассказывают нам, насколько близок к людям стал Linux. Но он не стал. Об этом, с грустью, я бы хотел Вам поведать.

Читать далее

Вклад авторов