<?xml version="1.0" encoding="utf-8"?> 
<rss version="2.0"
  xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
  xmlns:atom="http://www.w3.org/2005/Atom">

<channel>

<title>Аникин</title>
<link>https://anikin.pw/</link>
<description>Блог об администрировании Linux, BSD и не только</description>
<author></author>
<language>ru</language>
<generator>Aegea 11.3 (v4134)</generator>

<itunes:subtitle>Блог об администрировании Linux, BSD и не только</itunes:subtitle>
<itunes:image href="" />
<itunes:explicit></itunes:explicit>

<item>
<title>Установка certbot на astra linux</title>
<guid isPermaLink="false">113</guid>
<link>https://anikin.pw/all/ustanovka-certbot-na-astra-linux/</link>
<pubDate>Tue, 10 Mar 2026 10:45:51 +0300</pubDate>
<author></author>
<comments>https://anikin.pw/all/ustanovka-certbot-na-astra-linux/</comments>
<description>
&lt;p&gt;Убедитесь, что установлен python3-pip&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# apt install python3-pip python3-venv&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Создайте виртуальное окружение в удобном месте (например, в /opt/certbot)&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# python3 -m venv /opt/certbot-env&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Активируйте окружение и установите пакеты&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# source /opt/certbot-env/bin/activate
# pip install --upgrade pip
# pip install certbot certbot-dns-timeweb&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Теперь для использования certbot вам нужно либо активировать окружение,&lt;br /&gt;
либо вызывать его напрямую:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# /opt/certbot-env/bin/certbot certonly --authenticator dns-timeweb \
    --dns-timeweb-credentials /opt/certbot-env/timeweb-creds.ini \
    --dns-timeweb-propagation-seconds 120 \
    -d domain.ru -d *.domain.ru --dry-run&lt;/code&gt;&lt;/pre&gt;</description>
</item>

<item>
<title>Логирование команд ssh</title>
<guid isPermaLink="false">112</guid>
<link>https://anikin.pw/all/logirovanie-komand-ssh/</link>
<pubDate>Tue, 29 Oct 2024 14:44:02 +0300</pubDate>
<author></author>
<comments>https://anikin.pw/all/logirovanie-komand-ssh/</comments>
<description>
&lt;p&gt;В конфиг /etc/ssh/sshd_config добавляем&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;ForceCommand logger -p user.notice &amp;quot;$SSH_ORIGINAL_COMMAND&amp;quot;; bash -c &amp;quot;$SSH_ORIGINAL_COMMAND&amp;quot;; bash&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Проверяем и релоадим ssh&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;sshd -t
service sshd reload&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Теперь запросы вида&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;ssh user@ip ls -la&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;будут логироваться либо в messages либо в syslog в зависимости от дистрибутива&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;Oct 29 11:34:14 localhost user[1100022]: ls -la&lt;/code&gt;&lt;/pre&gt;</description>
</item>

<item>
<title>Поддержка samba в ffmpeg</title>
<guid isPermaLink="false">111</guid>
<link>https://anikin.pw/all/podderzhka-samba-v-ffmpeg/</link>
<pubDate>Sun, 13 Aug 2023 12:27:29 +0300</pubDate>
<author></author>
<comments>https://anikin.pw/all/podderzhka-samba-v-ffmpeg/</comments>
<description>
&lt;p&gt;В debian 12 вымарали поддержку самбы в ffmpeg. И соответственно стандартные плееры типа mpv или parole перестали воспроизводить видео по самбе. Ментейнеры предлагают тем кому нужна самба, собирать ffmpeg из сорцев. Этим и займемся.&lt;br /&gt;
Поставим зависимости необходимые для сборки.&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;apt install libavcodec-dev libavformat-dev libavutil-dev libchromaprint-tools libchromaprint-dev libchromaprint-tools libchromaprint-dev frei0r-plugins-dev gnutls-dev libunistring-dev libgnutls28-dev libunistring-dev libgnutls28-dev gnutls-dev qttools5-dev qttools5-dev-tools libqt5svg5-dev ladspa-sdk git cmake libsndfile1-dev libsamplerate-ocaml-dev libjack-jackd2-dev liblilv-dev libiec61883-dev libass-dev libbluray-dev libbs2b-dev libcaca-dev libcodec2-dev libdav1d-dev libdc1394-dev libdrm-dev libshaderc-dev libgme-dev libgsm1-dev libjxl-dev libmfx-dev libmp3lame-dev libmysofa-dev libopenjp2-7-dev libopenmpt-dev libplacebo-dev libpulse-dev librabbitmq-dev librav1e-dev librist-dev librsvg2-dev librubberband-dev libshine-dev libsmbclient-dev libsnappy-dev libsoxr-dev libssh-dev libspeex-dev libsrt-gnutls-dev libsvtav1-dev libsvtav1enc-dev libtheora-dev libtwolame-dev libvidstab-dev libvpx-dev libx264-dev libx265-dev libxvidcore-dev libzimg-dev cppzmq-dev libzmq3-dev libzvbi-dev libopenal-dev ocl-icd-opencl-dev libomxil-bellagio-dev libpocketsphinx-dev libcdio-dev libcdparanoia-dev libsdl2-dev&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Скачаем ffmpeg &lt;a href="https://ffmpeg.org/download.html#releases"&gt;тут&lt;/a&gt;, я скачал версию 5.1.3, такую же как в репах debian 12.&lt;br /&gt;
Распакуем куда-нибудь, и не забываем создать каталог куда будем собирать /opt/ffmpeg&lt;/p&gt;
&lt;p&gt;Теперь configure, я взял стандартный configure из дебы, его можно получить выполнив ffmpeg в консоли, там в выхлопе будут параметры с которым его собирали. Добавил туда «—enable-libsmbclient» и ещё несколько параметров. Получилось вот так.&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;./configure --prefix=/opt/ffmpeg --extra-version=1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --disable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librist --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --disable-sndio --enable-libjxl --enable-pocketsphinx --enable-librsvg --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-chromaprint --enable-frei0r --enable-libx264 --enable-libplacebo --enable-librav1e --enable-shared --enable-libsmbclient --enable-version3 --disable-x86asm&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Конфигурим, затем&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;make
make install&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;И сделаем симлинки в /usr/bin, предварительно убрав от туда бинарники ffmpeg из репозитория.&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;ln -s /opt/ffmpeg/bin/ffplay /usr/bin/ffplay
ln -s /opt/ffmpeg/bin/ffprobe /usr/bin/ffprobe
ln -s /opt/ffmpeg/bin/ffmpeg /usr/bin/ffmpeg&lt;/code&gt;&lt;/pre&gt;</description>
</item>

