Слегка новые развлечения

По результатам первой в мире гонки беспилотных автомобилей — систему нужно допиливать, ибо все закончилось аварией. Но в которой никто не пострадал 😉 Но сам факт такого соревнования, уже радует.
Подробности тут: https://tproger.ru/news/autopilot-cars-race-crash/

Как побороть баг в newusers

Первый раз в жизни приключилась необходимость, экспортировать большое количество пользователей из одного дистрибутива, в другой. Сперва думал, как и чего наколхозить для достижения истинного дзена, но нашел утилиту newusers (нашел — громко сказано, она всегда рядом была, в пакете shadow) и возрадовался.

Прога умеет создавать пользователей руководствуясь списком в текстовом файле, где каждая строка имеет вид:

user_name:clear_text_password:number_uid:number_gid:text_comment:home_dir:user_shell

где:

  1. user_name — это имя пользователя (латиницей);
  2. clear_text_password — нешифрованный пароль;
  3. number_uid — цифровой идентификатор пользователя (должен быть больше UID_MIN и меньше UID_MAX в файле /etc/login.defs) ;
  4. number_gid — цифровой идентификатор группы (должен быть больше GID_MIN и меньше GID_MAX в файле /etc/login.defs) ;
  5. text_comment — Комментарий, или фио пользователя (можно кириллицей);
  6. home_dir — домашняя директория (скрипт создаст ее сам);
  7. user_shell — командная оболочка или например /usr/sbin/nologin, если в шелл пользователю нельзя;

Но радость была не долгой. Скормив проге список пользователей, получил в ответ:


