Обновить
340.93

Linux *

Пишем под *nix

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

Как мы прошли путь от разработки прошивок для каждой камеры до создания универсального SDK для вендоров камер

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

Привет, меня зовут Олег Герасимов, я директор центра компетенций IT-кластера Ростелекома. Наша команда среди многих задач разрабатывает прошивки камер видеонаблюдения для B2B и B2C-сервисов. В предыдущей статье я рассказывал, как мы научились самостоятельно разрабатывать софт и прошивки для IP-камер, в том числе и недорогих, и подключать их к облаку.


За прошедшее время камеры с нашей прошивкой уже появились на рынке, и, судя по данным Яндекс.Маркета, — на полках магазинов цены на них начинаются от 1500 рублей. И это уже не дешевый «ноунэйм», а качественные камеры ведущих мировых брендов: Hikvision, Dahua и Uniview. На мой взгляд, это отличный результат!



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

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

Делаем часы из электронной книжки PRS-505

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


Удивительно, но старинная электронная книга Sony prs-505 является очень классным конструктором всевозможных самоделок. В очередной раз взял эту книжку, чтобы сделать себе “бумажные” часы. Мне нравится это решение тем, что цифры получаются большие и яркие, при этом они не светятся в темноте и не мешают спать. Идея часов на электронной бумаге совершенно не новая, но мне просто захотелось снова поиграться с этой классной электронной книгой. В результате получился этакий проект выходного дня, потому что могу. Как обычно, собрал все возможные грабли и ошибки. Свой тернистый путь описал в этой статье.
Читать дальше →

Vivaldi для Linux — открытое признание

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

Сегодня в мире операционных систем для персональных компьютеров сложилось устойчивое соотношение сил между гигантами индустрии, где львиную долю занимает Microsoft, держит довольно большую группу адептов компания Apple, примерно 1,5% сумела занять Google со своей Chrome OS и ещё около 1,5% с уверенным постоянством уже который год удерживает созвездие Linux-систем (по данным StatCounter). Логично было ожидать, что и среди пользователей браузера Vivaldi соотношение предпочтительных операционных систем будет таким же, но на самом деле для многих станет сюрпризом тот факт, что доля пользователей Vivaldi для Linux в пять раз выше, чем доля пользователей операционных систем Linux на мировом рынке — около 7,5% пользователей браузера Vivaldi использует Linux-системы. Очевидно, что у подобного результата должны быть объективные предпосылки, вот о них мы сегодня и поговорим.
Читать дальше →

Прототип на «коленке»: cоздание приложения для мониторинга датчиков сердечного ритма в спортивном зале

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


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


В результате решили для начала создать, как говорится, «на коленке», прототип устройства, собирающего данные с пульсометров – датчиков сердечного ритма. По результатам работы я решил написать статью для обмена опытом с сообществом читателей, а еще для повышения собственного уровня в практике написания статей. В этой статье мы проследуем поэтапно от идеи до прототипа программы.

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

О сложностях мониторинга работающих процессов в Linux

Время на прочтение9 мин
Количество просмотров11K
Все знают о том, как наблюдать за работающими процессами в Linux-системе. Но почти никто не добивается в подобных наблюдениях высокой точности. На самом деле, всем методам мониторинга процессов, о которых пойдёт речь в этом материале, чего-то не хватает.



Давайте, прежде чем приступить к экспериментам, определим требования к системе наблюдения за процессами:

  1. Логироваться должны сведения обо всех процессах, даже о короткоживущих.
  2. У нас должны быть сведения о полном пути к исполняемому файлу для всех запущенных процессов.
  3. У нас, в пределах разумного, не должно возникать необходимости в модификации или перекомпиляции нашего кода для разных версий ядра.
  4. Дополнительное требование: если хост-система является узлом Kubernetes или использует Docker, то у нас должна быть возможность определить то, к какому именно поду/контейнеру принадлежит процесс. Для этого обычно достаточно знать cgroup ID процесса. Дело в том, что с точки зрения ядра нет такого понятия, как «контейнер» или «идентификатор контейнера». Ядро оперирует лишь такими понятиями, как «контрольные группы», «сетевые пространства имён», «пространства имён процессов», оно работает с различными независимыми API, с помощью которых средства контейнеризации вроде Docker реализуют механизмы контейнеризации. Если попытаться идентифицировать контейнеры посредством ID уровня ядра, нужен уникальный идентификатор контейнера. В случае с Docker данному требованию удовлетворяют идентификаторы контрольных групп.

Поговорим об обычных API Linux, которые могут помочь в решении этой задачи. Мы, чтобы не усложнять повествование, уделим особое внимание процессам, создаваемым с помощью системных вызовов execve. Если же говорить о более полном решении задачи, то при его реализации нужно, кроме того, мониторить процессы, созданные с помощью системных вызовов fork/clone и их вариантов, а так же — результаты работы вызовов execveat.
Читать дальше →

