LINUX.ORG.RU

Сообщения Xld

 

Подключение точки доступа к управляему свичу с вланами

Форум — Admin

В продолжении этой темы - Совет по выбору точки доступа или роутера/тд с нормальной гостевой сетью

Прочитал теорию про вланы и не до конца понял. Если у меня схема:

Router ETH1 192.168.1.0/24 (нужен транк?) --> Switch PORT1 (vlan10 192.168.10/0/24) --> Wi-Fi AP с гостевой

но при этом точка доступа (аксес поинт - AP) не умеет в тегированные вланы (по крайней мере в веб интерфейсе настройки нет), AP не сможет получить адрес от аксес порта свича и, соответственно, не сможет получить доступ куда либо? То есть для такой схемы, чтобы на AP изолировать влан от основного нетегированного влана, нужно чтобы АР поддерживала тегированные вланы?

Перемещено hobbit из general

 , , ,

Xld
()

Зависает debian 13

Форум — General

Куски последних сообщений из трех последних логов перед зависанием:

дек 17 10:25:51 rivendell dbus-daemon[2457]: [session uid=1000 pid=2457 pidfd=5] Activating service name='org.gnome.Settings.SearchProvider' requested by ':1.31' (uid=1000 pid=2622 comm="/usr/bin/gnome-shell")
дек 17 10:25:51 rivendell dbus-daemon[2457]: [session uid=1000 pid=2457 pidfd=5] Activating service name='org.gnome.Contacts.SearchProvider' requested by ':1.31' (uid=1000 pid=2622 comm="/usr/bin/gnome-shell")
дек 17 10:25:51 rivendell dbus-daemon[2457]: [session uid=1000 pid=2457 pidfd=5] Activating service name='org.gnome.Calculator.SearchProvider' requested by ':1.31' (uid=1000 pid=2622 comm="/usr/bin/gnome-shell")
дек 17 10:25:51 rivendell dbus-daemon[2457]: [session uid=1000 pid=2457 pidfd=5] Activating service name='org.gnome.Characters' requested by ':1.31' (uid=1000 pid=2622 comm="/usr/bin/gnome-shell")
дек 17 10:25:51 rivendell dbus-daemon[2457]: [session uid=1000 pid=2457 pidfd=5] Activating service name='org.gnome.clocks' requested by ':1.31' (uid=1000 pid=2622 comm="/usr/bin/gnome-shell")
дек 17 10:25:51 rivendell dbus-daemon[2457]: [session uid=1000 pid=2457 pidfd=5] Activating service name='org.gnome.seahorse.Application' requested by ':1.31' (uid=1000 pid=2622 comm="/usr/bin/gnome-shell")
дек 17 10:25:51 rivendell gnome-shell[2622]: Received error from D-Bus search provider org.gnome.Boxes.desktop: Gio.IOErrorEnum: Cannot invoke method; proxy is for the well-known name org.gnome.Boxes.SearchProvider without an owner, and proxy was constructed with the G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START flag
дек 17 10:25:51 rivendell dbus-daemon[2457]: [session uid=1000 pid=2457 pidfd=5] Successfully activated service 'org.gnome.Settings.SearchProvider'
дек 17 10:25:51 rivendell dbus-daemon[2457]: [session uid=1000 pid=2457 pidfd=5] Successfully activated service 'org.gnome.Calculator.SearchProvider'
дек 17 10:25:51 rivendell dbus-daemon[2457]: [session uid=1000 pid=2457 pidfd=5] Successfully activated service 'org.gnome.seahorse.Application'
дек 17 10:25:51 rivendell dbus-daemon[2457]: [session uid=1000 pid=2457 pidfd=5] Successfully activated service 'org.gnome.clocks'
дек 17 10:25:51 rivendell dbus-daemon[2457]: [session uid=1000 pid=2457 pidfd=5] Successfully activated service 'org.gnome.Contacts.SearchProvider'
дек 17 10:25:51 rivendell gnome-shell[2622]: Received error from D-Bus search provider org.gnome.Boxes.desktop: Gio.IOErrorEnum: Cannot invoke method; proxy is for the well-known name org.gnome.Boxes.SearchProvider without an owner, and proxy was constructed with the G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START flag
дек 17 10:25:51 rivendell dbus-daemon[2457]: [session uid=1000 pid=2457 pidfd=5] Successfully activated service 'org.gnome.Characters'
дек 17 10:25:51 rivendell gnome-character[10223]: JS LOG: Characters Application started
дек 17 10:25:51 rivendell gpg-agent[3700]: can't connect to the daemon /usr/lib/gnupg/scdaemon: IPC connect call failed
дек 17 10:25:51 rivendell gpg-agent[3700]: can't connect to the daemon /usr/lib/gnupg/scdaemon: IPC connect call failed
дек 17 10:25:51 rivendell gpg-agent[3700]: can't connect to the daemon /usr/lib/gnupg/scdaemon: IPC connect call failed
дек 17 10:25:53 rivendell systemd[2434]: Started app-gnome-emacs-10326.scope - Application launched by gnome-shell.
дек 17 10:26:01 rivendell gnome-character[10223]: JS LOG: Characters Application exiting
дек 17 10:33:21 rivendell emacs.desktop[10326]: ../../../../modules/im/ximcp/imDefLkup.c,419: The application disposed a key event with 52969 serial.
дек 16 15:21:12 rivendell gsd-power[2758]: Claiming light sensor failed: Timeout was reached
дек 16 15:21:21 rivendell gvfsd-wsdd[14317]: Failed to spawn the wsdd daemon: Failed to execute child process “wsdd” (No such file or directory)
дек 16 15:21:21 rivendell gvfsd-network[7575]: Couldn't create directory monitor on wsdd:///. Error: Automount failed: Failed to spawn the underlying wsdd daemon.
дек 16 15:21:24 rivendell systemd[2436]: Started app-gnome-org.gnome.Settings-14336.scope - Application launched by gnome-shell.
дек 16 15:21:27 rivendell gnome-control-c[14336]: Failed to get secrets: No agents were available for this request.
дек 16 00:16:53 rivendell gnome-shell[2606]: libinput error: client bug: timer event5 keyboard: scheduled expiry is in the past (-2852ms), your system is too slow
дек 16 00:16:53 rivendell gnome-shell[2606]: libinput error: client bug: timer event5 keyboard: scheduled expiry is in the past (-370ms), your system is too slow
дек 16 00:17:48 rivendell gvfsd-wsdd[6901]: Failed to spawn the wsdd daemon: Failed to execute child process “wsdd” (No such file or directory)
дек 16 00:17:48 rivendell gvfsd-network[4554]: Couldn't create directory monitor on wsdd:///. Error: Automount failed: Failed to spawn the underlying wsdd daemon.
дек 16 00:18:27 rivendell gvfsd-wsdd[6955]: Failed to spawn the wsdd daemon: Failed to execute child process “wsdd” (No such file or directory)
дек 16 00:18:27 rivendell gvfsd-network[4554]: Couldn't create directory monitor on wsdd:///. Error: Automount failed: Failed to spawn the underlying wsdd daemon.