root@server:/home/serp# newusers ./userlist.txt
*** Error in `newusers': free(): invalid next size (fast): 0x00000000012b23d0 ***
Aborted (core dumped)

Читать

8 примеров команд для hpacucli на сервере HP под Linux

hpacucli это консольное приложение для управления и мониторинга RAID массивов на HP серверах. Логика работы программы не очень очевидна, поэтому предлагаю вашему вниманию 8 самых важных заклинаний %)

  1. Во первых, есть два пути выполнить команду, в интерактивном режиме, и в режиме для скриптов, в котором все задается непосредственно в аргументах командной строки. В интерактивном режиме приглашение принимает вид «=>». Что бы вызвать интерактивный режим, нужно запустить приложение без аргументов.

    [root@10 ~]# hpacucli
    HP Array Configuration Utility CLI 9.40.12.0
    Detecting Controllers…Done.
    Type «help» for a list of supported commands.
    Type «exit» to close the console.
    => rescan

    Тот же самый эффект будет если запустить программу с аргументом:

    # hpacucli rescan

  2. Состояние логических и физических дисков

    => ctrl all show config
    Smart Array P410 in Slot 4 (sn: PACCR9SYN3JR )
    array A (SAS, Unused Space: 0 MB)
    logicaldrive 1 (558.7 GB, RAID 5, OK)
    physicaldrive 1I:1:1 (port 1I:box 1:bay 1, SAS, 300 GB, OK)
    physicaldrive 1I:1:2 (port 1I:box 1:bay 2, SAS, 300 GB, OK)
    physicaldrive 1I:1:3 (port 1I:box 1:bay 3, SAS, 300 GB, OK)
    physicaldrive 1I:1:4 (port 1I:box 1:bay 4, SAS, 300 GB, OK, active spare)

    SEP (Vendor ID PMCSIERA, Model SRC 8x6G) 250 (WWID: 500143800695275F)

    В данном случае, у нас RAID 5, из 3 дисков + 1 spare. Еще из полезной информации — номер слота в котором стоит рейд контроллер. В данном случае — слот 4.

Читать

Ошибка Apt BADSIG и кэширующий прокси сервер

На одном из серверов приключилась бесячая ошибка APT BADSIG. Стандартное заклинание не сработало. Перебрал вариантов кучу, в частности apt-cacher-cleanup.pl не работал по причине

Undefined subroutine &main::inet_aton called at /usr/share/apt-cacher/lib/apt-cacher.pl line 221.

Совершенно очевидно, что проблема в закешированном битом файле, что подтверждалось наличием 2 файлов в /var/lib/apt/lists/partial, причем, если их удалить, и сделать aptitude update, они снова появятся.

Простого пути сбросить кэш апт кэшера я не нашел.

В результате утомило меня это дело, и я просто снес его рабочие файлы.

/etc/init.d/apt-cacher stop
rm -R /var/cache/apt-cacher/*
mkdir -p /var/cache/apt-cacher/{headers,import,packages,private}
/etc/init.d/apt-cacher start

в результате чего, проблема волшебным образом решилась.

Может пригодится кому? 😉

Конвертировать таблицу Excel в Trac Wiki

Как то утомило меня ручками рисовать палочки в вики, прикрутил онлайн конвертер http://pustovoi.ru/e2w/index.php

Теперь что бы скопипастить таблицу из Excel (куда легко вставляются таблицы из других источников, например из браузера), достаточно скопипастить эту таблицу из Excel в форму на указанной странице, нажать «Конвертировать», и скопипастить результат в трак.

Верной дорогой идем

Наконец то сообщество OpenSource научилось договариваться. Ну или как минимум, основные вендоры.

Сегодня при обновлении списка пакетов получил сообщение об ошибке:

AppStream cache update completed, but some metadata was ignored due to errors

Закурил ман, загуглил ошибку, и вот что узнал.

Я как то писал о snappy (http://pustovoi.ru/2016/2314), так вот это в том же направлении шаг. Для облегчения установки и менеджмента пакетов на разных дистрибутивах. По сути, appstream — это стандартизованное API для доступа к базе пакетов пакетного менеджера.

Как пишут сами разработчики, основная причина появления этого проекта — упрощение создания аналогов Software Center. Т.е. как я себе понял — все идет к междистрибутивному AppStore для Linux.

По крайней мере, очень хочется в это верить.

А ошибку кстати, вроде пофиксили (https://bugs.launchpad.net/ubuntu/+source/appstream/+bug/1644498)

Подробнее тут:

https://github.com/ximion/appstream

https://en.wikipedia.org/wiki/AppStream

Тем кто хоть одну серьезную программу написал посвящается

Если ты в своей жизни хоть раз писали что-то большее «Hallo world», то вероятно уже знаешь, что не всегда просто предусмотреть все.

Например:

Код языка совпадает с кодом страны.
Не всегда. Код страны в Японии — jp. Код языка — ja.

или вот:

У каждого места есть только один официальный адрес.
Однако, в Женеве есть дамба, одна ее часть находится во Франции, другая — в Швейцарии. И у неё два адреса.

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

На гитхабе появился постоянно обновляемый список подобных «мелочей».

Ниже перевод с сайта tproger.ru

Мифы о географии

  1. У одного места может быть только одно официальное название.
    На самом деле, не всегда. «Женева» на разных языках внутри страны пишется так: Genève, Genf, Ginevra.
  2. Топонимы (названия топографических объектов) подчиняются правилам языка.
    И это не так: согласно правилам немецкого языка последовательность «ue»  равна «ü». Это правило существует, потому что «üe» больше не используется в языке. Однако холм за Цюрихом называется «Üetliberg».
  3. У каждого места есть только один официальный адрес.
    Однако, в Женеве есть дамба, одна ее часть находится во Франции, другая — в Швейцарии. И у неё два адреса.
  4. Вы заблуждаетесь, если думаете, что у каждой страны есть столица.
    Например, Швейцария явно решила выделиться — у неё нет столицы. Правительство находится в Берне, но как таковой столицы у них нет.
  5. Здания не двигаются.
    Однако это не так! Ведь в Цюрихе здание весом в 6200 тонн было сдвинуто на 60 метров.
  6. Код языка совпадает с кодом страны.
    Не всегда. Код страны в Японии — jp. Код языка — ja.
  7. Если вы думали, что нумерация зданий не может начинаться с нуля, то вы ошибались.
    Пример: 0 Egmont Road, Middlesbrough, TS4 2HT

Узнать ещё о нескольких мифах можно здесь и здесь.

Мифы об именах

  1. Имена людей записаны в ASCII.
  2. Имя человека не может быть изменено ни при каких обстоятельствах.
  3. Если вы думали, что имена не могут состоять из цифр, то вы, к сожалению, ошибались. Ведь в Москве 14 лет назад родился мальчик, которого назвали БОЧ рВФ 260602.
  4. Приставки и суффиксы в именах можно спокойно игнорировать.
  5. Имена даются людям при рождении.
  6. Люди не могут иметь двойные имена.

Еще несколько мифов можно посмотреть здесь. Читать

Обновления в репах Ubuntu

USN-3141-1: Уязвимость в Thunderbird, позволяет удаленному злоумышленнику выплнить код с привелегиями приложения или уронить его.
USN-3140-1:То же самое касательно firefox. Удаленный атакующий может путем хитрого URL’а уложить огнелиса, или выполнить код на вашей стороне.
USN-3142-1:Уязвимость в ImageMagic. Админам серверов с хостингом PHP и обработкой изображений — внимание! Уязвимость потенциально позволяет с помощью особого файла изображения выполнить удаленный код с правами доступа сервиса.

Все применительно к:

12.04
14.04
16.04

Ошибка GPG NO_PUBKEY после apt-get update

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

Со временем это надоедает.

У меня так было с горячими клавишами в screen, и так есть с командой загрузки GPG ключа для нового репозитория.

Сегодня добавил реп с яндекс диском на сервер, сделал apt-get update и получил вышеозначенную ошибку NO_PUBKEY. А это значит, что в хранилище открытых ключей моего сервера, нет ключа которым подписаны списки пакетов данного репа, и он (apt-get) предупреждает, что возможно пакеты того… в смысле с руткитами и троянами, типа снимает с себя всякую ответственность. Читать

Горбатого могила исправит

Несколько лет назад я имел несчастье убедиться в качестве продукции издательства williams publishing. В русском переводе руководства по java нашлись задвоенные страницы… или абзацы, уже точно не вспомню. Но факт остается фактом. Кстати говоря, я им даже письмо тогда написал, правда сейчас не совсем помню, с какой целью.

Тогда я было подумал, что это все наши, «локализаторы» перевод так некачественно сделали. А сегодня гуглил документацию по проектированию информационных систем, и совершенно случайно нагуглил ссылку на перевод книги «Анализ и проектирование информационных систем с помощью UML 2.0» от того же самого издательства…. И не на каком-нибудь рутрекере, а на сайте самого издательства.

Я так понимаю они на персонале экономят как могут. Вычитать текст некому, админить сервер тоже не кому.

К слову вот ссылка на первую часть http://www.williamspublishing.com/PDF/5-8459-0276-2/part0.pdf