LINUX.ORG.RU

Сообщения u0000

 

DevopsExpert толстый тролль и бездарный провакатор

Вроде как просили же воздерживаться от комментариев на острые политические темы. А это явно новый аккаунт и началось, короче. Может его заблокировать?

 

u0000
()

Подствека синтаксиса в блоках кода с использованием markdown работает некорректно

Если подсвечивать блок кода с башем, слово set подсвечивается ошибочно.

Пример: Установка временного пояса в TAILS (комментарий)

 

u0000
()

SQLSTATE[HY000] [2002] Cannot assign requested address

Время от времени на сервере с кодом на PHP у меня вылетает такая вот гадость. Сервер этот один и испытывает достаточно большие нагрузки. Как я понял, причиной тому куча соединений в состоянии TIME_WAIT. В общем, открыл я man 7 tcp, тут пишут, мол, tcp_fin_timeout это вообще читерство и нарушение спецификации TCP, а tcp_tw_recycle вообще в ядре 4.11 выключили. Как решить вопрос с кучей коротких соединений к базе?

 ,

u0000
()

PHP-FPM подвисает при загрузке файлов.

Есть простенький сервис, который получает-отдаёт файлы, написан на php. Если грузить файлы пачкой (POST) по порядку, в определённый момент загрузка подвисает. В этот момент один из пулов fpm нагружает проц на 100%, зависая на несколько секунд. На GET запросы вообще никаких проблем. В качестве теста использую один и тот же файл размером в 30 килобайт.

Я обвешал весь код принтдебагами, дело точно не в коде. Все вызовы идут без задержек. Nginx подтюнил, fpm-у tmp сделал в tmpfs, так что задержки из-за хренового диска исключаю.

Куда ещё можно обратить внимание? Мне кажется, тут дело именно где-то в системе.

PHP 7.4.16, дистр дебиан.

 , ,

u0000
()

У кого есть аккаунт на Gentoo? Надо баг отправить.

При попытке запустить mirrorselect вылетает:

livecd /mnt/gentoo # mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf
Traceback (most recent call last):
  File "/usr/lib/python-exec/python3.9/mirrorselect", line 58, in <module>
    from mirrorselect.main import MirrorSelect
  File "/usr/lib/python3.9/site-packages/mirrorselect/main.py", line 43, in <module>
    from mirrorselect.extractor import Extractor
  File "/usr/lib/python3.9/site-packages/mirrorselect/extractor.py", line 33, in <module>
    from sslfetch.connections import Connector
  File "/usr/lib/python3.9/site-packages/sslfetch/connections.py", line 40, in <module>
    import requests
  File "/usr/lib/python3.9/site-packages/requests/__init__.py", line 133, in <module>
    from . import utils
  File "/usr/lib/python3.9/site-packages/requests/utils.py", line 26, in <module>
    from . import certs
  File "/usr/lib/python3.9/site-packages/requests/certs.py", line 15, in <module>
    from certifi import where
  File "/usr/lib/python3.9/site-packages/certifi/__init__.py", line 1, in <module>
    from .core import contents, where
  File "/usr/lib/python3.9/site-packages/certifi/core.py", line 3, in <module>
    from certifi._patch import _verify_dist_info
  File "/usr/lib/python3.9/site-packages/certifi/_patch.py", line 4, in <module>
    import pkg_resources
ModuleNotFoundError: No module named 'pkg_resources'

Как это рулить без pip и emerge в системе я понятия не имею, выглядит как кривая сборка live образа. Можете кто-нибудь, пожалуйста, зарепортить этот баг? Не умею я баги отправлять да и с регистрацией, честно говоря, возиться лень.

 

u0000
()

Как заставить python3 выполнить содержимое sql файла?

Делаю вот так:

import os
from mysql.connector import connect, Error

MYSQL_PASSWORD = os.environ.get("MYSQL_ROOT_PASSWORD")

try:
    cnx = connect(user="root", password=MYSQL_PASSWORD, host="mysql")
    with open('bootstrap.sql', 'r') as sql:
        with cnx.cursor() as cursor:
            cursor.execute(sql.read(), multi=True)
        cnx.commit()
except Error as err:
    print("Error: " + err)
    exit(1)

Сам sql простой:

