Библиотека сайта rus-linux.net
Переводы и статьи А.Панина, опубликованные в 2016 году
Во второй статье серии мы углубимся в SQL и рассмотрим команды, предназначенные для модификации данных, осуществления более сложных операций поиска данных и связывания результатов поиска в множестве таблиц. После этого мы перейдем к рассмотрению вопроса осуществления доступа к базам данных из сценариев, разработанных с использованием языка программирования PHP. После прочтения данной статьи вы будете обладать всеми необходимыми навыками для исследования кода OwnCloud, phpBB и многих других подобных веб-приложений, интенсивно использующих базы данных.
В статье изложены базовые сведения относительно принципа работы баз данных, методик их создания и работы с данными, хранящимися в них. Базы данных выполняют всю грязную работу, связанную с хранением, загрузкой и поиском данных. База данных заботится о целостности данных, создании резервных копий, дубликатах записей и так далее, поэтому программы могут ограничиться выполнением лишь своих непосредственных функций.
Обычно файловые системы создаются силами ядра операционной системы, в нашем же случае мы будем использовать технологию файловых систем пространства пользователя ("FUSE"), позволяющую разрабатывать приложения, создающие файловые системы вне ядра операционной системы. В данной статье мы будем использовать язык программирования Python для создания нашей файловой системы. Эта простейшая файловая система будет содержать всего лишь один файл с именем date, в котором, в свою очередь, будет содержаться информация о текущей дате.
Под условиями понимаются требования, после выполнения которых будут выполняться те или иные действия. Мы можем проверить, совпадает или не совпадает одна строка с другой строкой, либо вообще проверить ее существование. Аналогично мы можем сравнить числовые аргументы для того, чтобы установить, является ли значение первого аргумента большим, меньшим или равным значению второго. Для того, чтобы выполнить какое-либо действие в том случае, если условие будет выполнено, мы можем использовать условную инструкцию "if-then".
Вы уже знаете о том, как создавать сценарии, а также использовать аргументы и циклы for. Теперь давайте рассмотрим некоторые другие простые команды для работы с текстовыми файлами, а также вопросы связывания потоков ввода и вывода команд с файлами или с потоками ввода и вывода других команд.
Если вы хотите узнать немного больше о разработке сценариев командной оболочки, вам определенно стоит прочитать эту, вторую по счету, статью серии. Для начала обсудим несколько исправлений и улучшений сценария, рассмотренного в прошлой статье серии, после чего перейдем к рассмотрению вопросов использования циклов в рамках сценариев командной оболочки.
Тема разработки сценариев командной оболочки постоянно поднимается на форумах, посвященных операционной системе Linux, но многие пользователи все же мало знакомы с ней. Изучение этого простого и мощного метода программирования поможет сохранить ваше время, лучше узнать особенности утилит с интерфейсом командной строки и оптимизировать рутинные операции управления файлами.
После привыкания к интерфейсу командной строки пользователи системы Linux обычно переходят к использованию более сложных текстовых редакторов, таких, как Vim и Emacs. Хотя это и отличные программы, они имеют высокий порог вхождения. Начинающие же пользователи Linux вполне могут пользоваться простым текстовым редактором Nano, который уже зарекомендовал себя как универсальный и простой инструмент. Nano установлен по умолчанию во множестве дистрибутивов Linux и отлично совместим с утилитой sudo, из-за чего нравится многим пользователям.
Мы привыкли к тому, что текстовые процессоры сообщают нам об опечатках в словах, но что делать в случае ошибки при наборе имени директории в терминале Linux? На самом деле, вы можете активировать функцию автоматического исправления опечаток и в этом случае, по крайней мере, на уровне команды cd. Для этого достаточно добавить в файл .bashrc простую команду для выявления смещений символов, а также отсутствующих или лишних символов в аргументе команды cd.
Простая и рабочая методика преобразования файлов PDF в текстовые файлы с помощью утилиты с интерфейсом командной строки с именем pdftotext из пакета утилит "poppler-utils".
Интерфейс командной строки Linux является регистрозависимым. В процессе использования функции автодополнения команд по клавише Tab для быстрого перехода в директорию или вывода списка директорий вы должны использовать символы в том же регистре, что и символы в именах директорий. Однако, существует способ избавления этой функции от зависимости от регистра символов.
В Ubuntu 16.04 LTS была представлена поддержка Snap-пакетов, использующихся в рамках реализации новой отличной технологии установки приложений. Для работы с этими пакетами нужно использовать команды, отличные от хорошо знакомых команд apt-get и dpkg. Файлы Snap-пакетов, имеющие расширение .snap, больше похожи на контейнеры. Приложения из этих пакетов являются самодостаточными, содержат все библиотеки, необходимые для их функционирования, и исполняются в защищенном окружении. Они устанавливаются в отдельные директории и не конфликтуют с основными компонентами системы. Если вам понадобится установить приложение из такого Snap-пакета, вы можете воспользоваться инструкциями из данной статьи.
Механизмы языка программирования Ada для создания максимально безопасных программ сделали его популярным в области программных проектов для ответственных систем. Хотя на сегодняшний день он не всегда используется для оборонных проектов, он широко распространен в транспортных (на воздушном и железнодорожном транспорте, включая системы контроля перемещения поездов и воздушных судов Объединенного королевства), космических, банковских и медицинских проектах. Прочитав эту статью, вы получите представление об истории языка и его возможностях.
Утилиты strace, tcpdump и lsof являются отличными инструментами, которые должны использоваться каждым системным администратором и именно по этой причине вам должна понравиться утилита sysdig, ведь она является мощным инструментом с открытым исходным кодом для низкоуровнего мониторинга состояния и диагностики систем. Одно из наиболее важных преимуществ утилиты sysdig заключается в том, что с помощью нее вы можете не только анализировать текущее состояние Linux-системы, но также и сохранять данные ее состояния в файл для последующего анализа. Кроме того, вы можете настроить поведение sysdig или даже расширить ее возможности с помощью поставляемых в комплекте (или созданных собственноручно) небольших сценариев (chisels).
Специалисты компании Mozilla в течение пяти последних лет занимались, помимо прочего, разработкой Rust, чрезвычайно быстрого языка для системного программирования, позволяющего предотвратить практически все ошибки сегментирования и гарантирующего потокобезопасность. Другими словами, данный язык программирования позволяет разрабатывать программное обеспечение, работающее так же быстро, как и программное обеспечение, разработанное с использованием языка C, при этом лишенное проблем, присущих последнему.
Обычно называемая "швейцарским ножом" для TCP/IP-сетей, утилита Netcat является чрезвычайно гибким инструментом, позволяющим выполнять практически все возможные действия с TCP/UDP-сокетами в Linux. Это один из наиболее популярных инструментов для диагностики и экспериментов с сетями в среде системных администраторов. В данной статьt Приведены несколько наиболее полезных примеров использования netcat.
Представленная разработчиками, как "curl-подобный инструмент для людей", утилита HTTPie была спроектирована с целью улучшения пользовательсских качеств таких утилит, как wget и curl. Главной целью ее разработчиков является предоставление пользователю возможности взаимодействия с веб-сервером с использованием командной строки максимально простым способом.
В статье рассмотрены 29 инструментов для мониторинга сетевого трафика с интерфейсом командной строки, начиная с инструментов для низкоуровневого мониторинга сетевого трафика на уровне сетевых пакетов и заканчивая инструментами для высокоуровневого мониторинга сетевого трафика на уровне серверных приложений. Важно знать, как работает каждый из этих инструментов и уметь подбирать инструмент для решения той или иной задачи, поскольку нет универсальных инструментов, позволяющих решить любую задачу. Хороший системный администратор должен уметь выбирать правильные инструменты в зависимости от сложившихся обстоятельств.
Если вы являетесь системным администратором и занимаетесь обслуживанием системы обнаружения вторжений или управляете политикой доступа к сети, вы наверняка нередко осуществляете оффлайн-анализ собранных дампов сетевых пакетов. При сохранении дампов с помощью инструментов с открытым исходным кодом для снифиинга и захвата сетевых пакетов наиболее часто используется формат библиотеки libpcap (или формат pcap). В данной статье рассмотрены полезные инструменты, предназначенные для осуществления различных манипуляций с pcap-файлами, и приведены примеры их использования.
Monit является кроссплатформенным инструментом с открытым исходным кодом, предназначенным для мониторинга состояния систем Unix/Linux. Monit может стать отличным помощником любого администратора Linux-систем благодаря простому и понятному синтаксису файлов конфигурации. В данной статье рассказано о методике установки Monit на локальный сервер (в качестве резервной системы мониторинга его состояния) с целью мониторинга состояния его основных служб.
В статье пошагово описана процедура создания и активации виртуального узла на примере HTTP-сервера Apache, используемого в окружении Linux. Вы можете повторить описанные действия для связывания с одним и тем же сервером такого количества доменов, которое вам нужно. Как вы можете видеть, виртуальный хостинг является довольно выгодным решением, позволяющим использовать множество доменов, а также соответствующих им конфигураций на одном веб-сервере.
Одной из встроенных функций командной оболочки bash является функция открытия TCP-/UDP-сокетов с помощью файлов устройств /dev/tcp и /dev/udp соответственно. В данном руководстве мы постараемся разобраться в том, как открывать TCP-/UDP-сокеты, а также осуществлять посредством них прием и передачу данных в процессе работы с командной оболочкой bash.
Система инициализации systemd была спроектирована не как отдельный демон инициализации, а как сложная система и платформа для управления системными службами, которая предоставляет развивающуюся экосистему с эквивалентами основных системных демонов, библиотек и утилит. Одним из многих дополнительных компонентов systemd является менеджер сетевых соединений systemd-networkd, который отвечает за конфигурацию сетевых интерфейсов в рамках экосистемы systemd. С помощью sytemd-networkd вы можете настроить интерфейсы устройств, работающих с сетями, в которых используются как серверы DHCP, так и статическая адресация.
В статье продемонстрирована методика использования утилит chattr и lsattr для управления дополнительными атрибутами файлов, позволяющими предотвратить случайную или преднамеренную модификацию последних. Но вы не можете полагаться на утилиту chattr как на инструмент дополнительной защиты системы, так как снятие соответствующих атрибутов с файлов не будет представлять каких-либо сложностей для злоумышленников. Один из способов исправления данной проблемы заключается в ограничении доступа пользователей к самой утилите chattr.
Методика настройки фреймворка DKMS на примере драйвера для сетевых карт производства компании Intel. Фреймворк DKMS позволяет осуществлять автоматическую пересборку модулей ядра Linux с использованием текущего дерева его исходных кодов по мере обновления версий.
Vagrant является оболочкой для программы виртуализации. Если вы используете Vagrant, вам даже не понадобится запускать VirtualBox. Vagrant использует VirtualBox скорее в качестве инструмента, а не отдельной системы. Vagrant является действительно удобным инструментом для быстрого создания и уничтожения виртуальных машин после окончания работы с ними.
Некоторые аспекты рабочего окружения Linux являются не самыми очевидными. Одним из таких аспектов, несомненно, является система профилей. С концептуальной точки зрения она является достаточно простой. Существуют системные настройки, которые используются всеми пользователями, а также индивидуальные настройки, которые пользователи могут изменять в соответствии со своими потребностями. Проблема заключается в том, что в различных дистрибутивах обработка файлов профилей осуществляется по-разному.
Свободное программное обеспечение может помочь вам выйти на большие экраны или, по крайней мере, продемонстрировать свою работу миллионам пользователей видеохостинга YouTube. Благодаря видеохостингу YouTube вам не придется беспокоиться о пропускной способности вашего сетевого соединения и других сложностях, связанных с размещением видео в сети; вам всего лишь придется создавать видеоматериалы, интересные для вашей целевой аудитории. В данном руководстве мы рассмотрим методику создания обучающего видео с использованием популярного видеоредактора Kdenlive.
Описан процесс загрузки файла образа установочного диска и непосредственной установки защищенной операционной системы Qubes на жесткий диск, дан небольшой обзор окружения рабочего стола и различных типов виртуальных машин, создаваемых по умолчанию. Рассмотрены методики установки приложений и управления виртуальными машинами.
Операционная система Qubes OS создана для достижения максимальной безопасности в процессе работы с различными приложениями и фундаментально отличается от других систем на основе ядра Linux для настольных компьютеров.В данной статье проведен краткий обзор системы Qubes, показаны некоторые особенности ее реализации, которые принципиально отличают ее ото всех дистрибутивов Linux для настольных компьютеров, а также являются особенно интересными в плане безопасности. В следующих статьях серии будут более подробно показаны аспекты установки и настройки рассматриваемой системы, а также методиках использования некоторых из ее возможностей.
GNOME Builder - это интегрированная среда разработки для GNOME. С ней уже очень комфортно работать, в особенности благодаря продуманному дизайну графического интерфейса. Процесс установки приложения не является достаточно очевидным в том случае, если вы не желаете самостоятельно компилировать его, но это не является недостатком для приложения, созданного специально для разработчиков.
Наряду с новыми версиями игр для Linux существует и большое количество классических игр, в которые стоит поиграть, причем они могут отлично функционировать на любой современной машине - даже на ограниченном в плане ресурсов одноплатном компьютере Raspberry Pi или на вашем телефоне, работающем под управлением ОС Andriod. Единственная проблема заключается в том, что хотя эти игры и могут запускаться в Linux, они не предназначены для этого.
В статье демонстрируются классические утилиты, позволяющие получить сведения об аппаратном обеспечении компьютера. Рассмотрены как утилиты с интерфейсом командной строки, так и утилиты с графическим интерфейсом, а также приведены сведения о способах получения доступа к низкоуровневым интерфейсам для получения информации об аппаратном обеспечении, включая данные о некоторых файлах виртуальных файловых систем /proc и /sys, содержащих нужную информацию.
В статье описывается методика работы с сервером базы данных MySQL посредством утилиты с интерфейсом командной строки mysql. Утилита с интерфейсом командной строки mysql, поддерживающая режим интерактивной командной оболочки, является очень мощным инструментом для осуществления доступа к базе данных с целью вывода и модификации хранящихся в ней данных без какого-либо графического интерфейса.
Рассказ о двух различных вариантах ограничения пропускной способности сетевого соединения в системе Linux для настольных компьютеров, а именно, об ограничении пропускной способности сетевого соединения на уровне отдельных приложений и на уровне сетевых интерфейсов. Оба рассмотренных инструмента являются максимально простыми и позволяют быстро и просто организовать шейпинг ранее никоим образом не контролируемого сетевого трафика.
Благодаря данному списку вы узнаете о новых интегрированных средах разработки с поддержкой вашего любимого языка программирования. Следует отметить, что здесь рассмотрены далеко не все инструменты, облегчающие процесс разработки программных компонентов на языках C/C++ в Linux. Вы можете сообщить о своем любимом инструменте в разделе комментариев.
Выполнение повторяющихся последовательностей действий отравляет жизнь всех системных администраторов. Именно поэтому у нас есть Puppet - мощный инструмент для одновременной автоматической конфигурации множества машин.
Не так давно началось открытое бета-тестирование проекта LetsEncrypt. В данной же статье мы рассмотрим процесс настройки веб-сервера Apache с целью использования сертификата проекта LetsEncrypt для шифрования HTTP-трафика.
Вы когда-нибудь задавались вопросом о том, что означают мистические символы "*" и "&" и каким образом они используются в коде? После чтения данной статьи у вас не будет возникать подобных вопросов.
В прошлой статье об использовании языка ассемблера мы реализовали простейшую операционную систему, собрав воедино все техники и приемы, описанные в каждой из четырех статей серии. В данной статье мы будем добавлять в ядро операционной системы функции, которые впоследствии смогут использоваться обычными программами.
- 13.06.2016
Alexander Larsson, перевод: А. Панин,
"Сборка приложения для запуска в изолированном окружении xdg-app - часть 5"
В предыдущих статьях серии мы занимались сборкой различных приложений и их локальным тестированием. В данной статье мы рассмотрим вопрос распространения этих приложений среди конечных пользователей. В первую очередь следует упомянуть о технологии OSTree. Эта технология лежит в основе механизма установки и распространения приложений для окружения xdg-app. Технология OSTree очень похожа на технологию, лежащую в основе системы контроля версий git, но при этом она была спроектирована специально для работы с деревьями бинарных файлов большого размера. -
31.05.2016
Alexander Larsson, перевод: А. Панин,
"Сборка приложения для запуска в изолированном окружении xdg-app - часть 4"
Основные функции и особенности изолированного окружения xdg-app. -
27.05.2016
Alexander Larsson, перевод: А. Панин,
"Сборка приложения для запуска в изолированном окружении xdg-app - часть 3"
В статье рассматривается метод автоматизации сборки приложения для запуска в изолированном окружении xdg-app с помощью инструмента xdg-app-builder. -
25.05.2016
Alexander Larsson, перевод: А. Панин,
"Сборка приложения для запуска в изолированном окружении xdg-app - часть 2"
И снова добро пожаловать в серию статей о сборке приложений для запуска в изолированном окружении xdg-app. В первой части мы установили все необходимые программные компоненты и собрали наше первое приложение в ручном режиме. В данной статье мы будем собирать более сложное приложение с помощью основных утилит xdg-app. -
20.05.2016
Alexander Larsson, перевод: А. Панин, "Сборка приложения для запуска в изолированном окружении xdg-app - часть 1"
Первая статья из серии о сборке приложений для запуска в изолированном окружении xdg-app. Фундаментальной концепцией технологии xdg-app является разделение окружений исполнения и приложений. Каждое из приложений должно зависеть от окружения исполнения, которое содержит основные используемые этим приложением библиотеки. Окружения исполнения обычно одновременно используются множеством приложений, причем пользователь может установить в свою систему сразу несколько окружений исполнения. -
16.05.2016
Mike Saunders, перевод: А.Панин,
"Школа ассемблера: разработка операционной системы"
Располагая навыками, полученными в ходе чтения предыдущих статей серии, вы можете приступить к разработке своей собственной операционной системы! В данной статье мы сфокусируемся лишь на основных функциях операционной системы: загрузке и исполнении программ. -
11.05.2016
Mike Saunders, перевод: А.Панин,
"Начинаем программировать на языке ассемблера: переход на уровень аппаратного обеспечения"
На этот раз мы попробуем отказаться от операционной системы и поработать непосредственно с аппаратным обеспечением персонального компьютера. Вы сможете разработать код, который будет исполняться непосредственно на уровне центрального процессора и получать полное управление над системой без какого-либо взаимодействия с операционной системой, которая попросту отсутствует. Довольно увлекательное занятие, не так ли?
Дата публикации, автор, название статьи/перевода, краткая аннотация |
Начинающие пользователи чаще всего относятся к регулярным выражениям как к бреду, написанному кем-то не совсем трезвым в полной темноте. Но регулярные выражения могут значительно облегчить вашу жизнь при возникновении необходимости в генерации или обработке больших объемов текстовых данных, даже в том случае, если вы не являетесь программистом. |
Программное обеспечение Prey с открытым исходным кодом поможет вам вернуть свои похищенные мобильные устройства, ведь оно позволяет отслеживать их местоположение, удаленно управлять ими, а также делать их непригодными для использования теми, у кого они оказались. |
При возникновении необходимости в работе с большими объемами данных следует обратить внимание на NoSQL - данная технология упрочит будущее вашего проекта, а также увеличит ваши шансы на успешное трудоустройство! |
Как вы наверняка узнали из предыдущих статей серии, в systemd реализован мощный и гибкий механизм запуска и управления состояниями системных служб. Некоторые из рассмотренных возможностей systemd были введены для достижения совместимости с устаревшей системой инициализации SysVinit. Однако, шаблоны в юнит-файлах systemd не имеют аналогов. |
Лучшим инструментом для записи голоса и редактирования аудиоданных по праву является приложение Audacity. Оно присутствует в репозиториях программного обеспечения всех дистрибутивов, его относительно просто использовать и при этом оно предоставляет все функции, которые могут потребоваться для создания даже сложных аудиозаписей. |
Существует не так много вещей, которые могут раздражать настолько сильно, насколько раздражает неработоспособность системного загрузчика. Именно поэтому мы будем учиться использовать по максимуму все возможности системного загрузчика GRUB 2, поддерживая его в рабочем состоянии. |
Open Media Vault является удивительно гибким программным продуктом для создания серверов сетевых систем хранения данных (NAS), который не так давно достиг психологически важной версии 1.0. Это решение имеет достаточный набор возможностей для эксплуатации широким кругом пользователей. |
Одно из наиболее важных отличий systemd от устаревшей системы инициализации SysVinit заключается в механизме запуска юнитов. Вы могли слышать о том, что systemd запускает все системные службы одновременно. Но в реальности все не так просто. Давайте рассмотрим более глубоко механизм определения отношений юнитов, использующийся в systemd. |
Процесс создания резервных копий данных занимает достаточно много времени, он также требует тщательного изучения структуры данных и подготовки и является гораздо более сложным процессом, чем добавление файлов в обычный архив. К сожалению, по этой причине им чаще всего пренебрегают. В данном случае утилита Deja Dup является особенно полезной. Она кардинально отличается от множества других инструментов своим минималистичным интерфейсом, который не смущает неопытных пользователей. |
Firefox является отличным веб-браузером, но бывают случаи, когда вам могут потребоваться не реализованные в нем функции. Как и большинство приложений, предназначенных для работы с сетевыми сервисами, Firefox позволяет разрабатывать дополнения с использованием таких технологий, как JavaScript, CSS и HTML. Поэтому в том случае, если вы знаете, как создаются веб-страницы, вы сможете создать и дополнение для веб-браузера Firefox. |
Переводы и статьи Алексея Панина, опубликованные в 2015 году, 2014 году, 2013 году и ранее.