gvfs-backend и wsdd2 установлены.

Зависания рандомные: бывает 0 за день, бывает раз 10. Такое последние несколько недель. Найти явного виновника не могу, прошу подсказать, куда копать.

ОЗУ проверена мемтестом в 10 прогонов, ССД проверен долгим смарт тестом. На КДЕ такая же штука. Ресурсов хватает. Один раз поймал фриз на экране htop - все в пределах нормы (20% использования ОЗУ не считая кешей, 1-2% CPU).

Ноут ASUS Zenbook 13 8840HS.

 , ,

Xld
()

Совет по выбору точки доступа или роутера/тд с нормальной гостевой сетью

Форум — General

Сетевики, помогайте.

Нужна ТД с функцией гостевой сети. У меня есть 2 тплинка (арчеры 20 и 50), но у обоих какой-то треш вместо гостевой. Она есть как таковая, но в ней органичение гостей не работает как мне нужно - функция не ограничивает возможности общения между гостями и с устройствами в локалке.

Принципиально, чтобы был двухдиапазонный. 5ку планирую под домашние устройства, а 2.4 под гостей.

Что выбрать? Чем дешевле и проще, тем лучше. Главное, чтобы стабильно работала и был длительный срок поддержки обновлений.

Нужны нативные решения. Кастомные прошивки не интересны.

 ,

Xld
()

Переключение раскладки в Gnome 48 на LCtrl

Форум — Desktop

Привет, ЛОР!

После обновления Debian 12 -> Debian 13 отвалилась важная для меня функция - отображение переключения раскладки через левый кнтрл. Раньше (уже много лет) я делал так: через tweaks выставлял caps как ctrl, а переключение раскладки через lctrl. В каком гноме это сломали, я не знаю, но в 48 версии такая схема работает с особенностью - сама по себе раскладка переключается, но вот индикатор раскладки в панели не отображает реальную раскладку. Он переключается ровно один раз - при первом нажатии на lctrl. После этого игнорит нажатие, но отлично переключается и показывает актуальную раскладку по стандартной комбинации win+space.

Как это можно починить?

Перемещено CrX из general

 , ,

