LINUX.ORG.RU

Сообщения atrus

 

Не работает delegare в QTableView

Пытаюсь вставлять виджеты в ячейки. По руководству и примерам из интернета. Вот только не работает до конца. Когда я активирую встроенный комбобокс и меняю значение - вызов setData и изменение сохранённых данных происходит, а вот последующего вызова data уже нет. Даже после требуемого документацией явного вызова dataChanged. Соответственно QTableView показывает старое значение.

Привожу сокращённый пример. https://pastebin.com/MNQsFvWd Люди это делают. Этот механизм для этого предназначен. Т.е. как-то можно заставить это работать правильно?

 , , ,

atrus
()

Книжный каталог web

Мне казалось, что я встречал такую штуку, но что-то с ходу найти не смог. Мне нужнен self-hosted каталог книг. Форматы pdf, djvu. Чтобы к файлу можно было добавить фото, описание, теги. Чтобы был поиск по тешам, описанию. И чтобы можно было скачать оригинальные файлы. Т.е. Calibre, который конвертирует файлы в свой формат не подходит... Кто-нибудь встречал такое?

 , sefl-hosted, ,

atrus
()

Приватный пакет Python

Хочу часть кода своей приватной программы на python выделить в такой же приватный пакет. В принципе проблем нет, в requirements.txt можно указать ссылку на репозиторий. Но вот что зависимостями пакета?

Я просто в python новичок. Надо оформлять файлы setuptools? Но зачем и что дальше? whl класть в репозиторий? Или setuptools тут не нужен и достаточно просто с пакетом держать свой requirements.txt?

Интернет не проясняет, почти все руководства нацелены на публикацию пакетов.

 

atrus
()

Костыльное позиционирование?

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

Как вы понимаете с позиционированием в Wayland возникли проблемки. Просто указать координаты главного окна не получается. Пытался сделать окно с фиксированной высотой и максимизировать его. В оффтопике трбк прокатил, в x11 прокатил, в Wayland, ради которого всё и затевалось - не прокатил. Если окно максимизировать - оно разворачивается на весь экран, какие бы ограничения я не ставил.

Есть хоть какой-нибудь способ убедить Wayland создать окно вверху экрана? Пока нашёл только один, перед запуском ставить переменную среды WAYLAND_DISPLAY=

Но это такое себе решение. Временное в лучшем случае...

 , ,

atrus
()

iso как memtest86 только cpu

Хочется потестить CPU, довольно современный, рязань пятая. Только стенд для него самый минималистичный. Мать + сам камень + мозги. Ну и видимокарта какая-то тоже будет.

Т.е. хочется iso, вроде memtest86, чтобы с минимальными телодвижениями - загрузился и пошёл текст. Желательно даже без плясок с графикой, прямо в консоли. Есть что-нибудь актуальное?

Нагуглил ссылку на http://www.stresslinux.org/sl/ но там в меню опции для чипсетов BX, пентиумов MMX, AMD K6, K7...

Мне бы что-нибудь для этого тысячелетия...

 ,

atrus
()

Собственный облачный полухостинг

Что есть: Около десятка региональных сайтов, работающих на почти одинаковой кодовой базе. Почти - есть мелкие различия в виде разных конфигов, которые включают поддержку разного набора языков, задают разное название сайтам, ну и определяют свою тему каждому. Сайты крутятся на отдельных VPS, расположенных каждый в своём регионе. И эту ситуацию поменять нельзя, т.е. идея «а собери ка ты их в одном облаке» не рассматривается. Почему - не важно. Данность.

Что хочется: Унифицировано это распихать по контейнерам, централизованно управлять, т.е. запихивать на отдельные VPS контейнеры, заставлять там их работать. Мониторить, обновлять, в незначительной степени управлять. Т.е. выкачена бета-фича, которую теперь пора тестировать не в тестовом окружении, а в боевом, - одному или нескольких сайтам задаётся «а вот теперь бери контейнер во с этим тегом».
Ну и главное, чтобы в случае перезагрузки сайт поднимался сам, даже если в этот момент управляющий узел по какой-либо причине будет недоступен.

Вопрос в том - чем бы это таким делать? Желательно в web-gui, потому что не только я, но и ещё пара человек может с этим возиться, а они не очень с командной строкой дружат.
Сложные монстры, которые требуют пол года обучения и 10 человек команды на обслуживание - сразу идут лесом. Так что Kubernetes за бортом.
Смотрел Docker Swarm - вроде он может делать то, что надо, хотя на счёт автоподъёма без главного узла пока не ясно. Но он больше рассчитан на вариант «запустить N экземпляров одного сайта в отказоустойчивом кластере» и эксплуатировать его как мне надо - это натягивать сову на глобус.