CREATE DATABASE IF NOT EXISTS db1 character set utf8 collate utf8_general_ci;
CREATE DATABASE IF NOT EXISTS db2 character set utf8 collate utf8_general_ci;
CREATE DATABASE IF NOT EXISTS db3 character set utf8 collate utf8_general_ci;
CREATE DATABASE IF NOT EXISTS db4 character set utf8 collate utf8_general_ci;
CREATE DATABASE IF NOT EXISTS db5 character set utf8 collate utf8_general_ci;
CREATE DATABASE IF NOT EXISTS db6 character set utf8 collate utf8_general_ci;
CREATE DATABASE IF NOT EXISTS db7 character set utf8 collate utf8_general_ci;
CREATE USER IF NOT EXISTS `user%`@`%` IDENTIFIED BY 'password';
GRANT SELECT,INSERT,UPDATE ON db1.* TO `user%`@`%`;
GRANT SELECT,INSERT,UPDATE ON db2.* TO `user%`@`%`;
GRANT SELECT,INSERT,UPDATE ON db3.* TO `user%`@`%`;
GRANT SELECT,INSERT,UPDATE ON db4.* TO `user%`@`%`;
GRANT SELECT,INSERT,UPDATE ON db5.* TO `user%`@`%`;
GRANT SELECT,INSERT,UPDATE ON db6.* TO `user%`@`%`;
GRANT SELECT,INSERT,UPDATE ON db7.* TO `user%`@`%`;

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

 

u0000
()

Что за /usr/lib/.build-id/ в Fedora?

Решил я тут обновить систему, в итоге получаю:

Error: Transaction test error:
  file /usr/lib/.build-id/34/feaa549462e8818baa0629ce11da344465882b from install of skypeforlinux-8.79.0.92-1.x86_64 conflicts with file from package discord-0.0.16-1.fc35.x86_64

Скайп с репы ms, дискорд с rpmfusion. Наверное, договориться они не смогут и ближайшее время это не пофиксят. Отсюда вопросы:

  • Что такое .build-id?
  • Как вообще фиксить такие конфликты?

 ,

u0000
()

Adaptec ASR8805

Никто случайно не сталкивался с этим контроллером в быту? Стоят 4 диска в слотах 7,6,5,4 и всё хорошо. Тыкаю диски в слоты 3 и 2, и нихрена. Дело точно не в дисках, потому что рабочий диск перетыкал и тоже ничего. Просто при контакте раз мигает светодиод и ничего дальше не происходит. Сервер перезагружал, бочку делал, бэк панель оба канала подключены.

 ,

u0000
()

Необходимо настроить CI под iOS

Есть приложение, есть около сорока таргетов под разных клиентов.

  1. Необходимо настроить CI для dev сборки, чтобы по пушу в гит в testflight выливалось приложение;
  2. Необходимо настроить CI для master ветки, чтобы всё по пушу выливалось в connect;
  3. Необходимо ко всему этому прикрутить фастлейн или что-то аналогичное, чтобы подтверждать разом все сборки в connect.

У нас гитлаб, можно через него, а можно через xcode сервер, главное чтобы работало.

Оплата: 10000 российских рублей, можно поторговаться.

Mail: 0000 на 2853.org Tg: Zu1Ke0pai5

 , , ,

u0000
()

Провайдер лезет в VPN соединение

Всем привет! У меня дома интернет от МГТС. И ещё есть openvpn на digitalocean. Когда я подключаюсь через openvpn к rutracker, вылетает окно блокировки. Сначала думал, может dns, но я попытался прописать в resolv.conf гугловый dns и всё равно вылетает. Это точно не кэш браузера, для теста всё время удаляю профиль браузера. Я не могу понять, МГТС умудрились в тоннель пролезть или что? У меня ключ 4096 байт, как это возможно?

Дистр федора. Вообще, подозреваю это что-то в федорином горе могли накрутить. Но вообще, ситуация очень-очень странная.

Вроде всё правильно, но может всё-таки что-нибудь не так в таблице роутинга?

[u0000@aeSa0ceikuu2 ~]$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         _gateway        0.0.0.0         UG    50     0        0 tun0
default         _gateway        0.0.0.0         UG    100    0        0 eth1
10.8.0.0        0.0.0.0         255.255.255.0   U     50     0        0 tun0
10.14.88.0      0.0.0.0         255.255.255.0   U     100    0        0 eth1
_gateway        0.0.0.0         255.255.255.255 UH    100    0        0 eth1
router.2853.org _gateway        255.255.255.255 UGH   100    0        0 eth1
192.168.55.0    0.0.0.0         255.255.255.0   U     0      0        0 virbr0

