Pull to refresh
3
0
Alexandr @Qwiz

Пользователь

Send message

Как самому за один вечер собрать минимальную ОС Linux из исходного кода

Level of difficultyMedium
Reading time11 min
Views77K
image

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

Ещё больше не даёт покоя мне тот факт, что все ядра операционной системы Linux, которые работают на различных устройствах и серверах, собраны из исходного кода, находящегося в репозитории на сайте kernel.org.

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

Мне всегда хотелось собрать операционную систему Linux самому из исходного кода, но процесс этот всегда казался сложным и запутанным, да и многого я не понимал. Но всё-таки в определённый момент времени я накопил достаточное количество знаний, чтобы осуществить свою мечту. В этой статье я хочу рассказать вам, как собрать минимальную Linux из исходного кода и запустить её у себя на компьютере.
Читать дальше →
Total votes 83: ↑82 and ↓1+108
Comments77

Gitea + Drone + Nginx + Portainer. Пошаговое руководство по деплою аналога github на своём железе

Reading time8 min
Views16K

В данном туториале я расскажу вам как можно задеплоить gitea на своём железе с использованием docker-compose подключить drone, для возможности автоматизации тестирования и доставки собственных приложений, настроить reverse-proxy через nginx для доступа через сеть и включить portainer для мониторинга запущенных контейнеров.

Читать далее
Total votes 10: ↑8 and ↓2+7
Comments18

Дозиметр судного дня

Reading time14 min
Views21K

Хомяки приветствуют вас друзья! 

Сегодняшний пост будет посвящен одной из легендарных самоделок, дозиметр RAD BOY. Тут тебе и цветной экран, и возможность просмотра накопленной дозы за день, продолжительная автономность, в общем сливки в своем роде. В ходе поста рассмотрим как собрать такое устройство, самостоятельно запрограммировать и произвести примитивные манипуляции с настройкой высоковольтного трансформатора. Чтобы устройство выглядело подобающе, смоделируем и напечатаем корпус. В процессе повествования узнаем технические особенности, рассмотрим меню настроек, распилим счетчик Гейгера для изучения внутренностей и сравним показания самодельного прибора с профессиональным дозиметром Радиаскан-701.

Читать далее
Total votes 54: ↑49 and ↓5+57
Comments68

Android Debug Bridge для тестировщика без SMS и регистрации

Reading time15 min
Views29K

Привет, Хабр! Меня зовут Александр Карпенко, я QA Engineer в inDrive. Я подготовил эту статью для начинающих QA-специалистов. Ниже расскажу, как использовать Android Debug Bridge (ADB) в тестировании мобильных приложений и нужен ли вообще этот инструмент. 

Читать далее
Total votes 14: ↑14 and ↓0+14
Comments4

Шифрование информации в Linux

Reading time4 min
Views21K

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

Читать далее
Total votes 11: ↑9 and ↓2+8
Comments27

Подборка фильмов и сериалов об OSINT

Reading time9 min
Views11K

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

Безуспешные поиски угонщика самолётов, бесследно растворившегося в небесной лазури с мешком денег полвека назад. Захватывающая история одного из первых сайтов с порноместью и противостояния простых людей с ним. Охота на убийц и сваттеров, культовая классика и неочевидные картины, заслуживающие особого упоминания, — в посте найдутся произведения с большого и малого экранов на любой вкус. Так что всем интересующимся OSINT, не знающих чем занять себя на выходных, добро пожаловать под кат!

Читать далее
Total votes 7: ↑4 and ↓3+1
Comments2

iPXE — заливка linux, windows, утилит по сети

Reading time12 min
Views51K

Раньше у нас использовалась заливка ОС по PXE с использованием syslinux, но как бывает с самодостаточными системами и без достаточного контроля и внимания - быстро превратилась в кашу из конфигураций, библиотек, загрузчиков.

Так же была необходимость в поддержке заливки разных ОС в режиме EFI - на тот момент заливка была только в Legacy.

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

Читать далее
Total votes 13: ↑13 and ↓0+13
Comments8

Умный дом из пыльного планшета

Reading time11 min
Views49K

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

Читать далее
Total votes 41: ↑41 and ↓0+41
Comments34

Водопровод в современной квартире

Reading time11 min
Views81K

Здравствуйте! Тема ремонта актуальна для всех и во все времена. Я занимаюсь монтажом сантехники и знаю, что разобраться с нуля в этом деле довольно сложно. Но чтобы проконтролировать качество работ надо хоть немного разбираться в сантехнике. Я в краткой форме освятил ключевые моменты на которые нужно обращать внимание. Надеюсь, это будет полезная статья.