По этому вопрос - а есть решения для простых людей с разными сервисами, а не мегакорпораций с одним огромным?

 

atrus
()

OpenVPN реальный IPv6

Допустим есть хост, у которого есть несколько v6 адресов. Как обычно, выданных /64. У IPv6 нет NAT, так что надо использовать настоящие адреса, если мы хотим дать их клиентам.

Собственно, можно ли объяснить OpenVPN что он должен взять один из этих адресов, нарезать их на подсети поменьше и отдавать клиентам?

 , openvp

atrus
()

gorm падает на joins

Пытаюсь подружить gorm с Access базой (да, знаю, что извращение, но выбирать не приходится).

Делаю всё по инструкции, объявляю модели, при запросе данных gorm внутри себя падает в панику. SQL перед этим генерирует корректный.

Меняю joins на preload - всё тут же начинает работать. Может я что-то не так в моделях для joins определяю?

https://pastebin.com/MKEeQqfA

 , , ,

atrus
()

Что, народ, устроим собственное голосование?

http://photos.staser.ru/klink0v/2021/011-dybr/04-bulletin.jpg

P.S. Остальные недопущены по беспределу.

 

atrus
()

Права создаваемых через samba файлов

CentOS 8, SELinux включен, но отключался, эффекта не отказывало. samba 4.13.3-4.el8_4. Машина - часть местной AD. Конфиг: https://pastebin.com/uNLhDR2S

Пытаюсь настроить для расшарки my правильные права создаваемых файлов. Добавляю в описание шары create mask с разными параметрами. Создаю с win-машины файл и смотрю получившиеся права. Результаты:

create mask 0123 : права 577
create mask 0456 : права 477
create mask 0774 : права 775

Ладно, пробуем с force create mode:

force create mode 0640 : права 775
force create mode 0123 : права 777
force create mode 2567 : права 777
force create mode 0345 : права 775

Связку create mask и force create mode пробовал. Тоже разные результаты, но никакой осмысленной взаимосвязи не выявляется.

inherit acls ставить в no пробовал, нет эффекта.

