DevopsExpert толстый тролль и бездарный провакатор
Вроде как просили же воздерживаться от комментариев на острые политические темы. А это явно новый аккаунт и началось, короче. Может его заблокировать?
Вроде как просили же воздерживаться от комментариев на острые политические темы. А это явно новый аккаунт и началось, короче. Может его заблокировать?
Если подсвечивать блок кода с башем, слово set
подсвечивается ошибочно.
Время от времени на сервере с кодом на PHP у меня вылетает такая вот гадость. Сервер этот один и испытывает достаточно большие нагрузки. Как я понял, причиной тому куча соединений в состоянии TIME_WAIT. В общем, открыл я man 7 tcp
, тут пишут, мол, tcp_fin_timeout это вообще читерство и нарушение спецификации TCP, а tcp_tw_recycle вообще в ядре 4.11 выключили. Как решить вопрос с кучей коротких соединений к базе?
Есть простенький сервис, который получает-отдаёт файлы, написан на php. Если грузить файлы пачкой (POST) по порядку, в определённый момент загрузка подвисает. В этот момент один из пулов fpm нагружает проц на 100%, зависая на несколько секунд. На GET запросы вообще никаких проблем. В качестве теста использую один и тот же файл размером в 30 килобайт.
Я обвешал весь код принтдебагами, дело точно не в коде. Все вызовы идут без задержек. Nginx подтюнил, fpm-у tmp сделал в tmpfs, так что задержки из-за хренового диска исключаю.
Куда ещё можно обратить внимание? Мне кажется, тут дело именно где-то в системе.
PHP 7.4.16, дистр дебиан.
При попытке запустить 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 образа. Можете кто-нибудь, пожалуйста, зарепортить этот баг? Не умею я баги отправлять да и с регистрацией, честно говоря, возиться лень.
Делаю вот так:
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%`@`%`;
В итоге скрипт просто выходит с нулём и ничего не делает. Понять не могу что не так.
Решил я тут обновить систему, в итоге получаю:
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. Наверное, договориться они не смогут и ближайшее время это не пофиксят. Отсюда вопросы:
Никто случайно не сталкивался с этим контроллером в быту? Стоят 4 диска в слотах 7,6,5,4 и всё хорошо. Тыкаю диски в слоты 3 и 2, и нихрена. Дело точно не в дисках, потому что рабочий диск перетыкал и тоже ничего. Просто при контакте раз мигает светодиод и ничего дальше не происходит. Сервер перезагружал, бочку делал, бэк панель оба канала подключены.
Есть приложение, есть около сорока таргетов под разных клиентов.
У нас гитлаб, можно через него, а можно через xcode сервер, главное чтобы работало.
Оплата: 10000 российских рублей, можно поторговаться.
Mail: 0000 на 2853.org Tg: Zu1Ke0pai5
Всем привет! У меня дома интернет от МГТС. И ещё есть 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 и симку мегафона, такой проблемы нет. Всё это очень странно.
Есть ldap сервер виндовый, в нём есть группа «local linux machine administrator». В системе эта группа видится формате «local linux machine administrator@domain.lan». Не могу понять как впихнуть это в polkit с учётом того, что пробелы так то не поддерживаются. В sudoers решил через экранирование, в polkit так не вышло.
Дистр fedora 34.
Всю жизнь сидел на кедах, хочу попробовать гном К тому же у меня ноутбук с сенсорным экраном. Интересует ряд вопросов:
Дистр RHEL.
Тут две новые дыры в openssl нашли, теперь пытаюсь понять сколь вообще это страшно. Уже пора с горяещй жопой обновлять все хосты или можно расслабиться и спокойно сделать это за неделю? В основном это nginx, торчащий в инернет.
Короче, суть драмы.
У меня 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 в кеды, с навигацией и всем таким.
Здравствуйте!
На свежеустановленном сервере с debian 10 я установил postfix, но не нашёл файлов /var/log/mail.* Подскажите пожалуйста, почему они не создаются автоматом как на остальных системах и что нужно сделать, чтоб они снова создавались?
Всем привет. Поднял 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
Я не очень разбираюсь в сетях. Что это означает? Это надо исправлять? Почему такое происходит?
Всем привет,
Есть 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.
Всем привет! Я редактировал через 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?
Пытаюсь отформатировать раздел, используя 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
Что вообще значит эта ошибка? Можно ли это обойти?
Есть условная база в 20 терабайт, как можно реализоват стратегию резервного копирования с минимальным временем на восстановление? Фулл бекап будет делаться несколько суток, инкременты будут расти в объёмах. Как резервируют такие кол-ва информации?
← предыдущие | следующие → |