<item>
<title>Простейшая метеостанция на esphome с отправкой на народный мониторинг.</title>
<guid isPermaLink="false">110</guid>
<link>https://anikin.pw/all/prosteyshaya-meteostanciya-na-esphome-s-otpravkoy-na-narodny-mon/</link>
<pubDate>Fri, 09 Jun 2023 15:49:46 +0300</pubDate>
<author></author>
<comments>https://anikin.pw/all/prosteyshaya-meteostanciya-na-esphome-s-otpravkoy-na-narodny-mon/</comments>
<description>
&lt;h2&gt;Описание&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://narodmon.ru/?invite=anikin"&gt;Метеостанция с двумя датчиками и отправкой данных на сайт народный мониторинг&lt;/a&gt;&lt;br /&gt;
Плата используется nodemcuv3, уличный датчик ds18b20, датчик в доме aht10.&lt;br /&gt;
Плата установлена в доме в распределительной коробке для открытой проводки. От коробки идет витая пара к датчикам. Домашний датчик установлен в метре от пола у уличной стены. На улице датчик располагается в чашечном корпусе. Корпус заказывал у &lt;a href="https://t.me/Weroxer"&gt;Constantin&lt;/a&gt;.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;div class="fotorama" data-width="960" data-ratio="0.75"&gt;
&lt;img src="https://anikin.pw/pictures/photo_2023-06-09_14-30-33.jpg" width="960" height="1280" alt="" /&gt;
&lt;img src="https://anikin.pw/pictures/photo_2023-06-09_14-28-36.jpg" width="960" height="1280" alt="" /&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2&gt;Распиновка&lt;/h2&gt;
&lt;p&gt;Припаиваем датчики к соответствующим пинам&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://anikin.pw/pictures/73222e5c1b0f830c72466a91f2102378dc206d27.png" width="817" height="542" alt="" /&gt;
&lt;/div&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;aht10:
vin - 3v3
gnd - gnd
scl - D1
sda - D2&lt;/code&gt;&lt;/pre&gt;&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;ds18b20:
vin - 3v3
data - D5
gnd - gnd&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;В ds18b20 между data и vin нужен подтягивающий резистор по документации 4.7 кОм. Я впаивал не именно такой, а какой-то близкий по номиналу, на работу не влияет.&lt;/p&gt;
&lt;h2&gt;Прошивка&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://anikin.pw/files/anikinmeteo.yaml"&gt;Нужно скачать код прошивки&lt;/a&gt;(обновлен 04.03.2025 под новую версию esphome) ознакомится с комментариями и отредактировать в соответствии со своими данными. Затем скомпилировать прошивку в esphome и прошить. Если плата прошивается первый раз, то шить по проводу. В дальнейшем можно шить через ota.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;div class="fotorama" data-width="1430" data-ratio="1.8078381795196"&gt;
&lt;img src="https://anikin.pw/pictures/Snimok-ekrana_2023-06-09_15-37-22.png" width="1430" height="791" alt="" /&gt;
&lt;img src="https://anikin.pw/pictures/Snimok-ekrana_2023-06-09_15-37-50.png" width="514" height="430" alt="" /&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Скомпилированный бинарник можно &lt;a href="https://nodemcu.readthedocs.io/en/latest/flash/"&gt;прошить также через esptool&lt;/a&gt;. Это может быть удобно если в результате прошивки по воздуху что-то пошло не так и плата не отвечает, но она уже смонтирована и нет возможности её демонтировать и тащить прошивать к тачке с esphome. Тогда берем ноутбук, провод и скомпилированный бинарник и шьем плату на месте. Не забудьте откинуть БП перед прошивкой.&lt;/p&gt;
&lt;p&gt;После прошивки можно открыть ip платы в браузере. Там будет веб-морда&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://anikin.pw/pictures/Snimok-ekrana_2023-06-09_15-40-01.png" width="1898" height="307" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Ну и через 5 минут проверить пришли ли данные в narodmon. В веб-морде есть лог, можно будет увидеть ошибки, если они будут. Устройство можно также добавить в home assistant если требуется.&lt;/p&gt;
</description>
</item>

