• Пробрасываем вызовы Steam API из Wine в GNU/Linux и обратно с помощью Nim

      У игроков на платформе GNU/Linux множество проблем. Одна из них — необходимость устанавливать отдельный клиент Steam для каждой Windows игры из Steam. Ситуация усугубляется необходимостью установки ещё и родного клиента Steam для портированных и кроссплатформенных игр.

      Но что если найти способ использовать один клиент для всех игр? За основу можно взять родной клиент, а игры для Windows пусть обращаются к нему так же как, например, к OpenGL или звуковой подсистеме GNU/Linux — средствами Wine. О реализации такого подхода и пойдёт речь далее.

      Читать дальше →
    • Обходим ASLR для Linux по-новому



        Ядро Linux широко распространено во всем мире как на серверах, так и на пользовательских машинах, на мобильных платформах (ОС Android) и на различных «умных» устройствах. За время существования в ядре Linux появилось множество различных механизмов защиты от эксплуатации уязвимостей, которые могут существовать как в самом ядре, так и в приложениях пользователей. Такими механизмами является, в частности, ASLR и stack canary, противодействующие эксплуатации уязвимостей в приложениях.

        Читать дальше →
        • +50
        • 5,5k
        • 5
      • Хакинтош: обновляемся с macOS Sierra 10.12 до High Sierra 10.13

        • Tutorial
        Всем доброго времени суток, уважаемые коты, дамы и господа.

        Как-то давно (года два назад) я писал статью по установке хакинтоша на ваш Intel-Based ПК. Статья устарела как мир, но все таки полезное там что-то есть. Например порядок установки будет тем же, если вы замените установочный файл Sierra на High Sierra.

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

        Читать дальше →
      • Архивирование и восстановление индексов в Elasticsearch

        • Tutorial
        Однажды в одно прекрасное утро перед нами встал вопрос архивирования индексов Elasticsearch. Захотелось увидеть в хранилище стройные ряды сжатых файлов, по одному на каждый индекс.

        «Из коробки» Elastic такого решения не предлагает, по крайней мере, в версии 5.х. Немного поспрашивав у Гугла Всемогущего, мы решили создать собственный велосипед. Пусть немного неуклюжий, зато родной.



        Читать дальше →
      • Настройка Zones в Solaris 11.3

          Введение


          Моё первое знакомство с контейнерной виртуализацией было с jail в FreeBSD, данный подход позволяет изолировать различные службы в безопасном окружении. Недостаток jail в том, что в нём нет возможности создать собственную сетевую подсистему, в отличии от Zones Solaris. В данной публикации будет рассмотрено создание зоны с собственной сетевой подсистемой, а также без неё.
          Читать дальше →
          • +11
          • 1,3k
          • 5
        • Запускаем полноценный кластер на Kubernetes с нуля на Ubuntu 16.04

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

          Данная статья призвана дать исчерпывающую информацию не только по установке k8s, но и объяснить каждый шаг: зачем и почему мы делаем именно так, как написано (это очень важно для успешного запуска).

          Что нужно знать


          Серверы:
          Кластер подразумевает, что у Вас более одного физического сервера, между которыми и будут распределятся ресурсы. Серверы называются нодами (nodes).

          Диски:
          Обычные харды в k8s не поддерживаются. Работа с дисками происходит по средствам распределенных файловых хранилищ. Это необходимо для того, чтобы k8s мог «перемещать» контейнеры docker на другие ноды в случае необходимости, без потери данных (файлов).

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

          Минимальное разумное количество серверов для Ceph — 3 (можно построить и на одном, но в этом мало смысла из-за высокой вероятности потерять данные).

          Сеть:
          Нам понадобится Flannel — он позволяет организовать программно определяемую сеть (Software Defined Network, SDN). Именно SDN позволяет всем нашим контейнерам общаться с друг другом внутри кластера (установка Flannel производится вместе с k8s и описана ниже).

          Подготовка серверов


          В нашем примере мы используем 3 физических сервера. Установите Ubuntu 16.04 на все сервера. Не создавайте swap партиции (требование k8s).

          Предусмотрите в каждом сервере как минимум один диск (или партицию) для Ceph.

          Не включайте поддержку SELinux (в Ubuntu 16.04 он выключен по-умолчанию).

          Мы назвали сервера так: kub01 kub02 kub03. Партиция sda2 на каждом сервере создана для Ceph (форматировать не обязательно).
          Читать дальше →
        • AdBlock похитил этот баннер, но баннеры не зубы — отрастут

          Подробнее
          Реклама
        • В защиту swap'а [в Linux]: распространенные заблуждения

          • Перевод
          Прим. перев.: Эта увлекательная статья, в подробностях раскрывающая предназначение swap в Linux и отвечающая на распространённое заблуждение на этот счёт, написана Chris Down — SRE из Facebook, который, в частности, занимается разработкой новых метрик в ядре, помогающих анализировать нагрузку на оперативную память. И начинает он своё повествование с лаконичного TL;DR…

          Читать дальше →
        • Дома с Ксеомой (Видеонаблюдение и VMWARE ESXi)

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


            В частности, у меня были следующие условия для домашнего NVR:


            1. работа серверной части NVR под управлением Linux в виртуальной машине VMWare ESXi;
            2. невысокая требовательность к ресурсам виртуальной машины при подключении 6-8 FullHD H.264 камер;
            3. возможность подключения и управления сервером NVR с Windows компьютера и смартфона (Android);
            4. невысокая стоимость (лучше бесплатно);
            Читать дальше →
          • GObject: основы

            GObject — часть библиотеки GLib, реализующая объекто-ориентированнные расширения для чистого Си. Подобная концепция, помимо самой GLib, используется в таких проектах, как GStreamer, GSettings, ATK, Pango и весь проект GNOME в целом, а также в большом количестве прикладных приложений, таких как GIMP, Inkscape, Geany, Gedit и многих других. Большое количество языков программирования, начиная от таких мейнстримовых, как Python и Java, и заканчивая изысками вроде Haskell или D, имеют привязки к GLib/GTK+, а для значительного количества языков биндинги к GTK+ вообще является единственным способом построения GUI.

            В отличие от других схожих проектов, GObject отличают архитектурные особенности, целью которых является лёгкая и прозрачная реализация привязок библиотек, написанных с применением чистого Си и GObject, к другим языкам программирования, в том числе с динамической типизацией и управлением памятью при помощи сборщика мусора. Именно этим объясняется некоторое ощущение переусложнённости, которое может возникнуть у программиста, приступившего к знакомству с GObject API. Тем не менее, эта система очень продуманная и логичная, так что проблем с пониманием всего изложенного ниже у программиста, знакомого с C++ или Java, возникнуть не должно.

            Данная статья иллюстрирует самые основы работы с объектной системой типов GLib.
            image
            Читать дальше →
          • Great developer, true engineer and real leader — RIP Shawn O. Pearce

              image


              29 января 2018, скончался Шон Пирс, известный программист, автор, коммиттер и основатель многих проектов, в том числе Git, Jgit, libgit и Gerrit Code Review.


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


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

              Читать дальше →
              • +55
              • 13,2k
              • 8
            Самое читаемое