Восстановление innoDB базы mysql

Все бывает в первый раз. Вот и вчера, привычно потушил mysql, привычно запустил… и она не запустилась.
В логах при этом нашел сперва много вот таких строк:

[Warning] /usr/sbin/mysqld: Forcing close of thread 77 user: ‘zabbix’

а потом вот это:

вот в этом месте и пришло осознание…. приехали. Читать

Vipnet hw1000 factory defaults

Возникла вот необходимость сбросить на заводские настройки vipnet hw1000. Техподдержка протухла давно, спросить не у кого, но решение нашлось достаточно быстро.

Не секрет, что vipnet работает на модифицированном linux, следовательно, делаем загрузочную флешку с любимым дистром, загружаемся с нее.

root у них находится на /dev/sda2, boot на /dev/sda1, монтируем их куда удобно. Обратите внимание, что root отформатирован в reiserfs. Затем удаляем все из root. А потом распаковываем boot/fs_main.tgz в root. В архиве и находится искомый factory defaults.

Распознавание текста (OCR) в Linux

Вам приходилось распознавать отсканированные документы под linux? Мне нет, но вот пришлось, слышал есть свободные аналоги, и вроде все хорошо. Вроде…

Как оказалось, есть 2 основных свободных консольных движка, cuneiform и tesseract, с них я и начал.

Сперва поставил cuneiform, но как его не крутил, он мне выдавал buffer overflow, и сыпал дампами в консоль, в общем вел себя крайне не прилично. Снес его нафиг.  Ставил из репозитория, версия 1.1.0+dfsg-4.

Следующим на очереди был tesseract-ocr, версия в репе была 3.03.02-3, ее и поставил. В Debian\Ubuntu для этого нужно установить 2 пакета:

tesseract-ocr,
tesseract-ocr-rus

Остальные встанут автоматом. Документ распознался с первого раза без танцев с бубном. Опции подсмотрел тут: https://habrahabr.ru/post/153617/, в результате команды:

tesseract input.png output.txt -l rus -psm 6

получил нормальный текст, разбитый по блокам как и в оригинале, без единой ошибки (правда качество скана было хорошее). -psm 6 означает:

6 = Assume a single uniform block of text.

В общем задачу он свою выполнил, но мне интересно стало, неужели нет ни одного нормального gui приложения? Я конечно не надеялся на уровень abby finereader, но все же.

Оказалось – есть. Причем есть кроссплатформенные решения на java, а есть gui к вышеупомянутым движкам. По понытным причинам гуй для cuneiform  я искать не стал, потому поставил YAGF и OCRFeeder. Читать

Sudo insults

Кому и за что нравиться linux? Для меня, одно из качеств, которые нравятся в этой системе – это какая то человечность. Компоненты системы писали сотни тысяч энтузиастов, в большинстве своем очень крутых программистов, и многие из них не лишены чувства юмора… которое может проявляться в неожиданных местах. И всей жизни не хватит, что бы эти приколы исчерпать…. и это здорово.

 

Я давно использую эту систему, но только сегодня узнал, что если в конфиге для sudo, добавить строку

Defaults insults

то при вводе неправильного пароля в sudo, система будет над тобой чуточку издеваться )))) Выглядит это так:

6c06708e-c154-11e5-9a0d-5a06d5cef2c7

zsync

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

 

Суть в том, что рядом с образами лежат файлы с расширением zsync (раньше были еще jigdo), и если тебе нужно скачать скажем ubuntu-12.04.5-dvd-i386.iso, и есть в наличии например ubuntu-12.04.2-dvd-i386.iso, то 90% содержимого у них на самом то деле совпадают, и с помощью zsync можно скачать только недостающие 10%.

Как это делается?

В директории в которой лежит старый файл (ubuntu-12.04.2-dvd-i386.iso) нужно от пользователя имеющего права на запись в этой директории ввести команду:

zsync http://cdimages.ubuntu.com/ubuntu/releases/12.04.4/release/ubuntu-12.04.5-dvd-i386.iso.zsync

программа сама обнаружит имеющийся файл, и сделает из него новый. При этом старый тоже сохранит.

Естественно, если прога у тебя не установлена, то нужно поставить.

PS. Если процесс прервать, то при повторном запуске загрузка продолжится, а не начнется с начала.

PPS. А лень тут при том, что было лень разбираться как пользоваться этой командой.

Terminal server linux

На днях подвернулась шабашка, нужно было срочно настроить терминальный сервер на linux, причем выбор протокола был сильно ограничен, т.к. использовать его предполагалось через тонкие клиенты, который поддерживают только RDP и XDMCP.

Сперва была неудачная попытка настроить все это дело через x11rdp, но не получилось (уже нашел причину), т.к. время поджимало, пришлось обратиться к старому, но не всеми забытому XDMCP. Как оказалось, даже в Ubuntu, которая активно выпиливает пережитки прошлого из своих дистрибутивов, удалось без танцев с бубном запустить терминальный клиент через XDMСP. Читать

Системные вызовы Linux и Windows

Последние пару недель изучаю ассемблер, по ходу дела возникают разные мысли и вопросы, на которые успешно отвечает гугль. Нагуглил сейчас пост на stackoverflow о системных вызовах в linux и windows: http://stackoverflow.com/questions/2489889/system-calls-in-windows-native-api

Почитал, повеселился, настроение улучшилось. Что развеселило? Еще одно подтверждение того, что форточки – это нагромождение костылей и велосипедов размером с небоскреб. Linux конечно тоже не идеален, но с точки зрения программиста – архитектура этой системы гораздо логичнее и правильнее.

Microsoft Visual Studio Code, под Linux, Mac, Windows

2i8a9082

Почти первоапрельская новость обнаружилась 29.04.2015 на большинстве айтишных ресурсов, компания Microsoft на конференции Build 2015, объявила о разработке новой редакции, теперь уже кроссплатформенной среды разработки “Visual Studio Code”. С поддержкой Linux, Mac OS и Windows. Читать

Как конвертировать ext3 в ext4

Много раз уже это делал, но руки все не доходили записать.

Что бы сконвертировать ext3 в ext4 достаточно одного заклиниания:

tune2fs -O extents,uninit_bg,dir_index /dev/DEV

где /dev/dev РАЗДЕЛ с файловой системой.

После этого нужно поменять в /etc/fstab ext3 на ext4, и перезагрузиться.

И вот тут есть ньюанс. У вас обязательно должен быть физический доступ к консоли, т.к. при перезагрузке произойдет проверка раздела на ошибки, и fsck спросит у вас разрешение внести изменения. На случай если вам будет обломно подключать монитор к системнику  ради нажатия одной кнопки, нужно будет нажать “F”.

Как получить статус суперпользователя с помощью уязвимости DRAM: Техника Rowhammer

Занимательная статья. Суть в том, что в модулях DDR память организована в виде срок и слобцов. И т.к. плотность модулей достигла небывалых величин, то обнаружился интересный баг. Если за не большой период времени, очень быстро (540 тясяч раз за 60 миллисекунд) обращаться к одной области памяти, то электромагнитные колебания могут вызвать изменения битов в соседней строке.

В общем теоретически можно получить root привелегии. Естесственно модули с ECC такой беде не подвержены.

http://habrahabr.ru/post/252991/