<item>
<title>Управление питанием USB на OrangePi</title>
<guid isPermaLink="false">109</guid>
<link>https://anikin.pw/all/upravlenie-pitaniem-usb-na-orangepi/</link>
<pubDate>Wed, 18 Jan 2023 16:16:59 +0300</pubDate>
<author></author>
<comments>https://anikin.pw/all/upravlenie-pitaniem-usb-na-orangepi/</comments>
<description>
&lt;p&gt;При использовании апельсинки в качестве роутера с модемом Huawei, модем периодически зависал, причем не помогала даже перезагрузка апельсины. Проблему решало только физическое передергивание питания модема, что не всегда возможно ввиду отсутствия кого-либо в месте установки этого устройства. Я хотел уже городить какие-то костыли на реле и прочее, но наткнулся на &lt;a href="https://forum.armbian.com/topic/16769-control-usb-otg-power-onoff-on-orange-pi-one-armbian-buster/"&gt;эту тему&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;В общем апельсина умеет выключать и включать питание на otg разъеме. Нужно только его включить и воткнуть свисток через переходник типа этого&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://anikin.pw/pictures/otg.jpg" width="500" height="500" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Запускаем armbian-config, там проходим в Sytem — Dtc&lt;br /&gt;
Видим редактор, там находим usb@1c19000, редактируем&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;status = &amp;quot;okay&amp;quot;;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Находим usb0-vbus и редактируем&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;gpio = &amp;lt;0x00 0x02 0x00&amp;gt;;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Сохраняем, закрываем и компилируем.&lt;br /&gt;
Ребутимся.&lt;br /&gt;
При включение активируем управление otg&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;/usr/bin/echo &amp;quot;354&amp;quot; | /usr/bin/tee /sys/class/gpio/export
/usr/bin/echo &amp;quot;out&amp;quot; | /usr/bin/tee /sys/class/gpio/gpio354/direction&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Чтобы включить питание usb&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;/usr/bin/echo &amp;quot;1&amp;quot; | /usr/bin/tee /sys/class/gpio/gpio354/value&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Чтобы выключить питание usb&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;/usr/bin/echo &amp;quot;0&amp;quot; | /usr/bin/tee /sys/class/gpio/gpio354/value&lt;/code&gt;&lt;/pre&gt;&lt;div class="e2-text-picture"&gt;
&lt;img src="https://anikin.pw/pictures/2023-01-18_16-21-10.png" width="727" height="517" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Теперь можно написать небольшой скрипт, который при отсутствии интернета отключит питание на usb и через несколько секунд включит обратно...&lt;/p&gt;
</description>
</item>

<item>
<title>Продление lets encrypt если nginx работает как reverse proxy</title>
<guid isPermaLink="false">108</guid>
<link>https://anikin.pw/all/prodlenie-lets-encrypt-esli-nginx-rabotaet-kak-revers-proksi/</link>
<pubDate>Fri, 20 May 2022 16:21:22 +0300</pubDate>
<author></author>
<comments>https://anikin.pw/all/prodlenie-lets-encrypt-esli-nginx-rabotaet-kak-revers-proksi/</comments>
<description>
&lt;p&gt;Добавляем в виртуальный хост дополнительный location&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;location /.well-known/acme-challenge/ {
    root /var/www/nginx;
    default_type text/plain;
  }&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Запускаем проверку с верификацией через webroot&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;certbot certonly --webroot -w /var/www/nginx -d domain.com --dry-run&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Если все в порядке убираем —dry-run и продлеваем сертификат&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;certbot certonly --webroot -w /var/www/nginx -d domain.com&lt;/code&gt;&lt;/pre&gt;</description>
</item>

