Обновился с 12.04 до 16.04. Обновление прошло без сучка, без задоринки, но удалённый сервер перестал грузиться. KVM в простом доступе нет, есть rescue-образ. После загрузки в него и монтирования системы в /var/log вижу пустой unattended-upgrades/unattended-upgrades-shutdown.log
Вообще, /var/log монтируется отдельным разделом с lvm, поэтому появление там подобного смущает :)
Машина после рестарта пингуется. Но ни один сетевой сервис недоступен. Была мысль, что наличие левых файлов в /var/log не даёт смонтироваться ему штатно, но добавление noempty в параметры монтирования ничего не меняет. Судя по всему, до монтирования дело вообще не доходит. Но сеть, повторюсь, поднимается, пинг идёт. Что это может быть. Есть у кого мысли, куда дальше копать? :)
Никто не в курсе, как через Twitter API получить множественные фотки в аттаче? А то все стандартные средства в случае одиночной фотки возвращают по ней всю инфо, по серии — пусто. Один текст.
Задача — перевод картинок сайта на IPFS. Прописать в статическом html в качестве гейта gateway.ipfs.io — некорректно. Создание высокой нагрузки на чужой ресурс и, вообще, некомильфо. Прописать один свой сервер — во многом теряется смысл IPFS. Проще отдавать сразу статику тогда. Хочется прописать N разных внешних серверов-гейтов, и дёргать, распределив нагрузку. Список серверов не фиксированный, поскольку могут добавляться новые, какие-то могут падать.
Поэтому видится такое решение. Прописываем в статике, пусть тот же gateway.ipfs.io как fallback. А при отдаче nginx'ом меняем этот хост на свои. Для фиксированной замены — нет вопросов. ngx_http_sub_module и всё. Но нужно распределение. Т.е. нужно менять на рэндомный сервер из списка.
Вопрос, как в nginx записать в строку случайное значение из списка?
Очевидно, в голову приходит посмотреть на perl/lua модули. Но это сильно снижает смысл работы с nginx, тогда уже можно тупо на PHP сделать отдачу статики его средствами. Ну, или хотя бы Golang.
Есть ли вариант, как это сделать в nginx?
Или, может, есть какое-то радикально иное решение задачи?
Задача, вроде бы, примитивная — скачать страницу и все картинки (и прочие файлы), на которые страница ссылается. Но не выкачивая страницы, на которые она ссылается!
И вот тут — облом. Если тупо скачивать с --page-requisites, то страница скачивается в отличном виде, но, понятно, не качаются, например, большие картинки, превьюшки которых стоят на странице.
Если добавляем -r -l1, то качаем всё, на что страница ссылается, но это ещё и десятки, иногда сотни .html первого уровня и... внезапно! тоже с --page-requisites — т.е. десятки и сотни картинок со своими ресурсами!
Если качать без --page-requisites, то наша основная страница качается не целиком, утягиваются не все ресурсы.
Если добавлять --accept '*.jpg' или --reject '*.html', то, опять внезапно, не качается и сама страница, которую мы хотим скачать, так как она — .html
Сегодня с утра офигенно подскочил уровень Local timer interrupts. С обычных нескольких тысяч в секунду до 70-80 тыс. Также подскочило число форков с нескольких десятков в секунду до 700. Я так понимаю, что какой-то процесс/процессы стали вылетать/запускаться в бесконечном цикле. Но что это — х.з., по top/atop/ntop/etc не отловить. Есть мысли, как поймать, что там постоянно форкается?
У меня тут возникло несколько вопросов, которые не очень понятны с куцей информацией офсайта.
Главный вопрос — безопасность данных. Я правильно понимаю, что вся секурность соединений там в непубличности introducer-uri? И стоит его выдать публично, то к сети сможет присоединиться любой желающий, но также любой желающий сможет забить всю эту сеть файловым мусором? То есть невозможно разрешить присоединение нод, которые будут только хранить данные, но не смогут менять их?
Ещё вопрос — можно ли как-то узнать, на сколько нод реально залился сохраняемый файл. В штатной информации об этом ничего не вижу.
...
Вообще, порадовала скорость этой системы и возможность предоставлять прямой http-доступ к файлам :)
Есть весьма нагруженная машина с 32Гб оперативки. Под MySQL удаётся выделить не более 11Гб оперативки. Иначе совсем не остаётся места под кеши и буфера и всё начинает чудовищно тормозить.
Есть MySQL базы суммарным объёмом 36Гб. Основная часть используется редко, поэтому выделенные 11Гб вполне справляются. Да, некоторые крупные запросы тормозят, но это не критично.
Критично другое. Есть таблица на 1Гб размером. Когда к ней обращаются, результат нужен мгновенный. Но обращения к ней по всему объёму бывают редко, поэтому она вытесняется из кешей и оно при обращении часто тормозит.
Можно ли как-то придумать, чтобы эта таблица всегда была в кеше MySQL?
Вариант, который приходит в лоб — это часто сканировать эту таблицу, скажем, регулярно читая её записи по случайному индексу. Но как-то криво :)
Я щупал ZeroNet около полугода назад, весной. Тогда это была скорее демка концепции, непрактичная и кривая. Было непонятно, нафига оно и что с ней делать.
Пару дней назад попробовал снова и обнаружил, что эта p2p-сеть стала НАМНОГО приятнее. Появился свой «твиттер» (ZeroMe), работает всё очень шустро, без глюков. Обновления происходят прямо на глазах, без лишних F5. Блоги удобно свои создаются и работают. Просто клонируешь понравившееся приложение стороннее и начинаешь наполнять своим контентом. Посмотрел структуру приложений — устроены просто (html+js+sqlite). Надо будет попробовать снаружи в них соваться для интеграции с Infonesy.
ZeroMe, ИМХО, очень хорошая альтернатива микроблогам. Надо как-то коммьюнити только собирать :) Хотя стартовать и сейчас просто — есть лента всех сообщений всех пользователей ZeroMe, так что написанное тобой кто-то обязательно прочитает.
Сабж. Дня два как. Часть открывается как раньше (например, Google), часть — тормозит и отваливается с таймаутом (например, GitHub). С наличием/отсутствие HTTPS корреляции нет. Перестало работать всё прямо «на лету», при чём GitHub вначале отваливался эпизодами, то не работал, то иногда прорывался. В Хроме и Фоксе всё работает.
Проблема только под Opera 40/Ubuntu. В Windows всё ок. С чистым профилем от чистого юзера не работает тоже. Выключение всяких защит от фишинга не помогает. Включение Opera Turbo или VPN тоже не помогает.
Есть мысли, куда копать? :) А то на этом ноуте без Оперы не жизнь (Фокс периодически начинает тормозить и жрать CPU, Хром не умеет нормально работать с HiDPI, рисуя уродские масштабированные шрифты).
Планирую переводить сайты на https, но сейчас всё чаще попадаются провайдеры, перехватывающие трафик под свой сертификат. Хотелось бы в этом случае пользователю выдавать жирное предупреждение. Как это сделать, куда копать?
Часто спорят «зачем Опера [на WebKit], когда есть Хром?» Сегодня пощупал Хром на 128dpi (под Ubuntu) и был неприятно удивлён его ужасом со шрифтами. Такое впечатление, что вместо прямого и красивого субпиксельного рендеринга в 128dpi в заданных размерах (как сделано в Опере), он рендерит в градациях серого в 96dpi и потом на треть масштабирует вверх. Получается ужасно. Подробнее — http://www.balancer.ru/g/p4285175
Пытаюсь поставить steam. Тот ругается на зависимости:
$ sudo apt install libgl1-mesa-dri:i386 libgl1-mesa-glx:i386
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
libegl1-mesa : Depends: libgl1-mesa-dri (= 11.3~git1604140730.171a57~gd~w) but it is not going to be installed
libgbm1 : Depends: libgl1-mesa-dri (= 11.3~git1604140730.171a57~gd~w) but it is not going to be installed
libgl1-mesa-dri:i386 : Depends: libdrm-amdgpu1:i386 (>= 2.4.63) but it is not going to be installed
Depends: libdrm-intel1:i386 (>= 2.4.48) but it is not going to be installed
Depends: libdrm-nouveau2:i386 (>= 2.4.66) but it is not going to be installed
Depends: libdrm-radeon1:i386 (>= 2.4.31) but it is not going to be installed
Depends: libdrm2:i386 (>= 2.4.38) but it is not going to be installed
libgl1-mesa-glx:i386 : Depends: libdrm2:i386 (>= 2.3.1) but it is not going to be installed
libgnome-desktop-3-12 : Depends: libgtk-3-0 (>= 3.9.10) but it is not going to be installed
libqt5gui5 : Depends: libgl1-mesa-glx but it is not going to be installed or
libgl1
Recommends: libqt5svg5 but it is not going to be installed
libqt5multimedia5-plugins : Depends: libqgsttools-p1 (>= 5.5.1) but it is not going to be installed
libwxgtk3.0-0v5 : Depends: libgl1-mesa-glx but it is not going to be installed or
libgl1
qml-module-qtquick2 : Depends: libgl1-mesa-dri but it is not going to be installed or
libgl1
unity-asset-pool : Depends: adwaita-icon-theme but it is not going to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
Всякие libgl1-mesa-dri у меня стоят версий 11.3~git1604140730.171a57~gd~w с каких-то старых экспериментов в попытках устранить проблемы с аппаратным ускорением. Даже не помню, из какого ppa ставилось, т.к. оно, вероятно, уже снесено:
Опаньки... Очевидно, что всякие xfce/gnome не привязаны к версии 11.3 и спокойно переживут даунгрейд на 11.2... Но хотят сноситься. Как быть, как убедить систему даунгрейдить всё, не снося половину софта?
Есть ноутбук. Есть точка доступа. Цепляюсь ноутом к точке. Присоединяется. Всё работает, внешний мир пингуется и т.п. Секунд через 5 после соединения с вероятностью процентов 90 происходит обрыв соединения. Если эти 5 секунд проходят без обрыва — то потом Интернет работает сколь угодно долго и без проблем. Другие устройства (пара коммуникаторов, планшет) цепляются и работают без проблем.
Лог соединения.
[Ср авг 24 15:39:51 2016] wlo1: authenticate with 6c:83:36:42:43:6f
[Ср авг 24 15:39:51 2016] wlo1: send auth to 6c:83:36:42:43:6f (try 1/3)
[Ср авг 24 15:39:51 2016] wlo1: authenticated
[Ср авг 24 15:39:51 2016] rtl8723be 0000:03:00.0 wlo1: disabling HT as WMM/QoS is not supported by the AP
[Ср авг 24 15:39:51 2016] rtl8723be 0000:03:00.0 wlo1: disabling VHT as WMM/QoS is not supported by the AP
[Ср авг 24 15:39:51 2016] wlo1: associate with 6c:83:36:42:43:6f (try 1/3)
[Ср авг 24 15:39:51 2016] wlo1: RX AssocResp from 6c:83:36:42:43:6f (capab=0x411 status=0 aid=4)
[Ср авг 24 15:39:51 2016] wlo1: associated
[Ср авг 24 15:39:51 2016] IPv6: ADDRCONF(NETDEV_CHANGE): wlo1: link becomes ready
В связи с предстоящим прекращением поддержки Flash в Chrome стоит болезненный вопрос проигрывания legacy-архивов .flv . Переконвертация — не лучший выход. Поскольку проблема достаточно массовая, интересно, не придумал ли кто-то решения для проигрывания flv средствами html5? То есть знаю, что официально flv в html5 не поддерживается, но вдруг? А то гуглёж пока находит только плееры с fallback загрузкой flash в таких случаях. Что не годится для будущего :-/
Ubuntu его видит, iwlist wlo1 scan показывает точку доступа (всё верно, и название, и номер канала) и... на этом всё. Штатный GUI не видит никаких точек доступа, попытки подключить вручную на указании пароля через key/enc, что в ifconfig, что в iwconfig, что с «s:», что без выдаёт:
Error for wireless request "Set Encode" (8B2A) :
SET failed on device wlo1 ; Invalid argument.
Краткая преамбула. Трагически погиб очень хороший и «широко известный в узких кругах» человек (Варбан Пешков). Это был очень светлый, добрый человек. Прошло несколько месяцев с его гибели и те, кто знал его в Интернете захотели скинуться на помощь семье — памятник организовать помочь и т.п.
И вот тут возникла проблема. Товарищ жил за границей, в Болгарии. Переводить туда по мелочи, на счёт его жене не выгодно, много берут за операции. Народ решил собирать в России на Я.Деньги, а потом, как соберётся сумма крупнее, так разом и перевести на другой счёт.
Как только у ответственного товарища на счету собралось ~30 тыс. рублей, при попытке пробного перевода на чужой счёт, его счёт в Я.Д. был заблокирован. «Чтобы ваши деньги не пропали». Звонок в техподдержку — «как только пройдёте идентификацию [счёт не был сразу персонифицирован], так сразу разблокируется». Человек прошёл идентификацию через Евросеть, но ничего не разблокировалось. Звонок — «Это техническое, пишите в службу поддержки, у меня показывает что все разрешено». Человек пишет письма, но уже две недели ему нет никакого ответа.
Дальше деньги собирали прямыми переводами по счетам в России, на комиссии потери, конечно, но зато работает.
Но вопрос, что делать человеку с этими «зависшими» (его собственными — он собранную сумму родственниками погибшего перевёл из своего кармана) деньгами?
— CMS базируется на плоских файлах в Markdown формате (для ускорения опционально возможно кеширование «поверх»). — Хотя наличествуют и традиционные способы установки, рулит реализация всего на Composer. — Большое количество плагинов и тем (Twig). — Запускается в базовом варианте сразу, без всякого конфигурирования. — Есть свой пакетный менеджер для расширений/тем. — Расширения/темы можно ставить через админку (хотя первый раз она ставится отдельным пакетом). — Мультисайты, многоязыковость, ЧПУ, роутинг, редиректы — Система пользователей и прав (хотя не разбирался, есть ли возможность коллективной работы). — Контент может браться из Git, SVN, Dropbox и других. В т.ч., например, текст страниц может быть прямо на GitHub.
Моя идея «поправил файл дома, он через SparkleShare автоматом ушёл на GitHub, GitHub дёрнул сайт и вот страница уже на сайте», т.е. «правлю Markdown-файл дома в файловой системе — обновляется удалённый сайт» тут, кажется, уже работает.
Забавно, что формат метаданных в Markdown практически совпадает с моим :) Т.е. большинство моих тестовых страничек в этой CMS будут работать как есть.
Небольшие нестыковки с моей системой по структуре имён файлов, расположению картинок и т.п. У меня логичнее :)
Надо будет подумать. То ли эту CMS как есть на мои новые сайты ставить, то ли просто в роли бэкенда/миддлэнда (админка, редактор файлов, благо, он хорошо сделан, а фронт уже мой). В любом случае система заслуживает внимания :)
Вот в чём заметил существенную разницу с моими решениями — это в системе путей. У них каждая страница — это файл. Оканчивается без слеша на конце. В HTML такое поведение нередко порождает путаницу, поэтому у меня каждая страница — это каталог. Т.е. у меня все встроенные элементы лежат уровнем ниже, у них — на том же уровне, что и страница. Поэтому совсем без конвертации, к сожалению, контент нельзя использовать там и там. С другой стороны, у них гибкая система плагинов, так что, может, получится адаптировать её под мою структуру штатными средствами :)
Прекрасно знаю, что COUNT(*) в InnoDB не торт... Но не до такой же степени!
Есть две таблицы:
| ... | tab1 | tab 2|
|-------------------|------|------|
| Число строк, млн | 3.2 | 4.0 |
| Объём на диске,ГБ | 6.0 | 7.6 |
| Число полей | 4 | 41 |
| Число индексов | 1 | 27 |
Вроде как никаких чудес, таблицы почти идентичны (не считая сложности второй), работа с ними идёт равно активно (они, вообще, для двух частей одних и тех же данных и 99% обращений идёт к обеим таблицам сразу).
Так вот, COUNT(*) во второй выполняется за ожидаемые 0.47 сек на холоде. Первая же таблица выполняет COUNT(*) за 7-10 минут!
Дело не в дисках, не в фрагментации — недавно вся БД переносилась на другой раздел, ничего не меняется...
Остальная работа (извлечение записей по индексам, JOIN, сортировки) работает отлично.
Есть мысли с чем такое поведение может быть связано?