Обновление ядра «на лету»

Про сервисы обновления ведра без перезагрузки системы, слышал давно, лет 10 назад наверное первый раз, но своими руками не щупал ни разу. Недавно Canonical, запилила свой сервис для коммерческих клиентов. НО. Любой пользователь Ubuntu, может подключить до 3 систем (на один аккаунт ubuntu one) к данному сервису бесплатно.

Естественно решил протестировать это дело.

Называется фича «Canonical Livepatch Service», для подключения системы (сервер или десктоп, без разницы) нужно поставить клиент:


sudo snap install canonical-livepatch
sudo canonical-livepatch enable идентификатор_хоста

Идентификатор хоста получаем на портале: livepatch.canonical.com Читать

Параметры безопастности не разрешают скачивание этого файла

Совершенно бесячее сообщение. При попытке загрузить обновление для powershell с сайта microsoft, меня посылают нахер. Мало того, отключается эта хрень в реестре! Т.е. в GUI это не реализуемо?

Лечится это так:

в реестре, меняем параметр 1803 в ветке
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3
с 3 на 0.
3 — запретить загрузку
0 — разрешить

Законы космической инженерии

Интересный почт на хабре, по большей части применимо к программистам.

Особо порадовало:

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

9. Любая космическая программа, в которой «оказалась» разработка новой ракеты, по факту есть программа разработки новой ракеты.

39. (альтернативная формулирока) Три правила сохранения космических програм в пределах бюждета и сроков:

1) Никаких новых ракет.
2) Никаких новых ракет.
3) Делайте что угодно, только никаких новых ракет.

https://habr.com/post/354936/

Про SSL, часть вторая: получение и настройка OV сертификата

Решили мы однажды, на одном из серверов, сайт на SSL перетащить, ибо неприлично в наше время на голом http сидеть.
Сказано — сделано, купили OV сертификат (с валидацией организации), и вот что это значит.

В нашем случае (сертификат был от comodo.com), обязательными условиями было:

  1. наличие электронной почты привязанной к домену (у нас не было, т.к. доменов у нас 2, и почта как раз на втором)
  2. наличие у организации страницы на одном из справочных ресурсов http://ru.kompass.com или http://www.dnb.com
  3. возможность ответить на звонок по номеру телефона указанному на странице организации в вышеуказанном справочнике

После оплаты счета, в личном кабинете, на сайте нашего регистратора, появилась возможность выпустить сертификат, для этого необходим CSR (Certificate Signing Request), создать его можно самому (openssl), либо с помощью мастера в личном кабинете. Я выбрал openssl. Читать

Редкая ошибка MySQL

После установки mysql-community-server вместо mariadb-server на CentOS 7.4, приключилась доселе невиданная ошибка:

ERROR 3009 (HY000): Column count of mysql.user is wrong. Expected 45, found 42. Created with MySQL 50556, now running 50721. Please use mysql_upgrade to fix this error.

вылезло сие, при попытке добавить нового пользователя.

Лечение простое, под рутом:

mysql_upgrade —force -uroot -p

E: Не удалось получить file:/var/cache/apt-build/repository/dists/apt-build/main/binary-i386/Packages Файл не найден

Недавно решил развеять скуку, путем перекомпиляции основных пакетов в системе, в связи с чем поставил apt-build. Тулза эта старая, всем вроде известная, но есть ньюансы.

В общем после настройки, и сборки пакетов, в ответ на apt-build update (или apt-get update), система мне заявила:
E: Не удалось получить file://var/cache/apt-build/repository/dists/apt-build/main/binary-i386/Packages Файл не найден
И такого файла действительно нет. Сперва попробовал обновить индекс репозитория, но не помогло.

Как выяснилось суть беды в том, что система у меня 64 битная, и по умолчанию apt-build создает реп с пакетами исключительно amd64, а в /etc/apt/sources.list.d/apt-build.list автоматом добавилась такая строка:

deb [trusted=yes] file:/var/cache/apt-build/repository apt-build main

ну и в результате, apt-get при обновлении списка пакетов, ищет в репе нет только 64х, но 32х битные пакеты.

Пути решения 2, либо в настройках apt-get централизовано указать, что система у нас 64х битная, и ничего кроме как для себя — не качать. Но я так делать не рекомендую, ибо можно поиметь немало жопоболи при установке какого-нибудь пакета, который требует multiarch и 32х битных библиотек (например steam client).

Вместо этого, лучше поменять строку на:


deb [arch=amd64, trusted=yes] file:/var/cache/apt-build/repository apt-build main

Как побороть баг в 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)

Читать

Ошибка 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

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

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