<item>
<title>Роли Ansible для установки virtualbox с веб-интерфейсом</title>
<guid isPermaLink="false">107</guid>
<link>https://anikin.pw/all/roli-ansible-dlya-ustanovki-virtualbox-s-veb-interfeysom-na-serv/</link>
<pubDate>Mon, 29 Nov 2021 11:16:09 +0300</pubDate>
<author></author>
<comments>https://anikin.pw/all/roli-ansible-dlya-ustanovki-virtualbox-s-veb-interfeysom-na-serv/</comments>
<description>
&lt;p&gt;Репозиторий содержит 6 ролей для debian/ubuntu&lt;/p&gt;
&lt;p&gt;repository — добавляет репозиторий virtualbox&lt;br /&gt;
vbox — ставит и конфигурит virtualbox&lt;br /&gt;
download_extension — скачивает и устанавливает Extension Pack&lt;br /&gt;
nginx — устанавливает nginx&lt;br /&gt;
nginx_configure — конфигурит nginx и генерит ключи для https&lt;br /&gt;
phpvirtbox — устанавливает phpvirtualbox&lt;/p&gt;
&lt;p&gt;в group_vars/vb лежат глобальные переменные для всех ролей&lt;br /&gt;
vbox.yml — файл плейбука с тегами&lt;/p&gt;
&lt;p&gt;Репозиторий:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;https://github.com/petranikin/vbox&lt;/code&gt;&lt;/pre&gt;</description>
</item>

<item>
<title>Не подключается rdesktop из-за включенного NLA.</title>
<guid isPermaLink="false">106</guid>
<link>https://anikin.pw/all/ne-podklyuchaetsya-rdesktop-iz-za-vklyuchennogo-nla/</link>
<pubDate>Wed, 28 Jul 2021 09:48:05 +0300</pubDate>
<author></author>
<comments>https://anikin.pw/all/ne-podklyuchaetsya-rdesktop-iz-za-vklyuchennogo-nla/</comments>
<description>
&lt;p&gt;Получаем ошибку «Connection established using SSL» и соединение сбрасывается. Виндовые клиенты также не могут подключиться.&lt;br /&gt;
Ставим freerdp&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;apt install freerdp2-x11&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Заходим&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;xfreerdp /u:&amp;quot;administrator&amp;quot; /p:&amp;quot;пароль&amp;quot; /v:ip-сервера&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Идем в «Система» — «Настройки удаленного доступа»&lt;br /&gt;
Там убираем птичку «Разрешить подключения только с компьютеров, на которых работает удаленный рабочий стол с проверкой подлинности на уровне сети».&lt;/p&gt;
</description>
</item>

<item>
<title>Прозрачный nat нескольких сетей на шлюзе FreeBSD через setfib</title>
<guid isPermaLink="false">105</guid>
<link>https://anikin.pw/all/prozrachny-nat-na-shlyuze-freebsd-cherez-setfib/</link>
<pubDate>Sat, 03 Jul 2021 17:46:27 +0300</pubDate>
<author></author>
<comments>https://anikin.pw/all/prozrachny-nat-na-shlyuze-freebsd-cherez-setfib/</comments>
<description>
&lt;p&gt;Скрипт создания таблицы с адресами&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;#!/bin/sh

rm /tmp/reestr.txt
rm /tmp/reestrbsd.txt
/usr/local/bin/wget -O - https://reestr.rublacklist.net/api/v2/ips/json|tr ',' '\n'|tr -d '&amp;quot;'|tr -d ']'|tr -d '[' &amp;gt; /tmp/reestr.txt
grep -E -o &amp;quot;([0-9]{1,3}[\.]){3}[0-9]{1,3}&amp;quot; /tmp/reestr.txt &amp;gt; /tmp/reestrbsd.txt

file=&amp;quot;/tmp/reestrbsd.txt&amp;quot;
ipfw table 1 flush
while read line
do
ipfw table 1 add $line
done &amp;lt; $file&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Фаервол:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;#!/bin/sh -

# прописываем роут для setfib 1
setfib 1 route del default
setfib 1 route add default -interface tun1

fwcmd=&amp;quot;/sbin/ipfw&amp;quot;
${fwcmd} -f flush
${fwcmd} -f pipe flush
${fwcmd} nat 1 delete
${fwcmd} nat 2 delete

if_local1=&amp;quot;re0&amp;quot; # локалка
if_inet1=&amp;quot;ng0&amp;quot; # интерфейс интернета
if_rkn=&amp;quot;tun1&amp;quot;  # интерфейс openvpn

       # заруливаем все обращения к ip из таблицы в setfib 1
       ${fwcmd} add setfib 1 ip from any to table\(1\) recv ${if_local1}

       # основной нат
       ${fwcmd} nat 1 config if ${if_inet1} same_ports
       ${fwcmd} add nat 1 ip from any to any via ${if_inet1}

       # нат для ip из таблицы
       ${fwcmd} nat 2 config if ${if_rkn} same_ports
       ${fwcmd} add nat 2 ip from any to any via ${if_rkn}

       ${fwcmd} add allow all from any to any&lt;/code&gt;&lt;/pre&gt;</description>
</item>

