По результатам первой в мире гонки беспилотных автомобилей – систему нужно допиливать, ибо все закончилось аварией. Но в которой никто не пострадал 😉 Но сам факт такого соревнования, уже радует.
Подробности тут: 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
где:
- user_name – это имя пользователя (латиницей);
- clear_text_password – нешифрованный пароль;
- number_uid – цифровой идентификатор пользователя (должен быть больше UID_MIN и меньше UID_MAX в файле /etc/login.defs) ;
- number_gid – цифровой идентификатор группы (должен быть больше GID_MIN и меньше GID_MAX в файле /etc/login.defs) ;
- text_comment – Комментарий, или фио пользователя (можно кириллицей);
- home_dir – домашняя директория (скрипт создаст ее сам);
- 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 самых важных заклинаний %)
- Во первых, есть два пути выполнить команду, в интерактивном режиме, и в режиме для скриптов, в котором все задается непосредственно в аргументах командной строки. В интерактивном режиме приглашение принимает вид “=>”. Что бы вызвать интерактивный режим, нужно запустить приложение без аргументов.
[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
- Состояние логических и физических дисков
=> 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
Как то утомило меня ручками рисовать палочки в вики, прикрутил онлайн конвертер https://pustovoi.ru/e2w/index.php
Теперь что бы скопипастить таблицу из Excel (куда легко вставляются таблицы из других источников, например из браузера), достаточно скопипастить эту таблицу из Excel в форму на указанной странице, нажать “Конвертировать”, и скопипастить результат в трак.
Верной дорогой идем
Наконец то сообщество OpenSource научилось договариваться. Ну или как минимум, основные вендоры.
Сегодня при обновлении списка пакетов получил сообщение об ошибке:
AppStream cache update completed, but some metadata was ignored due to errors
Закурил ман, загуглил ошибку, и вот что узнал.
Я как то писал о snappy (https://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
Мифы о географии
- У одного места может быть только одно официальное название.
На самом деле, не всегда. «Женева» на разных языках внутри страны пишется так: Genève, Genf, Ginevra. - Топонимы (названия топографических объектов) подчиняются правилам языка.
И это не так: согласно правилам немецкого языка последовательность «ue» равна «ü». Это правило существует, потому что «üe» больше не используется в языке. Однако холм за Цюрихом называется «Üetliberg». - У каждого места есть только один официальный адрес.
Однако, в Женеве есть дамба, одна ее часть находится во Франции, другая — в Швейцарии. И у неё два адреса. - Вы заблуждаетесь, если думаете, что у каждой страны есть столица.
Например, Швейцария явно решила выделиться — у неё нет столицы. Правительство находится в Берне, но как таковой столицы у них нет. - Здания не двигаются.
Однако это не так! Ведь в Цюрихе здание весом в 6200 тонн было сдвинуто на 60 метров. - Код языка совпадает с кодом страны.
Не всегда. Код страны в Японии — jp. Код языка — ja. - Если вы думали, что нумерация зданий не может начинаться с нуля, то вы ошибались.
Пример: 0 Egmont Road, Middlesbrough, TS4 2HT
Узнать ещё о нескольких мифах можно здесь и здесь.
Мифы об именах
- Имена людей записаны в ASCII.
- Имя человека не может быть изменено ни при каких обстоятельствах.
- Если вы думали, что имена не могут состоять из цифр, то вы, к сожалению, ошибались. Ведь в Москве 14 лет назад родился мальчик, которого назвали БОЧ рВФ 260602.
- Приставки и суффиксы в именах можно спокойно игнорировать.
- Имена даются людям при рождении.
- Люди не могут иметь двойные имена.
Обновления в репах 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