Учебник

Паундер, Л. CamJam: создаем монитор погоды

Паундер, Л. CamJam: создаем монитор погоды [Текст] : [руководство по созданию монитора погоды с помощью Python и Raspberry Pi] / Лес Паундер (Les Pounder)  //  Linux Format. — 2015. — № 8 (199), авг.. — С. 84-87. — (Linux Format. Пользователям Pi) (Raspberry Pi) (Создаем монитор погоды). — Прил.: "Python и API" : [API (Application Program Interface — программный интерфейс приложения) в Python — значение для расширения возможностей проектов, краткая инфломация о популярных API (API Twitter, доступное в таких модулях Python, как Twython и Tweepy; API — SMS-­сервис для Raspberry Pi (www.smspi.co.uk), позволяющий отправлять SMS­-сообщения из кода на Python); идея проекта погодной станции, которая будет писать в Twitter и отправлять SMS с данными о погоде] ; "Скорая помощь. Мы подключаем резистор сопротивлением 4,7 кОм между напряжением 3 В и проводником данных датчика. Этот резистор «подтягивает» проводник данных и сохраняет подключение стабильным.". — С. 85 ; "Покупаем набор" : [краткие характеристики компонентов набора CamJam Edukit No.2 Sensors и датчика температуры DS18B20]. — С. 86. 
     Аннотация
     Raspberry Pi как платформа для научных экспериментов на примере монитора температуры на Raspberry Pi, который берет замеры с датчика и сравнивает их с данными онлайн­-сервиса погоды, а затем по этим данным строится график, отражающий изменения погоды за определенный период времени. 
     Монитор погоды — аппаратные компоненты (любой Raspberry Pi с Wi-­Fi­-подключением, набор CamJam Edukit No.2 Sensors, датчик температуры DS18B20, резистор, соединительные проводники "мама-папа" и макетная плата), подключение датчика температуры, ПО (бесплатный API Open Weather Map, Python 3 и его модуль pyowm, функция sleep из библиотеки time), програмирование проекта (получение погоды, получение погоды в указанном месте и получение температуры в градусах Цельсия), настройка датчика температуры, настройка графической составляющей проекта, поддерживаемой Plotly (https://plot.ly), сведение проекта.

 

 

Паундер, Л. GPIO: метнем игральную кость

Паундер, Л. GPIO: метнем игральную кость [Текст] : имитатор игрового кубика : [цифровая версия игрального кубика] : [руководство по созданию из Raspberry Pi и других компонентов] / Лес Паундер (Les Pounder)  //  Linux Format. — 2015. — № 8 (199), авг.. — С. 82-83. — (Linux Format. Пользователям Pi) (Raspberry Pi) (Имитатор игрового кубика). — Прил.: "Скорая помощь. Макетные платы…" : [краткая справка] ; "Импортируйте эффективно" : [почему вместо импорта в проект всей библиотеки (в данном проекте это библиотека random) в проект импортирована только одна функция (randint для получения случайного числа, которое будет результатом броска кубика)]. — С. 82 ; "Светодиоды" : [контакты светодиода, особенности подключения светодиодов в данном проекте] ; "Мы пользуемся макетом с шинами по бокам, что позволяет нам разделить один контакт «земля» на Pi на несколько точек на макете." [Изображение] : [цвет. схема]. — С. 83.
     Аннотация
     Цифровая версия игрального кубика (имитатор игрового кубика) — компоненты (Raspberry Pi, светодиоды, резисторы, соединительные проводники, макетная плата), схема подключения компонентов (http://bit.ly/LXF_199_Dice_Diagram), схема соединений (https://github.com/lesp/LXF_199_Dice/archive/master.zip), код примеров (http://bit.ly/LXF199_Pi_Beginner), ПО для программирования проекта (Python 3, редактор IDLE 3, библиотека  RPi.GPIO, функция sleep из библиотеки time и функция randint из библиотеки random), программирование.

 

Браун, К. Система: время и его функции

Браун, К. Система: время и его функции [Текст] : учебник / Крис Браун [Chris Brown]  //  Linux Format. — 2015. — № 8 (199), авг.. — С. 76-79. — (Академия кодинга) (Системное программирование). — Прил.: "Скорая помощь. Демон протокола NTP (Network Time Protocol — сетевой протокол времени) следует запускать не менее чем на трех серверах времени. Его легко настроить, и он сохранит часы вашего компьютера синхронизированными с точностью до нескольких десятых миллисекунды.". — С. 76 ; "Арифметика времени" : [арифметические операции над данными о времени с помощью функции mktime()] ; "Скорая помощь. Будьте осторожны с такими функциями, как ctime(), которые могут возвращать результаты в статически выделенном участке памяти. Если вы хотите вызывать их несколько раз, обязательно скопируйте возвращаемую функцией строку в собственную переменную, прежде чем вызывать функцию снова. В противном случае второй вызов может перезаписать результат первого.". — С. 77 ; "В Linux имеется несколько способов представления времени и куча функций для преобразования между ними" [Изображение] : [цвет. схема] ; "Категория…" [Таблица] : [категории локалей]. — С. 78 ; "Скорая помощь. Аппаратные часы. В компьютере есть аппаратные часы, которые работают независимо от системных часов, поддерживаемых ядром Linux. С помощью команды hwclock можно прочесть время аппаратных часов и установить системные часы по нему, или наоборот." ; "Разбор даты и времени" : [функция strptime() в преобразовании даты и времени из строкового представления в «разобранное» и пример программы командной строки для вычисления дня недели по дате (в формате ДД/ММ/ГГГГ), использующей эту функцию]. — С. 79. 
     Аннотация
     Времяисчисление Unix и Linux. Системное время и измерение времени операционной системой. Время как человеко-читаемая строка — получение времени при помощи функции ctime(), получение "разобранного" времени при помощи функций gmtime() и localtime(), часовые пояса, летнее время, локали — определение в стандарте Posix, расположение в файловой системе Linux, категории, функция преобразования "разобранного" времени strftime(). 
     Начало всех начал и конец времен во вторник 19 января 2038 года для 32-битных компьютеров на UNIX. Но для 64-битных систем время будет длиться, как подсчитал Крис Браун, ещё 250 миллиардов лет. 

 

 

Конвэй, Ш. Tcpdump: улов данных

Конвэй, Ш. Tcpdump: улов данных [Текст] : [основы протокола сетевого соединения TCP/IP и команды утилиты командной строки tcpdump] : учебник / Шон Конвэй [Sean Conway]  //  Linux Format. — 2015. — № 8 (199), авг.. — С. 72-75. — (Учебник) (Tcpdump). — Прил.: "Скорая помощь. Есть мнение, что tcpdump для сетевого анализа — то же, что vi для редактирования. Оба валят работу на вас, когда другие инструменты помогают жить." : [компьютерный юмор] ; "MAC ­- уникальное имя жестко закодированного адреса на сетевой карте" [Изображение] : [цвет. схема]. — С. 72 ; "Модель Open Systems Interconnection" [Изображение] : [цвет. схема] : [уровни модели OSI]. — С. 73 ; "Фрейм с чисто физическим адресом вбирает пакет с IP-адресацией" [Изображение] : [цвет. схема] ; "Непоследовательно последовательный" : [терминология сетевого взаимодействия, tcpdump и изучение функций управления трафиком в протоколе TCP/IP]. — С. 74 ; "Проследуйте по стрелкам через три БДП данных и найдите компоненты трехэтапного квитирования" [Изображение] : [цвет. схема] ; "Скорая помощь. Собранные данные, предназначенные для сайта, чей URL начинается с HTTP, могут содержать имена пользователей и пароли в разделе информации БДП" : [предупреждение] ; "Политика компании" : [предупреждение о том, что использование tcpdump в рабочей среде может стать нарушением политики безопасности компании и совет получить разрешения компаниии на его использование]. — С. 75. 
     Аннотация
     Шон Конвэй считает, что лучший способ освоить утилиту командной строки tcpdump — это использовать ее на практике, чтобы осознать, как компьютеры взаимодействуют друг с другом в сети. Учебник объединяет команды tcpdump и теорию работы в сети. Показано выуживание данных из сети с помощью команд утилиты и основные компоненты, применяемые для сетевого взаимодействия TCP/IP. 
     Основы знаний о передаче данных: блоки данных протокола (БДП — PDU, Protocol Data Units), базовая эталонная модель Open Systems Interconnection (OSI) — схема и уровни модели, движение сообщения, уровни — подробное изучение, вид данных в сетевом носителе (быты, фрейм), MAC-­адресация. 
     Использование tcpdump и предупреждение не применять технику tcpdump в своей компании без разрешения руководства ("Политика компании") — опции, просмотр IP­-адреса хоста, поиск определенных IP­-хостов, изучение пакетов, определение портов, установка хостом соединения с веб-сервером с помощью TCP/IP, трехэтапное квитирование (handshake).
 

Цукалос, М. Perf_events: трассируем ядро

Цукалос, М. Perf_events: трассируем ядро [Текст] : [инструмент perf_events для составления профилей и трассировки Linux] : [применение для анализа производительности] / Михалис Цукалос [Mihalis Tsoukalos]  //  Linux Format. — 2015. — № 8 (199), авг.. — С. 68-71. — (Учебник) (Perf_events). — Веблиогр. "Скорая помощь": с. 71 (1 назв.). — Прил.: "Скорая помощь. Если вы администрируете только Linux, то просто обязаны изучить и SystemTap, и perf_events. Если же вы администрируете различные машины Unix, лучшим выбором, возможно, будет изучение DTrace." : [совет]. — С. 68 ; "Дым от огненных диаграмм" : [как огненные (пламенеющие) диаграммы (Flame graphs) визуализируют профиль стекового фрейма и позволяют понять, как используется процессор (CPU); интерактивность пламенеющих диаграмм и их использование для визуализации данных о системе (статистика производительности, памяти, ввода/вывода и так далее)] ; "Скорая помощь. Вы можете узнать больше на официальной вики http://bit.ly/PerfWiki. Чем больше вы узнаете о доступных зондах, тем проще всё это становится, так что время от времени выполняйте sudo perf list и читайте вывод." : [совет]. — С. 69 ; "Узнаем больше о разных подкомандах" : [подкоманды perf (kmem, diff, stat, trace, record, report, timechart, top, annotate) и их опции] ; "Огненная диаграмма — впечатляющий способ визуализации данных, полученных с помощью perf_events…" [Изображение] : [визуализация профиля стекового фрейма, что позволяет понять, как используется процессор (CPU); к приложению данной статьи «Дым от огненных диаграмм» (С. 69)]. — С. 70 ; "Теплокарта латентности" [Изображение] : [пример визуализации данных, собранных perf_events]. — С. 71. 
     Аннотация
     Perf_events (Linux Performance Events, LPE) — краткая справка о команде perf, установка в системе Ubuntu с ядром Linux 3.13.0­46, отличия от DTrace и SystemTap, особенность — передача данных на уровень пользователя для последующей обработки с помощью среды скриптов, статическая и динамическая трассировка, применение для сбора данных, получение информации о вводе/выводе на примере проверки производительности дисков при помощи зонда block:block_rq_issue, огненные или пламенеющие диаграммы Брендана Грегга (Flame graphs by Brendan Gregg) как впечатляющий способ представления данных perf_events, Perl-скрипты stackcollapse­-perf.pl и flamegraph.pl (https://github.com/brendangregg/FlameGraph) для создания пламенеющей диаграммы, создание на основе данных perf_events гистограммы при помощи скрипта оболочки Bash perf­-stat­-hist (https://github.com/brendangregg/perftools/blob/master/misc/perf­-stat­-hist), создание теплокарт на основе данных perf_events при помощи Perl-скрипта trace2heatmap.pl (https://github.com/brendangregg/HeatMap), создание точки трассировки.
     Рекомендуется для прочтения книга о производительности системы Brendan Gregg “Systems Performance: Enterprise And The Cloud” (Prentice Hall, 2013; ISBN 0133390098, 9780133390094) (Брендан Грегг "Производительность систем: предприятие и облако"), затрагивающая и perf_events.

 

 

Бидвелл, Д. PulseAudio: обслужим аудио

Бидвелл, Д. PulseAudio: обслужим аудио [Текст] : [демонстрация некоторых возможностей] : учебник / Джонни Бидвелл [Jonni Bidwell]  //  Linux Format. — 2015. — № 8 (199), авг.. — С. 66-67. — (Учебник) (PulseAudio). — Прил.: "Передача на/с других медиа-устройств" : [реализация в paprefs (PulseAudio Preferences) передачи аудио на другие устройства]. — С. 67. 
     Аннотация
     Ядро Linux предпочитает ALSA (Advanced Linux Sound Architecture, Продвинутая звуковая архитектура Linux) для взаимодействия с аудиоустройствами, но демон PulseAudio, к которму основательно приложился Леннарт Пёттеринг (Lennart Poettering), умеет больше. Джонни Бидвелл, например, демонстрирует: как в PulseAudio объединить аналоговый выход аудио через стереовывод проигрывателя и цифровой выход аудио через HDMI при помощи GTK-­микшера pavucontrol либо программы paprefs (PulseAudio Preferences) или их консольных аналогов ponymix, pamixer и pacmd; как реализуется воспроизведение (трансляция) в PulseAudio аудиопотоков удаленных машин, используя клиент-серверную архитектуру PulseAudio и сервис обнаружения Avahi или программу paprefs.

 

Мор, Н. Chromebook: сделай сам

Мор, Н. Chromebook: сделай сам [Текст] : [установка Chromium OS от Google на ноутбук] / Нейл Мор [Neil Mohr]  //  Linux Format. — 2015. — № 8 (199), авг.. — С. 64-65. — (Учебник) (Chromebook). — Прил.: "Скорая помощь. ОС можно запускать с USB-брелка и работать с ней на любых ноутбуках, нетбуках и настольных системах. Linux с вами повсюду." ; "API-­ключи для Google" : [способ подружить приложение Chromium Files со своей внешней учетной записью Google Drive]. — С. 64 ; "Установим и обновим Chromium OS" : [пошаговое руководство]. — С. 65. 
     Аннотация
     Зачем устанавливать Chrome OS на ноутбук, краткая информация об открытой версии Google Chrome OS — Chromium OS, доступность сборок Chromium OS (http://arnoldthebat.co.uk, http://chromeos.hexxeh.net), установка и обновление Chromium OS.

 

Бидвелл, Д. Systemd

Бидвелл, Д. Systemd [Текст] : [руководство] / Джонни Бидвелл [Jonni Bidwell]  //  Linux Format. — 2015. — № 8 (199), авг.. — С. 54-57. — Прил.: "Жизнь без systemd" : [использование альтернативных систем init (Upstart в Ubuntu,  OpenRC и eudev в Gentoo и других дистрибутивах)]. — С. 55 ; "Systemd — что здесь может не нравиться?" : [аргументы противников systemd и их опровержение]. — С. 56. 
     Аннотация
     Система инициализации systemd охватила все основные дистрибутивы и настало время разобраться в ней. 
     Systemd — предыстория, история, компоненты (systemd-­logind, journald, unit-­files, target), диагностика системы и решение проблем, ускорение загрузки. 

 

Ботвик, Н. Cоберем Linux-­ПК

Ботвик, Н. Cоберем Linux-­ПК [Текст] : [пошаговое руководство] / Нейл Ботвик [Neil Bothwick]  //  Linux Format. — 2015. — № 8 (199), авг.. — С. 34-41. — Содерж.: "Уже лет пятнадцать по Сети блуждает документ…" : [введение]. — С. 34 — 35, колон. 1 ; Что вам понадобится? : [аппаратные и программные компоненты для сборки Linux­ПК] ; Помните закон Мура : [закон Мура и учет роста своих потребностей в течение срока жизни ПК; совет оставлять возможность для увеличения отдельных характеристик настольного компьютера (мощности, памяти и объема накопителей)] ; Совместимость Linux : [подходы к решению вопросов совместимости] ; Выбор компонентов : [факторы определяющие выбор — цель использования, совместимость]. — С. 35 ; Процессор : [выбор] ; Материнская плата : [моменты, которые необходимо учытывать при выборе] ; Терминология : [что означают сокращения и жаргонные слова: DDR 2/3/4 Double Data Rate (двойная скорость данных), DIMM (Dual Inline Memory Module — двойной встроенный модуль), WAF (Wife Acceptance Factor — фактор приемлемости для жены), Northbridge/Southbridge (Северный мост/Южный мост), SATA (Serial ATA), ATX]. — С. 36 ; Память : [значение памяти для разгона производительности компьютера и Linux-ПК; факторы, которые следует учитывать при покупке памяти]. — С. 36-37 ; Накопители : [традиционный жесткий диск с вращающимися дисками и твердотельный жесткий диск (SSD): плюсы и минусы твердотельных жестких дисков; использование нескольких жестких дисков в массиве RAID]. — С. 37 ; Сводим все сказанное воедино : [сборка ПК] : [пошаговое руководство]. — С. 37, 38, 39, 40, 41 ; Видеокарта : [встроенная видеокарта или отдельная видеокарта (выбор видеокарт Nvidia и AMD)]. — С. 37-38 ; Корпус ; Блок питания : [(БП — PSU) — моменты выбора]. — С. 38 ; Спецсистемы : [особенности выбора компонентов для специальных систем (например, домашнего сервера, игровой системы или мультимедиа-сервера)]. — С. 39 ; Высокопроизводительные игры : [особенности выбора компонентов для игровых систем]. — С. 39-40 ; Установка операционной системы : [некоторые моменты — отключение Secure Boot в прошивке, использование UEFI, настройка загрузки MBR, особенности двойной загрузки с Windows ]. — С. 40 ; Замкнутые системы : [сборка ноутбука]. — С. 40-41 ; А теперь — осторожно! : [предосторожности при работе с электронными компонентами]. — С. 41.
     Аннотация
     Как собрать собственную супер-систему, домашний сервер, медиа- и игровой центр, чтобы контролировать не только свое ПО, но и свой ПК.
 

Паундер, Л. Raspbian: строим сервер на Pi 2

Паундер, Л. Raspbian: строим сервер на Pi 2 [Текст] : [использование Raspberry Pi 2 для создания файлового сервера] : [практическое руководство] / Лес Паундер [Les Pounder]  //  Linux Format. — 2015. — № 7 (198), июль. — С. 92-95. — (Linux Format. Пользователям Pi) (Raspberry Pi) (Создаем сервер). — Прил.: "Наш эксперт" : [Лес Паундер как специалист в обучении британских преподавателей Raspberry Pi и автор блога http://bigl.es]. — С. 92 ; "Создаем сетевой принтер" : [установка сервиса печати CUPS (Common Unix Printing System — Общая система печати Unix) на Raspberry Pi и его настройка при помощи руководства на How-To Geek (http://bit.ly/LFX198-cups), администрирование удаленного принтера при помощи веб-интерфейса] ; "Скорая помощь" : [добавив в проект плату расширения Unicorn HAT (http://pimoroni.com) и скрипт на Python, можно получить визуальную информацию об использовании процессора, успешном резервном копировании и неисправностях]. — С. 93 ; "Скорая помощь" : [в Raspberry Pi B+ и Raspberry Pi 2 Model B улучшена работа с внешними USB-дисками] ; "Доступ к серверу на Pi" : [список мер для организации доступа к файловому серверу извне]. — С. 94 ; "Скорая помощь" : [удаленное подключение к серверу через VNC — установка и запуск VNC, установка программы для просмотра VNC]. — С. 95. 
     Аннотация
     С появлением Raspberry Pi пользователи получили компактный компьютер, который потребляет очень мало энергии и выделяет мало тепла. Лес Паундер решил воспользоваться этими качествами Raspberry Pi и помочь нам создать на базе Raspberry Pi небольшой, мощный и энергоэффективный файловый сервер, к которому можно будет подключаться по SSH для удобного размещения резервных копий.
     Аппаратные компоненты для создания файлового сервера (чистая карта MicroSD, хороший источник питания для Raspberry Pi, Ethernet-подключение к роутеру и внешний жесткий диск USB с внешним питанием) и ПО (операционная система Raspbian, программа администрирования сервера Webmin, программа резервного копирования Deja Dup). 
     Установка ОС Raspbian на карту MicroSD способом загрузки и распаковки образа Raspbian из архива и копирования его на чистую SD-карту. 
     Сборка Raspberry Pi и настройка raspi­config, установка фиксированного IP—­адреса, настройка системы как сервера, подключение к серверу по SSH и организация доступа к серверу извне, установка Webmin (www.webmin.com) для администрирования сервера, настройка монтироваия внешнего USB-диска при загрузке, настройка управления USB-дисками в Webmin, использование сервера на Pi как устройства для удаленного резервного копирования при помоши открытой программы Deja Dup (https://launchpad.net/dejadup).

 

Паундер, Л. GPIO Python: контроль дороги

Паундер, Л. GPIO Python: контроль дороги [Текст] : [моделирование регулируемого пользователем светофора] : [практическое руководство] / Лес Паундер [Les Pounder]  //  Linux Format. — 2015. — № 7 (198), июль. — С. 90-91. — (Linux Format. Пользователям Pi) (Raspberry Pi) (Светофор). — Прил.: "Наш эксперт" : [Лес Паундер как член образовательной команды Raspberry Pi Foundation и преподаватель Picademy] ; «Скорая помощь. Существует две схемы обозначения контактов GPIO Pi: BCM и Board. Функция GPIO.setmode() сообщает Pi, какую схему выбрали вы для своего проекта, и нужно придерживаться ее.» : [совет]. — С. 90 ; "Контакты GPIO" : [краткая справка] : [GPIO — General Purpose Input Outputs (входы/выходы общего назначения): количество, для чего используется, подключение к устройствам I2C (Inter-Integrated Circuit), поддержка SPI (ближний синхронный последовательный интерфейс), платы расширения HAT (Hardware Attached on Top — устройство поверх), макетная плата] ; "Эта схема сделана в великолепной программе под названием Fritzing (http://fritzing.org/home). В ней легко разрабатывать проекты и делиться ими" [Избражение] : [ПО для изготовления макетных плат]. — С. 91. 
     Аннотация
     Моделирование реальной физической системы — регулируемого  пользователем светофора для перехода через перекресток — с помощью кода на Python, электронных компонентов и любого Raspberry Pi.
     Перечень компонентов или учебный комплект EduKit от CamJam, который можно купить на The Pi Hut (http://thepihut.com/collections/camjam-edukit). 
     Подготовка Raspberry Pi — подключение компонентов (схема в высоком разрешении — на http://bit.ly/LXF198Beginner); загрузка рабочего стола и запуск интегрированной среды разработки IDE (Integrated Development Environment) Python 3, в которой будет программироваться проект; настройка GPIO; программирование управления светофором. 
     Если Вы новичок в Raspberry Pi и хотите научиться программировать GPIO, то это идеальный проект для старта.

 

Йонг, Р., де. Unity 5: пишем 3D­-игру в Linux

Йонг, Р., де. Unity 5: пишем 3D­-игру в Linux [Текст] : [пошаговое руководство] / Робин де Йонг [Robin de Jongh]  //  Linux Format. — 2015. — № 7 (198), июль. — С. 84-87. — (Академия кодинга) (Unity 5). — Прил.: "Наш эксперт" : [Робин де Йонг] : [краткая справка]. — С. 84 ; "Снабжаем остров поверхностью" : [пошаговое руководство по соданию острова] ; "Экспорт игры в Linux" : [сохранение сцены и проекта, настройки сборки, запуск файла игры] ; "Скорая помощь. По умолчанию в каждой сцене Unity 5 есть солнце, камера и небо. Попробуйте представлять себе сцену как реальный мир. Не будь у вас неба, солнечного света и глаз, мир был бы темен.". — С. 85 ; "Добавляем игрока" : [пошаговое руководство]. — С. 86 ; "Добавляем самолет" : [пошаговое руководство] ; "Материалы" : [базовый формат объекта, текстуры (в Unity называется Albedo) и их компоненты (карты)]. — С. 87. 
     Аннотация
     Unity поддерживает Linux как движок и Робин де Йонг написал обзор движка Unity 5 (Linux Format, 2015, № 7 (198), июль, С. 19). Unity не поддерживает Linux как платформу для разработки игр и приходится использовать SDK (software development kit) на Windows. Но SDK Unity 5 предлагается бесплатно (при условии, что ежегодный доход от игры не превысит $100 000) и его можно запустить в Linux через Wine. Для установки и настройки Unity 5 нужно установить PlayOnLinux, установочный скрипт которого с http://bit.ly/LXFunity, установит Unity (установщик Unity для Windows загружается с http://unity3d.com/unity/download).
     Unity 5 — основы (интерфейс, создание проекта "IslandRun", окно редактора Unity Editor, устройство сцены в окне Scene (Сцена), добавление в сцену материала воды), пошаговые руководства по этапам создания конкретной 3D­-игры. 

 

Браун, К. Система: inotify и getopts

Браун, К. Система: inotify и getopts [Текст] : [учебник] / Крис Браун [Chris Brown]  //  Linux Format. — 2015. — № 7 (198), июль. — С. 76-79. — (Академия кодинга) (Системное программирование). — Прил.: "События сообщений считываются из дескриптора inotify, содержащего имя файла переменной длины, поэтому для их перебора в буфере требуются хитрые конструкции с указателями" [Изображение] : [цвет. схема]. — С. 76 ; "Скорая помощь. Переменная окружения POSIXLY_CORRECT используется для принудительного обеспечения совместимости с POSIX и преимущественно используется в ситуациях, «когда POSIX расходится со здравым смыслом». Например, если переменная POSIXLY_CORRECT установлена, по обнаружении первого аргумента без опций аргументы с опциями getopts() искать перестанет" [Изображение] : [цвет. схема]. — С. 77 ; "Скорая помощь. Если вам понадобится передать аргумент, который начинается с '-', но не должен рассматриваться как опция, воспользуйтесь аргументом '—', который отключает обработку опций для оставшейся части командной строки. Например, $ argdemo -­a ­­— -­b распознает ­a как опцию, но сочтет ­b аргументом без опций." ; "Обработка «длинных» опций" : [причины появления «длинных» опций и их обработка с помощью функции getopt_long(), что скучновато, и модуля Python parseargs]. — С. 78 ; "Окружение и безопасность" : [что на практике означает то, что программа никак не может управлять окружением, которое получает от родителей, и должна считать его «недоверенным вводом» на простом примере] ; "Скорая помощь" : [как получить окружение любого процесса, зная его идентификатор, в файле /proc/PID/environ] ; "По аналогии с argv окружение представляет собой массив строк, завершенных символами null" [Изображение] : [цвет. схема]. — С. 79. 
     Аннотация
     Учимся отслеживать изменения в файловой системе с inotify (механизм ядра Linux для оповещения программы об изменениях в файловой системе), доступу к аргументам командной строки и обрабатывать аргументы командной строки с помощью функции getopts() и модуля Python, обращаться к окружению.

 

Билби, М. DD-WRT: хакнем свой Wi­Fi-­роутер

Билби, М. DD-WRT: хакнем свой Wi­Fi-­роутер [Текст] : [альтернативная прошивка DD-WRT для роутера Cisco Linksys E3000] : [выбор поддерживаемого роутера, выбор сборки прошивки, обновление прошивки и ее особенности, конфигурирование] : учебник / Мэтт Билби [Matt Beilby]  //  Linux Format. — 2015. — № 7 (198), июль. — С. 72-75. — (Учебник) (Прошивка роутера). — Прил.: "Скорая помощь" : [альтернативные прошивки от проектов Tomato, AsusWRT-Merlin, OpenWRT]. — С. 72 ; "Скорая помощь" : [прошивка от производителя часто быстрее альтернативной] ; "Внимание. Следуя этому уроку, можно уничтожить свое оборудование. Linux Format не несёт ответственности (в т.ч. по неосторожности) за любые возможные повреждения, потерю данных или ущерб в итоге урока. Страх и риск — ваши" : [предупреждение пользователю]. — С. 73 ; "Скорая помощь. NVRAM — энергонезависимое ОЗУ, где переменные хранятся между сбросами, и его объём измеряется в килобайтах. Чем больше функций используется, тем больше переменных хранится (особенно жадны сертификаты VPN). Это и ограничение, и риск; если запись в NVRAM превысит его объём, устройство может сброситься или даже сломаться." ; "Промежуточные сборки и TFTP" : [для чего устанавливается промежуточная сборка прошивки и как TFTP (Trivial File Transfer Protocol — простой протокол передачи файлов) как одно из первых прибежищ в попытке восстановления после неудачной прошивки]. — С. 74 ;  "Сброс 30­-30-­30" : [способ как провести полный сброс настроек к прошивке по умолчанию]. — С.75. 
     Аннотация
     Погружение в мир нестандартных прошивок и конфигураций беспроводного роутера на примере встраиваемой открытой ОС DD-WRT, которая может открыть такую функциональность, как SSH, работа с файлами и мультимедиа, QoS, сети VLAN и VPN — на любой вкус. Однако риск соизмерим с масштабом перемен и пробы желательно провести на старом роутере, например, Cisco Linksys E3000. 
 

Цукалос, М. SystemTap

Цукалос, М. SystemTap [Текст] : [программа SystemTap] : [практическое руководство по системе мониторинга] / Михалис Цукалос [Mihalis Tsoukalos]  //  Linux Format. — 2015. — № 7 (198), июль. — С. 68-71. — (Учебник) (SystemTap). — Веблиогр. "Скорая помощь": с. 69 (3 назв.). — Прил.: "Скорая помощь. Если вы администрируете только Linux, то просто обязаны изучить и SystemTap, и perf_events. Если же вы администрируете различные машины Unix, лучшим выбором будет изучение DTrace." — С. 68 ; "Как работает SystemTap" : [архитектура — зонды для сбора информации (зонд — это событие и соответствующий ему обработчик) и набор связанных зондов tapset (тэпсет), примеры тэпсетов;  слежение за системными вызовами (команда, технология реализации); полный список тэпсетов — https://sourceware.org/systemtap/tapsets]. — С. 69 ; "Полезные опции командной строки stap" : [опции ­s, ­d, ­­all­modules, ­e, ­o, ­v, ­x; команда stap аналогичная команде strace]. — С. 71. 
     Аннотация
     Программа SystemTap (https://sourceware.org/systemtap) представляет интерфейс командной строки и скриптовый язык, которые позволяют собирать и анализировать информацию о работающей Linux-системе. 
     SystemTap — установка в Ubuntu и зависимости, необходимость включения в ядро информации по отладке и решение этой задачи, основная команда stap и особенности ее запуска, особенности запуска серверного процесса systemtap, язык скриптов SystemTap, два способа запуска команд, графическое отображение системы и визуализация данных — гистограммы и созданные Бренданом Греггом [Brendan Gregg] так называемые огненные или пламенеющие диаграммы (Flame graphs), пример генерирования пламенеющей диаграммы, внешние скрипты для генерирования диаграммы на https://github.com/brendangregg/FlameGraph, скрипты для сокетов (sockettrace.stp, iotime.stp, inodewatch.stp), скрипты для процессов (topsys.stp, syscalls_by_proc.stp, net.stp, iostats.stp, timeout.stp и stopwatches.stp), самый простой способ создания скрипта — изменение готового скрипта, место установки скриптов — /usr/share/doc/systemtapdoc/examples, скрипты для установки — в пакете systemtap-doc.
     Рекомендуется для прочтения документация на https://access.redhat.com/documentation/en-US/Red_HatEnterprise_Linux, книга о производительности системы Brendan Gregg “Systems Performance: Enterprise And The Cloud”, затрагивающая и SystemTap, а также учебник Михалиса Цукалоса "DTrace: гид по применению" (Linux Format, 2015, № 3 (194), март, С. 70-73).