<item>
<title>Супер дешевые VDS</title>
<guid isPermaLink="false">104</guid>
<link>https://anikin.pw/all/super-deshevye-vds/</link>
<pubDate>Wed, 10 Feb 2021 17:39:38 +0300</pubDate>
<author></author>
<comments>https://anikin.pw/all/super-deshevye-vds/</comments>
<description>
&lt;p&gt;Появился новый промо-тариф за 1 евро, на котором доступен мой образ vestacp-multiphp. А также новый шаблон Debian-10-HestiaCP с версиями php от 5.6 до 8.0. Заказать можно по &lt;a href="https://vps-server.ru/billing/pl.php?4330&amp;go=/billing/order.php?vid=vds&amp;tarif_id=73"&gt;ссылке&lt;/a&gt;. Количество ограничено.&lt;/p&gt;
&lt;p&gt;&lt;a href='https://vps-server.ru/billing/pl.php?4330&amp;go=/billing/order.php?vid=vds&amp;tarif_id=73' alt='VPS-server.ru' target='_blank'&gt;&lt;img src='https://vps-server.ru/billing/_rootimages/banners/server11.gif' border='0'&gt;&lt;/a&gt;&lt;/p&gt;
</description>
</item>

<item>
<title>Кривая библиотека aht10 в esphome</title>
<guid isPermaLink="false">103</guid>
<link>https://anikin.pw/all/krivaya-biblioteka-aht10-v-esphome/</link>
<pubDate>Thu, 07 Jan 2021 21:26:19 +0300</pubDate>
<author></author>
<comments>https://anikin.pw/all/krivaya-biblioteka-aht10-v-esphome/</comments>
<description>
&lt;p&gt;При прошивке через esphome датчик aht10 измеряет показания только при старте платы, дальнейшие значения температуры и влажности не меняются. Глюк давний, но исправлять его ни кто не спешит. &lt;a href="https://github.com/esphome/issues/issues/1635#issuecomment-751509152"&gt;Единственный выход сейчас&lt;/a&gt; — костыльное решение проблемы. Нужно убедить esp что она получила неверные значения и передергивала датчик, как при ошибке.&lt;/p&gt;
&lt;p&gt;Нужно найти файл с кодом библиотеки. У меня он лежит в&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;/.local/lib/python3.7/site-packages/esphome/components/aht10/aht10.cpp&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;В нем меняем&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;static const uint8_t AHT10_DEFAULT_DELAY = 8; // ms, for calibration and temperature measurement
static const uint8_t AHT10_HUMIDITY_DELAY = 40; // ms&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Вместо 5 и 30 мс по умолчанию&lt;br /&gt;
И все «ESP_LOGVV» меняем на «ESP_LOGD»&lt;/p&gt;
&lt;p&gt;После этого жмем Clean Build Files в esphome и снова Compile. Теперь загружаем прошивку в ESP.&lt;/p&gt;
&lt;p&gt;Теперь раз в 60 секунд датчик будет полностью передергиваться&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;[D][sensor:092]: 'AHT10 Temperature': Sending state -7.03297 °C with 2 decimals of accuracy
[D][sensor:092]: 'AHT10 Humidity': Sending state 85.10036 % with 2 decimals of accuracy
[D][aht10:062]: Attemps 0 at 1435623
[D][aht10:073]: ATH10 Unrealistic humidity (0x0), retrying...
[D][aht10:062]: Attemps 1 at 1435670
[D][aht10:066]: AHT10 is busy, waiting...
[D][aht10:062]: Attemps 2 at 1435714
[D][aht10:082]: Answer at 1435757
[D][sensor:092]: 'AHT10 Temperature': Sending state -7.02972 °C with 2 decimals of accuracy
[D][sensor:092]: 'AHT10 Humidity': Sending state 87.78839 % with 2 decimals of accuracy&lt;/code&gt;&lt;/pre&gt;</description>
</item>

<item>
<title>Ошибка добавления ptr записи в VestaCP</title>
<guid isPermaLink="false">102</guid>
<link>https://anikin.pw/all/oshibka-dobavleniya-ptr-zapisi-v-vestacp/</link>
<pubDate>Mon, 12 Oct 2020 15:42:42 +0300</pubDate>
<author></author>
<comments>https://anikin.pw/all/oshibka-dobavleniya-ptr-zapisi-v-vestacp/</comments>
<description>
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;Error: PTR record domain.net should be a fully qualified domain name (FQDN)&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;В файле /usr/local/vesta/func/domain.sh находим&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;if [ $t = 'CNAME' ]; then&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;И перед этим вписываем&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;if [ $t = 'PTR' ]; then
        tree_length=2
fi&lt;/code&gt;&lt;/pre&gt;</description>
</item>