Джентльменский набор команд Linux Часть 1

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


Закон Парето применим ко многим сферам, в том числе и к работе с терминалом Linux, ведь всего нескольких десятков команд позволит легко справляться с большинством задач. Мы выбрали 40 наиболее полезных команд, использование которых способно сильно облегчить жизнь при работе с Linux. Статья не претендует на статус истины в последней инстанции или максимально подробного руководства, а очередность команд обусловлена лишь алфавитным порядком.

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

Bare-Metal Provisioning инфраструктура с нуля

Время на прочтение5 мин
Количество просмотров7.3K
Процесс заливки прошивки

Приветствую, Хабр. Меня зовут Роман, я разработчик встраиваемых систем в Getmobit. Хочу поделиться кейсом по развёртыванию программного обеспечения на большом количестве устройств на производственной линии с нуля. Заставлять людей на производстве бегать вдоль конвейера с флешкой не хотелось, а для автоматизации мне необходимо было четко понимать: на какие шаги можно поделить этот процесс, что на каждом этапе должно происходить, а главное – как модифицировать стандартный процесс, чтобы в итоге выполнять специфичные для нашего продукта операции. Основой для решения этой задачи стала технология загрузки устройств по сети (PXE). Об этом и расскажу.
Читать дальше →

Как мы добавили оттенок совершенства в инструмент для анализа производительности Linux Perf GUI (Hotspot)

Время на прочтение3 мин
Количество просмотров2.2K
В ходе выполнения одного из наших проектов мы усовершенствовали профилировщик Linux Perf GUI разработкой его новой функциональности.
Читать дальше →

Команда find в Linux – мощный инструмент сисадмина

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


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


Команда find – это невероятно мощный инструмент, позволяющий искать файлы не только по названию, но и по:


  • Дате добавления.
  • Содержимому.
  • Регулярным выражениям.

Данная команда будет очень полезна системным администраторам для:


  • Управления дисковым пространством.
  • Бэкапа.
  • Различных операций с файлами.

Команда find в Linux производит поиск файлов и папок на основе заданных вами критериев и позволяет выполнять действия с результатами поиска.

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

Топ-10 лучших дистрибутивов Linux для этичного взлома и пентеста в 2020 году

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

Топ-10 лучших дистрибутивов Linux для этичного взлома и пентеста в 2020 году
В зависимости от задач этичный хакинг требует использования большого арсенала хакерских инструментов. Самостоятельный поиск – длительный и трудоемкий процесс, который по душе не каждому. Благо, что существуют уже готовые дистрибутивы со всем необходимым инструментарием для:

  • Этичного взлома.
  • Пентестов.
  • Других операций в сфере кибербезопасности.
Читать дальше →

Разбираемся с системными вызовами в Linux с помощью strace

Время на прочтение10 мин
Количество просмотров49K
Перевод статьи подготовлен специально для студентов базового и продвинутого курсов Administrator Linux.





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

В операционной системе можно выделить два режима работы:

  • Режим ядра (kernel mode) — привилегированный режим, используемый ядром операционной системы.
  • Пользовательский режим (user mode) — режим, в котором выполняется большинство пользовательских приложений.

Пользователи при повседневной работе обычно используют утилиты командной строки и графический интерфейс (GUI). При этом в фоне незаметно работают системные вызовы, обращаясь к ядру для выполнения работы.
Читать дальше →

JWT аутентификация в CLI приложении на Linux

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

Когда речь идёт о хранении sensitive data в браузере, достаточно воспользоваться одним из двух доступных вариантов: cookies или localStorage. Тут каждый выбирает по вкусу. Однако я посветил эту статью Secret Service – службе, которая работает через D-Bus и предназначена для хранения «секретов» в Linux.

У службы есть API, которым пользуется GNOME Keyring для хранения аутентификационных данных пользовательских приложений.

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

Разбираемся с CAMELK, инструкция по руководству OpenShift Pipelines, а также семинары в формате TechTalk…

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


Возвращаемся к вам с традиционным коротким дайджестом полезных материалов, найденных нами в сети за последние две недели.
Читать дальше: Разбираемся с CAMELK, инструкция по руководству OpenShift Pipelines...

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

NetSarang xShell — мощный клиент SSH

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

Всё ещё пользуетесь Putty + WinSCP/FileZilla?

Тогда рекомендуем обратить внимание на такое ПО как xShell.

  • Он поддерживает не только SSH протокол, но и другие. Например, telnet или rlogin.
  • Одновременно можно подключаться к нескольким серверам (механизм вкладок).
  • Нет необходимости каждый раз вводить данные, их можно запомнить.
  • Начиная с 6-й версии появился русский интерфейс, понимает все русские кодировки, в том числе и UTF-8.
  • Поддерживает как подключение по паролю, так и подключение по ключу.

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