UPD: Проверил через wwan и симку мегафона, такой проблемы нет. Всё это очень странно.

 

u0000
()

Как пордужить polkit с доменными группами?

Есть ldap сервер виндовый, в нём есть группа «local linux machine administrator». В системе эта группа видится формате «local linux machine administrator@domain.lan». Не могу понять как впихнуть это в polkit с учётом того, что пробелы так то не поддерживаются. В sudoers решил через экранирование, в polkit так не вышло.

Дистр fedora 34.

 ,

u0000
()

Как сделать гном более юзабельным?

Всю жизнь сидел на кедах, хочу попробовать гном К тому же у меня ноутбук с сенсорным экраном. Интересует ряд вопросов:

  • Убрать меню управления окном в углу нельзя? Оно же не везде вроде как работает?
  • Трей можно вернуть без плагинов? Как он теперь вообще работает? Я бы может допилил несколько приложений под поддержку гномовского стандарта трея. Я так и не нашёл ни одной проги, которая выводила бы свою иконку трея.
  • Почему клавиатура наэкранная работает только если включить её в специальных возможностях? Мне честно мешает лишняя иконка в заголовке, можно её убрать? Что такого специального вообще в наэкранной клавиатуре? Как она вызывается приложениями? Это работает только для GTK?
  • Что за фигня с мегабайтами? Зачем они всё в десятичной системе делают? Как сделать нормально? Неудобно нифига.
  • Рабочего стола как такового нет?

Дистр RHEL.

 ,

u0000
()

CVE-2021-3712 и CVE-2021-3711

Тут две новые дыры в openssl нашли, теперь пытаюсь понять сколь вообще это страшно. Уже пора с горяещй жопой обновлять все хосты или можно расслабиться и спокойно сделать это за неделю? В основном это nginx, торчащий в инернет.

 ,

u0000
()

GPS антенна в ноут

Короче, суть драмы.

У меня dell latitude 5410. Прекрасный ноут, но есть одно НО. У него нет GPS антенны и wwan. Wwan просто не завезли, а gps антенну надо ставить. Планирую ставить Sierra AirPrime EM7455. И тут мне требуется совет бывалых радиолюбителей (а я знаю, на ЛОРе их достаточно) как лучше поступить с антенной для GPS? В районе SSD есть немного пространства. И у меня два варианта. Первый это проволка с сечением 2.5mm и шириной плеча примерно в 48mm, прифигачить туда IPEX с шнурочком и норм. Второй, это раскошелиться на такую вот хренотень:

https://www.chipdip.ru/product/ap.35a.07.0054a

Но насколько она будет лучше вообще? Стоит ли она того? Алсо, есть вот такая ещё:

https://www.chipdip.ru/product/pc27.07.0100a

Подойдёт ли она? Плюс с покупными антеннами есть беда — у них короткий шнурок. Есть ли удлинители для таких шнурков? В общем, отчаянно нуждаюсь в хорошем совете.

P.S. А linux тут при том, что я попытаюсь это всё подружить с gps и завезти openstreetmaps в кеды, с навигацией и всем таким.

 , ,

u0000
()

Нет логов postfix

Здравствуйте!

На свежеустановленном сервере с debian 10 я установил postfix, но не нашёл файлов /var/log/mail.* Подскажите пожалуйста, почему они не создаются автоматом как на остальных системах и что нужно сделать, чтоб они снова создавались?

 ,

u0000
()

Redirect Host на Debian

Всем привет. Поднял openvpn на debian. При попытке пинговать соседний хост происходит следующее:

 ✘ u0000@da187db8-d970-4430-9279-28cc05f2016d  ~  ping 10.8.0.3                  
