Архив заметок

FreeBSD

Подписаться на эту рубрику по RSS

Wayland на FreeBSD с Hyprland

Просмотров: 5686Комментарии: 0
FreeBSD

Всем привет! Оставлю небольшую заметку по установке и настройке нового протокола для организации графического сервера, как замена Xorg. Что говорит рукокнига на официальном сайте FreeBSD о Wayland:

Wayland - это всего лишь протокол, который действует как посредник между клиентами, использующими другой механизм, который устраняет зависимость от X-сервера. Xorg включает в себя как протокол X11, используемый для запуска удаленных дисплеев, так и сервер X, который будет принимать подключения и отображать окна. В Wayland композитор или оконный менеджер предоставляет сервер отображения вместо традиционного X-сервера.

Так как у меня на железке стоит видео карта nvidia, то тут не обошлось с дополнительным геморроем по настройке. Благо все решилось через установку модуля drm, об этом напишу чуть позже.

Устанавливал на 13.1 версию FreeBSD из пакетов. Можно установить из портов, но учтите, что при установке Wayland, он тянет llvm и сборка этого добра займет очень много времени даже на мощном железе.

Так же учтите, что пакеты берутся из квартального репозитария с протухшими версиями софта. Если вы не копировали /etc/pkg/FreeBSD.conf в /usr/local/etc/pkg/repos/FreeBSD.conf и не меняли настройки, то стоит проверить:

