Какое-то время назад я обновил wifi точку доступа TP-Link TL-WA901ND на роутер TP-Link Archer C6(RU) v2 ради поддержки диапазона 5GHz. Примерно месяц я пользовался роутером на штатной прошивке в режиме точки доступа - скорость по 5GHz отличная, в диапазоне 2.4GHz тоже соответствует ожиданиям. В принципе можно было и дальше пользоваться этой прошивкой, но не было возможности отключить режим WPS и с отключенным DHCP сервером не показывало список подключенных клиентов.
После выхода релиза OpenWrt 19.07.0 решил попробовать альтернативную прошивку. Инструкция по обновлению прошивки на английском языке есть на сайте OpenWrt. Обновить прошивку из web интерфейса штатной прошивки не получилось. Пришлось делать установку через метод TFTP.
Заметки о Linux, системном администрировании, программировании, электронике и не только
четверг, 20 февраля 2020 г.
среда, 5 февраля 2020 г.
Изменения в моем репозитарии
В моем репозитарии произошло несколько изменений:
- Собрал пакеты для Midnight Commander 4.8.24 под ARM.
- Добавил поддержку Ubuntu Eoan.
- Удалил из репозитария Ubuntu Cosmic и Ubuntu Disco из-за EOL.
Как скачать лог Stackdriver
Журналирование в GCP реализовано через Stackdriver Logging. На прошлой неделе пришлось обратиться в техническую поддержку Google по поводу поломанной работы с зависимостями в AI Platform (ML Engine). Для тикета нужно было скачать логи заданий с ошибкой и без нее. Если пытаться выгружать логи через консоль GCP, то сохранит только ту часть, который видна в данный момент в интерфейсе (в моем случае это малая часть от полного лога).
Чтобы выгрузить весь лог целиком воспользуемся консольной командой
Для удобства чтения я извлекаю из JSON только сам текст сообщения (узнать больше о фильтрации в jq можно тут).
Чтобы выгрузить весь лог целиком воспользуемся консольной командой
gcloud logging read. В моем случае для успешной задачи ML Engine фильтр будет resource.labels.job_id="some_successful_ml_job" timestamp>="2020-01-27T14:28:43Z" а для задания с ошибкой: resource.labels.job_id="some_failed_ml_job" timestamp>="2020-01-30T13:42:58Z" (чтобы использовать этот запрос в команде нужно экранировать двойную кавычку).gcloud logging read "resource.labels.job_id=\"some_successful_ml_job\" timestamp>=\"2020-01-27T14:28:43Z\"" --format=json --order=asc > success.json gcloud logging read "resource.labels.job_id=\"some_failed_ml_job\" timestamp>=\"2020-01-30T13:42:58Z\"" --format=json --order=asc > failure.json
Для удобства чтения я извлекаю из JSON только сам текст сообщения (узнать больше о фильтрации в jq можно тут).
jq -r .[].jsonPayload.message < success.json > success.txt jq -r .[].jsonPayload.message < failure.json > failure.txt
вторник, 28 января 2020 г.
Midnight Commander 4.8.24
Лучше поздно, чем никогда - собрал пакеты для Midnight Commander 4.8.24 и выложил в свой репозитарий.
Заодно немного статистики по загрузкам:
Заодно немного статистики по загрузкам:
- за последние 12 часов пакет был скачан 86 раз
- в лидерах по количеству загрузок Ubuntu: 36 Bionic, 16 Xenial, 6 Disco
- 80 загрузок для amd64 и 6 загрузок для i386
вторник, 14 января 2020 г.
Ошибка при создании Cloud Functions через Terraform
При очередном тестировании конфигурации Terraform выдал ошибку при создании Cloud Functions в GCP:
Для работы с Terraform я использую авторизацию приложения с правами пользователя (application default credentials). Это продиктовано требованиями безопасности, да и в целом это имеет смысл т.к. приложение выполняет изменения в GCP от моего имени. Если использовать сервис аккаунт, то все работает без проблем, но тогда либо нужно создавать по отдельному сервис аккаунту на каждого пользователя, либо смириться с проблемами аудита.
googleapi: Error 403: Your application has authenticated using end user credentials from the Google Cloud SDK or Google Cloud Shell which are not supported by the cloudfunctions.googleapis.com. We recommend that most server applications use service accounts instead. For more information about service accounts and how to use them in your application, see https://cloud.google.com/docs/authentication/.Для работы с Terraform я использую авторизацию приложения с правами пользователя (application default credentials). Это продиктовано требованиями безопасности, да и в целом это имеет смысл т.к. приложение выполняет изменения в GCP от моего имени. Если использовать сервис аккаунт, то все работает без проблем, но тогда либо нужно создавать по отдельному сервис аккаунту на каждого пользователя, либо смириться с проблемами аудита.
суббота, 16 ноября 2019 г.
Релиз jtv2xmltv 0.2.1
Сегодня я выпустил новый релиз 0.2.1 для моей утилиты jtv2xmltv - конвертер электронной программы передач из формата JTV в XMLTV.
Список изменений:
Список изменений:
- После нескольких жалоб на путаницу с заголовком JTV я добавил поддержку альтернативного заголовка.
- Появилась поддержка выбора кодировки для содержимого EPG (по-умолчанию выбирается CP1251). Кодировка задается опциями
-eили--encoding. - Поправил зависимости пакета для Debian.
- Добавил Debian copyright и страницу man - теперь Lintian не выводит ошибок или предупреждений.
суббота, 2 ноября 2019 г.
Собрал acme.sh для Debian
Какое-то время назад крон, который обновляет сертификаты Let's Encrypt, стал выдавать ошибку вида:
Сегодня занялся этой проблемой вплотную. Поиск вывел на описание ошибки urn:acme:error:badNonce (JWS has no anti-replay nonce). Для работы с сертификатами LE я использую acme.sh. И чтобы решить проблему достаточно обновить версию.
Собрал Debian пакет для acme.sh 2.8.3 и залил его в мой репозитарий для Debian Stretch и Debian Buster.
Описание релиза 2.8.3 на GitHub:
Renew: 'www.tataranovich.com'
Multi domain='DNS:tataranovich.com'
Getting domain auth token for each domain
Getting webroot for domain='www.tataranovich.com'
Getting new-authz for domain='www.tataranovich.com'
The new-authz request is ok.
new-authz error: {"type":"urn:acme:error:badNonce","detail":"JWS has no anti-replay nonce","status": 400}
Please check log file for more details: le-issue.log
Error renew www.tataranovich.com.
Сегодня занялся этой проблемой вплотную. Поиск вывел на описание ошибки urn:acme:error:badNonce (JWS has no anti-replay nonce). Для работы с сертификатами LE я использую acme.sh. И чтобы решить проблему достаточно обновить версию.
Собрал Debian пакет для acme.sh 2.8.3 и залил его в мой репозитарий для Debian Stretch и Debian Buster.
Описание релиза 2.8.3 на GitHub:
Letsencrypt CA recent changed the CDN provider, which resulted in hanging issues. Any downstream package should update. This is important.После установки новой версии сертификаты обновились без проблем.
Подписаться на:
Сообщения (Atom)