LINUX.ORG.RU

Сообщения keeper_b

 

Как настроить сетрификаты certbot для сервера nginx, работающего через обратного посредника

Форум — Admin

Есть сервер с установленным nginx, там два сайта крутятся и всё работает. Хочу их разделить и физически перенести на другие машины, а на этом оставить обратного посредника nginx. Возникла проблема с сертификатами, на каком сервере должен стоять certbot и соответственно nginx должен их отдавать? Домены вида: mysite.com, a1.mysite.com и a2.mysite.com соответствуют трём разным машинам находящимся в ДМЗ.

 , , ,

keeper_b
()

Как заставить vfio загружаться раньше чем драйвер устройства?

Форум — Admin

Есть сетевая карта и два NVME. Вроде всё настроил, но при загрузке NVME опережают VFIO, которые мне нужны для QEMU.

ОС Gentoo.

Если потом делать вручную:

echo "0000:06:00.0" > /sys/bus/pci/drivers/nvme/unbind
echo "0000:02:00.0" > /sys/bus/pci/drivers/nvme/unbind
echo "0000:06:00.0" > /sys/bus/pci/drivers/vfio-pci/bind
echo "0000:02:00.0" > /sys/bus/pci/drivers/vfio-pci/bind

То всё работает.

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

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

 , , ,

keeper_b
()

VM-Manager при подключении через ssh к удалённой машине просит пароль несколько раз

Форум — Admin

Собсно проблема в заголовке. Как избавится?

В качестве Дисплея использую Spice, а видео идёт через QXL.

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

 , , vm-manager

keeper_b
()

energy_performance_preference No such device or address

Форум — Linux-hardware

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

2025-02-09 23:31:17,133 ERROR    tuned.utils.commands: Error when reading file '/sys/devices/system/cpu/cpufreq/policy7/energy_performance_preference': '[Errno 6] No such device or address'
2025-02-09 23:31:17,133 ERROR    tuned.plugins.base: verify: failed: device cpu7: 'energy_performance_preference' = '', expected 'performance'

При этом сам файл есть, но при попытке прочесть говорит, что нет устройства.

Погуглил, пишут надо включить HWP, но оно уже включено. dmesq говорит:

kernel: ACPI: OEM2 0x000000004D349000 0125B8 (v02 INTEL  CPU  HWP 00003000 INTL 20160422)
kernel: intel_pstate: HWP enabled by BIOS
kernel: intel_pstate: HWP enabled

В параметры ядра добавил intel_pstate=hwp_only.

Модули ядра загружены:

intel_cstate
intel_powerclamp
intel_uncore_frequency

Куда ещё смотреть?

 tuned,

keeper_b
()

Процессор i9 13900f работает на частотах ниже указанной в характеристиках

Форум — Linux-hardware

Собсно в свойствах указано, что он должен тянуть до 5.6 Ггц, а он только 5.3 Ггц выдаёт.

Про максимальную частоту можно посмотреть в любой справке на процессор. Ну как вариант командой lscpu.

А фактическую либо в htop, либо cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq.

Куда копать?

 , , ,

keeper_b
()

Хранение данных в классе Qt

Форум — Development

А не подскажете, как лучше хранить данные в классе в такой задаче?

Предположим нужен класс, который делает экспорт из текстового файла данные в SQLite и там допустим есть такие данные:

class Converter
{
   struct TStudent {
        QString m_FirstName;
        QString m_LastName;
        QDate m_Birthday;
        int m_Sex;
        int m_Mark;
   };
   using TStudentMap = QMap<int, TStudent>;
public:
   explicit Converter(QObject *parent = nullptr);

   void exportDB(const TStudentMap &student);
   TStudentMap importDB();
// ...
// далее пишем сеттеры/геттеры и другие полезные методы
};

Или не мучатся со структурой и просто всё записать в QVariant?

class Converter
{
   using VariantMap = QMap<int, QVariant>;
   QHash<int, VariantMap> m_Student;
public:
   explicit Converter(QObject *parent = nullptr);

   void exportDB(const QVariant &student);
   QVariant importDB();
// ...
// далее пишем сеттеры/геттеры и другие полезные методы
};

Всё равно потом вставлять всё в sql-запрос в виде строк…

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

query.bindValue(column, m_Student[row].value(column));

А может ещё какие то варианты есть?

 , ,

keeper_b
()

Откуда systemd может брать настройки для монтирования каталога, кроме fstab?

Форум — Admin

Вчера весь день ковырялся с systemd. В общем есть два сервера на Gentoo. На обоих установлена systemd версии 256.5 с одинаковыми флагами сборки:

[ebuild   R    ] sys-apps/systemd-256.5:0/2::gentoo  USE="acl cryptsetup curl dns-over-tls elfutils gcrypt gnutls http idn kernel-install kmod lz4 lzma openssl pam pcre pkcs11 policykit resolvconf seccomp sysv-utils zstd -apparmor -audit -boot -bpf -cgroup-hybrid -fido2 -homed -importd -iptables -pwquality -qrcode -secureboot (-selinux) (-split-usr) -test -tpm -ukify -vanilla -xkb" PYTHON_SINGLE_TARGET="python3_12 -python3_10 -python3_11"

В /etc/fstab диски монтируются так на обоих компах:

LABEL=rootfs   /      ext4  noatime,defaults,nodev,discard,errors=remount-ro             0 1
proc           /proc  proc  noatime,rw,nosuid,nodev,noexec,hidepid=2,gid=wheel           0 0
tmpfs          /run   tmpfs noatime,rw,async,auto,nodev,nosuid,relatime,mode=755         0 0
tmpfs          /tmp   tmpfs noatime,rw,async,auto,nouser,nosuid,nodev,noexec,size=32G    0 0

Однако каталог /dev почему-то оказывается примонтирован с разными опциями. на одном так:

# findmnt -l | grep "/dev "
/dev  devtmpfs  devtmpfs  rw,nosuid,noexec,relatime,size=32693188k,nr_inodes=8173297,mode=755

на втором так:

# findmnt -l | grep "/dev "
/dev  devtmpfs  devtmpfs  rw,relatime,size=8194240k,nr_inodes=2048560,mode=755

Как так? Откуда он может ещё брать nosuid,noexec настройки кроме /etc/fstab и по умолчанию? Пробовал перезагружать обе машины, настройки сохраняются.

 , ,

keeper_b
()

Можно ли добавить действи перед началом emerge и после окончания?

Форум — Admin

Есть рекомендация держать каталог /tmp с опцией noexec, но она ломает в Gentoo сборку пакетов.

Хотелось бы что бы при emerge app-misc/mc происходило перемонтирование каталога с опцией exec, а после окончания, опция возвращалась на noexec.

Нашёл такую вещь, но чёт она не работает.

 , ,

keeper_b
()

Ноут с BCM4313-картой не видит Wi-Fi-сети 5Ghz

Форум — Admin

Куда копать?

 

keeper_b
()

Ко мне на маршрутизатор сыпятся ICMP пакеты, что это?

Форум — Admin

Идёт нескончаемый поток ICMP-пакетов. Попробовал посмотреть программой tcpdump, получил вот это:

19:20:27.516167 IP 78.47.3.46 > 217.172.17.48: icmp: time exceeded in-transit
19:20:27.516170 IP 80.249.208.124 > 217.172.17.51: icmp: time exceeded in-transit
19:20:27.517223 IP 78.47.3.46 > 217.172.17.48: icmp: time exceeded in-transit
19:20:27.517226 IP 80.249.208.124 > 217.172.17.51: icmp: time exceeded in-transit
19:20:27.518210 IP 78.47.3.46 > 217.172.17.48: icmp: time exceeded in-transit
19:20:27.518255 IP 80.249.208.124 > 217.172.17.51: icmp: time exceeded in-transit

Интересно ещё и то, что адрес назначения не мой, даже подсеть другая. Как можно видеть, он вообще долбится в адреса 217.172.17.51 и 217.172.17.48. Они даже близко не мои, но пакеты попадают мне почему-то.

Как это прекратить?

 

keeper_b
()

Окно QFontDialog застывает на Qt 6.7

Форум — Development

Такой код создаёт диалоговое окно, которое не реагирует на нажатие кнопок ни мышь ни клавиатурой:

#include <QApplication>
#include <QTextEdit>
#include <QFontDialog>

int main(int argv, char **args)
{
    QApplication app(argv, args);

    QTextEdit textEdit;

    QFontDialog dlg(&textEdit);
    QFontDialog::FontDialogOptions opt;
    dlg.setOptions(opt);
    dlg.setCurrentFont(QFont("Times", 12));

    if (dlg.exec() == QFontDialog::Accepted)
        textEdit.append("ok");
    else
        textEdit.append("false");

    textEdit.append(dlg.selectedFont().family() + ", " +
                    QString::number(dlg.selectedFont().pointSizeF()));

    textEdit.show();

    return app.exec();
}

Само зависание происходит на вызове метода dlg.exec(). При этом ошибка не проявляется в Windows и/или на Qt 5.

 