ping: socket: Семейство адресов не поддерживается протоколом
PING 10.8.0.3 (10.8.0.3) 56(84) bytes of data.
64 bytes from 10.8.0.3: icmp_seq=1 ttl=63 time=339 ms
From 10.8.0.1 icmp_seq=2 Redirect Host(New nexthop: 10.8.0.3)
64 bytes from 10.8.0.3: icmp_seq=2 ttl=63 time=261 ms
From 10.8.0.1 icmp_seq=3 Redirect Host(New nexthop: 10.8.0.3)
64 bytes from 10.8.0.3: icmp_seq=3 ttl=63 time=157 ms
From 10.8.0.1 icmp_seq=4 Redirect Host(New nexthop: 10.8.0.3)
64 bytes from 10.8.0.3: icmp_seq=4 ttl=63 time=206 ms
From 10.8.0.1 icmp_seq=5 Redirect Host(New nexthop: 10.8.0.3)
64 bytes from 10.8.0.3: icmp_seq=5 ttl=63 time=199 ms
^C
--- 10.8.0.3 ping statistics ---
5 packets transmitted, 5 received, +4 errors, 0% packet loss, time 4001ms
rtt min/avg/max/mdev = 156.529/232.375/338.808/62.811 ms

Я не очень разбираюсь в сетях. Что это означает? Это надо исправлять? Почему такое происходит?

 , ,

u0000
()

Nginx не отдаёт ответ на OPTIONS

Всем привет,

Есть api на php, есть сервер, который этот код выполняет. Работает там стандартная связка php-fpm+nginx. Если браузер отправляет запрос OPTIONS на сервер, nginx отвечает:

<html>
<head><title>405 Not Allowed</title></head>
<body bgcolor="white">
<center><h1>405 Not Allowed</h1></center>
<hr><center>nginx/1.14.2</center>
</body>
</html>

В самом php это реализовано примерно так:

$app->options(
    '/',
    function () use ($app) {
        $allowedOrigin = '';
        $allowedHeaders = $app->request->getHeader('Access-Control-Request-Headers') ?? '*';
        $allowedMethods = 'OPTIONS, GET, POST, PUT, DELETE';
        $allowedHosts = [
            'host',
            'another-host',
            'and-another-host'
        ];

        $origin = parse_url($app->request->getHeader('Origin'));
        $host = $origin['host'] ?? '';
        $port = $origin['port'] ?? '';
        $scheme = $origin['scheme'] ?? '';

        foreach ($allowedHosts as $allowedHost) {
            if (mb_substr($host, mb_strlen($allowedHost) * -1) === $allowedHost) {
                $allowedOrigin = "{$scheme}://{$host}";
                if ($port) {
                    $allowedOrigin = "{$allowedOrigin}:{$port}";
                }
                break;
            }
        }

        http_response_code(200);
        header("Allow: {$allowedMethods}");
        header("Access-Control-Allow-Origin: {$allowedOrigin}");
        header("Access-Control-Allow-Headers: {$allowedHeaders}");
        header("Access-Control-Allow-Methods: {$allowedMethods}");
    }
);

Т.е. по идее код должен отдавать OPTIONS, но до php-fpm, похоже, запрос не доходит.

На данный момент это решено через if и add_header, заголовки cors отдаёт nginx. Но есть ли лучше метод, нежели чем пихать все заголовки в конфиг вебсервера? Или это нормальная практика? Плюс, я так понял, в nginx лушче не использовать if.

 ,

u0000
()

Не работает umask в systemd

Всем привет! Я редактировал через systemctl edit php7.4-fpm.service unit файл, добавив туда настройки umask сдедующим образом:

[Service]
UMask=0007

Но в итоге после перезапуска fpm я всё равно получаю файлы с неправильными правами:

root@storage:~# stat -c '%a' /opt/s3/public/s3/cache/
700
root@storage:~# stat -c '%a' /opt/s3/public/s3/cache/test.png 
660

Как мне заставить fpm работать с правильным umask?

 ,

u0000
()

dosfstools битые?

Пытаюсь отформатировать раздел, используя livecd

livecd ~ # mkfs.fat -F32 /dev/vda1 -n EFI
mkfs.fat 4.2 (2021-01-31)
Cannot initialize conversion from codepage 850 to UTF-8: Invalid argument
Cannot initialize conversion from UTF-8 to codepage 850: Invalid argument
Using internal CP850 conversion table

Что вообще значит эта ошибка? Можно ли это обойти?

 , ,

u0000
()

Как бэкапят большие объёмы?

Есть условная база в 20 терабайт, как можно реализоват стратегию резервного копирования с минимальным временем на восстановление? Фулл бекап будет делаться несколько суток, инкременты будут расти в объёмах. Как резервируют такие кол-ва информации?

 

u0000
()

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