*nix *
Хаб про UNIX-подобные операционные системы
Новости
Сеть однородных линуксов [reoser]
Всем привет. В своей предыдущей статье я описал общую идею создания площадки, где люди смогут объединяться в одну общую железячную сеть и использовать мощности друг друга. В основе этой идеи лежит идея создания распределенного кластера Kubernetes, к разворачиванию которого я планирую в скором времени приступить.
Но на начальном этапе важно подготовить сеть из однородных линукс машин, на которых стоит абсолютно одинаковый линукс, чтобы не пришлось решать одни и те же проблемы по несколько раз. А это может быть, т.к. все дистрибутивы линуксов имеют свои особенности, например, в плане того, какие модули ядра стоят как модули, а какие вкомпилены в ядро.
Поскольку ожидается, что изъявить желание подключиться к этой сети может любой пользователь с любыми железом и операционной системой (например, не только линукс, но и bsd системы и андроид, который является сильно урезанными линуксом), то хотелось бы иметь скрипт / программу / проект, который сможет сравнять все системы до одинаковых однородных линуксов по причинам, описанным выше. При этом в качестве реального железа может выступать и виртуальное, когда человек на своем оборудовании отрезает под виртуальные нужды часть своих мощностей и отдает их в сеть hardware банкинга.
Pineapple Nano своими руками Часть 2. Прошивка устройства
Сборка своего "хакерского чемоданчика", или как я портировал ПО от Pineapple Nano в доработанный роутер MR3020, все подробности в статье. Вперед!
Как создать образ диска в Linux с несколькими разделами, не имея физического образца
Здравствуй дорогой читатель данного руководства. Меня зовут Андрей, и нет, я не алкоголик, а разработчик встраиваемых систем на базе Linux.
Данная статья является кратким руководством по созданию образа диска с несколькими разделами, куда можно было бы записать всякую всячину для передачи заказчику, а в дальнейшем и на производство.
Для чего это нужно? Все процессорные платы, разрабатываемые нашим предприятием, обладают слотом для sdcard и установленной на плате mmc. Загрузка системы производится либо с sd, либо c mmc. sd-карта является, как правило, временным решением, подкупает простотой установки. А mmc является постоянным решением, куда устанавливается уже финальное программное обеспечение. Переключение между способами загрузки осуществляется перемычками (джамперами на плате).
Telegram inlineKeyboard. Оценка качества обслуживания после звонка
Я занимаюсь разработкой АТС с открытым исходным кодом MikoPBX.
Недавно познакомился с проектом tg2sip. Шлюз позволяет подключить Telegram аккаунт к офисной АТС, принимать и совершать звонки.
После настройки шлюза, решили, что было бы неплохо после завершения телефонного разговора отправить клиенту клавиатуру для оценки качества обслуживания.
При попытке реализовать функцию столкнулись со сложностями:
- Пользователь не может отправлять / пересылать клавиатуру другому пользователю
- Бот не может писать пользователю, если тот на него не подписан
Как же быть? Решение опишу под катом
Начала Docker для юнги
Туториал по основам докера в котором простыми словами объясняется, как собирать образы и разворачивать контейнеры. Тут же можно узнать, чем контейнер отличается от виртуалки, что такое образ и увидеть простой кейс.
Как я дал вторую жизнь некроноуту Fujitsu Siemens amilo pro v2035 с помощью lubuntu
Ещё со студенческой скамьи у меня остался ноутбук Fujitsu, который тогда верой и правдой мне служил для постижения азов Паскаля и Си, а также для серфинга интернетов и героев 3.
Конечно же, более-менее современные ОС не рассчитаны на машину с одноядерным процессором Celeron и 1Gb оперативной памяти, поэтому я обратился к легким
дистрибутивам линукса.
Целью было поупражняться с линуксом, получить работающую консольку для каких-то повседневных задач, вроде запуска какого-нибудь простейшего бота, установки напоминалок крона или хостинга статического сайта.
Кросс-компиляция NGINX (для случая GCC)
NGINX — это HTTP-сервер и обратный прокси-сервер, почтовый прокси-сервер, а также TCP/UDP прокси-сервер общего назначения, изначально написанный Игорем Сысоевым. Уже длительное время он обслуживает серверы многих высоконагруженных сайтов.
Однако кросс-компиляция NGINX практически невозможна, поскольку разработанные Игорем Сысоевым скрипты конфигурирования исходного кода в большинстве случаев используют так называемую процедуру «Try Run».
Те кто знаком с утилитами Autoconf, Automake знают, что проверки необходимых параметров системы и кросс-компилятора осуществляются различными процедурами, которые, в свою очередь, могут применять попытки сборки исходного кода (Try compile), линковки объектных файлов (Try link) и, наконец, попытки запуска тестовых программ (Try Run).
Естественно, если речь идет о кросс-сборке, операции «Try Run» недопустимы, ведь мы не можем запустить программу, собранную под целевую архитектуру отличающуюся от архитектуры машины сборки на самой машине сборки.
В Autotools проблемы, связанные с невозможностью запуска целевых программ на сборочной машине в некоторых случаях решаютcя кешированием переменных, которые могу быть переопределены пользователем в файле --cache-file или заданы в командной строке вызова скрипта ./configure.
Скрипты Игоря Сысоева не предусматривают такого переопределения машинно-зависимых величин. Однако величин, которые необходимо задать во время конфигурирования исходных кодов NGINX достаточно много. К ним, в первую очередь, относятся размеры типов данных. Именно с них мы и начнем.
Terraform модуль для создания RBAC-правил
Начиная с Kubernetes 1.6, RBAC политики включены по умолчанию. К тому же использование этих политик помогает безопасно управлять вашим кластером. Раньше нам приходилось вручную создавать подобные политики, сервисные аккаунты и пользователей. Для каждого нового проекта мы проделывали ручные операции, которые отнимали много времени. Особенно создание пользователей, так как требует множества мелких манипуляций. Готового решения, удовлетворяющего нашим требованиям, нам найти не удалось, поэтому мы написали terraform модуль, который упрощает этот процесс. Данный модуль позволяет создавать сервисные аккаунты и пользователей, а затем генерировать готовые конфигурационные файлы (kubeconfig) для них. Также при помощи данного модуля можно создавать роли, кластерные роли и привязывать их к определенным сервисным аккаунтам, пользователям или группам. Модуль можно найти в нашем GitHub репозитории. Для использования модуля потребуется terraform >= 1.0.0 и kubeconfig, с административными правами.
Установка ubuntu 20.04 с корнем на шифрованном ZFS зеркале и UEFI загрузкой
На моей домашней машине вот уже 7 лет работает пара дисков, объединенная в soft raid1. И вот на днях один диск в зеркале наконец начал сыпаться. Появился повод переустановить систему с нуля и начать использовать шифрование, которое 7 лет назад не было задействовано. В процессе гугления о состоянии дел в конфигурации LUKS поверх mdadm я вышел на статью сравнивающей производительность zfs vs mdadm/ext4. А потом нашел другую статью с тестированием производительности зашифрованных дисков использующих LUKS и zfs. Согласно обеим статьям zfs демонстрирует весьма неплохую производительность и я решил попробовать ее в деле.
Решение головоломки Wordle в командной строке
Моя проблема в том, что я постоянно забываю слова. Даже между тем моментом, когда начинаю предложение, и тем, когда добираюсь до того его места, где я собирался использовать какое-то слово. Я знаю слова, и не могу сказать, что не понимаю их, когда их мне говорят. Но иногда я не могу их вспомнить, и ничего особо не улучшается даже тогда, когда у меня есть несколько букв, входящих в их состав. А вид перемешанных букв, похоже, только всё ухудшает. Неудивительно то, что любые игры, нацеленные на выдумывание слов, мне безразличны.
Мои первые три попытки решить головоломку Wordle провалились. На четвёртой попытке я застрял, так как не мог придумать ни одного слова, которое соответствовало бы подсказкам. Поэтому я сжульничал и обнаружил, что передо мной было одно слово, которое в точности подходило. Это слово выглядело абсолютно очевидным после того, как я понял, что могу использовать одну и ту же букву дважды. Но, как известно, любой вопрос — это ерунда, когда знаешь ответ.
Как бы там ни было, если вы в чём-то похожи на меня, и при этом у вас под рукой имеются вполне обычные инструменты командной строки Unix, возможно, вам будет интересно узнать о том, как и вы можете играть в Wordle. Даже если вы совсем не дружите со словами.
Проброс видеокарты в виртуальную машину
Две разные системы (win + linux) на одной аппаратной базе - реальность. В этом нет ничего нового или инновационного (на данный момент времени), но если требуется максимальная производительность гостевой системы, то не обойтись без проброса реальных устройств в виртуальную машину. Проброс сетевых карт, usb-контроллеров (etc) экстраординарных особенностей не несёт, а вот попытка "шаринга" ресурсов видеокарты и процессора вполне может принести некоторое количество проблем.
Итак, а для чего, собственного говоря, городить системы с полнофункциональным использованием ресурсов GPU и CPU? Самый простой и очевидный ответ - игры (широко известный факт - если не большинство, то очень многие, написаны под ОС Windows). Другой вариант - полноценное рабочее место с возможностью запуска требовательных приложений (например, CAD-софта), быстрым бэкапом (скопировать файл ВМ куда проще, чем создавать полную копию HDD/SSD) и опцией полного контроля сетевого трафика гостевой системы.
Поиск причин замедленной работы redis на виртуальной машине
По специфике работы нам часто приходится иметь дело с самыми разными конфигурациями серверной инфраструктуры клиентов. Сегодня хотел бы поделиться моим опытом поиска первопричины сбоев в работе редис-кластера, которая вылилась в большие временные затраты, но могла быть решена намного быстрее. Возможно, мой опыт сэкономит время кому-то из начинающих администраторов при решении подобных задач.
Tinc — настройка VPN в Ubuntu
К его основным достоинствам относится:
1) Распределенная топология (нет необходимости в мощном сервере VPN).
2) Работет поверх сетей любой топологии, в том числе за NAT и поверх других VPN.
3) Поддерживает активное соединение даже после переключения сети (например с wi-fi на 4g) или при входе и выходе из других VPN.
4) Работет в большинстве операционных систем, в том числе Windows XP.
К этому можно добавить, что tinc входит во все дистирбутивы Linux, то есть его можно установить и сразу пользоваться.
При этом tinc у широкой публики не пользуется популярностью. Одна из причин — очень лаконичная документация, которая создавалась в университетской среде, и поэтому является скорее академической, чем доступной для быстрого прочтения.
В этом сообщении я опишу конфигурацию tinc VPN в операционной истеме Ubuntu.
Погружение в работу SWAP ОС FreeBSD
Оригинал: https://klarasystems.com/articles/exploring-swap-on-freebsd/
Свободная память = память, потраченная впустую? Как использовать swap наилучшим образом.
Для современных Unix-систем, таких как FreeBSD, термин “swapping” (подкачка памяти) означает операции по выгрузке данных из памяти на диск (устройство подкачки) и обратно, осуществляемые по требованию.
Процесс вывода происходит в ответ на отсутствие свободной памяти в системе: ядро пытается вычислить страницы памяти, к которым возможно не будет производиться доступ в ближайшем будущем, и копирует их данные на диск, чтобы сохранить до востребования.
Процесс выгрузки данных запускается при нехватке свободной памяти в системе: ядро системы вычисляет страницы памяти, которые скорее всего не будут нужны в ближайшем будущем, и копирует их содержимое на диск, на котором данные хранятся до востребования.
Если приложение пытается получить доступ к данным, выгруженным на устройство подкачки, этот процесс блокируется до тех пор, пока ядро системы не извлечет необходимые данные с диска. После этого, работа приложения возобновляется в обычном режиме.
Описанная технология выглядит весьма рациональной. Объем памяти дисков обычно больше объема RAM, так почему бы не использовать их для кэширования редко используемых страниц памяти? Однако, для многих опытных администраторов процесс подкачки памяти до сих пор воспринимается как некорректное поведение системы. И этому есть объяснение: до недавнего времени диски, используемые для подкачки памяти, имели задержки доступа в миллионы раз выше, чем у RAM.
[Окончание] Новогодний детектив: странный хайзенбаг в «питоньих» часах
Здесь лежит окончание "расследования" Новогодний детектив: странный хайзенбаг в «питоньих» часах.
Изначально хотел просто обновить статью и написать соответствующий комментарий, но понял что апдейт выходит чуть не длиннее самой статьи.
Напомню краткое содержание предыдущей части: python, как впрочем и всё на нем написанное, временами прыгает в будущее, а конкретно в 2023-й год в локальной временной зоне, и по некоторым данным в 2024-й в UTC/GMT (но это не точно) и побыв там некоторое время возвращается обратно в настоящее.
Во время прыжка оно ведет себя довольно стабильно (т.е. считает нано-, микро- и миллисекунды, а то и секунды, как будто время идет как ни в чём не бывало) в 2023-м т.е. локально, при том что в результате повторных прыжков время вновь продолжается как будто по возвращению оно (время) течет в какой-то параллельной вселенной. Однако странное его "отражение" в UTC/GMT, ну то что как будто бы в 2024-м, выглядит менее стабильно, ибо для него наблюдается странные дрейфы дополнительно к смещению прыжка.
Хотя куда уж страннее.
Кунг-фу стиля Linux: автоматическое генерирование заголовочных файлов
Я нашёл один довольно старый инструмент, который хорошо справляется с этой задачей. У него, правда, имеются определённые ограничения. Инструмент этот кажется немного запутанным. Поэтому я решил, что о нём стоит рассказать. Речь идёт о makeheaders. Это — часть системы управления конфигурацией программ Fossil. История программы восходит к 1993 году, когда Дуэйн Ричард Хипп (тот самый программист, который создал SQLite) написал её для собственных нужд. Эта программа не особенно сложна: вся она помещается в довольно большом C-файле. Но своё дело она делает: сканирует директорию и создаёт для всего, что найдёт, заголовочные файлы. В некоторых случаях для применения
makeheaders
нет нужды делать больших изменений в исходном коде, но, если есть такая необходимость, кое-что в нём можно и изменить.Gitlab-Ci-Pipelines-Exporter
Я считаю , что это очень полезный инструмент , он позволяет следить за состоянием ваших пайплайнов, job-ов и мониторить переменные окружения, можно отслеживать статусы, продолжительность, и на самом деле там есть очень много интересных настроек
FOSS News №104 — дайджест материалов о свободном и открытом ПО за 27 декабря 2021 — 16 января 2022 года
Всем привет!
Продолжаем дайджесты новостей и других материалов о свободном и открытом ПО и немного о железе. Всё самое главное про пингвинов и не только, в России и мире.
Главные темы нового выпуска:
- Новости о распространении и борьбе с катастрофической уязвимостью в Log4j.
- Аналитические статьи о катастрофической уязвимости в Log4j.
- Конференция «Базальт СПО» — «СПО: от обучения до разработки 2022».
- Январский рейтинг языков программирования TIOBE.
- «Базальт СПО» получил грант РФРИТ на развитие ОС «Альт».
- Сравнение производительности игр при использовании Wayland и X.org.
- Наиболее важные события 2021 года по версии OpenNET.
- Ларри Лессиг о создании Creative Commons 20 лет назад: «Мы были лучше, чем казались. Раньше наша доброта не была видна».
- Новогоднее обращение от председателя совета директоров Linux Foundation.
- «Open Source 2022: год осознания».
- Число уязвимостей WordPress более чем удвоилось в 2021 году, и 77% из них являются эксплуатируемыми.
- 30 команд, необходимых для освоения интерфейса командной строки Git.
- «Python: Явное лучше неявного».
- Разработчик внёс деструктивные изменения в NPM-пакеты colors и faker, применяемые в 20 тысячах проектах.
И многое другое…
В составлении дайджеста мне помогали qark, invasy и 6 пользователей через нашего Telegram бота [→], приглашаем вас тоже помочь нам через этого бота.
Ещё — мы не только составляем FOSS-дайджесты, но и автоматизируем процесс, все 3 проекта автоматизации тоже являются FOSS, их можно посмотреть на GitHub [→].
Делай добро и бросай его в воду: бесплатно поднимаем obfs4-бриджи в Oracle Cloud
Привет, Хабр!
Надеюсь, ты уже слегка отошёл от новогодних праздников и возвращаешься в привычную колею. Лично я эти длинные выходные терпеть ненавижу и, посмотрев, по традиции, режиссёрские версии "Хоббита" с "Властелином Колец" дня за 3-4, начинаю от скуки лезть на стену и остервенело искать, чем бы себя занять. Не стал исключением и прошедший год - в этот раз сердце успокоилось с помощью авантюры с участием бриджей Тора, ораклового облака и вполне реальной возможности заполучить ценный лут.
Вклад авторов
-
Gim6626 1015.6 -
simpleadmin 944.0 -
Vorb 764.0 -
temujin 665.8 -
m1rko 604.4 -
ru_vds 581.0 -
dlinyj 525.0 -
Oxyd 520.0 -
ob1 497.4 -
keklick1337 481.0