Xld
()

И мне нужен новый ноут

Форум — Linux-hardware

Привет, ЛОР.

Кастую ноутбучных специалистов и энтузиастов.

Разыскивается полностью совместимый ноут максимальной свежести 14-15,6", FHD+, IPS/OLED, без дискретки, с батареей, живущей под ГНУ/Линуксом не менее 10 часов средней загрузки (браузер, редактор кода, офис, мессенджер, почтовик) и, желательно, с достойным (насыщенным и достаточно громким) звуком из динамиков. Если все, что я перечислил, в принципе, можно по фильтрам подобрать, то с батареей абсолютно не понятно. Бюджет до 1500$+-. Из желательных допов: полностью металл, ОЗУ 16Гб+, ССД 500Гб+.

Сюда же вопрос, но уже к товарищам линуксоидам из Казахстана (Алматы). Сам не местный, буду скоро там, хочу взять ноут. В каких магазинах лучше взять (с кириллицей есессно)? Нашел знакомый dns, но он, почему-то, только в Астане.

P. S. В качестве дистра будет ставиться Убунта или Федора.

 ,

Xld
()

Правильный способ остановки docker контейнеров для бэкапа и последующий запуск

Форум — General

Привет, ЛОР.

Домашний сервер с плавающим кол-вом докер контейнеров (от 10 и больше). Пишу скрипт бэкапа данных контейнеров. Все данные у меня не в вольюмах, а в забинденых директориях. Мне так проще и понятнее. Хочу бэкапать все данные контейнеров разом через borg. Система с systemd. Правильно ли будет перед началом бэкапа остановить сервис докера для обеспечение целостности и точности файлов в бэкапе? Гарантирует ли последующая команда старта докер сервиса запуск именно тех контейнеров, которые были остановлены ранее? Или стоит сразу дописывать какие-то проверки активности контейнеров до бэкапа и после бэкапа, чтобы запустить то, что не запустилось после поднятия сервиса докера? После 4-5 перезапусков у меня стартовали те контейнеры, которые работали до остановки сервиса, но в интернете нигде не вижу, что это гарантированное поведение.

Посоветуйте.

 , ,

Xld
()

Узкое место rsync по скорости передачи по сети

Форум — General

Привет, ЛОР.

Перекидываю файлы по сети на несколько сотен Гб (автоматического бэкап раз в день). Пробую использовать rsync.

iperf3 -c 192.168.88.23 -n 100M
Connecting to host 192.168.88.23, port 5201
[  5] local 192.168.77.30 port 43374 connected to 192.168.88.23 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  18.6 MBytes   156 Mbits/sec   23    126 KBytes
[  5]   1.00-2.00   sec  21.2 MBytes   178 Mbits/sec   17    112 KBytes
[  5]   2.00-3.00   sec  24.2 MBytes   203 Mbits/sec    0    215 KBytes
[  5]   3.00-4.00   sec  23.1 MBytes   193 Mbits/sec   22    178 KBytes
[  5]   4.00-4.53   sec  12.9 MBytes   205 Mbits/sec    3    162 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-4.53   sec   100 MBytes   185 Mbits/sec   65             sender
[  5]   0.00-4.53   sec  98.9 MBytes   183 Mbits/sec                  receiver

iperf Done.

Если делать так, то скорость очень неплохая между устройствами. Но rsync при бэкапе выдает такое:

2,02M 100%  245,79kB/s    0:00:08 (xfr#278, ir-chk=1166/2117)

Где-то чуть больше, где то чуть меньше. Эксперементы с параметрами проводил в таком порядке:

rsync -ahP
rsync -ahtP
rsync -ahWP
rsync -ahtWP
rsync -ahtzP
rsync -ahtzWP

+- везде одинаково вокруг 300 кб/сек. Грешу на шифрование ssh. В принципе, оно мне здесь не нужно, потому что данные передаются внутри туннеля wireguard. Но что в данном случае разумнее использовать? rsh? Второй инстанс ssh с минимальным шифрованием? Какие-то другие вариант? Посоветуйте. Только с учетом возможности полной автоматизации, т. к. это для автобэкапов файлов между двумя устройствами. Оба на GNU/Linux, естественно. Debian 12.5.

 , , ,

Xld
()

Как во flask в POST запросе сохранить данные для обработки в GET

Форум — Development

Привет, ЛОР!

Написал функцию на js, от которой хочу следующее. Функция из другой функции получает строку и отправляет ее на бэкенд (в моем случае маршрут flask /cart/test_js) и, в случае успеха, редиректит на этот адрес.

Полный код js:

// Function to send docsIds to flask backend (route /cart/test_js).
onst sendDocsIdsToFlask = () => {
    const docsIds = getDocsIds();

    // Create an AJAX request object
    const xhr = new XMLHttpRequest();

    // Set up the request headers and data
    xhr.open("POST", "/cart/test_js", true);
    xhr.setRequestHeader("Content-Type", "application/json");

    // Convert the docsIds variable to a JSON string
    const jsonData = JSON.stringify({ docsIds: docsIds });

    // Send the AJAX request
    xhr.send(jsonData);

    // Handle the response from the server
    xhr.onload = function () {
        if (xhr.status === 200) {
            // console.log("Success!");
            window.location.href = "http://127.0.0.1:5000/cart/test_js";
        } else {
            console.error("Error:", xhr.statusText);
        }
    };

    // Handle any errors that occur during the request
    xhr.onerror = function () {
        console.error("Error occurred:", xhr.statusText);
    };
}

Код маршрута во flask:

@bp.route("/test_js", methods=["GET", "POST"])
@login_required
def test_js():
    print(f"{request.get_json()=}")
    return redirect(url_for('main.index'))

Это не работает. В консоли вижу ошибку

[Error] Failed to load resource: the server responded with a status of 415 (UNSUPPORTED MEDIA TYPE) (test_js, line 0)

Погуглив ошибку, нашел только, что это из-за того, что не указан тип отправляемых данных, хотя он у меня указан (application/json).

Вопросы: 1) как это пофиксить? 2) как при редиректе использовать не захардкоденные адреса, а динамичные из flask типа url_for(...)?

 , , ,

Xld
()

Помощь с архитектурой базы данных

Форум — Development

Привет всем. В продолжении моей предыдущей темы по выбору языка и библиотек/фреймворков, в которой вы мне очень помогли.

Сейчас тренируюсь на всяких простых вещах, понемного переходя на более сложные. Но, как я понял, в любом случае независимо от языка, работа с базой данных будет. Я почитал про РБД, тыкаю sqlite из терминала и через sqlitebrowser. Имитирую архитектуру приложения, которое будет, допустим, предоставлять поиск музыкальных групп по жанру, участникам, альбомам и прочему.

В базе данных 4 таблицы:

  • Названия исполнителей.
  • Имена участников.
  • Названия и год альбомов.
  • Названия песен.

Скажем, есть альбомы, которые пишут несколько исполнителей совместно. Есть случаи, когда люди были в нескольких группах-исполнителях. И так далее. Как в такой ситуации правильно создать связи на примере альбомов?

Есть альбом, его писала одна группа. Значит в таблице альбомы, в поле «Исполнитель» я добавляю ID исполнителя из таблицы исполнителей. Но как быть, если исполнителей несколько и их кол-во заранее неизвестно? Их может быть 2, 3 или 10 (конкретно в моем примере не так много, но могут быть другие немузыкальные направленности, где связей может быть и сто, и миллион). Вместо указания в виде числа ID в таблице альбомов указывать текст с чем-то типа списка с ID с учетом того, что это поле не будет ключевым? Какие-то другие варианты?

 , ,

Xld
()

Совет по выбору библиотеки/фреймворка для web

Форум — Development

Привет, форум.

Я (не разработчик) хочу сделать web приложение, которое будет позволять работать с базой sqlite или другой. В базе будут в 90% случаев простые текстовые записи. На сайте будет поиск + возможность добавления записей и изменения существующих.

Хочется сделать это без всяких *GPT/AI, по-старинке, напрягая в какой-то степени мозг.

Я не знаю языков программирования, кроме поверхностного знакомства с синтаксисом python, javascript, go. Немного знаю html и css. Пусть это не будет отправной точкой для вашего совета, т. к. могу при необходимости изучить другой язык или другой инструмент.

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

Это домашний проект для удовольствия и облегчения рутинных задач моей семьи. Ни на какие высокие награды за качество кода, глубокие познания особенностей и настройки БД, я не претендую. Просто хочется написать что-то свое, при этом слишком глубоко не ныряя в лишнюю в моем случае информацию.

Возможно ли сделать эти удобства с помощью одного языка вроде javascript? То есть фуллстэк? Шедевров анимации и интерактивности на сайте не надо, только банальные возможности без перезагрузки страницы, например, получать статус какой-то операции на сервере и прочее.

Почему web? Потому, что хочу иметь возможность использовать ресурс с разных устройств, разных платформ, в том числе мобильных. Понимаю, что нужна будет адаптивная (правильно?) верстка, но это, по-моему, проще, чем под каждую платформу писать нативное приложение.

Буду рад вашим советам.

 ,

Xld
()

RSS подписка на новые темы