Линукс-порт Far Manager: прогресс за 4 года

Время на прочтение5 мин
Количество просмотров70K
Первая публикация исходников far2l, порта Far Manager под Линукс — штуки, которая когда-то считалась принципиально невозможной — состоялась 10 августа 2016го. Поскольку главный разработчик поговаривает о переходе проекта в статус беты, решил написать обзорный пост, как там идут дела и чего удалось добиться за прошедшие четыре года.

Консольная версия


Первый же вопрос, который все задавали и здесь, и на опеннете, и на лоре — а чего не в консоли? Изначально far2l действительно работал только в графическом режиме, через wxWidgets. Это оказалось самым простым способом быстро получить работающий порт со всеми пользовательскими удобствами: иксовым буфером обмена и всеми сочетаниями клавиш, причем с поддержкой событий не только KeyDown, но и KeyUp.

Сейчас это ограничение в прошлом: far2l прекрасно себя чувствует в консоли. Более того, там появились так называемые расширения терминала far2l, поэтому если запускать консольный far2l внутри графического (например, зайдя куда-нибудь по ssh), они «сконнектятся» между собой, и внутренний far2l тоже будет видеть и буфер обмена (с разрешения пользователя, конечно), и все возможные горячие клавиши. Более того, сделана даже специальная сборка putty, позволяющая наслаждаться всеми этими фишками из Windows.

Вот, смотрите, это far2l в GNOME Terminal


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

Секретная информация? Используй 2FA для VPS/VDS

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

Часто задаваемый вопрос, как надежно защитить свой VPS / выделенный сервер от взлома? Поэтому я решил написать инструкцию о внедрении двухфакторной аутентификации.

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

Реализация epoll, часть 1

Время на прочтение6 мин
Количество просмотров17K
Сегодня мы публикуем перевод первой статьи из серии материалов, посвящённых реализации epoll в ядре Linux 3.16.1*. Автор исходит из предположения о том, что читатели знакомы с API и с использованием epoll. Он уделяет основное внимание реализации подсистемы epoll в ядре Linux, а не особенностям её применения. Если вы не знаете о том, как пользоваться epoll — автор рекомендует сначала почитать документацию. Это значительно облегчит понимание деталей реализации этого механизма.



* — Linux 3.16.1 достаточно старое ядро, но информация работы с epoll актуальна и сегодня (прим. переводчика).
Читать дальше →

Нет, Microsoft не переносит Windows на Linux

Время на прочтение5 мин
Количество просмотров47K
Выбор будет не между Windows и Linux, а что сначала загружается: Hyper-V или KVM, а уже стеки Windows и Ubuntu будут хорошо совместимы друг с другом.



В последнее время развернулась некоторая дискуссия о том, что Microsoft может в будущем перенести свою операционную систему Windows на ядро Linux.

Я как никто другой знаю о проектах Linux в Microsoft, поскольку работаю в подразделении настольных компьютерных систем в Canonical и помогаю выпустить Ubuntu на WSL (Windows Subsystem for Linux). По работе приходится регулярно общаться со многими сотрудниками Microsoft, которые занимаются Linux и различными проектами с открытым исходным кодом. Мне приходят сводки по продуктам Microsoft и стратегии. Обращаю внимание, что в этой статье только мои личные мысли, я не разглашаю никакой секретной информации.

Ищете бесплатные альтернативы cPanel? Держите сразу 7

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

Приветствую вас, уважаемые читатели и почитатели Хабра!

В этой статье я расскажу вам о 7 популярных альтернативах cPanel. Вы узнаете:

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

Эту статью я начал готовить неделю назад. Вчера и позавчера она даже мне снилась. Я часто вижу вещие сны, и именно потому вы сейчас читаете эти строки (вот сказал сейчас что-то умное, но до конца не понял, что именно).

Говоря о cPanel, стоит отметить, что ее преимущества всё ещё превышают недостатки. К последним относится её платная основа. Как говорится, не заплатишь – не попользуешься. Смотрим тарифы… от 15 баксов в месяц! Хм. Многие даже за сервер в месяц платят меньше.
Читать дальше →

Барьеры и журналируемые файловые системы

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

Всем отличных выходных! Приглашаем на бесплатный Demo-урок «Конфигурирование web-сервера (Apache, Nginx, балансировка Nginx)», который проведёт Андрей Буранов — специалист по UNIX-системам в компании Mail.Ru Group. А также публикуем статью Jonathan Corbet — Executive Editor в LWN.net.

Журналируемые файловые системы обещают освободить системных администраторов от проблем с повреждением диска при сбоях системы. Даже без запуска проверки целостности файловой системы. Хотя в реальности, конечно, все немного сложнее. И как показывает недавнее обсуждение, может, даже более запутанно, чем многие из нас думают, поскольку обеспечение целостности журналируемых файловых систем влияет на производительность.

Читать далее

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