keeper_b
()

PARTUUID вместо UUID при загрузке ядра

Форум — Admin

А что за тема, везде пишут, что надо в качестве параметра ядра указывать root=UUID=befdce9b-63ea-4fa2-bfaf-635c9031f7f0 ro init=/usr/lib/systemd/systemd rootfstype=ext4 crashkernel=256 nvidia_drm.modeset=1 delayacct intel_pstate=hwp_only nodhcp.

Однако у меня это не работает. При загрузке паника ядра: Kernel Panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0).

Но прекрасно работает если отправить PARTUUID="64881135-9900-4c27-b976-3423934bd987".

Зачем в мануалах врут и говорят неверный UUID?

Кстати dracut также неверный UUID подсовывает.

 , , ,

keeper_b
()

Gentoo ставит ядро чёр-те куда

Форум — Admin

Делаю как обычно make install для установки ядра в /boot, а он его за каким-то пишет в каталог /efi и потом не грузится.

Что они сделали? Всё же отлично работало!

Нафига портить?

 , , ,

keeper_b
()

Автоматический монтируется/не монтируется раздел EFI

Форум — Admin

Интересная ситуация, есть три компа (два сервера и десктоп). На всех установлена Gentoo. Летом обнаружил, что на одном из серверов происходит автоматическое создание и монтирование каталога /efi.

После некоторого расследования виновник был найден. Им оказался systemd-gpt-auto-generator документация.

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

Варианты выключить это нашел несколько:

  1. Отправить ядру параметр systemd.gpt_auto=0.
  2. Замаскировать этот automount командой systemctl mask efi.automount.
  3. Задать бит 63 (0x8000000000000000) разделу (как оказалось не работает как раз с разделом /efi).

А вопрос заключается в том, что почему не создаётся на других машинах этот каталог? На них ничего из этих вариантов нет, однако каталог этот не создаётся.

Конфигурация дисков одинаковая на всех машинах. Поэкспериментировав пришёл к выводу, что на них вообще не запускается этот systemd-gpt-auto-generator.

Как его включить отключить ничего не нашёл.

 , , ,

keeper_b
()

При сборке chromium закрываются все открытые терминалы

Форум — General

Странная фигня, запускаю сборку chromium и где-то через полчаса прям во время сборки сами по себе закрываются все терминалы. Пробовал с Konsole и xterm.

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

Чё это за фигня и как лечить?

 , , ,

keeper_b
()

Конфигурирование ядра на максимальную производительность

Форум — Admin

Чего-то я в ядре изменил месяц назад и у меня упала производительность. Ну как упала, как только проц прогревается выше 60 градусов сразу идёт сброс частоты и он начинает работать медленнее. Я не помню, что там изменил. Я точно помню, что когда купил и поставил его он работал на максимум прогреваясь до 95-110 градусов и работал очень шустро.

Куда копать?

 , ,

keeper_b
()

Организация сайта

Форум — Admin

А вообще, я правильно понимаю, что для создания одного сайта, по хорошему, надо шесть серверов с внешними IP?

  1. Первичный DNS.
  2. Вторичный.
  3. Почта 1.
  4. Почта 2.
  5. Собсно сайт.
  6. СУБД.

 , , ,

keeper_b
()

А можно ПК запустить без видеокарты?

Форум — General

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

Вопрос, можно ли как-то запустить его без видеокарты? Пробовал гуглить, чёт ничего путного не находится.

 

keeper_b
()

Разрешение адресов при синхронизации ebuild через cron

Форум — Admin

Добрый день. А не подскажет кто, куда копать при такой фигне?

rsync: [Receiver] failed to connect to 2a02:6b8::183 (2a02:6b8::183): Network is unreachable (101)
rsync error: error in socket IO (code 10) at clientserver.c(139) [Receiver=3.2.7]
!!! Exhausted addresses for mirror.yandex.ru

При синхронизации руками sudo emerge --sync ничего подобного нет.

С какого он вообще пытается использовать IPv6, когда он у меня везде отключен?

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

 , ,

keeper_b
()

DNS-сервер и обновление зоны

Форум — General

Есть свой DNS-сервер и домен mydomain.ru. Добавляю ещё одну NS-запись в файл зоны.

При обновлении происходят чудеса, а именно, с другого ПК делаю dig mydomain.ru SOA и он выдаёт старый серийник, но при запросе dig mydomain.ru NS выдаёт список с уже добавленной NS-записью.

Через какое-то время делаю новый запрос dig, и всё меняется наоборот.

Почему это происходит?

 ,

keeper_b
()

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