{
    "version": "https:\/\/jsonfeed.org\/version\/1.1",
    "title": "Аникин",
    "_rss_description": "Блог об администрировании Linux, BSD и не только",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "https:\/\/anikin.pw\/",
    "feed_url": "https:\/\/anikin.pw\/rss\/",
    "icon": "https:\/\/anikin.pw\/pictures\/userpic\/userpic@2x.jpg?1478690884",
    "authors": [
        {
            "name": "Петр Аникин",
            "url": "https:\/\/anikin.pw\/",
            "avatar": "https:\/\/anikin.pw\/pictures\/userpic\/userpic@2x.jpg?1478690884"
        }
    ],
    "items": [
        {
            "id": "113",
            "url": "https:\/\/anikin.pw\/all\/ustanovka-certbot-na-astra-linux\/",
            "title": "Установка certbot на astra linux",
            "content_html": "<p>Убедитесь, что установлен python3-pip<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># apt install python3-pip python3-venv<\/code><\/pre><p>Создайте виртуальное окружение в удобном месте (например, в \/opt\/certbot)<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># python3 -m venv \/opt\/certbot-env<\/code><\/pre><p>Активируйте окружение и установите пакеты<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># source \/opt\/certbot-env\/bin\/activate\n# pip install --upgrade pip\n# pip install certbot certbot-dns-timeweb<\/code><\/pre><p>Теперь для использования certbot вам нужно либо активировать окружение,<br \/>\nлибо вызывать его напрямую:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># \/opt\/certbot-env\/bin\/certbot certonly --authenticator dns-timeweb \\\n    --dns-timeweb-credentials \/opt\/certbot-env\/timeweb-creds.ini \\\n    --dns-timeweb-propagation-seconds 120 \\\n    -d domain.ru -d *.domain.ru --dry-run<\/code><\/pre>",
            "date_published": "2026-03-10T10:45:51+03:00",
            "date_modified": "2026-04-01T12:03:09+03:00",
            "tags": [
                "certbot",
                "DNS",
                "lets encrypt",
                "timeweb"
            ],
            "_date_published_rfc2822": "Tue, 10 Mar 2026 10:45:51 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "113",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "112",
            "url": "https:\/\/anikin.pw\/all\/logirovanie-komand-ssh\/",
            "title": "Логирование команд ssh",
            "content_html": "<p>В конфиг \/etc\/ssh\/sshd_config добавляем<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">ForceCommand logger -p user.notice &quot;$SSH_ORIGINAL_COMMAND&quot;; bash -c &quot;$SSH_ORIGINAL_COMMAND&quot;; bash<\/code><\/pre><p>Проверяем и релоадим ssh<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sshd -t\nservice sshd reload<\/code><\/pre><p>Теперь запросы вида<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">ssh user@ip ls -la<\/code><\/pre><p>будут логироваться либо в messages либо в syslog в зависимости от дистрибутива<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">Oct 29 11:34:14 localhost user[1100022]: ls -la<\/code><\/pre>",
            "date_published": "2024-10-29T14:44:02+03:00",
            "date_modified": "2024-11-01T15:16:16+03:00",
            "tags": [
                "ssh"
            ],
            "_date_published_rfc2822": "Tue, 29 Oct 2024 14:44:02 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "112",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "111",
            "url": "https:\/\/anikin.pw\/all\/podderzhka-samba-v-ffmpeg\/",
            "title": "Поддержка samba в ffmpeg",
            "content_html": "<p>В debian 12 вымарали поддержку самбы в ffmpeg. И соответственно стандартные плееры типа mpv или parole перестали воспроизводить видео по самбе. Ментейнеры предлагают тем кому нужна самба, собирать ffmpeg из сорцев. Этим и займемся.<br \/>\nПоставим зависимости необходимые для сборки.<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">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<\/code><\/pre><p>Скачаем ffmpeg <a href=\"https:\/\/ffmpeg.org\/download.html#releases\">тут<\/a>, я скачал версию 5.1.3, такую же как в репах debian 12.<br \/>\nРаспакуем куда-нибудь, и не забываем создать каталог куда будем собирать \/opt\/ffmpeg<\/p>\n<p>Теперь configure, я взял стандартный configure из дебы, его можно получить выполнив ffmpeg в консоли, там в выхлопе будут параметры с которым его собирали. Добавил туда «—enable-libsmbclient» и ещё несколько параметров. Получилось вот так.<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">.\/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<\/code><\/pre><p>Конфигурим, затем<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">make\nmake install<\/code><\/pre><p>И сделаем симлинки в \/usr\/bin, предварительно убрав от туда бинарники ffmpeg из репозитория.<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">ln -s \/opt\/ffmpeg\/bin\/ffplay \/usr\/bin\/ffplay\nln -s \/opt\/ffmpeg\/bin\/ffprobe \/usr\/bin\/ffprobe\nln -s \/opt\/ffmpeg\/bin\/ffmpeg \/usr\/bin\/ffmpeg<\/code><\/pre>",
            "date_published": "2023-08-13T12:27:29+03:00",
            "date_modified": "2023-08-13T12:36:48+03:00",
            "tags": [
                "debian",
                "ffmpeg",
                "samba"
            ],
            "_date_published_rfc2822": "Sun, 13 Aug 2023 12:27:29 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "111",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "110",
            "url": "https:\/\/anikin.pw\/all\/prosteyshaya-meteostanciya-na-esphome-s-otpravkoy-na-narodny-mon\/",
            "title": "Простейшая метеостанция на esphome с отправкой на народный мониторинг.",
            "content_html": "<h2>Описание<\/h2>\n<p><a href=\"https:\/\/narodmon.ru\/?invite=anikin\">Метеостанция с двумя датчиками и отправкой данных на сайт народный мониторинг<\/a><br \/>\nПлата используется nodemcuv3, уличный датчик ds18b20, датчик в доме aht10.<br \/>\nПлата установлена в доме в распределительной коробке для открытой проводки. От коробки идет витая пара к датчикам. Домашний датчик установлен в метре от пола у уличной стены. На улице датчик располагается в чашечном корпусе. Корпус заказывал у <a href=\"https:\/\/t.me\/Weroxer\">Constantin<\/a>.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"960\" data-ratio=\"0.75\">\n<img src=\"https:\/\/anikin.pw\/pictures\/photo_2023-06-09_14-30-33.jpg\" width=\"960\" height=\"1280\" alt=\"\" \/>\n<img src=\"https:\/\/anikin.pw\/pictures\/photo_2023-06-09_14-28-36.jpg\" width=\"960\" height=\"1280\" alt=\"\" \/>\n<\/div>\n<\/div>\n<h2>Распиновка<\/h2>\n<p>Припаиваем датчики к соответствующим пинам<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/anikin.pw\/pictures\/73222e5c1b0f830c72466a91f2102378dc206d27.png\" width=\"817\" height=\"542\" alt=\"\" \/>\n<\/div>\n<pre class=\"e2-text-code\"><code class=\"\">aht10:\nvin - 3v3\ngnd - gnd\nscl - D1\nsda - D2<\/code><\/pre><pre class=\"e2-text-code\"><code class=\"\">ds18b20:\nvin - 3v3\ndata - D5\ngnd - gnd<\/code><\/pre><p>В ds18b20 между data и vin нужен подтягивающий резистор по документации 4.7 кОм. Я впаивал не именно такой, а какой-то близкий по номиналу, на работу не влияет.<\/p>\n<h2>Прошивка<\/h2>\n<p><a href=\"https:\/\/anikin.pw\/files\/anikinmeteo.yaml\">Нужно скачать код прошивки<\/a>(обновлен 04.03.2025 под новую версию esphome) ознакомится с комментариями и отредактировать в соответствии со своими данными. Затем скомпилировать прошивку в esphome и прошить. Если плата прошивается первый раз, то шить по проводу. В дальнейшем можно шить через ota.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1430\" data-ratio=\"1.8078381795196\">\n<img src=\"https:\/\/anikin.pw\/pictures\/Snimok-ekrana_2023-06-09_15-37-22.png\" width=\"1430\" height=\"791\" alt=\"\" \/>\n<img src=\"https:\/\/anikin.pw\/pictures\/Snimok-ekrana_2023-06-09_15-37-50.png\" width=\"514\" height=\"430\" alt=\"\" \/>\n<\/div>\n<\/div>\n<p>Скомпилированный бинарник можно <a href=\"https:\/\/nodemcu.readthedocs.io\/en\/latest\/flash\/\">прошить также через esptool<\/a>. Это может быть удобно если в результате прошивки по воздуху что-то пошло не так и плата не отвечает, но она уже смонтирована и нет возможности её демонтировать и тащить прошивать к тачке с esphome. Тогда берем ноутбук, провод и скомпилированный бинарник и шьем плату на месте. Не забудьте откинуть БП перед прошивкой.<\/p>\n<p>После прошивки можно открыть ip платы в браузере. Там будет веб-морда<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/anikin.pw\/pictures\/Snimok-ekrana_2023-06-09_15-40-01.png\" width=\"1898\" height=\"307\" alt=\"\" \/>\n<\/div>\n<p>Ну и через 5 минут проверить пришли ли данные в narodmon. В веб-морде есть лог, можно будет увидеть ошибки, если они будут. Устройство можно также добавить в home assistant если требуется.<\/p>\n",
            "date_published": "2023-06-09T15:49:46+03:00",
            "date_modified": "2025-03-04T11:26:44+03:00",
            "tags": [
                "esp8266",
                "esphome",
                "narodmon"
            ],
            "image": "https:\/\/anikin.pw\/pictures\/photo_2023-06-09_14-30-33.jpg",
            "_date_published_rfc2822": "Fri, 09 Jun 2023 15:49:46 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "110",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "jquery\/jquery.js",
                    "fotorama\/fotorama.css",
                    "fotorama\/fotorama.js",
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": [
                    "https:\/\/anikin.pw\/pictures\/photo_2023-06-09_14-30-33.jpg",
                    "https:\/\/anikin.pw\/pictures\/photo_2023-06-09_14-28-36.jpg",
                    "https:\/\/anikin.pw\/pictures\/73222e5c1b0f830c72466a91f2102378dc206d27.png",
                    "https:\/\/anikin.pw\/pictures\/Snimok-ekrana_2023-06-09_15-37-22.png",
                    "https:\/\/anikin.pw\/pictures\/Snimok-ekrana_2023-06-09_15-37-50.png",
                    "https:\/\/anikin.pw\/pictures\/Snimok-ekrana_2023-06-09_15-40-01.png"
                ]
            }
        },
        {
            "id": "109",
            "url": "https:\/\/anikin.pw\/all\/upravlenie-pitaniem-usb-na-orangepi\/",
            "title": "Управление питанием USB на OrangePi",
            "content_html": "<p>При использовании апельсинки в качестве роутера с модемом Huawei, модем периодически зависал, причем не помогала даже перезагрузка апельсины. Проблему решало только физическое передергивание питания модема, что не всегда возможно ввиду отсутствия кого-либо в месте установки этого устройства. Я хотел уже городить какие-то костыли на реле и прочее, но наткнулся на <a href=\"https:\/\/forum.armbian.com\/topic\/16769-control-usb-otg-power-onoff-on-orange-pi-one-armbian-buster\/\">эту тему<\/a>.<\/p>\n<p>В общем апельсина умеет выключать и включать питание на otg разъеме. Нужно только его включить и воткнуть свисток через переходник типа этого<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/anikin.pw\/pictures\/otg.jpg\" width=\"500\" height=\"500\" alt=\"\" \/>\n<\/div>\n<p>Запускаем armbian-config, там проходим в Sytem — Dtc<br \/>\nВидим редактор, там находим usb@1c19000, редактируем<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">status = &quot;okay&quot;;<\/code><\/pre><p>Находим usb0-vbus и редактируем<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">gpio = &lt;0x00 0x02 0x00&gt;;<\/code><\/pre><p>Сохраняем, закрываем и компилируем.<br \/>\nРебутимся.<br \/>\nПри включение активируем управление otg<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">\/usr\/bin\/echo &quot;354&quot; | \/usr\/bin\/tee \/sys\/class\/gpio\/export\n\/usr\/bin\/echo &quot;out&quot; | \/usr\/bin\/tee \/sys\/class\/gpio\/gpio354\/direction<\/code><\/pre><p>Чтобы включить питание usb<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">\/usr\/bin\/echo &quot;1&quot; | \/usr\/bin\/tee \/sys\/class\/gpio\/gpio354\/value<\/code><\/pre><p>Чтобы выключить питание usb<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">\/usr\/bin\/echo &quot;0&quot; | \/usr\/bin\/tee \/sys\/class\/gpio\/gpio354\/value<\/code><\/pre><div class=\"e2-text-picture\">\n<img src=\"https:\/\/anikin.pw\/pictures\/2023-01-18_16-21-10.png\" width=\"727\" height=\"517\" alt=\"\" \/>\n<\/div>\n<p>Теперь можно написать небольшой скрипт, который при отсутствии интернета отключит питание на usb и через несколько секунд включит обратно...<\/p>\n",
            "date_published": "2023-01-18T16:16:59+03:00",
            "date_modified": "2023-01-18T16:21:53+03:00",
            "tags": [
                "3g",
                "4g",
                "huawei",
                "modem",
                "orangepi"
            ],
            "image": "https:\/\/anikin.pw\/pictures\/otg.jpg",
            "_date_published_rfc2822": "Wed, 18 Jan 2023 16:16:59 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "109",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": [
                    "https:\/\/anikin.pw\/pictures\/otg.jpg",
                    "https:\/\/anikin.pw\/pictures\/2023-01-18_16-21-10.png"
                ]
            }
        },
        {
            "id": "108",
            "url": "https:\/\/anikin.pw\/all\/prodlenie-lets-encrypt-esli-nginx-rabotaet-kak-revers-proksi\/",
            "title": "Продление lets encrypt если nginx работает как reverse proxy",
            "content_html": "<p>Добавляем в виртуальный хост дополнительный location<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">location \/.well-known\/acme-challenge\/ {\n    root \/var\/www\/nginx;\n    default_type text\/plain;\n  }<\/code><\/pre><p>Запускаем проверку с верификацией через webroot<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">certbot certonly --webroot -w \/var\/www\/nginx -d domain.com --dry-run<\/code><\/pre><p>Если все в порядке убираем —dry-run и продлеваем сертификат<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">certbot certonly --webroot -w \/var\/www\/nginx -d domain.com<\/code><\/pre>",
            "date_published": "2022-05-20T16:21:22+03:00",
            "date_modified": "2022-05-30T14:57:43+03:00",
            "tags": [
                "certbot",
                "le",
                "lets encrypt",
                "nginx"
            ],
            "_date_published_rfc2822": "Fri, 20 May 2022 16:21:22 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "108",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "107",
            "url": "https:\/\/anikin.pw\/all\/roli-ansible-dlya-ustanovki-virtualbox-s-veb-interfeysom-na-serv\/",
            "title": "Роли Ansible для установки virtualbox с веб-интерфейсом",
            "content_html": "<p>Репозиторий содержит 6 ролей для debian\/ubuntu<\/p>\n<p>repository — добавляет репозиторий virtualbox<br \/>\nvbox — ставит и конфигурит virtualbox<br \/>\ndownload_extension — скачивает и устанавливает Extension Pack<br \/>\nnginx — устанавливает nginx<br \/>\nnginx_configure — конфигурит nginx и генерит ключи для https<br \/>\nphpvirtbox — устанавливает phpvirtualbox<\/p>\n<p>в group_vars\/vb лежат глобальные переменные для всех ролей<br \/>\nvbox.yml — файл плейбука с тегами<\/p>\n<p>Репозиторий:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">https:\/\/github.com\/petranikin\/vbox<\/code><\/pre>",
            "date_published": "2021-11-29T11:16:09+03:00",
            "date_modified": "2021-11-29T11:22:15+03:00",
            "tags": [
                "ansible",
                "nginx",
                "phpvirtualbox",
                "virtualbox"
            ],
            "_date_published_rfc2822": "Mon, 29 Nov 2021 11:16:09 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "107",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "106",
            "url": "https:\/\/anikin.pw\/all\/ne-podklyuchaetsya-rdesktop-iz-za-vklyuchennogo-nla\/",
            "title": "Не подключается rdesktop из-за включенного NLA.",
            "content_html": "<p>Получаем ошибку «Connection established using SSL» и соединение сбрасывается. Виндовые клиенты также не могут подключиться.<br \/>\nСтавим freerdp<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">apt install freerdp2-x11<\/code><\/pre><p>Заходим<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">xfreerdp \/u:&quot;administrator&quot; \/p:&quot;пароль&quot; \/v:ip-сервера<\/code><\/pre><p>Идем в «Система» — «Настройки удаленного доступа»<br \/>\nТам убираем птичку «Разрешить подключения только с компьютеров, на которых работает удаленный рабочий стол с проверкой подлинности на уровне сети».<\/p>\n",
            "date_published": "2021-07-28T09:48:05+03:00",
            "date_modified": "2021-07-28T09:47:42+03:00",
            "tags": [
                "NLA",
                "rdp",
                "windows"
            ],
            "_date_published_rfc2822": "Wed, 28 Jul 2021 09:48:05 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "106",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "105",
            "url": "https:\/\/anikin.pw\/all\/prozrachny-nat-na-shlyuze-freebsd-cherez-setfib\/",
            "title": "Прозрачный nat нескольких сетей на шлюзе FreeBSD через setfib",
            "content_html": "<p>Скрипт создания таблицы с адресами<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">#!\/bin\/sh\n\nrm \/tmp\/reestr.txt\nrm \/tmp\/reestrbsd.txt\n\/usr\/local\/bin\/wget -O - https:\/\/reestr.rublacklist.net\/api\/v2\/ips\/json|tr ',' '\\n'|tr -d '&quot;'|tr -d ']'|tr -d '[' &gt; \/tmp\/reestr.txt\ngrep -E -o &quot;([0-9]{1,3}[\\.]){3}[0-9]{1,3}&quot; \/tmp\/reestr.txt &gt; \/tmp\/reestrbsd.txt\n\nfile=&quot;\/tmp\/reestrbsd.txt&quot;\nipfw table 1 flush\nwhile read line\ndo\nipfw table 1 add $line\ndone &lt; $file<\/code><\/pre><p>Фаервол:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">#!\/bin\/sh -\n\n# прописываем роут для setfib 1\nsetfib 1 route del default\nsetfib 1 route add default -interface tun1\n\nfwcmd=&quot;\/sbin\/ipfw&quot;\n${fwcmd} -f flush\n${fwcmd} -f pipe flush\n${fwcmd} nat 1 delete\n${fwcmd} nat 2 delete\n\nif_local1=&quot;re0&quot; # локалка\nif_inet1=&quot;ng0&quot; # интерфейс интернета\nif_rkn=&quot;tun1&quot;  # интерфейс openvpn\n\n       # заруливаем все обращения к ip из таблицы в setfib 1\n       ${fwcmd} add setfib 1 ip from any to table\\(1\\) recv ${if_local1}\n\n       # основной нат\n       ${fwcmd} nat 1 config if ${if_inet1} same_ports\n       ${fwcmd} add nat 1 ip from any to any via ${if_inet1}\n\n       # нат для ip из таблицы\n       ${fwcmd} nat 2 config if ${if_rkn} same_ports\n       ${fwcmd} add nat 2 ip from any to any via ${if_rkn}\n\n       ${fwcmd} add allow all from any to any<\/code><\/pre>",
            "date_published": "2021-07-03T17:46:27+03:00",
            "date_modified": "2024-03-01T11:26:45+03:00",
            "tags": [
                "Freebsd",
                "ipfw",
                "setfib"
            ],
            "_date_published_rfc2822": "Sat, 03 Jul 2021 17:46:27 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "105",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "104",
            "url": "https:\/\/anikin.pw\/all\/super-deshevye-vds\/",
            "title": "Супер дешевые VDS",
            "content_html": "<p>Появился новый промо-тариф за 1 евро, на котором доступен мой образ vestacp-multiphp. А также новый шаблон Debian-10-HestiaCP с версиями php от 5.6 до 8.0. Заказать можно по <a href=\"https:\/\/vps-server.ru\/billing\/pl.php?4330&go=\/billing\/order.php?vid=vds&tarif_id=73\">ссылке<\/a>. Количество ограничено.<\/p>\n<p><a href='https:\/\/vps-server.ru\/billing\/pl.php?4330&go=\/billing\/order.php?vid=vds&tarif_id=73' alt='VPS-server.ru' target='_blank'><img src='https:\/\/vps-server.ru\/billing\/_rootimages\/banners\/server11.gif' border='0'><\/a><\/p>\n",
            "date_published": "2021-02-10T17:39:38+03:00",
            "date_modified": "2021-02-18T19:13:32+03:00",
            "tags": [
                "php",
                "php7",
                "vesta control panel",
                "vestacp",
                "VPS"
            ],
            "_date_published_rfc2822": "Wed, 10 Feb 2021 17:39:38 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "104",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "103",
            "url": "https:\/\/anikin.pw\/all\/krivaya-biblioteka-aht10-v-esphome\/",
            "title": "Кривая библиотека aht10 в esphome",
            "content_html": "<p>При прошивке через esphome датчик aht10 измеряет показания только при старте платы, дальнейшие значения температуры и влажности не меняются. Глюк давний, но исправлять его ни кто не спешит. <a href=\"https:\/\/github.com\/esphome\/issues\/issues\/1635#issuecomment-751509152\">Единственный выход сейчас<\/a> — костыльное решение проблемы. Нужно убедить esp что она получила неверные значения и передергивала датчик, как при ошибке.<\/p>\n<p>Нужно найти файл с кодом библиотеки. У меня он лежит в<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">\/.local\/lib\/python3.7\/site-packages\/esphome\/components\/aht10\/aht10.cpp<\/code><\/pre><p>В нем меняем<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">static const uint8_t AHT10_DEFAULT_DELAY = 8; \/\/ ms, for calibration and temperature measurement\nstatic const uint8_t AHT10_HUMIDITY_DELAY = 40; \/\/ ms<\/code><\/pre><p>Вместо 5 и 30 мс по умолчанию<br \/>\nИ все «ESP_LOGVV» меняем на «ESP_LOGD»<\/p>\n<p>После этого жмем Clean Build Files в esphome и снова Compile. Теперь загружаем прошивку в ESP.<\/p>\n<p>Теперь раз в 60 секунд датчик будет полностью передергиваться<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">[D][sensor:092]: 'AHT10 Temperature': Sending state -7.03297 °C with 2 decimals of accuracy\u001b\n[D][sensor:092]: 'AHT10 Humidity': Sending state 85.10036 % with 2 decimals of accuracy\u001b\n[D][aht10:062]: Attemps 0 at 1435623\u001b\n[D][aht10:073]: ATH10 Unrealistic humidity (0x0), retrying...\u001b\n[D][aht10:062]: Attemps 1 at 1435670\u001b\n[D][aht10:066]: AHT10 is busy, waiting...\u001b\n[D][aht10:062]: Attemps 2 at 1435714\u001b\n[D][aht10:082]: Answer at 1435757\u001b\n[D][sensor:092]: 'AHT10 Temperature': Sending state -7.02972 °C with 2 decimals of accuracy\u001b\n[D][sensor:092]: 'AHT10 Humidity': Sending state 87.78839 % with 2 decimals of accuracy\u001b<\/code><\/pre>",
            "date_published": "2021-01-07T21:26:19+03:00",
            "date_modified": "2021-03-10T18:39:17+03:00",
            "tags": [
                "aht10",
                "esp8266",
                "esphome",
                "nodemcu"
            ],
            "_date_published_rfc2822": "Thu, 07 Jan 2021 21:26:19 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "103",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "102",
            "url": "https:\/\/anikin.pw\/all\/oshibka-dobavleniya-ptr-zapisi-v-vestacp\/",
            "title": "Ошибка добавления ptr записи в VestaCP",
            "content_html": "<pre class=\"e2-text-code\"><code class=\"\">Error: PTR record domain.net should be a fully qualified domain name (FQDN)<\/code><\/pre><p>В файле \/usr\/local\/vesta\/func\/domain.sh находим<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">if [ $t = 'CNAME' ]; then<\/code><\/pre><p>И перед этим вписываем<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">if [ $t = 'PTR' ]; then\n        tree_length=2\nfi<\/code><\/pre>",
            "date_published": "2020-10-12T15:42:42+03:00",
            "date_modified": "2020-10-12T15:42:29+03:00",
            "tags": [
                "DNS",
                "ptr",
                "vesta control panel",
                "vestacp"
            ],
            "_date_published_rfc2822": "Mon, 12 Oct 2020 15:42:42 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "102",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "101",
            "url": "https:\/\/anikin.pw\/all\/canon-lbp-810-drayver-dlya-sovremennyh-os\/",
            "title": "Canon LBP-810 драйвер для современных ОС",
            "content_html": "<p>Принтер древний, современными ОСями не поддерживается. Соберем драйвер 2004 года из сорцев.<br \/>\n<a href=\"https:\/\/anikin.pw\/files\/capt-0.1.tar.gz\">Сам драйвер capt-0.1.tar.gz<\/a><br \/>\nРаспаковываем<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># tar xzf capt-0.1.tar.gz<\/code><\/pre><p>Открываем Makefile любым текстовым редактором и в опции gcc добавляем -std=gnu89<br \/>\nДалее<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># make\n# make install\n# service cups restart<\/code><\/pre><p>Далее добавляем принтер в систему через GUI. Драйвер LBP-810 появится там в списке.<br \/>\nВ свойствах принтера обязательно меняем URI принтера на<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">file:\/dev\/null<\/code><\/pre><p>На этом все.<br \/>\nИспользованы материалы <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\/\">тыц<\/a> и <a href=\"http:\/\/www.boichat.ch\/nicolas\/capt\/\">тыц<\/a><\/p>\n",
            "date_published": "2020-06-26T11:29:49+03:00",
            "date_modified": "2020-06-26T11:28:54+03:00",
            "tags": [
                "canon",
                "capt",
                "cups",
                "debian",
                "LBP-810"
            ],
            "_date_published_rfc2822": "Fri, 26 Jun 2020 11:29:49 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "101",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "100",
            "url": "https:\/\/anikin.pw\/all\/ustanovka-memcache-i-memcached-na-php-ustanovleny-iz-ishodnikov\/",
            "title": "Установка memcache и memcached на php установленый из исходников",
            "content_html": "<p>В \/opt\/php73\/ у нас собран php. Нужно в него добавить memcache и memcached<br \/>\nСкачиваем сорцы из pecl<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">\/opt\/php73\/bin\/pecl download memcached\n\/opt\/php73\/bin\/pecl download memcache<\/code><\/pre><p><b>Установка memcached<\/b><br \/>\nДля установки memcached нам потребуется libmemcached. Ствим из сорцев в отдельный каталог<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">wget https:\/\/launchpad.net\/libmemcached\/1.0\/1.0.18\/+download\/libmemcached-1.0.18.tar.gz\n tar -xzf libmemcached-1.0.18.tar.gz \ncd libmemcached-1.0.18\n.\/configure --prefix=\/opt\/libmemcached\nmake\nmake install<\/code><\/pre><p>Распаковываем сорцы и собираем модуль memcached<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">tar zxvf memcached-3.1.5.tgz\ncd memcached-3.1.5\n.\/configure --with-libmemcached-dir=\/opt\/libmemcached --with-php-config=\/opt\/php73\/bin\/php-config\nmake<\/code><\/pre><p>Если все отработало без ошибок, то в каталоге modules появится memcached.so. Копируем его и добавляем в php.ini<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">extension = \/opt\/php73\/lib\/php\/extensions\/no-debug-non-zts-20180731\/memcached.so<\/code><\/pre><p><b>Установка memcache<\/b><br \/>\nРаспаковываем и собираем<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">tar -xzf memcache-4.0.5.2.tgz \ncd memcache-4.0.5.2\n\/opt\/php73\/bin\/phpize\n.\/configure --with-php-config=\/opt\/php73\/bin\/php-config\nmake<\/code><\/pre><p>Если все отработало без ошибок, то в каталоге modules появится memcache.so. Копируем его и добавляем в php.ini<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">extension = \/opt\/php73\/lib\/php\/extensions\/no-debug-non-zts-20180731\/memcache.so<\/code><\/pre><p><b>P.S<\/b> Если получаем ошибку <b>Autoconf version 2.68 or higher is required<\/b>, то соберем ещё autoconf<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">wget http:\/\/ftp.gnu.org\/gnu\/autoconf\/autoconf-2.68.tar.gz\ntar xzf autoconf-2.68.tar.gz\ncd autoconf-2.68\n.\/configure --prefix=\/opt\/autoconf\nmake\nmake install<\/code><\/pre><p>Сбекапим бинарники которые устанавливались из репозитория, и создадим симлинки<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">mv \/usr\/bin\/autoconf \/usr\/bin\/autoconf.bak\nln -s \/opt\/autoconf\/bin\/autoconf \/usr\/bin\/autoconf\nmv \/usr\/bin\/autom4te \/usr\/bin\/autom4te.bak\nln -s \/opt\/autoconf\/bin\/autom4te \/usr\/bin\/autom4te<\/code><\/pre>",
            "date_published": "2020-04-23T16:13:41+03:00",
            "date_modified": "2020-04-23T16:27:45+03:00",
            "tags": [
                "autoconf",
                "libmemcached",
                "memcache",
                "memcached",
                "php"
            ],
            "_date_published_rfc2822": "Thu, 23 Apr 2020 16:13:41 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "100",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "99",
            "url": "https:\/\/anikin.pw\/all\/virtualki-v-rf\/",
            "title": "Виртуалки в РФ",
            "content_html": "<p>Пол планеты сидит на карантине, из-за этого возросла нагрузка на магистральные узлы связи, поэтому сейчас правильным решением будет размещать свои проекты на территории РФ.<br \/>\nВиртуальные серверы в РФ по выгодным ценам и с быстрой активацией можно приобрести <a href=\"https:\/\/vps-server.ru\/billing\/pl.php?4330&go=\/vps\/30\">по этой ссылке<\/a>.<br \/>\nНа них также доступен мой шаблон vestacp-multiphp, в котором доступен выбор версии php от 5.3 до 7.3. Указывайте в комментариях к заказу vestacp-multiphp.<\/p>\n<p>Скидка на первый платеж по промокоду <b>covid-19<\/b>  — 50%!!!!! на <a href=\"https:\/\/vps-server.ru\/billing\/pl.php?4330&go=\/vps\/30\">виртуальные<\/a> и <a href=\"https:\/\/vps-server.ru\/billing\/pl.php?4330&go=\/dedicated\/24\">выделенные серверы в России<\/a>.<\/p>\n<p><b>P.S. Сидите дома. Не болейте. ^^<\/b><\/p>\n",
            "date_published": "2020-03-31T13:31:07+03:00",
            "date_modified": "2020-03-31T13:43:24+03:00",
            "tags": [
                "covid-19",
                "VDS",
                "VPS"
            ],
            "_date_published_rfc2822": "Tue, 31 Mar 2020 13:31:07 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "99",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "98",
            "url": "https:\/\/anikin.pw\/all\/sborka-php-7-na-centos-6\/",
            "title": "Сборка php 7 на Centos 6",
            "content_html": "<p>Пример configure<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">.\/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<\/code><\/pre><p>Для его успешного выполнения ставим devel пакеты на основе получаемых ошибок.<br \/>\nPcre2 собираем из исходников, т.к нужной версии в репах centos 6 нет.<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># wget ftp:\/\/ftp.pcre.org\/pub\/pcre\/pcre2-10.30.tar.gz\n# tar -xf pcre2-10.30.tar.gz\n# cd pcre2-10.30\n# .\/configure --prefix=\/opt\/pcre2                       \\\n            --docdir=\/usr\/share\/doc\/pcre2-10.30 \\\n            --enable-unicode                    \\\n            --enable-pcre2-16                   \\\n            --enable-pcre2-32                   \\\n            --enable-pcre2grep-libz             \\\n            --enable-pcre2grep-libbz2           \\\n            --enable-pcre2test-libreadline      \\\n            --disable-static    \n# make\n# make install<\/code><\/pre><p>После успешного configure для php делаем make и make install<\/p>\n<p><b>UPD:<\/b> Если у вас в wordpress не отправляется почта через контактную форму функцией mail(), то pcre2 качаем версии 10.33.<\/p>\n",
            "date_published": "2020-02-03T19:32:18+03:00",
            "date_modified": "2020-04-23T16:15:50+03:00",
            "tags": [
                "centos",
                "pcre",
                "pcre2",
                "php",
                "php7"
            ],
            "_date_published_rfc2822": "Mon, 03 Feb 2020 19:32:18 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "98",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "97",
            "url": "https:\/\/anikin.pw\/all\/multiversionnost-php-na-vydelennyh-serverah-i-vds\/",
            "title": "Мультиверсионность php c VestaCP на выделенных серверах и VDS",
            "content_html": "<p>На наших выделенных серверах и VDS теперь доступен шаблон с VestaCP и версиями php от 5.3 до 7.3. Установка через техподдержку.<br \/>\nПроходите по <a href=\"https:\/\/vps-server.ru\/billing\/pl.php?4330\">ссылке<\/a> или кликайте на баннер вверху страницы, в комментариях к заказу напишите что вам нужен шаблон с vestacp-multiphp.<\/p>\n",
            "date_published": "2019-10-22T18:19:52+03:00",
            "date_modified": "2019-10-22T18:19:39+03:00",
            "tags": [
                "php",
                "php7",
                "phpmgr",
                "vesta control panel",
                "vestacp"
            ],
            "_date_published_rfc2822": "Tue, 22 Oct 2019 18:19:52 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "97",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "96",
            "url": "https:\/\/anikin.pw\/all\/dobavlenie-squashfs-live-obraza-v-pxe\/",
            "title": "Добавление squashfs live образа в PXE",
            "content_html": "<p>Нужно примонтировать live iso образ на сервере. Найти в нем файлы initrd, vmlinuz и squashfs. Скопировать их в каталог PXE и прописать в pxelinux.cfg\/default. В debian-10-live у меня получилось вот так.<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">label debian-live\n  menu label debian-live\n  kernel http:\/\/192.168.0.1\/images\/live\/vmlinuz-4.19.0-5-amd64\n  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<\/code><\/pre>",
            "date_published": "2019-09-02T18:23:54+03:00",
            "date_modified": "2019-09-02T18:23:49+03:00",
            "tags": [
                "live",
                "pxe",
                "squashfs"
            ],
            "_date_published_rfc2822": "Mon, 02 Sep 2019 18:23:54 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "96",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "95",
            "url": "https:\/\/anikin.pw\/all\/pxe-server-na-freebsd\/",
            "title": "PXE сервер на FreeBSD",
            "content_html": "<p>В конфиг  dnsmasq добавляем<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">dhcp-option-force=66,192.168.0.1   # ip сервера\ndhcp-option-force=67,gpxelinux.0   # загрузчик<\/code><\/pre><p>Перезапускаем dnsmasq<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">service dnsmasq restart<\/code><\/pre><p>Создаем каталог для pxe<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">mkdir \/usr\/local\/pxe\nmkdir \/usr\/local\/pxe\/pxelinux.cfg<\/code><\/pre><p>Устанавливаем tftp<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">pkg install tftp-hpa<\/code><\/pre><p>В \/etc\/inetd.conf добавляем<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">tftp  dgram  udp  wait  root  \/usr\/local\/libexec\/in.tftpd  in.tftpd -p -s \/usr\/local\/pxe<\/code><\/pre><p>Вписываем<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">echo 'inetd_enable=&quot;YES&quot;' &gt;&gt; \/etc\/rc.conf<\/code><\/pre><p>Запускаем inetd<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">\/etc\/rc.d\/inetd start<\/code><\/pre><p>Скачиваем и распаковываем syslinux<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">fetch http:\/\/www.kernel.org\/pub\/linux\/utils\/boot\/syslinux\/syslinux-4.05.tar.gz\ntar -xf syslinux-4.05.tar.gz<\/code><\/pre><p>Копируем файлы<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">cd syslinux-4.05\ncp gpxe\/gpxelinux.0 \/usr\/local\/pxe\/\ncp com32\/menu\/menu.c32 \/usr\/local\/pxe\/\ncp com32\/menu\/vesamenu.c32 \/usr\/local\/pxe\/\ncp com32\/modules\/reboot.c32 \/usr\/local\/pxe\/\ncp com32\/modules\/chain.c32 \/usr\/local\/pxe\/\ncp memdisk\/memdisk \/usr\/local\/pxe\/<\/code><\/pre><p>Образы будем грузить по http, т.к tftp очень медленный. Ставим nginx.<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">pkg install nginx<\/code><\/pre><p>Создаем каталог с образами и симлинк на него в nginx<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">mkdir  \/usr\/local\/pxe\/images\/\nln -s \/usr\/local\/pxe\/images\/ \/usr\/local\/www\/nginx\/images<\/code><\/pre><p>Вписываем<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">echo 'nginx_enable=&quot;YES&quot;' &gt;&gt; \/etc\/rc.conf<\/code><\/pre><p>И стартуем<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">service nginx start<\/code><\/pre><p>Заливаем наши образы в \/usr\/local\/pxe\/images\/<\/p>\n<p>В файле \/usr\/local\/pxe\/pxelinux.cfg\/default создаем конфиг меню с нашими образами. У меня получился такой<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">ui menu.c32\nmenu title PXE Boot Menu\n\nlabel boothdd\n  menu label Boot from Hard Drive\n  localboot 0\n \nlabel memtest\n  menu label memtest\n  kernel memdisk\n  initrd http:\/\/192.168.0.1\/images\/Memtest86-4.3.7.iso\n  append iso raw\n\nlabel mfsbsd\n  menu label mfsbsd\n  kernel memdisk\n  initrd http:\/\/192.168.0.1\/images\/mfsbsd-12.0-RELEASE-amd64.iso\n  append iso raw\n\nlabel debian-10\n  menu label debian-10\n  kernel http:\/\/192.168.0.1\/images\/debian10\/linux\n  append vga=normal initrd=http:\/\/192.168.0.1\/images\/debian10\/initrd.gz  --\n\nlabel rescue\n  menu label rescue\n  kernel http:\/\/192.168.0.1\/images\/debian10\/linux\n  append vga=normal initrd=http:\/\/192.168.0.1\/images\/debian10\/initrd.gz  rescue\/enable=true --<\/code><\/pre><p>linux и initrd.gz для установщика debian можно взять <a href=\"https:\/\/mirror.yandex.ru\/debian\/dists\/buster\/main\/installer-amd64\/current\/images\/netboot\/debian-installer\/amd64\/\">тут<\/a><br \/>\nТеперь можно пробовать грузится с PXE, если все сделали правильно то появится меню с выбором загружаемого образа.<\/p>\n",
            "date_published": "2019-09-01T18:49:26+03:00",
            "date_modified": "2020-04-29T16:08:01+03:00",
            "tags": [
                "Freebsd",
                "pxe",
                "tftp"
            ],
            "_date_published_rfc2822": "Sun, 01 Sep 2019 18:49:26 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "95",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "94",
            "url": "https:\/\/anikin.pw\/all\/ne-startuet-mysql-v-centos-6-posle-obnovleniya\/",
            "title": "Не стартует mysql в centos 6 после обновления.",
            "content_html": "<p>После обновления mysql до 5.7 он не стартует с ошибкой<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">[ERROR] Fatal error: mysql.user table is damaged. Please run mysql_upgrade.<\/code><\/pre><p>Добавляем в my.cnf в секцию [mysqld]<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">skip-grant-tables<\/code><\/pre><p>С этим параметром стартуем mysql и делаем mysql_upgrade<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">service mysqld start\nmysql_upgrade<\/code><\/pre><p>Затем убираем skip-grant-tables из конфига и рестартим mysql<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">service mysql restart<\/code><\/pre><p>Mysql должен запустится без ошибок<\/p>\n",
            "date_published": "2019-06-17T16:35:55+03:00",
            "date_modified": "2019-06-17T16:35:26+03:00",
            "tags": [
                "centos",
                "mysql"
            ],
            "_date_published_rfc2822": "Mon, 17 Jun 2019 16:35:55 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "94",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        }
    ],
    "_e2_version": 4134,
    "_e2_ua_string": "Aegea 11.3 (v4134)"
}