<item>
<title>Canon LBP-810 драйвер для современных ОС</title>
<guid isPermaLink="false">101</guid>
<link>https://anikin.pw/all/canon-lbp-810-drayver-dlya-sovremennyh-os/</link>
<pubDate>Fri, 26 Jun 2020 11:29:49 +0300</pubDate>
<author></author>
<comments>https://anikin.pw/all/canon-lbp-810-drayver-dlya-sovremennyh-os/</comments>
<description>
&lt;p&gt;Принтер древний, современными ОСями не поддерживается. Соберем драйвер 2004 года из сорцев.&lt;br /&gt;
&lt;a href="https://anikin.pw/files/capt-0.1.tar.gz"&gt;Сам драйвер capt-0.1.tar.gz&lt;/a&gt;&lt;br /&gt;
Распаковываем&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# tar xzf capt-0.1.tar.gz&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Открываем Makefile любым текстовым редактором и в опции gcc добавляем -std=gnu89&lt;br /&gt;
Далее&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# make
# make install
# service cups restart&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Далее добавляем принтер в систему через GUI. Драйвер LBP-810 появится там в списке.&lt;br /&gt;
В свойствах принтера обязательно меняем URI принтера на&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;file:/dev/null&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;На этом все.&lt;br /&gt;
Использованы материалы &lt;a href="https://www.fedora.md/2018/05/09/%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D1%8F%D0%B5%D0%BC-c%D0%B0non-lbp-810-%D0%B2-cups/"&gt;тыц&lt;/a&gt; и &lt;a href="http://www.boichat.ch/nicolas/capt/"&gt;тыц&lt;/a&gt;&lt;/p&gt;
</description>
</item>

<item>
<title>Установка memcache и memcached на php установленый из исходников</title>
<guid isPermaLink="false">100</guid>
<link>https://anikin.pw/all/ustanovka-memcache-i-memcached-na-php-ustanovleny-iz-ishodnikov/</link>
<pubDate>Thu, 23 Apr 2020 16:13:41 +0300</pubDate>
<author></author>
<comments>https://anikin.pw/all/ustanovka-memcache-i-memcached-na-php-ustanovleny-iz-ishodnikov/</comments>
<description>
&lt;p&gt;В /opt/php73/ у нас собран php. Нужно в него добавить memcache и memcached&lt;br /&gt;
Скачиваем сорцы из pecl&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;/opt/php73/bin/pecl download memcached
/opt/php73/bin/pecl download memcache&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;b&gt;Установка memcached&lt;/b&gt;&lt;br /&gt;
Для установки memcached нам потребуется libmemcached. Ствим из сорцев в отдельный каталог&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz
 tar -xzf libmemcached-1.0.18.tar.gz 
cd libmemcached-1.0.18
./configure --prefix=/opt/libmemcached
make
make install&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Распаковываем сорцы и собираем модуль memcached&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;tar zxvf memcached-3.1.5.tgz
cd memcached-3.1.5
./configure --with-libmemcached-dir=/opt/libmemcached --with-php-config=/opt/php73/bin/php-config
make&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Если все отработало без ошибок, то в каталоге modules появится memcached.so. Копируем его и добавляем в php.ini&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;extension = /opt/php73/lib/php/extensions/no-debug-non-zts-20180731/memcached.so&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;b&gt;Установка memcache&lt;/b&gt;&lt;br /&gt;
Распаковываем и собираем&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;tar -xzf memcache-4.0.5.2.tgz 
cd memcache-4.0.5.2
/opt/php73/bin/phpize
./configure --with-php-config=/opt/php73/bin/php-config
make&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Если все отработало без ошибок, то в каталоге modules появится memcache.so. Копируем его и добавляем в php.ini&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;extension = /opt/php73/lib/php/extensions/no-debug-non-zts-20180731/memcache.so&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;b&gt;P.S&lt;/b&gt; Если получаем ошибку &lt;b&gt;Autoconf version 2.68 or higher is required&lt;/b&gt;, то соберем ещё autoconf&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.68.tar.gz
tar xzf autoconf-2.68.tar.gz
cd autoconf-2.68
./configure --prefix=/opt/autoconf
make
make install&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Сбекапим бинарники которые устанавливались из репозитория, и создадим симлинки&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;mv /usr/bin/autoconf /usr/bin/autoconf.bak
ln -s /opt/autoconf/bin/autoconf /usr/bin/autoconf
mv /usr/bin/autom4te /usr/bin/autom4te.bak
ln -s /opt/autoconf/bin/autom4te /usr/bin/autom4te&lt;/code&gt;&lt;/pre&gt;</description>
</item>

<item>
<title>Виртуалки в РФ</title>
<guid isPermaLink="false">99</guid>
<link>https://anikin.pw/all/virtualki-v-rf/</link>
<pubDate>Tue, 31 Mar 2020 13:31:07 +0300</pubDate>
<author></author>
<comments>https://anikin.pw/all/virtualki-v-rf/</comments>
<description>
&lt;p&gt;Пол планеты сидит на карантине, из-за этого возросла нагрузка на магистральные узлы связи, поэтому сейчас правильным решением будет размещать свои проекты на территории РФ.&lt;br /&gt;
Виртуальные серверы в РФ по выгодным ценам и с быстрой активацией можно приобрести &lt;a href="https://vps-server.ru/billing/pl.php?4330&amp;go=/vps/30"&gt;по этой ссылке&lt;/a&gt;.&lt;br /&gt;
На них также доступен мой шаблон vestacp-multiphp, в котором доступен выбор версии php от 5.3 до 7.3. Указывайте в комментариях к заказу vestacp-multiphp.&lt;/p&gt;
&lt;p&gt;Скидка на первый платеж по промокоду &lt;b&gt;covid-19&lt;/b&gt;  — 50%!!!!! на &lt;a href="https://vps-server.ru/billing/pl.php?4330&amp;go=/vps/30"&gt;виртуальные&lt;/a&gt; и &lt;a href="https://vps-server.ru/billing/pl.php?4330&amp;go=/dedicated/24"&gt;выделенные серверы в России&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;P.S. Сидите дома. Не болейте. ^^&lt;/b&gt;&lt;/p&gt;
</description>
</item>

