Popularity-contest/FAQ

Материал из ALT Linux Wiki

Перевод часто задаваемых вопросов о пакете popularity-contest (рейтинг популярности).

cvs -d :pserver:anonymous@cvs.alioth.debian.org:/cvsroot/popcon co popularity-contest

Использована ревизия 1.18. Произведена адаптация для ALT Linux.

Часто задаваемые вопросы

Вопрос
Какую информацию сообщает popularity-contest?
Ответ
popularity-contest сообщает архитектуру вашей системы, свою версию и список установленных пакетов. В каждом из пакетов popularity-contest ищет недавно использовавшиеся файлы (по атрибуту atime — время доступа) и сообщает их названия, время последнего обращения (atime) и создания (ctime). Однако, некоторые файлы опускаются, поскольку имеют недостоверный atime.
Вопрос
Что считается голосом за пакет?
Ответ
Компьютер голосует за пакет, если согласно полученному отчёту программа из пакета или зависящая от пакета была использована менее тридцати дней назад. Подсчёт производится на сервере popcon.
Вопрос
Какие шаги предпринимаются для обеспечения приватности?
Ответ
Каждый компьютер, участвующий в опросе, обозначается случайным 128-битным идентификатором (MY_HOSTID в /etc/popularity-contest.conf). С его помощью отслеживаются отчёты с одного компьютера. Следует держать его в секрете. Отчёты отправляются на сервер popcon электронной почтой или по HTTP. Сервер извлекает отчёт из письма или HTTP-запроса и хранит в базе данных, пока не придёт новый отчёт, но не дольше 20 дней. База данных и электронные письма доступны только администраторам сервера. Сервер ежедневно подсчитывает итог и публикует на странице all-popcon-results.txt. В этой сводке суммируются все полученные отчёты и не показаны идентификаторы.
Слабые места системы:
  1. Ваш отчёт может быть подсмотрен. Мы оцениваем возможность использования шифрования с помощью публичных ключей для защиты отчёта при передаче.
  2. Кто-то, осведомлённый, что только вы используете определённый пакет (например, если вы - мейнтейнер), может догадаться, что вас нет дома, если отчётов об использовании пакета больше не поступает. Однако, это произойдёт лишь при вашем отсутствии более двух недель, и если компьютер выключен 23 дня.
  3. Неофициальные и самодельные пакеты также учитываются, так что см. предыдущий пункт. Наиболее характерный пример - самосборные ядра. Мы изучаем решения этой проблемы.
Вопрос
А если раздел /usr смонтирован с параметром noatime?
Ответ
popularity-contest полагается на атрибут atime, вычисляя использовавшиеся за последний месяц пакеты. В данном случае отчёт будет сообщать об установленных пакетах без информации об использовании.
Вопрос
Когда запускается popularity-contest?
Ответ
popularity-contest запускается ежедневно скриптом /etc/cron.daily/popularity-contest, но продолжает работу лишь один раз в неделю. Чтобы распределить нагрузку на сервер, день выбран случайным образом и указан в файле настройки.
При стандартной настройке cron запуск происходит в 4:20 утра. Время можно изменить в /etc/crontab, но если ваш компьютер включён не постоянно, лучше установите пакет anacron.
Вопрос
Не хочу, чтобы письма popcon отправлял root! Как заменить обратный адрес?
Ответ
Чтобы отправлять письма с адреса myuser, исправьте функцию do_sendmail в скрипте /etc/cron.daily/popularity-contest следующим образом:
do_sendmail()
{
  su myuser -s /bin/sh -c "/usr/sbin/sendmail -oi \"$MAILTO\""
}
Вопрос
Мой компьютер не имеет возможности отправлять почту в Интернет. Как я могу поучаствовать?
Ответ
Начиная с версии 1.30, стало возможно использовать протокол HTTP. Сейчас он используется по умолчанию, но при обновлении с предыдущих версий требуется включить его вручную.
Вопрос
Как мне указать прокси-сервер для использования HTTP?
Ответ
popularity-contest учитывает переменную окружения http_proxy, которую вы можете задать в /etc/environment. Либо вы можете указать прокси-сервер персонально для popularity-contest, добавив строку
HTTP_PROXY="http://<proxy hostname>:<port>"

в файл /etc/popularity-contest.conf.

Вопрос
Как преобразовать время из отчёта popcon в человеческий формат?
Ответ
В отчётах указывается количество секунд с начала компьютерной эры, а именно с 1970-01-01 00:00:00 UTC. Вы можете превратить, например, 1139229934 в обычную дату командой
date -d '1970-01-01 UTC 1139229934 seconds'

или короче

date -d '@1139229934'