Читать далее
Total votes 147: ↑130 and ↓17+156
Comments366

Как выжить после крушения?

Reading time11 min
Views30K
(www.goodfon.ru, Автор: Juliannaa)

Кораблекрушение, авиакатастрофа… Этот сюжет многократно обыгран во множестве разнообразных фильмов, игр и массовой культуре. Хотя большинство людей, так или иначе, слышали о подобном, но не имели к этому отношения (к счастью). В этой статье мы попробуем обсудить, как выжить современному человеку, в случае крушения, в безлюдном месте, а также дать знать о своей ситуации с помощью разных способов (в том числе, построив «радиопередатчик из ничего»).
Читать дальше →
Total votes 68: ↑57 and ↓11+66
Comments122

Тестирование ansible роли для RabbitMQ кластера с помощью molecule

Reading time10 min
Views4.3K

Molecule — это фреймворк, предназначенный для тестирования ролей в Ansible. На хабре довольно много статей про тестирование с помощью molecule и почти во всех статьях говорится о неких "сложных сценариях тестирования для ansible", и далее в примерах обычно идут какие-то простенькие роли и тесты. Мне стало интересно протестировать более сложную роль, например роль для создания RabbitMQ кластера.

Используемые версии программ на момент написания статьи. Не гарантируется корректная работа для molecule версии ниже 3.3

debian 10 Buster

ansible-3.4.0

molecule-3.3.0

docker-ce-20.10.6

yamllint-1.26.1

ansible-lint-5.0.8

Устанавливаем ansible и molecule.

pip3 install --user ansible (как именно устанавливать не столь важно, в приведенном примере установка идет в хоумдир пользователя).

pip3 install --user molecule[docker] (мы будем использовать драйвер докера)

Устанавливаем линтеры

pip3 install --user ansible-lint yamllint

Установка докера выходит за рамки этой статьи, стоит отметить только что докер вы можете установить на эту же машину, где будете запускать molecule или же установить докер на любую другую машину в сети (например если мощности локальной машины не хватает) или же использовать уже существующий докер сервер.

Во втором случае на локальную машину нужно установить только докер клиент и выставить переменную DOCKER_HOST="ssh://ansible@адрес_вашего_докер_сервера", где ansible - аккаунт, который имеет ssh доступ на сервер и под которым будут создаваться докер контейнеры. Аккаунт также должен состоять в группе docker на докер сервере.

Читать далее
Total votes 7: ↑6 and ↓1+7
Comments4

Что недоговаривают Тинькофф Инвестиции. Вытаскиваем все данные по портфелю через API в большую таблицу Excel

Reading time11 min
Views239K

Разбираемся, как на самом деле считаются суммы и проценты в клиентском приложении.

Собираем все данные по портфелю и по всем операциям через Tinkoff API.

Строим огромную Excel таблицу со всеми данными.

Узнаём, сколько комиссий и налогов с нас уже содрали и что нам останется при выводе.

Пытаемся понять, что нам с этим делать.

Read more
Total votes 117: ↑114 and ↓3+152
Comments112

Администратор узла сети I2P. Полный курс

Reading time16 min
Views21K

В I2P присутствует две основные сущности: роутер и конечная точка. Роутером называется программный клиент, который необходимо установить для использования I2P. По умолчанию роутер публикует реальные IP-адреса и активно взаимодействует с другими подобными участниками, выступая в роли транзитного узла и расширяя собственный рисунок сети, т.е. накапливает информацию о других доступных роутерах для их дальнейшего использования в своих туннелях. Конечная точка – это осмысленная сущность сети, ведущая скрытую активность. Например, скрытый сайт, или выходной прокси обычного пользователя. Фактор анонимности I2P заключается в секретности месторасположений конечных точек: выявить роутер, являющийся родителем конечной точки, крайне сложно, а при должном подходе администратора – невозможно.

Этот мануал посвящен администрированию роутера, т.е. пониманию конфигурации рядового узла, обеспечивающего функционирование скрытой сети.

Читать далее
Total votes 18: ↑17 and ↓1+24
Comments7

Делаем систему контроля и управления доступом (СКУД) для умного дома

Reading time7 min
Views45K

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

Читать далее
Total votes 19: ↑19 and ↓0+19
Comments47

Как root-права и альтернативные прошивки делают ваш android смартфон уязвимым

Reading time54 min
Views126K

