Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Как использовать сервис fpaste для распространения информации о проблемах программного обеспечения

Оригинал: How to use fpaste to share problem reports
Автор: Mike Ruckman
Дата публикации: 23 сентября 2015 г.
Перевод: A.Панин
Дата перевода: 17 октября 2015 г.

Как использовать сервис fpaste для распространения информации о проблемах программного обеспечения

Если вы используете или разрабатываете программное обеспечение, вы в любом случае будете сталкиваться с различными проблемами. При возникновении этих проблем вам придется передавать сообщения об ошибках, вывод команд или содержимое файлов по сети людям, способных помочь с диагностикой. Сетевой сервис для распространения текстовых файлов чаще всего носит название pastebin. К счастью, в рамках экосистемы Fedora имеется аналогичный сервис: fpaste. Имя fpaste носит как предназначенный для распространения текстовых файлов сетевой сервис, так и утилита с интерфейсом командной строки, которая используется для работы с этим сетевым сервисом. Сервис fpaste может оказаться весьма полезным для коллективной диагностики проблем или для простого распространения какого-либо текста с целью получения отзывов.

Начало работы

Как получить доступ к сервису fpaste? Существуют два метода; сначала рассмотрим веб-сайт.

Для работы с сервисом fpaste следует перейти по адресу fpaste.org, скопировать сообщение об ошибке, вставить его в поле ввода сообщения и нажать кнопку "Paste". На открывшейся странице будет приведена строка URL, которую вы можете отправить людям, помогающим осуществить диагностику проблемы. Веб-интерфейс позволяет:

  • указать синтаксис текстового документа

  • добавить ваше имя к текстовому документу

  • защитить документ (включая установку пароля), а также

  • установить время, по истечении которого ваш документ будет автоматически удален.

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

sudo dnf install fpaste

После окончания процесса установки попробуйте опубликовать что-либо!

echo "Это тестовый документ." > ./testpaste.txt
fpaste testpaste.txt

После публикации документа утилита fpaste выведет две строки URL: сокращенную и полную. Сокращенная строка URL отлично подходит для размещения ссылки в какой-либо социальной сети, аналогичной Twitter, при этом я предпочитаю использовать полную строку URL при размещении ссылок на всех остальных ресурсах. Помните обо всех возможностях, предоставляемых веб-интерфейсом сервиса? Локальный клиент также предоставляет доступ ко всем этим возможностям.

Хотите защитить ваш документ с помощью пароля?

fpaste testpaste.txt -d "мой секретный пароль"

Если вы желаете ознакомиться со всеми возможностями, предоставляемыми утилитой fpaste, обратитесь к странице руководства утилиты.

man fpaste

Публикация вывода приложений

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

Вы можете поинтересоваться: что за перенаправленные потоки вывода? Механизм перенаправления потоков вывода позволяет использовать выходные данные одной утилиты в качестве входных данных другой утилиты. Например:

ls / | grep home

Утилита ls выводит список всех поддиректорий и файлов текущей директории. Утилита grep обрабатывает входные данные и выводит лишь те строки, которые соответствуют переданному регулярному выражению. Таким образом, приведенная выше команда выведет строку home, так как имя этой директории совпадает с переданным регулярным выражением. Оператор "|" известен как "оператор создания программного канала". Он позволяет передавать вывод одной утилиты на вход другой утилиты. Представьте, что вам необходимо узнать, какая графическая карта используется на вашей машине. Для этого вы можете выполнить команду:

lspci | grep VGA

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

01:00.0 VGA compatible controller: NVIDIA Corporation GM206 [GeForce GTX 960] (rev a1)

Хотя данный вывод является достаточно коротким и вы можете просто разместить его в чате IRC, вы также можете опубликовать его с помощью утилиты fpaste.

lspci | grep VGA | fpaste

Данная команда позволяет отправить вывод команды непосредственно на сервис для публикации текстовых документов инфраструктуры Fedora. Удобно, не правда ли?

Вы можете спросить: но что делать, если мне необходимо опубликовать большой объем информации о моей машине? Для этой цели существует специальный флаг рассматриваемой утилиты!

fpaste --sysinfo

Данная команда позволит опубликовать подробный обзор текущего состояния вашей системы. Данный обзор будет включать все: начиная с информации об аппаратном обеспечении вашей системы и заканчивая информацией о 5 процессах, наиболее интенсивно использующих ресурсы ее центрального процессора, что очень полезно для диагностики любых проблем, которые могут возникнуть. Вы можете использовать сервис fpaste везде, где обычно ищите помощи: на ресурсах ask.fedoraproject.org, reddit, stackexchange, в сообщениях электронной почты, мгновенных сообщениях или в чате IRC.

Публикация всех данных

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

Если вы желаете опубликовать вывод команды и быть на 100% уверенным в том, что захвачен весь вывод (из стандартных потоков вывода и ошибок), вы должны использовать оператор "|&". Этот оператор позволяет захватывать все данные из стандартного потока ошибок и добавлять их к данным из стандартного потока вывода, гарантируя публикацию любых необходимых при отладке данных. Вы можете сделать гораздо больше с помощью операторов перенаправления вывода. Обратитесь к данному руководству по написанию сценариев bash для получения информации о соответствующих возможностях.

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