Обновить
337.96

Linux *

Пишем под *nix

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

Как турецкий муниципальный район перешёл на Linux

Время на прочтение6 мин
Количество просмотров6.9K

Эюп (Eyüp или Eyüpsultan) — район, расположенный в европейской части Стамбула, который простирается от Золотого Рога до побережья Черного моря. Площадь района составляет 242 км². По данным переписи 2018 года, в Эюпском районе с его двадцатью одним микрорайонами и семью деревнями проживает 383 909 человек. В средние века здесь часто происходили стычки между крестоносцами и византийцами, а сегодня Эюп это одно из священных мест для мусульман (здесь находится гробница Абу Айюба аль-Ансари, носителя штандарта Пророка Мухаммеда), и где местная районная администрация полностью перешла на свободное программное обеспечение Pardus.


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

Ngrokking. Организация удаленного доступа без белого IP

Время на прочтение4 мин
Количество просмотров92K

Начало

Все началось с идеи, как и всегда. Кто-то при мне упомянул про удаленный доступ без покупки белого IP и я вспомнил, как хотел осуществить подобное когда-то, но руки так и не дошли.

Но, благодаря этому, я, так же, вспомнил, как когда-то давно, я наткнулся на статью про ngrok. Ссылки на нее, к сожалению, я не сохранил и, благополучно забыл. Но теперь, с пылающей идеей в голове, я устремился на поиски самого ценного ресурса, для осуществления задуманного — информации.

Читать далее

ICMP открывашка портов для сервера

Время на прочтение2 мин
Количество просмотров19K

Имею парочку VDSок для различных нужд (почта, веб-сервер, хранилка и т.п.) так вот, возникла необходимость скрывать порты (22, 443 и т.п.) от посторонних глаз. Немного подумав, а идея уже не новая, решил написать простенький, так сказать, ICMP knocker, то есть открытие портов по пингу. Но пингу не простому, а с определенным размером пакета. Пример для линукс:

ping -s 999 -c1 mysrv.com

Где -s - размер отправляемого сообщения, -с количество.

Читать далее

Быть или не быть ACL в администрировании Linux

Время на прочтение5 мин
Количество просмотров31K

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

Эта статья поможет определиться действительно ли проекту требуется гибкость на уровне пакета ACL и какие проблемы могут возникнуть при его использовании. 

Итак, знакомьтесь ближе с теоретической и практической составляющими утилиты.  

Читать далее

Как работают snap, flatpak, appimage

Время на прочтение13 мин
Количество просмотров88K

Распространение приложений в линуксе - это боль. Причем в наше время цикл обновлений приложений все уменьшается и эта боль чувствуется все сильнее. В связи с этим появляются технологии вроде snap, flatpak, которые декларируют решение этих проблем. Некоторые дистрибутивы (я смотрю на тебя, Ubuntu) даже начинают довольно агрессивную политику по их внедрению. Однако, несмотря на то, что про сами эти технологии много говорят (и ещё больше жалуются), про то, как они работают написано довольно мало. Попробуем исправить это.

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

Читать далее

Борьба с фрагментацией памяти в ядре Linux

Время на прочтение12 мин
Количество просмотров14K

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

Как незаметно запускать виртуальный Linux на QEMU

Время на прочтение10 мин
Количество просмотров19K

О том, как замаскировать QEMU с Linux под приложение на Windows.

В некоторых задачах Linux просто необходим. И самым ярким тому примером на сегодня является наличие системы WSL. Однако не везде ею можно пользоваться. Некоторые предприятия принципиально застревают на Win7. И их можно понять. Эта система не столь требовательна к железу (особенно к видео-подсистеме), не ломится чуть-что в интернет, да и в Ultimate варианте вообще не требует подключения к глобальной сети.

В большей части случаев можно обойтись родными для системы средствами разработки и сторонними инструментами. Но представьте себе, что для работы Вашего комплекса нужно собрать вместе более десятка не маленьких opensource проектов с перекрёстными зависимостями. Причём часть из них написана под python (и тут никаких проблем нет - виртуальная среда и всё ок), а часть собирается в бинарные исполняшки, от которых зависят другие модули. И тут может быть как минимум три решения.

Читать далее

Миграция электронного документооборота Directum RX на Linux и PostgreSQL

Время на прочтение7 мин
Количество просмотров6.8K