Если вы являетесь регулярным читателем Хабра, то должно быть заметили что за последние несколько лет вышло немало статей о сборе персональных данных с мобильных устройств, и о попытках противодействия этому, было несколько отличных статей с детальными инструкциями по превращению своего смартфона на базе ОС Android в настоящую цитадель приватности и безопасности. 

Часто для этого рекомендуется получение прав суперпользователя в системе (root-права), удаление системных приложений от Google и от производителя устройства, или даже полная замена стандартной ОС на альтернативные сборки, чаще всего LineageOS (бывший CyanogenMod). При этом первым шагом в этом процессе всегда будет так называемая "разблокировка загрузчика". Во время её выполнения устройство несколько раз покажет нам страшные предупреждения о том, что теперь оно станет более уязвимо для злоумышленников, но мы смело нажимаем "подтвердить" и шьём root или самую свежую сборку кастомной прошивки, не задумываясь о том какие проблемы создаёт нам незаблокированный загрузчик. 

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

Интересующихся приглашаю под кат.

Читать далее
Total votes 98: ↑94 and ↓4+119
Comments210

Софтовый датчик присутствия на Linux AP + ESP8266

Reading time3 min
Views15K

Наблюдение за изменением уровня Wi-Fi сигнала от стационарно расположенных по дому IoT устройств позволяет сделать полностью программный (выделенное железо отсутствует) объёмный датчик движения в объёме квартиры, достаточно точно показывающий наличие активно перемещающихся людей.

Читать далее
Total votes 47: ↑47 and ↓0+47
Comments22

Математика верстальщику не нужна, или Временные функции и траектории для покадровых 2D анимаций на сайтах

Reading time15 min
Views14K


«Математика верстальщику не нужна!», — говорили они. «Арифметики за 2 класс школы хватит!», – говорили они. «Верстальщик – не программист, так что нечего себе голову забивать точными науками!», — чего только не услышишь на просторах интернета на тему нужности тех или иных знаний при разработке сайтов. И на самом деле в большинстве случаев человеку, который делает интерфейсы, и правда хватает умения складывать числа. Что-то более сложное встречается редко и обычно уже есть готовый алгоритм где-то в недрах NPM. Но сайты – понятие растяжимое, и иногда все же нужно включить голову, и разобраться в каком-то вопросе. И один из таких вопросов – это траектории в 2D анимациях.


Наблюдая за людьми, которые осваивают JS, и, в частности, покадровые анимации в вебе, я заметил, что у многих возникают сложности, когда нужно сделать движение какого-то объекта на странице по определенной траектории. И, если эта траектория не нарисована заранее заботливым дизайнером в виде path в SVG-картинке, а формулируется какими-то общими словами и ссылками на референсы из сети, или, что еще хуже, должна генерироваться на лету, то задача приводит их в полный ступор. По всей видимости все упирается в тотальное непонимание того, как получить кривую той или иной формы в рамках JS. Об этом мы сегодня и поговорим в формате своеобразной лекции о временных функциях для анимаций в самых разных их проявлениях.


Мы постараемся избежать излишней теоретизации, отдавая предпочтение картинкам и объяснению всего на пальцах, с акцентом на практическое использование в вопросах 2D анимаций на сайтах. Так что местами формулировки могут быть не совсем точными с точки зрения математики или не совсем полными, цель этой статьи – дать общее представление о том, что бывает, и откуда можно начать в случае чего.

Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments11

8 продвинутых возможностей модуля logging в Python, которые вы не должны пропустить

Reading time20 min
Views89K

Понимайте свою программу без ущерба для производительности


image


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


Python предоставляет довольно мощный и гибкий встроенный модуль logging со множеством возможностей. В этой статье я хочу поделиться восемью продвинутыми возможностями, которые будут полезны при разработке ПО.

Читать дальше →
Total votes 14: ↑12 and ↓2+15
Comments6

Автоматизация квартиры

Reading time4 min
Views23K

Предыстория


Давняя мечта об автоматизации квартиры начала свое превращение в реальность с покупки квартиры в новостройке. Уже на этапе планирования ремонта вырисовались основные требования к инженерным сетям:

  1. гибкое управление освещением, водоснабжением, вентиляцией, отоплением и силовыми нагрузками;
  2. возможность реализации сценариев;
  3. удаленное управление и оповещение;
  4. централизованное отключение всего освещения;
  5. централизованное отключение неприоритетных нагрузок и водоснабжения;
  6. в перспективе – возможность голосового управления.
Читать дальше →
Total votes 23: ↑20 and ↓3+24
Comments71

Information

Rating
Does not participate
Location
Колпино, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity