Rose debug info
---------------

Александр Жиров

Делюсь заметками о важном и нужном 😉

Mastodon

Настоящая зима за последние 20 лет

В преддверии Нового 2023 года хочется опубликовать прошлогоднее шикарное видео, до которого на тот момент руки так и не дошли. Смонтировал «на коленке» и получилось, вроде бы, вполне сносно 😉

Надеюсь, в 2023 году всё закончится...

Российский регистратор, пошёл на х*й! 🖕

Сегодня на почтовый ящик упало письмо от reg.ru с запросом на предоставление документов для подтверждения сведений об администраторе домена.

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

Переехал на домен от казахского регистратора hoster.kz

 Нет комментариев    84   7 мес   reg.ru   server

Лампочки RGB с Aliexpress

В общем, давно заказал с Aliexpress лампочки RGB, вставил в люстру, включил режим плавной смены цвета. Видимо, тайм-аут смены цвета у всех разнится, и они стали переливаться вразнобой. Поймал пару приятных моментов, получилось вполне прилично для бюджетных лампочек👌😁

Назад, в 2007-ой... (Lineage 2 в Docker)

У многих 2007-ой ассоциируется с приятными ностальгическими воспоминаниями. Не обошло и стороной меня. Как-то решил разобрать свои старые архивы — диски (болванки), копившиеся с середины 2000-х годов попали под раздачу. Нашёл очень много интересного старого материала: от программ из 90-х, которые мирно покоились на дисках, до супер-популярной музыки середины 2000-х. Но больше всего меня тронули мои скриншоты из Lineage 2, в которой я и некоторые из моих друзей провели огромное количество времени. Помню, в те времена не спали ночами, ибо ночью интернет работал лучше, чем днём (тогда обильно сидели через мобильную связь), а тариф от МТС, где один рубль являлся одним мегабайтом, научил экономить на студенческих обедах ради похода за СОП’ами ночью... Эх, были времена... 🥲
Тут сразу пришла идейка попробовать собрать сервачок да понастольгировать в игре. Нашёл на просторах сайт vlemon.info, на котором имеются различные сборки серверов. Собственно, я попробовал сделать сборку под Docker. Всё получилось, по сети протестирована, можно дальше ностальгировать 😁

 1 комментарий    382   2021   2007   docker   lineage2   server

Аккорды к Limp Bizkit — Goodbye

31 октября вышел новый, долгожданный альбом моей любимой группы Limp Bizkit. На один из треков, не выдержал, подобрал аккорды 😂
Правда, давно уже в руки не брал гитару, получилось немного смазано и дребезжаще, но звучит! 😊

Стандартный строй гитары: E A D G B E
Аккорды: Fm D# G# C#/C

Мои первые в жизни беспроводные наушники SOUNDPEATS TrueAir2

Решил поделиться своей маленькой радостью от приобретения беспроводных наушников SOUNDPEATS TrueAir2 на базе процессора Qualcomm QCC3040. Данные беспроводные наушники — мой первый опыт использования подобного рода устройств. В ушах сидят +/- удобно, левое ухо испытывает небольшой дискомфорт от долгого присутствия там наушника. В целом — использование вполне удобное. Сенсор очень отзывчив и имеет несколько режимов для управления. Использую наушники совместно с iPhone 6s. Нет задержек при просмотре видео и прослушивании музыки — Bluetooth 5.2 отрабатывает на все 100%. Сами наушники были приобретены на AliExpress за вполне более чем соответствующую им цену в 2196,18 рублей. Для сравнения с ценой из Яндекс.Маркет, которые стоят там 4990 рублей.

Характеристики

Класс защиты (IP) IPX4
Версия Bluetooth 5.2
Поддерживаемые кодеки ATPX, SBC,ACC
Емкость аккумулятора (для одного наушника) 30 мА/ч
Время зарядки 2 ч
Время работы от аккумулятора в кейсе 5 ч
Емкость аккумулятора кейса 300 мА/ч

Распаковка

Обзор упаковки и поставляемого комплекта:

  1. Кейс с наушниками
  2. Кабель USB Type-C для зарядки кейса
  3. Инструкция

Демонстрация записи звука с микрофонов наушников

Из опыта пользования хочу сказать, что наушники держат стабильное соединение до 10 метров. Оставлял телефон в одной комнате, через 2 стены в другой связь не прерывалась и не было перебоев. Так что, по качеству соединения наушники дадут фору брендовым аналогам.

Установка Cisco Packet Tracer в Linux (не Debian-подобные дистрибутивы)

В связи с тем, что Cisco Packet Tracer имеет инсталлятор только для Linux Debian-подобных, напишу статью, более консолидированную, дополненную и расписанную, как установить данную программу для остальных дистрибутивов. За основу статьи был взят пост с форума Asc Fedora.
Стороной обойду процесс скачивания. Готовый пакет я выложил у себя в облаке. Статья будет соответствовать установке данного пакета на моём ПК с предустановленной ОС Linux Solus 4.3.

Распаковка

Для начала необходимо распаковать имеющийся debian-пакет во временную папку с помощью архиватора ar. Переходим в каталог, где скачан наш Cisco Packet Tracer. Создаём временный каталог, переносим туда пакет и распаковываем его:

mkdir temp
mv CiscoPacketTracer_801_Ubuntu_64bit.deb temp/
cd temp/
ar -xv CiscoPacketTracer_801_Ubuntu_64bit.deb

В результате у нас будут распакованы 3 файла:

x - debian-binary
x - control.tar.xz
x - data.tar.xz

Сама программа находится в data.tar.xz. Создаём каталог data и распаковываем туда архив с соответствующем именем:

mkdir data
tar -C data -Jxf data.tar.xz

Предварительная подготовка перед установкой окончена. Переходим к установке.

Установка

Переходим в каталог data, куда мы распаковали архив с программой. Внутри будут лежать два каталога — usr/ и opt/. Необходимо рекурсивно скопировать данные каталоги в нашу систему, что мы и сделаем:

cd data
sudo cp -r usr /
sudo cp -r opt /

Теперь необходимо создать символическую ссылку на исполняемый файл:

sudo ln -sf /opt/pt/packettracer /usr/local/bin/packettracer

После чего, программа будет доступна для запуска из терминала.
Для установки ярлыков запуска воспользуемся инструментом командной строки для установки элементов меню рабочего стола — xdg-desktop-menu, а так же обновим все необходимые кэши данных:

sudo xdg-desktop-menu install /usr/share/applications/cisco-pt.desktop
sudo xdg-desktop-menu install /usr/share/applications/cisco-ptsa.desktop
sudo update-mime-database /usr/share/mime
sudo gtk-update-icon-cache --force --ignore-theme-index /usr/share/icons/gnome
sudo xdg-mime default cisco-ptsa.desktop x-scheme-handler/pttp

После чего необходимо перезапустить сеанс.
После входа в систему в меню приложений должен появиться ярлык запуска Packet Tracer 8.0.1:

Запускаем и удостоверяемся, что всё успешно установлено и работает!

Настройка среды программирования на C/C++ в Windows 10

В данном посте я распишу установку компилятора GCC в Windows 10 (далее просто Windows) и настройку различных IDE. В конце поста два видео с наглядным представлением о проделанной работе.

Выбор компилятора

Я предпочитаю использовать набор компиляторов GNU, так как он является стандартным компилятором в UNIX-подобных системах, а я программирую исключительно в Linux. Углубляться в работу самого компилятора в данном посте я не буду, так как пост предназначен для настройки среды программирования в Windows, но о самом наборе кратко можно прочесть на сайте wiki.

Один из способов установки GCC — использовать набор инструментов разработки ПО MSYS2, или другими словами — использование MinGW-w64. На самом сайте MSYS2, на главной странице, имеется инструкция по установке данного набора инструментов. Я продублирую данную инструкцию со своими дополнениями.

Установка MSYS2

Для начала необходимо скачать сам установочный файл MSYS2. На странице GitHub представлены все релизы. Стоит заметить, что программа предназначена для 64-битных систем. Скачиваем exe-файл последнего релиза и запускаем от имени администратора.

Каталог установки я оставил по умолчанию.

Ярлыки меню «Пуск» также оставил без изменений. После установки в разделе «MSYS2 64bit» появятся несколько ярлыков для запуска MSYS2 с возможностью выбора разрядности интерпретатора терминала.

Дожидаемся окончания процесса установки.

После завершения установки подтверждаем и запускаем MSYS2.

После запуска откроется интерпретатор терминала, через который необходимо доустановить все необходимые developer-пакеты.

Для начала необходимо обновить базу данных пакетов и сами пакеты. Для этого выполняем команду:

pacman -Syu

Далее — подтверждаем Y процесс обновления пакетов:

После окончания обновления подтверждаем ещё раз Y, после чего интерпретатор закроется.

Запускаем MSYS2 снова и продолжаем. Обновляем базовые пакеты и подтверждаем обновление Y:

pacman -Su

После окончания обновления устанавливаем устанавливаем пакеты инструментов разработчика и сам компилятор mingw-w64 GCC:

pacman -S --needed base-devel mingw-w64-x86_64-toolchain

В процессе установки пару раз появится сообщение:

Enter a selection (default=all):

Просто подтверждаем нажатием клавиши Enter.

Далее — соглашаемся Y на произведение установки указанных пакетов:

По окончании установки можно удостовериться в успешном выполнении пройденных шагов:

gcc -v
make --version

Настройка переменной среды Path

После успешной установки MSYS2 необходимо в системе Windows указать пути к исполняемым файлам наших установленных developer-пакетов, чтобы IDE могли без всяких проблем их подцепить и использовать. Открываем Параметры, выбираем пункт Система, слева на панеле О программе, после чего жмём Дополнительные параметры системы:

Откроется окно Свойство системы, где необходимо на вкладке Дополнительно нажать Переменные среды:

Откроется окно Переменные среды. В нижней таблице Системные переменные найти строку переменной Path, выбрать её и нажать Изменить:

В открывшемся окне Изменить переменную среды создать две записи с путями, где расположены исполняемые файлы MSYS2.

Отталкиваясь от пути установки по умолчанию MSYS2 я добавил:

C:\msys64\usr\bin
C:\msys64\mingw64\bin

Далее везде подтверждаем OK закрытие всех окон и перезагружаем систему для применения изменений.

Установка Java Runtime Environment

Перед установкой IDE установим виртуальную машину Java для исполнения Java-приложений. Для NetBeans будут специфические настройки, об этом далее в посте. Скачиваем последнюю версию JRE и запускаем установщик. Жмём Install и ожидаем окончания установки.

Установка Eclipse IDE

Первая IDE, установку которой я рассмотрю здесь, называется Eclipse. Точнее — не установки, а распаковки, так как программа поставляется в zip-архиве и не требует установки. На сайте загрузки доступны различные варианты программы. Нам потребуется Eclipse IDE for C/C++ Developers. Скачиваем и распаковываем — я распаковал в корень диска C:\. Запускаем исполняемый файл eclipse.exe и ожидаем загрузки IDE:

После загрузки Eclipse предложит выбрать место для рабочей директории:

Я оставил по умолчанию и продолжил Launch:

После загрузки IDE все необходимые настройки для сборки и компиляции проектов будут автоматически сгенерированы. Создаём новый проект в Project Explorer:

Выбираем C++ Managed Build:

Указываем имя проекта и выбираем тип проекта из готового шаблона и набор инструментов MinGW GCC:

Жмём Finish и пробуем собрать наш тестовый проект нажав Ctrl+B. После сборки в консоле программы появится вывод об успешной сборке:

Жмём Ctrl+F11, IDE предложет выбрать вариант запуска нашего проекта. Выбираем Local C/C++ Application:

После запуска проекта консоль уведомит нас об успешном завершении программы и соответствующим выводом:

Проверка работосбособности IDE Eclipse успешно окончена.

Установка NetBeans IDE

Мой выбор остановился на версии NetBeans IDE 8.2, с поддержкой C++, которая является последней версией до входа NetBeans в состав Apache Software Foundation. Для работы NetBeans 8.2 необходим пакет JDK 8u192. В связи с тем, что старый сайт NetBeans недоступен, то возможность скачать старые версии отсутствует. Поэтому я сделал бэкапы и оставил все инсталляторы здесь. Так же можно испытать и на последних версиях Apache NetBeans.
Если устанавливать полную версию NetBeans, то для её работы необходимо установить JDK. В случае с C++ версией — такой необходимости нет. Установка JDK 8u192 сопровождается установкой JRE соответствующей версией. Так же продемонстрирую установку JDK:

В процессе установки появится предложение об установки JRE:

По окончании установки подтверждаем Close:

Теперь настало время установки NetBeans IDE. В моём случае производилась установка C++ версии NetBeans:

Принимаем лицензионное соглашение:

Путь установки я оставил по умолчанию. Если же вы устанавливаете полную версию NetBeans, то система так же подцепит установленный ранее JDK и укажит путь к его местоположению — его так же стоит оставить без изменений:

Подтверждаем и дожидаемся оконачния установки:

После окончания установки запускаем NetBeans:

На панеле управления кликаем по Сервис и из выпадающего списка выбираем Параметры. Далее необходимо перейти на вкладку C/C++ и дождаться загрузки Средств сборки:

Как видно из скриншота — набор средств MinGW автоматически был сконфигурирован в NetBeans и теперь наша IDE видит все необходимые исполняемые файлы для работы с нашим кодом. Для проверки работоспособности создаём новый проект Приложение на C/C++:

Жмём Далее и указываем необходимые настройки для нашего проекта. Я оставил по умолчанию:

После создания нового проекта открываем main.cpp. Немного поправив код производим сборку проекта по клавиши F11:

Как видно — сборка прошла успешно. Запускаем проект на F6:

Программа отработала как и ожидалось. На этом установка и проверка работоспособности NetBeans IDE окончена.

Установка Qt Creator

Перед установкой Qt Creator необходимо в MSYS2 установить дополнительный пакет Qt Widgets for Technical Applications, который несёт в себе qmake — при установке подтвердить Y:

pacman -S mingw-w64-x86_64-qwt-qt5

Так же необходимо установить cmake — при установке подтвердить Y:

pacman -S cmake

Далее необходимо установить компонент Microsoft Visual C++ 2015-2017-2019. Данные компоненты для x86 и x64 я загрузил в облако. Скачиваем и устанавливаем:

Теперь можно приступить к установке Qt Creator. Существует два варианта установки Qt Creator — онлайн и оффлайн. Скачать инсталляторы и дополнения можно свободно на официальной странице загрузок. Для примера я использовал оффлайн инсталлятор Qt 5.12.11 for Windows. При запуске инсталлятора программа потребует авторизоваться под учетной записью Qt, которую можно получить здесь:

После авторизации жмём Next и соглашаемся с лицензионным соглашением:

Каталог установки я оставил по умолчанию, в корне диска C:\:

На шаге выбора компонентов я так же оставил настройки по умолчанию. Так как уже установлен пакет MSYS2 со всем необходимым набором программ, повторная установка MinGW пакетов не требуется. Все пути к исполняемым программа прописаны в переменной среды Path, а это значит, что все необходимые настройки автоматически будут сгенерированы при запуске Qt Creator:

Опять Next и принятие лицензионного соглашения:

Кликаем по Install для начала установки Qt Creator, ожидаем окончания и жмём Finish:

После окончания установки Qt Creator автоматически будет запущен:

Убеждаемся в том, что все настройки в порядке — кликаем на панеле по Инструменты и из выпадающего списка выбираем Параметры. В открывшемся окне Параметры проверяем в меню Комплекты все установленные пакеты:

Если всё в порядке — создаём новый Проект без Qt и выбираем Приложение на языке C++:

Даём название новому проекту. Путь расположения проекта — на свой вкус. Я оставил по умолчанию:

Систему сборки оставил qmake, комплект по умолчанию, Далее и Завершить:

Производим сборку нашего проекта Ctrl+B:

Как видно — сборка прошла успешно. Теперь можно запустить собранный проект Ctrl+R:

Всё выполнилось без проблем! Установка и настройка Qt Creator завершена.

Демонстрация установки и настройки различных IDE совместно с GCC

JDK/MSYS2/IDE NetBeans/IDE Eclipse

Qt Creator

 Нет комментариев    705   2021   eclipse   gcc   ide   msys2   netbeans   qt

Базовая настройка подключения к серверу Samba

Небольшая и вполне понятная заметка для настройки общего доступа по сети к расшариваемому каталогу в Linux на примере использования Samba-сервера. Как следует из wiki:

Samba — пакет программ, которые позволяют обращаться к сетевым дискам и принтерам на различных операционных системах по протоколу SMB/CIFS.

Установка Samba

За основу примера я возьму дистрибутив Ubuntu 20.04.2. Для начала необходимо установить сам сервер Samba, если он отсутствует. Обновим базы данных пакетов и произведём установку Samba:

sudo apt update
sudo apt install samba

После завершения установки служба Samba запустится автоматически. Чтобы проверить, работает ли сервер Samba, введём:

systemctl status smbd.service

Получим ожидаемый ответ:

● smbd.service - Samba SMB Daemon
     Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2021-06-18 23:03:37 MSK; 15h ago
       Docs: man:smbd(8)
             man:samba(7)
             man:smb.conf(5)
   Main PID: 1368 (smbd)
     Status: "smbd: ready to serve connections..."
...

Создание сетевой учетной записи пользователя

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

sudo groupadd smbgrp

Создаём нового пользователя и включаем его в вышесозданную группу (-M — без домашней директории, -G — добавляем в группу):

sudo useradd -MG smbgrp smbuser

Зададим Samba-пароль для созданной учетной записи:

sudo smbpasswd -a smbuser

Настройка расшариваемого каталога

Нам необходимо будет создать каталог (или выбрать из имеющихся), который необходимо будет сконфигурировать в файле настроек сервера. Создаём каталог для общего доступа. Я буду его создавать в  /mnt:

sudo mkdir -p /mnt/share

Установить права на чтение/запись расшариваемого каталога (где $USER — текущий пользователь host-системы):

sudo chown $USER:smbgrp /mnt/share
sudo chmod g+ws,o-rx /mnt/share

Или вместо последней строки выполнить:

sudo chmod 2770 /mnt/share

Также необходимо добавить пользователя host-системы в группу smbgrp, для того, чтобы на хосте можно было просматривать/редактировать файлы, загруженные пользователем smbuser:

sudo usermod -aG smbgrp $USER

В результате манипуляций у нас должно получиться:

drwxrws---  2 host-user smbgrp 4096 Jun 19 11:46 share/

Конфигурация smb.conf

Файл конфигурации Samba находится в  /etc/samba/smb.conf. Нам необходимо (на всякий случай) сделать бэкап данного файла и внести изменения в основной файл для доступа к расшариваемому каталогу. Делаем бэкап:

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

Теперь редактируем файл конфигурации:

sudo nano /etc/samba/smb.conf

Добавляем в конец файла строки:

[share]
   path = /mnt/share
   valid users = @smbgrp
   guest ok = no
   browsable = yes
   writable = yes
   create mask = 2770
   directory mask = 2770

Сохраняем файл конфигурации и проверяем на корректность новые указанные данные:

testparm -s

Получим ожидаемый ответ:

Load smb config files from /etc/samba/smb.conf
Loaded services file OK.

Если всё в порядке — перезапускаем службу Samba:

sudo systemctl restart smbd.service

Соединение

Теперь попробуем присоединиться к нашему серверу с удалённого компьютера. На host-системе должен быть открыт порт 445 для подключения к Samba. С удалённого компьютера под управлением Linux (в моём случае Solus Budgie 4.2) запускаем утилиту smbclient и подключаемся к нашему серверу (где -U — наш пользователь Samba, далее следует пароль):

smbclient //<host-ip-address>/share -U 'smbuser' '<smbuser-password>'

В моём случае:

smbclient //192.168.56.104/share -U 'smbuser' 'smbuser'

В ответ нам прилетит приглашение Samba:

Try "help" to get a list of possible commands.
smb: \>

Теперь мы можем просматривать/редактировать файлы на нашем сервере. Базовая настройка подключения к серверу Samba окончена!

Подъём блога на движке Эгея в Docker

На просторах интернета нашёл статью о том, как поднять свой блог на движке Эгея в Docker. Столкнулся с единственной проблемой — рассылка по почте отказывалась работать с контейнера. Пришлось немного допилить механизм + сменил СУБД на MariaDB.

Исходный код выложил в приватном git.

Блог вполне отлично работает на Raspberry Pi 4 (4GB) вместе с Ubuntu Server 20.04.2.

 3 комментария    236   2021   docker   эгея