Итак, произошло то, что произошло, сегодня невозможно сделать сет Directum RX на MS SQL. Microsoft перестал отгружать лицензии в России. Для многих это стало неожиданностью, а для нас — нет. Задолго до введения санкционных ограничений мы позаботились о переходе на PostgreSQL и Linux. Причины были банальны — хотелось сократить расходы на лицензии.

Также хотелось научиться переводить системы Directum на PostgreSQL, предполагая, что слонёнок будет востребован у наших заказчиков по той же финансовой причине. Для нас отказ от баз Microsoft был плановым. Кроме того, мы перевели инфраструктуры вместе с Directum на Linux. Сегодня оцениваем эту попытку “переехать” с сокращением затрат как отчасти удачную. 

Я, Виталий Волнянский, руководитель практики технологических решений (CTO), директор по продажам (VPS) ООО “ЕАЕ-Консалт”, под катом расскажу о том, как проходила миграция и с какими проблемами нам пришлось столкнуться.

Читать далее

Пасхалки в ПО

Время на прочтение3 мин
Количество просмотров6.6K

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

Читать далее

Rust и Linux

Время на прочтение8 мин
Количество просмотров26K

Во время прошлогодней Linux Plumbers Conference 2021 один из мейнтейнеров, Мигель Охеда, задался вопросом: нужен ли сообществу Rust в коде ядра Linux и что нужно для того, чтобы соответствующие патчи были приняты в древе проекта? Комментарии от разработчиков были в основном доброжелательными, но без фанатизма. Лидер проекта Линус Торвальдс сказал, что не против т․ н․ пилотной серии патчей на Rust, с оговоркой, что и остальные разработчики должны рассматривать их в качестве опытной партии.

Тут уместно вспомнить, что ядро Linux вероятно один из самых масштабных проектов с открытым исходным кодом и самый успешный, учитывая пройденный путь за более, чем 30 лет после опубликования версии ядра 0.01. Всё это время разработка велась и ведётся поныне на языке программирования C. Линус Торвальдс без ума от C и не раз высказывался в том духе, что от добра добра не ищут, и все остальные ЯП непригодны для разработки ядра.
Читать дальше →

Преимущества использования СЗИ в ОС Astra Linux Special Edition

Время на прочтение11 мин
Количество просмотров50K

Безопасность ОС Astra Linux Special Edition в первую очередь базируется на реализации в ней средств защиты информации (СЗИ) собственной разработки ГК «Астра», которые включаются в зависимости от выбранного режима работы: «Базовый» («Орел»), «Усиленный» («Воронеж») и «Максимальный» («Смоленск»). Пришло время рассказать об отличиях этих режимов, о возможностях СЗИ (мандатного контроля целостности, замкнутой программной среды и др.) противостоять типовым атакам на ОС семейства Linux, т. е. о том, почему их комплексное применение обеспечивает реальную защищенность от основных угроз безопасности информации.

Читать далее

SMPP в Telegram (Viber)

Время на прочтение4 мин
Количество просмотров5.3K

Много лет не писал нечего кроме заметок для себя, но тут получилось интересное решение по поднятию своего SMPP сервера и пересылке сообщений в telegram и viber почти без программирования.

Читать далее

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

Linux и TinyСC в браузере

Время на прочтение17 мин
Количество просмотров8.1K

Несмотря на то, что Clang in Browser довольно впечатляет, большинство существующих браузерных компиляторов все же находятся в экспериментальной стадии. Я же в этом проекте вместо портирования компилятора в WASM собираюсь пойти своим излюбленным путем – задействовать виртуальные машины. Этот способ не такой уж быстрый, особенно ввиду использования мной JS-эмулятора ЦПУ, но при этом все же позволяет добиться отличной производительности с помощью шустрого компилятора вроде Tiny С Compiler и кастомизированного Linux.
Читать дальше →

Микросервисы и неизбежная боль?

Время на прочтение20 мин
Количество просмотров33K

Сегодня трудно себе представить более переоцененный подход к созданию архитектуры программных решений, чем микросервисы. В сети доступно огромное количество статей и видеолекций, в которых авторы рассказывают о том, что такое микросервисы и зачем они нужны. С чем, в общем, справляются довольно успешно, раскрывая их преимущества и недостатки. Так что эта статья рискует стать очередным пересказыванием очевидных вещей. Поэтому я сосредоточусь на том, чтобы сформулировать и донести до вас то, как я понимаю эту тему, основываясь на опыте тех проектов, в которых имел честь принимать участие. И том совокупном коллективном опыте, что медленно, но верно накапливается в IT индустрии.

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

Читать далее

STM32MP1 запуск Ubuntu 22.04