<item>
<title>Сборка php 7 на Centos 6</title>
<guid isPermaLink="false">98</guid>
<link>https://anikin.pw/all/sborka-php-7-na-centos-6/</link>
<pubDate>Mon, 03 Feb 2020 19:32:18 +0300</pubDate>
<author></author>
<comments>https://anikin.pw/all/sborka-php-7-na-centos-6/</comments>
<description>
&lt;p&gt;Пример configure&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;./configure  --prefix=/opt/php73 --with-config-file-path=/etc --with-mysql-sock=/var/lib/mysql/mysql.sock --with-mysqli=mysqlnd --with-pdo-mysql --with-pdo-sqlite --enable-calendar --enable-sysvsem --enable-sysvshm --enable-sysvmsg --enable-bcmath --with-bz2 --enable-ctype --enable-shmop --enable-soap --enable-mbstring --enable-soap --enable-sockets --enable-wddx --enable-exif --enable-ftp --enable-pdo --enable-pcntl --enable-mbregex --with-gettext --with-iconv --with-mhash --with-gd --with-curl --with-libxml-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-freetype-dir=/usr --with-zlib --without-libzip --enable-mbstring --with-xsl --with-openssl  --enable-ftp --enable-exif --enable-cgi --enable-zip --with-readline --enable-simplexml --enable-intl --with-pcre-regex=/opt/pcre2 --with-config-file-scan-dir=/opt/php73/etc&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Для его успешного выполнения ставим devel пакеты на основе получаемых ошибок.&lt;br /&gt;
Pcre2 собираем из исходников, т.к нужной версии в репах centos 6 нет.&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# wget ftp://ftp.pcre.org/pub/pcre/pcre2-10.30.tar.gz
# tar -xf pcre2-10.30.tar.gz
# cd pcre2-10.30
# ./configure --prefix=/opt/pcre2                       \
            --docdir=/usr/share/doc/pcre2-10.30 \
            --enable-unicode                    \
            --enable-pcre2-16                   \
            --enable-pcre2-32                   \
            --enable-pcre2grep-libz             \
            --enable-pcre2grep-libbz2           \
            --enable-pcre2test-libreadline      \
            --disable-static    
# make
# make install&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;После успешного configure для php делаем make и make install&lt;/p&gt;
&lt;p&gt;&lt;b&gt;UPD:&lt;/b&gt; Если у вас в wordpress не отправляется почта через контактную форму функцией mail(), то pcre2 качаем версии 10.33.&lt;/p&gt;
</description>
</item>

<item>
<title>Мультиверсионность php c VestaCP на выделенных серверах и VDS</title>
<guid isPermaLink="false">97</guid>
<link>https://anikin.pw/all/multiversionnost-php-na-vydelennyh-serverah-i-vds/</link>
<pubDate>Tue, 22 Oct 2019 18:19:52 +0300</pubDate>
<author></author>
<comments>https://anikin.pw/all/multiversionnost-php-na-vydelennyh-serverah-i-vds/</comments>
<description>
&lt;p&gt;На наших выделенных серверах и VDS теперь доступен шаблон с VestaCP и версиями php от 5.3 до 7.3. Установка через техподдержку.&lt;br /&gt;
Проходите по &lt;a href="https://vps-server.ru/billing/pl.php?4330"&gt;ссылке&lt;/a&gt; или кликайте на баннер вверху страницы, в комментариях к заказу напишите что вам нужен шаблон с vestacp-multiphp.&lt;/p&gt;
</description>
</item>

<item>
<title>Добавление squashfs live образа в PXE</title>
<guid isPermaLink="false">96</guid>
<link>https://anikin.pw/all/dobavlenie-squashfs-live-obraza-v-pxe/</link>
<pubDate>Mon, 02 Sep 2019 18:23:54 +0300</pubDate>
<author></author>
<comments>https://anikin.pw/all/dobavlenie-squashfs-live-obraza-v-pxe/</comments>
<description>
&lt;p&gt;Нужно примонтировать live iso образ на сервере. Найти в нем файлы initrd, vmlinuz и squashfs. Скопировать их в каталог PXE и прописать в pxelinux.cfg/default. В debian-10-live у меня получилось вот так.&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;label debian-live
  menu label debian-live
  kernel http://192.168.0.1/images/live/vmlinuz-4.19.0-5-amd64
  append initrd=http://192.168.0.1/images/live/initrd.img-4.19.0-5-amd64 boot=live fetch=http://192.168.0.1/images/live/filesystem.squashfs root=/dev/ram0&lt;/code&gt;&lt;/pre&gt;</description>