Гуглить бесполезно. Судя по всему никто не понимает как это работает. Везде какие-то шаманские советы. Каким-то единицам они даже помогают, но мне или нет, или у меня уже применены. (В одном посте на SO советовали прописать «inherit permissions = no», в другом «unix extensions = no». Но оно у меня уже есть.

Есть на ЛОР хоть один человек, понимающий как это в samba работает?

 ,

atrus
()

Програма для рисования блок-схем

Мне тут программа понадобилась для блок-схем, ну не совсем. Желательно чтобы внешний вид элементов можно было самому задавать, взаимное расположение (ты правее, а ты - ниже), ну и стрелочки связи между ними.

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

У меня есть два доптребования, которые гуглёжкой сложно найти.

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

2. Программа должна переваривать большие схемы. Из тысяч или даже десятков тысяч элементов. (Вот это как раз гуглёжем не найдёшь...)

 

atrus
()

Командная работа в gitea

Кто-нибудь пользуется gitea? Пытаюсь понять как там сделать чтобы несколько человек могли работать с одним репозиторием.

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

И как его туда передать? А то родная документация как-то скудновата... Ну или я не туда смотрю.

 

atrus
()

Не работает forwarding в fedora 33

Делал проброс тестового стенда в интернет через рабочий комп. В fedora 31, 32 всё работало. Обновился до 33 и отвалилось.

nft flush ruleset
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -t nat -X
iptables -t mangle -X
iptables -t nat -A POSTROUTING -o %wifi% -j MASQUERADE

sysctl -w net.ipv4.ip_forward=1

На всех цепочках policy accept по умолчанию.

Но на стенде при попытке попинговать интернет только:

ping 192.168.1.2
PING 192.168.1.2 (192.168.1.2) 56(84) bytes of data.
From 192.168.2.1 icmp_seq=1 Destination Host Unreachable

1.2 это адрес рабочеко компа, обращённый в интернет. 2.1 - адрес сетевой карты (em1), к которой подключен тестовый стенд.

Да что я делаю не так? SELinux выключен.

 ,

atrus
()

Посоветуйте адаптер Wifi 6

Посоветуйте, кто знает карту wifi 6 (802.11ax) с нормальной скоростью 2400+ mb/s чтобы драйвер был уже в ванильном ядре.
Сейчас предыдущий адаптер (ac) rtl8814au, он задолбал уже. Драйвер поддерживается энтузиастами на github и переодически отваливается, переставая собираться для новых ядер.
Хочется уже нормальный адаптер, чтобы воткнуть и забыть.

usb 3/pci-e x1 - без особой разницы.

 

atrus
()

Старые файлы в post форме

Ситуация: Загружаю некоторое количество файлов на web-сервер через php скрипт и внешнюю программу через http post. Файлы на стороне php читаются без всяких фреймворков, примитивным способом, через $_FILES, move_uploaded_file и т.д.

apache 2.4.6, php 7.2.33, php запущен через mod_php.

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

Вот только в php-скрипт приходят данные от прошлого запроса. И снова и снова, и снова...

Это установлено достаточно точно. Я просто сделал сохранение копий командного файлика перед отправкой и при получении. Отправляется точно что надо, а вот в самом начале работы php-скрипта почему-то старый...

Это что за кэширование входных данных такое? Никаких прокси-серверов между хостами точно нет.

 ,

atrus
()

Дедупликация на xfs

А подскажите, я правильно понял, что на xfs возможна online (без отмонтирования или перевода в ro) дедупликация? Безопасно запускать по крону duperemove?

 ,

atrus
()

Нетривиальная регулярка

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

 ,

atrus
()

Редактировать контейнер

А есть ли штатная возможность изменить уже созданный контейнер? Например я вытащил внутренный порт под одним номером, а теперь хочу под другим. Только удалять и создавать заново?

 ,

atrus
()

haproxy не пишет логи

Делаю всё по этой (и многим похожим инструкциям). Но всё что вижу в логе:

Mar 22 00:16:59 vault13 haproxy[11840]: Proxy main started.
Mar 22 00:16:59 vault13 haproxy[11840]: Proxy nginx started.

Хочу аналог access.log nginx, т.е. запись с ip клиента и временем для каждого подключения...
P.S. просто зла уже на эту тварь не хватает...

 ,

atrus
()

Прозрачный haproxy не работает

Что пытаюсь сделать: Пропустить трафик на nginx через haproxy на том же компе, но так, чтобы в логах nginx оставался реальный ip-адрес. Судя по записям в интернете это сверхпростая задача. Но, увы... (SELinux на время тестирования выключен.)

Вот это минимально работающий конфиг, в котором адреса остаются локальными (haproxy.conf):

frontend ssl_v4
    bind *:443 transparent
    mode tcp
    tcp-request inspect-delay 5s
    tcp-request content accept if { req.ssl_hello_type 1 }
    default_backend nginx_v4

backend nginx_v4
    mode tcp
    server nginx localhost4:1443

Вот так работает. Но ip пишутся локальные. Изменяем бэкенд:

backend nginx_v4
    mode tcp
    source 0.0.0.0 usesrc clientip
    server nginx localhost4:1443

Поскольку в ядре CentOS 8 в nftables ещё не завезли поддержку tproxy - ставим из репозитория elrepo kernel-ml (5.5.10-1.el8.elrepo.x86_64), из пакетов Fedora 31 пересобираем libnftnl-1.1.3-2.el8.x86_64.rpm и nftables-0.9.1-3.el8.x86_64.rpm. Перезапускаем - текущий фаервол работает.

Добавляем правила:

table inet filter {
    chain divert {
        type filter hook prerouting priority -150; policy accept;
        tcp dport https tproxy to :1443 meta mark set 777 accept
    }
}

Перезагружаем фаервол, добавляем маршрутизацию:

# ip rule add fwmark 777 lookup 100
# ip route add local 0.0.0.0/0 dev lo table 100

Увы, не работает. Если запустить haproxy в консоли как haproxy -d -V -f /etc/haproxy/haproxy.cfg - получим при попытке обратиться к серверу: 00000000:ssl_v4.accept(0008)=000d from [172.24.0.1:59462] ALPN=<none> 00000000:nginx_v4.clicls[000d:adfd] 00000000:nginx_v4.closed[000d:adfd] [ALERT] 080/163214 (5778) : sendmsg logger #1 failed: No such file or directory (errno=2)

И всё... Что дальше делать - не знаю... :(

 , ,

atrus
()

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