Ошибка проверки подписи списка пакетов

Если возникает ошика вида:
Следующие подписи неверные: BADSIG 40976EAF437D05B5 Ubuntu Archive Automatic Signing Key <ftpmaster@ubuntu.com>
делай так:
gpg --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5
gpg --export --armor 40976EAF437D05B5 | sudo apt-key add -

Естесственно хэш ключа подставлять нужной свой.

Ubuntu 16.04

Совсем недавно вышел новый релиз популярного дистрибутива Linux — Ubuntu 16.04 LTS. Много уже написано о нем (например вот). Коротко перечислю:

  1. Поддержка snappy
  2. Поддержка Zfs
  3. Поддержка IBM Z
  4. Поддержка Microsoft Azure

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

Дело в том, что с точки зрения разработчика, было очень не удобно поддерживать приложение для разных версий дистрибутива (даже одного), в результате многие приложения из Ubuntu Software Center ставятся поломанными, и требуются танцы с бубном для их реанимации (примеры вот и вот). Теперь нашлось лекарство от этой хвори. Это дистрибутивы приложений в формате «.snap». Читать

Часовые пояса Windows и Linux

Хочу рассказать, какой эпический butthurt приключился у меня вчера на фоне смены часовых поясов подконтрольных серверов. Вот скажи мне человек, почему магаданский часовой пояс в винде называется (UTC+11)? Если магаданское время это UTC-11!!!

Не секрет, что 24.04.2016 в магадане изменился часовой пояс (снова). Под Ubuntu вышла обнова, но как это обычно бывает, на боевых серверах нет интернета. Посему, решил я ставить универсальную часовую зону Etc/GMT+11, улавливаешь чем история кончилась? После синхронизации по ntp время на сервере с какого то хера ускакало на 22 часа назад!

Можно было конечно в тупую поставить часовой пояс при котором отображалось бы верное время, и не разбираться, но в последствии было б только хуже, т.к. уже никто, включая меня не знал, где, что и как настроено. (Т.к. нужно синхронизировать настройки часового пояса в /etc/php5/apache, /etc/localtime и tzdata-java). Читать

Восстановление 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 конечно тоже не идеален, но с точки зрения программиста — архитектура этой системы гораздо логичнее и правильнее.