FreeBSD: { url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest" }

Это вариант с самыми свежими версиями. Далее запускаем

# pkg update -f
# pkg upgrade

Установим следующие пакеты

# pkg install wayland seatd waybar hyprland hyprpaper
  • seatd это сервис, который помогает управлять доступом к общим системным устройствам для обычных пользователей в композиторах(оконных менеджерах) для Wayland.
  • waybar это бар для окошек
  • hyprland тот самый композитор, есть еще другие, но я выбрал этот из-за возможной простоты конфигурации
  • hyprpaper помощник по обоям

Если у вас видюха не nvidia, то смело можно ставить пакет drm-kmod.

И, конечно, если nvidia, то идем на гитхаб за исходниками drm-kmod. Я скачивал drm для нее в домашнюю папку юзера. Загрузим исходники в папку drm-kmod.

# git clone -b 5.10-lts --depth 1 https://github.com/freebsd/drm-kmod.git

Лучше использовать определенную версию для вашей системы, автор про это сообщает:

For 14.0-CURRENT use master

For 13.1-* use 5.10-lts

Для сборки дров понадобятся сорцы, загрузим и их рядом:

# https://github.com/amshafer/nvidia-driver.git

Теперь можно устанавливать. Переходим в папку и устанавливам

# cd ~/nvidia-driver/nvidia && make && make install

Далее грузим через kldload nvidia-drm, теперь почти все готово для запуска.

Отредактируем /etc/rc.conf

kld_list="linux nvidia nvidia-modeset fusefs nvidia-kmod"
senmail_enable="NONE"
seatd_enable="YES"
linux_enable="YES"
dbus_enable="YES"

Теперь необходимо скопировать дефолтные конфиги в домашнюю папку юзера. Для начал найдем конфиги hyprland и waybar

$ find /usr -name hypland.conf
/usr/local/share/hypr/hypland.conf

Создаем папки в домашней директории и копируем конфиг.

$ mkdir -p ~/.config/hypr
$ mkdir ~/.config/waybar

Копируем найденные конфиги в папки. Для бара будет 2 конфига: первый это сам конфиг config и второй это стили style.css.

Потом идем на вики https://wiki.hyprland.org/Getting-Started/Quick-start/ и вкуриваем мануал по конфигу.

И, наконец, добавим для автостарта окошек несколько строк в файл .profile.

if [ -z "$XDG_RUNTIME_DIR" ]; then
    export XDG_RUNTIME_DIR=/tmp/xdg
    if [ ! -d  "$XDG_RUNTIME_DIR" ]; then
        mkdir "$XDG_RUNTIME_DIR"
        chmod 0700 "$XDG_RUNTIME_DIR"
    fi
fi
if $(hyprctl monitors) == "HYPRLAND_INSTANCE_SIGNATURE was not set! (Is Hyprland running?)"; then
Hyprland -c ~/.config/hypr/hyprland.conf
fi

На счет HYPRLAND_INSTANCE_SIGNATURE не уверен, так как это не помогло. При проверке hyprctl monitor до сих пор выводит сообщение, что инстанция не задана. Если знаете как победить, напишите.

Еще один косяк с мышкой, точнее с курсором. Он не появляется, пробовал лечить следующей темой

# setenv WLR_NO_HARDWARE_CURSORS 1

Но не помогло, курсор появлялся и исчезал через какое-то время.

Итак, можно запускать сразу через команду Hyprland или после авторизации, он автоматом запуститься.

Я дальше первого запуска детально не настраивал тайлы, бинды для команд и другие украшательства из-за проблем с видюхой. Скорее всего кривизна рук виновата.

Расширение раздела на VPS во FreeBSD 12

Просмотров: 3133Комментарии: 0
FreeBSD

Всем привет!

По традиции публикую заметку на будущее, если возникнет проблема с расширением раздела при смене тарифа. Я столкнулся с этими буквально вчера. Хостер добавил пространства в 10Gb, по наивности я думал, что диск расширится при вмешательстве службы поддержки, но так как я использую на VPS операционку FreeBSD, которую провайдер не поддерживает, пришлось самостоятельно заниматься этим вопросом.

В интернете очень много мануалов по данной тематике, в хендбуке эта функциональность тоже описана достаточно подробно. Я, конечно, Америку не открыл и колесо заново не изобрел smile Собрал для себя рабочий список команд для корректного увеличения раздела.

Для начала дисклеймер, ибо это надо делать всегда!

До внесения изменений, обязательно сделайте резервную копию данных. Любые манипуляции с разделами несут в себе риск потери данных.

Данные операции проходили в ОС FreeBSD 12.0

Читать далее...

VPN на базе WireGuard и FreeBSD

Просмотров: 7654Комментарии: 0
FreeBSD

Привет, работяги!

Поделюсь своим скромным опытом по настройке зашифрованного vpn туннеля с помощью wireguard. Что же это за зверь?

WireGuard® - это чрезвычайно простой, но быстрый и современный VPN, который использует современную криптографию. Он стремится быть быстрее, проще, компактнее и более полезным, чем IPsec, избегая при этом массивной головной боли. Он намерен быть значительно более производительным, чем OpenVPN. Wire Guard разработан как VPN общего назначения для работы на встроенных интерфейсах и суперкомпьютерах, пригодных для многих различных обстоятельств. Первоначально выпущенный для ядра Linux, он теперь кросс-платформенный (Windows, macOS, BSD, iOS, Android) и широко развертывается. В настоящее время он находится в стадии интенсивного развития, но уже его можно рассматривать как самое безопасное, простое в использовании и самое простое решение VPN в отрасли.

Если интересуют подробности возможностей, то вам сюда. Поехали!

Читать далее...

SQUID в качестве обычного прокси

Просмотров: 2360Комментарии: 0
FreeBSD

Всем привет!

Данная запись не преследует цели описать конфигурацию кэширующего и прозрачного squid сервера с файрволлом или интеграцией с AD. Родилась идея настроить на VPS прокси сервачок для личных нужд с жирным каналом. Для этого я взял за основу систему FreeBSD 12. Начнем:

# uname -srm
FreeBSD 12.0-RELEASE-p8 amd64

Конфиг squid(на эту дату версия 4.8)

http_port ваш_ip:3128
auth_param basic program /usr/local/libexec/squid/basic_ncsa_auth /usr/local/etc/squid/passwd
auth_param basic children 5
auth_param basic realm please sug min den
auth_param basic credentialsttl 2 hours
visible_hostname "proxy"
acl ncsa_users proxy_auth REQUIRED
acl SSL_ports port 443
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http
acl CONNECT method CONNECT
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny to_localhost
http_access allow ncsa_users
http_access deny all
access_log /var/log/squid/access.log squid
logfile_rotate 0
via off
forwarded_for off
follow_x_forwarded_for deny all
request_header_access X-Forwarded-For deny all
#logformat squid %tl %6tr %>a %Ss/Hs %<st %rm %ru %un %Sh/%<A %mt
client_db on
dns_defnames on
httpd_suppress_version_string on
retry_on_error on
uri_whitespace strip
strip_query_terms off
cache deny all
#cache_dir null /tmp
ident_lookup_access deny all
#deny_info [URL]http://proxy/blocked.html[/URL] adsites
acl ads dstdom_regex "/usr/local/etc/squid/ad_block.txt"
http_access deny ads

Для создания файла с учетками нужна программка htpasswd, а ставить apache из-за одной проги не комильфо. В портах есть такая штука security/py-htpasswd или можно установить из пакетов, кому как удобнее.

Далее организовать ссылочку:

# ln -s /usr/local/bin/htpasswd.py /usr/local/bin/htpasswd
# rehash

Делаем учетку с паролем:

#htpasswd -cb /usr/local/etc/squid/passwd user password

Почти готово. Теперь надо в файлик ad_block.txt закачать ссылки по рекламе для блокировки. Взял данную фишку отсюда.

Создаем скрипт:

curl -sS -L --compressed "http://pgl.yoyo.org/adservers/serverlist.php?hostformat=nohtml&showintro=0&mimetype=plaintext" > /usr/local/etc/squid/ad_block.txt
## refresh squid
/usr/local/sbin/squid -k reconfigure

Делаем исполняемым:

# chmod +x ad_servers_newlist.sh

И в cron его(я использую рутовый):

# crontab -e
35   5    *   *   */3 /root/ad_servers_newlist.sh >> /dev/null 2>&1

mysqli_real_connect(): (HY000/2054): The server requested authentication method unknown to the client

Просмотров: 6565Комментарии: 0
FreeBSDMySQL

Столкнулся намедни с проблемой аутентификации пользователя root в phpmyadmin. Версия mysql 8. Ошибки возникают следующие:

The server requested authentication method unknown to the client
mysqli_real_connect(): The server requested authentication method unknown to the client [caching_sha2_password]
mysqli_real_connect(): (HY000/2054): The server requested authentication method unknown to the client

Решений есть несколько.

1. Добавить настройку в файл my.cnf:

default_authentication_plugin=mysql_native_password

2. Авторизоваться в mysql под root в консоле и выполнить:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'пароль';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
ALTER USER 'default'@'%' IDENTIFIED WITH mysql_native_password BY 'secret';

Первый вариант мне не помог, а вот второй да.

FreeBSD 10 и ntopng

Просмотров: 4508Комментарии: 0
FreeBSD

Небольшая заметка с хабра:

Ntop это сетевой зонд, который показывает использование сети подобно *nix приложениям top и processes.

Спустя 15 лет с момента представления оригинального ntop, пришло время создать новый, современный ntop. Мы называем его ntopng, ntop next generation (ntop следующее поколение)

Ради эксперимента и наличии свободного времени, решился поиграться на своем медиа сервере под управлением фряхи.

Не буду вдаваться в лирику, приступим.

Читать далее...

Настройка сервера counter-strike 1.6 на FreeBSD 10

Просмотров: 3224Комментарии: 0
FreeBSD
Приветствую!

Довелось тут попытаться настроить сервер для игры с племянником в кс один на один. К сожалению жалкие навыки использования unix подобных систем канули в лету. Пришлось многое вспоминать, чтобы установить данный сервер на ОС FreeBSD.

Есть у меня медиа железка, вернее файлопомоечка с фильмами и музыкой. Его я и принялся адаптировать под игровой сервер. Пошаговую установку я описывать не буду. Частично затрону шаги, по эмуляции линупсов и собственно установки сервера.

Итак, что имеем: Читать далее...