</item>

<item>
<title>PXE сервер на FreeBSD</title>
<guid isPermaLink="false">95</guid>
<link>https://anikin.pw/all/pxe-server-na-freebsd/</link>
<pubDate>Sun, 01 Sep 2019 18:49:26 +0300</pubDate>
<author></author>
<comments>https://anikin.pw/all/pxe-server-na-freebsd/</comments>
<description>
&lt;p&gt;В конфиг  dnsmasq добавляем&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;dhcp-option-force=66,192.168.0.1   # ip сервера
dhcp-option-force=67,gpxelinux.0   # загрузчик&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Перезапускаем dnsmasq&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;service dnsmasq restart&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Создаем каталог для pxe&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;mkdir /usr/local/pxe
mkdir /usr/local/pxe/pxelinux.cfg&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Устанавливаем tftp&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;pkg install tftp-hpa&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;В /etc/inetd.conf добавляем&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;tftp  dgram  udp  wait  root  /usr/local/libexec/in.tftpd  in.tftpd -p -s /usr/local/pxe&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Вписываем&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;echo 'inetd_enable=&amp;quot;YES&amp;quot;' &amp;gt;&amp;gt; /etc/rc.conf&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Запускаем inetd&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;/etc/rc.d/inetd start&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Скачиваем и распаковываем syslinux&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;fetch http://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-4.05.tar.gz
tar -xf syslinux-4.05.tar.gz&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Копируем файлы&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;cd syslinux-4.05
cp gpxe/gpxelinux.0 /usr/local/pxe/
cp com32/menu/menu.c32 /usr/local/pxe/
cp com32/menu/vesamenu.c32 /usr/local/pxe/
cp com32/modules/reboot.c32 /usr/local/pxe/
cp com32/modules/chain.c32 /usr/local/pxe/
cp memdisk/memdisk /usr/local/pxe/&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Образы будем грузить по http, т.к tftp очень медленный. Ставим nginx.&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;pkg install nginx&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Создаем каталог с образами и симлинк на него в nginx&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;mkdir  /usr/local/pxe/images/
ln -s /usr/local/pxe/images/ /usr/local/www/nginx/images&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Вписываем&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;echo 'nginx_enable=&amp;quot;YES&amp;quot;' &amp;gt;&amp;gt; /etc/rc.conf&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;И стартуем&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;service nginx start&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Заливаем наши образы в /usr/local/pxe/images/&lt;/p&gt;
&lt;p&gt;В файле /usr/local/pxe/pxelinux.cfg/default создаем конфиг меню с нашими образами. У меня получился такой&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;ui menu.c32
menu title PXE Boot Menu

label boothdd
  menu label Boot from Hard Drive
  localboot 0
 
label memtest
  menu label memtest
  kernel memdisk
  initrd http://192.168.0.1/images/Memtest86-4.3.7.iso
  append iso raw

label mfsbsd
  menu label mfsbsd
  kernel memdisk
  initrd http://192.168.0.1/images/mfsbsd-12.0-RELEASE-amd64.iso
  append iso raw

label debian-10
  menu label debian-10
  kernel http://192.168.0.1/images/debian10/linux
  append vga=normal initrd=http://192.168.0.1/images/debian10/initrd.gz  --

label rescue
  menu label rescue
  kernel http://192.168.0.1/images/debian10/linux
  append vga=normal initrd=http://192.168.0.1/images/debian10/initrd.gz  rescue/enable=true --&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;linux и initrd.gz для установщика debian можно взять &lt;a href="https://mirror.yandex.ru/debian/dists/buster/main/installer-amd64/current/images/netboot/debian-installer/amd64/"&gt;тут&lt;/a&gt;&lt;br /&gt;
Теперь можно пробовать грузится с PXE, если все сделали правильно то появится меню с выбором загружаемого образа.&lt;/p&gt;
</description>
</item>

<item>
<title>Не стартует mysql в centos 6 после обновления.</title>
<guid isPermaLink="false">94</guid>
<link>https://anikin.pw/all/ne-startuet-mysql-v-centos-6-posle-obnovleniya/</link>
<pubDate>Mon, 17 Jun 2019 16:35:55 +0300</pubDate>
<author></author>
<comments>https://anikin.pw/all/ne-startuet-mysql-v-centos-6-posle-obnovleniya/</comments>
<description>
&lt;p&gt;После обновления mysql до 5.7 он не стартует с ошибкой&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;[ERROR] Fatal error: mysql.user table is damaged. Please run mysql_upgrade.&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Добавляем в my.cnf в секцию [mysqld]&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;skip-grant-tables&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;С этим параметром стартуем mysql и делаем mysql_upgrade&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;service mysqld start
mysql_upgrade&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Затем убираем skip-grant-tables из конфига и рестартим mysql&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;service mysql restart&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Mysql должен запустится без ошибок&lt;/p&gt;
</description>
</item>


</channel>
</rss>