Время на прочтение40 мин
Количество просмотров17K

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

Совсем недавно, компания Canonical, выпустила Ubuntu 22.04, "потыкав" ее на виртуалке, решил накатить апдейт на рабочий ноут, пока накатывались обновления, перебирал девкиты в полке, нашел запыленную STM32MP157c-DK2 отладучную платку от старого проекта, ну и подумал - почему бы и не попробовать запустить 22-ю убунту на этом CPU.

В интернете полно статей как собрать Yocto или Buildroot под данный процессор, но ни одной как собрать свой собственный дистрибутив, по крайней мере, я не встречал.

Читать далее

Язык-головоломка Marthue

Время на прочтение8 мин
Количество просмотров2.3K

Предлагаю читателям Хабра "эзотерический" язык программирования, обобщающий нормальные алгоритмы Маркова (НАМ) и полусистемы Акселя Туэ (semi-Thue systems). В языке есть возможность интерактивного ввода и вывода, выбора поиска замены подстрок с начала, конца строки или случайным образом, условного рекурсивного вызова одного блока подстановок из другого, а также условного перехода между блоками. Это позволяет совмещать подстановку строк с элементами императивного и даже функционального программирования, а также исследовать недетерминированные алгоритмы.

Интерпретатор написан под Линуксом на языке Common Lisp, который я считаю одним из самых мощных и удобных, в том числе для экспериментальногого программирования. При желании большого труда не составит переписать его на любом популярном языке: например, сделать онлайновую версию в Javascript. Просто для запуска программ Лисп знать практически не нужно: достаточно инсталлировать любую версию Common Lisp и ввести нужный файл парой простых функций. Скачать репозиторий интерпретатора Marthue можно здесь.

Читать далее

Как работать с Makefile-проектами в среде CLion

Время на прочтение12 мин
Количество просмотров6.4K

За последние несколько лет мне пришлось столкнуться с множеством вопросов, которые были сформулированы примерно так: "мой проект не открывается в среде CLion". В свою очередь, это приводило к необходимости из раза в раз объяснять разным людям примерно одно и то же. Статья имеет целью сохранить тот опыт, который был накоплен в процессе анализа десятков разных проектов. Предполагается, что официальная документация вам уже известна и не вызывает вопросов.

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

OpenVPN. Инструкция по применению

Время на прочтение9 мин
Количество просмотров85K

Виртуальные частные сети (VPN) давно вошли в повседневную жизнь. Множество технологий и реализаций сервиса приватных сетей (как для частного применения, так и для использования внутри периметра организаций), обеспечивающих определённый уровень безопасности, доступны для использования широкому кругу ИТ-специалистов.

Не смотря на обилие технологий, предлагаю остановиться на старом добром OpenVPN (в связке с EASY-RSA). Решение от Джеймса Йонана отличается гибкостью, функциональностью, надёжностью и непрерывностью разработки на протяжении приличного временного периода. Так сказать, мастодонт от мира VPN-решений.

Спойлер — ссылка на довольно функциональное решение (ничего особенного, чистый бэкэнд), написанное на bash некоторое время назад, ждёт вас в конце публикации (в виде github-репозитория под именем «openvpn_helper»), а здесь же уделю внимание общей структуре и некоторым аспектам использования набора скриптов и OpenVPN.

***

Список необходимых компонентов (используемая ОС — AlmaLinux 8):

1) OpenVPN 2.4.12;
2) EASY-RSA 3.0.8.

Читать далее

Мгновенные снепшоты postgres на tablespace и btrfs

Время на прочтение4 мин
Количество просмотров8.6K

Для работы бывает полезно иметь несколько копий одной реальной базы для экспериментов, фикстур или просто тестовых приложений. База растет и время копирования через разворачивание дампа или с помощью шаблона также возрастает до утомительных величин. Для решения этого кейса уже описаны варианты использования файловой системы с поддержкой CoW - Btrfs. В интернете находил  такие инструкции, они сводятся к тому, что делается снепшот всего сервера. И для работы второго "скопированного" нужно перегенерировать pid и сменить порт для предотвращения конфликтов. Этот способ довольно универсальный относительно конфигурации баз на сервере, но кажется имеет ограничение для неопределенного кол-ва параллельных снепшотов серверов.

В этой статье предлагаю свой вариант реализации снепшотов на одном экземпляре сервера postgres и одной базы, на произвольное кол-во копий.

Инструкция linux only, про поддержку CoW файловых систем на Windows не в курсе.

Читать далее

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