LINUX.ORG.RU

Сообщения vel

 

Велосипеды и грабли

Жил был скрипт, много лет. IMHO со времён nagios-3.3 (2011 г.)

ethtool -S "${1:-eth0}" 2>/dev/zero | awk '/[rt]x_bytes/{if(match($1,"^rx"))R+=$2; else S+=$2;}END{printf "R=%s S=%s\n",R,S;}'
А потом пришли «Intel 82599EB» и «Intel X540-AT2»

Смотрю в нагиосе трафик на сервере и вижу 1.5Гбит/с

Смотрю такой же график на коммутаторе, а там 0.75Гбит/с

Смотрим на сервере

ethtool -S eth2 | grep '[rt]x_bytes'
     rx_bytes: 268997501295196
     tx_bytes: 269577166707683
     rx_bytes_nic: 271253542971821
     tx_bytes_nic: 271911704167621
#@$%^&* !

 ,

vel
()

Что за хрень?

Никто не знает, что за ублюдочный софт такое делает ?

21:08:35.079919 IP 192.168.93.15.1028 > 192.168.93.1.53: 16+ A? https://app-measurement.com/sdk-exp. (53)
21:08:35.079974 IP 192.168.93.1.53 > 192.168.93.15.1028: 16 NXDomain 0/1/0 (128)
21:08:43.304626 IP 192.168.93.15.1028 > 192.168.93.1.53: 18+ A? https://app-measurement.com/sdk-exp. (53)
21:08:43.304663 IP 192.168.93.1.53 > 192.168.93.15.1028: 18 NXDomain 0/1/0 (128)

 ,

vel
()

Деградация тепловых трубок :(

Пичалька :(

Понадобилось проверить комлект MB + CPU + RAM

Лежал в запасе старинный Zalman CNPS9500 года 2008 выпуска/покупки.

На Ryzen 5600X температура до 80-82 градуса, кулер ревёт на полную катушку.

После замена на стоковый от какого-то AMD A10 c двумя ТТ и 60мм кулером температура упала до 65-67 градусов.

А после замены на ARCTIC Freezer Xtreme температура не поднималась выше 62 градусов и при этом было тихо.

Вывод: Zalman CNPS9500 превратился в массо-габаритный макет :(

 , , тепловые трубки

vel
()

Про ssl сертификаты

Вопрос: в чем прелесть fullcahin.pem вместо server.pem ?

В fullcahin у нас server + root + intermediate сертификаты.

В server - только server.

 , ,

vel
()

ssd почти всё? (SMART)

Есть диск

smartctl 7.0 2018-12-30 r4883 [x86_64-linux-5.4.106] (local build)
Copyright (C) 2002-18, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Intel 730 and DC S35x0/3610/3700 Series SSDs
Device Model:     INTEL SSDSC2BB240G4

...
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  5 Reallocated_Sector_Ct   0x0032   016   016   000    Old_age   Always       -       2040
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       -       50408
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       21
170 Available_Reservd_Space 0x0033   058   058   010    Pre-fail  Always       -       0
174 Unsafe_Shutdown_Count   0x0032   100   100   000    Old_age   Always       -       10
175 Power_Loss_Cap_Test     0x0033   100   100   010    Pre-fail  Always       -       651 (297 2533)
190 Temperature_Case        0x0022   079   079   000    Old_age   Always       -       21 (Min/Max 15/24)
192 Unsafe_Shutdown_Count   0x0032   100   100   000    Old_age   Always       -       10
194 Temperature_Internal    0x0022   100   100   000    Old_age   Always       -       30
197 Current_Pending_Sector  0x0032   100   100   000    Old_age   Always       -       2
199 CRC_Error_Count         0x003e   100   100   000    Old_age   Always       -       0
225 Host_Writes_32MiB       0x0032   100   100   000    Old_age   Always       -       559836
226 Workld_Media_Wear_Indic 0x0032   100   100   000    Old_age   Always       -       4331
227 Workld_Host_Reads_Perc  0x0032   100   100   000    Old_age   Always       -       28
228 Workload_Minutes        0x0032   100   100   000    Old_age   Always       -       3024340
232 Available_Reservd_Space 0x0033   054   054   010    Pre-fail  Always       -       0
233 Media_Wearout_Indicator 0x0032   096   096   000    Old_age   Always       -       0
234 Thermal_Throttle        0x0032   100   100   000    Old_age   Always       -       0/0
241 Host_Writes_32MiB       0x0032   100   100   000    Old_age   Always       -       559836
242 Host_Reads_32MiB        0x0032   100   100   000    Old_age   Always       -       220101
На основании #5, #17, #232 есть смысл его заменить?

У брата близнеца с PoH 47305 часов «Host_Writes_32MiB» 1274304, #5 - 0, #170 - 100/10, #232 - 100/10

 ,

vel
()

Анализатор кода на github : Security issue strlen

Может кто подскажет причину для предупреждения?

Оно боится строк длинной в несколько гигов?

int ndpi_match_string(void *automa, char *string_to_match) {
  uint16_t proto_id = 0;
  int rc;
  if(!string_to_match)
	  return(-2);
  rc = ndpi_match_string_common(automa,string_to_match,strlen(string_to_match),&proto_id, NULL, NULL);

Предупреждение

Code Inspector / Code Inspector - Code Review

Security issue

strlen

прототип

int ndpi_match_string_common(void *automa, char *string_to_match,size_t string_len,
                u_int16_t *protocol_id, ndpi_protocol_category_t *category,ndpi_protocol_breed_t *breed);

 

vel
()

мелкий live cd без gui

Есть ли в природе маленький простенький набор (ядро + initrd) для восстановления системы?

Хорошо бы до 50Мб. Ну 100Мб максимум.

Более 200Мб вообще не интересует.

для x86_64 legacy и UEFI

 ,

vel
()

SQL. Смысл конструкции

Встретил в коде такую конструкцию

SELECT COUNT(DISTINCT id) FROM table where ...
При том, что id bigint PRIMARY KEY

Какой смысл в DISTINCT ?

QUERY PLAN в постгресе с/без distinct ничем не отличается.

 

vel
()

Не дают прочитать /proc/self/io !

Потребовалось собрать статистику чтения/записи данных запросами php

Смотрим, что в /proc/self/io есть все необходимое.

патчим php-fpm.

Получаем EPERM при попытке открыть /proc/self/io

Охреневаем, смотрим procfs

cat /proc/26647/status 
Name:	php-fpm
Umask:	0022
State:	S (sleeping)
Tgid:	26647
Ngid:	0
Pid:	26647
PPid:	26644
TracerPid:	0
Uid:	99	99	99	99
Gid:	98	98	98	98

ls -l /proc/26647/{status,io}
-r--------  1 root root 0 янв 11 19:59 /proc/26647/io
-r--r--r--  1 root root 0 янв 11 19:50 /proc/26647/status

ls -l /proc/26647 | grep nobody
dr-xr-xr-x 59 nobody nobody 0 янв 11 20:08 net/
dr-xr-xr-x  3 nobody nobody 0 янв 11 20:06 task/
Что за дерьмо? Процесc форкнулся и безвозвратно сменил uid. Схрена ли владельцем файлов до сих пор root?

Схрена ли io нельзя читать посторонним, а status можно всем?

Как получить эти данные из /proc/self/io?

Или можно открыть этот файл еще до смены gid/uid/euid и потом его перечитывать?

 ,

vel
()

сравнение 2-х каталогов

Есть 2 каталога. Первый - оригинальные данные, второй - измененные данные (overlayfs).

Чем можно получить список изменений ?

Задача содержимое первого каталога превратить во второй.

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

rdiff-backup для этой цели не подходит.

 ,

vel
()

800х600 после включения монитора

Xorg + XFCE4. 1 монитор подключенный через DP

Разрешение 3840x2160.

Выключаю кнопкой монитор.

Включаю монитор. Получаю 800x600, что не радует.

Что за интеллект? Как его отключить?

 ,

vel
()

Браузеры и локальные файлы. #$%^&* CORS!

Есть плейер на js для воспроизведения записи видеоконференции (bigbluebutton)

Сама запись представляет собой главный xml файл, несколько вспомогательных xml файлов, набор картинок презентаций и сами видеозависи.

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

Сейчас запись можно посмотреть только с сервера.

Если все файлы скопировать в подкаталог и в браузере открыть сам плеер (file:///srv/www/tmp/bbb/player.html), то он не работает, а в консоле на все xml файлы рурается:

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at file:///srv/www/tmp/bbb/presentation/d93d9879ce0b3d67c020ce21b15ba38b3a47b221-1599558313776/metadata.xml. (Reason: CORS request not http).

Вызывает недоумение запрет на доступ к локальным данным, если исходный файл так же локальный! Обращения к сетевым ресурсам при этом отсутствуют. Все требующиеся для работы файлы - локальные.

Да, для FF есть костыль в виде «privacy.file_unique_origin», но это 3.14ц.

Вопрос: можно ли как-нибудь переписать этот плеер так, чтоб он воспроизводил локальные файлы без шаманских действий с настройкой браузера (FF и chrome)? Если да, то в какую сторону копать?

Я не веб-разработчик. Мне нужно понять реализуемо это или нет.

 

vel
()

И 10 лет не прошло. NAT Pinning возвращается.

https://www.securitylab.ru/news/513749.php

Исходник с более подробным описание.

IMHO от «iptables -j CT --helper» нужно отказаться.

 , ,

vel
()

nftables 0.9.7 - торт!

Наконец можно будет не патчить ядро и iptables для пропуска нескольких правил!

В nftables-0.97 завезли конструкции вида

  table inet x {
        chain y {
             type filter hook input priority 0;
             tcp dport 22 jump {
                    ip saddr { 127.0.0.0/8, 172.23.0.0/16, 192.168.13.0/24 } accept
                    ip6 saddr ::1/128 accept;
             }
        }
  }

Теперь можно рассматривать nftables как конкурента iptables.

Правда не совсем понятно нужно ли для этого ядро >= 5.10-rc1

 , ,

vel
()

OCZ-VERTEX3 - пора на пенсию?

Это просто удачный экземпляр или на него мало писали?

=== START OF INFORMATION SECTION ===
Model Family:     SandForce Driven SSDs
Device Model:     OCZ-VERTEX3
Serial Number:    OCZ-E54XIIO79BY3459C
LU WWN Device Id: 5 e83a97 e1c01a1a1
Firmware Version: 2.15
User Capacity:    120,034,123,776 bytes [120 GB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    Solid State Device
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA8-ACS, ACS-2 T13/2015-D revision 3
SATA Version is:  SATA 3.0, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Thu Oct 29 10:02:27 2020 MSK
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000f   094   094   050    Pre-fail  Always       -       0/128828398
  5 Retired_Block_Count     0x0033   100   100   003    Pre-fail  Always       -       0
  9 Power_On_Hours_and_Msec 0x0032   020   020   000    Old_age   Always       -       70615h+54m+56.360s
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       38
171 Program_Fail_Count      0x0032   000   000   000    Old_age   Always       -       0
172 Erase_Fail_Count        0x0032   000   000   000    Old_age   Always       -       0
174 Unexpect_Power_Loss_Ct  0x0030   000   000   000    Old_age   Offline      -       20
177 Wear_Range_Delta        0x0000   000   000   000    Old_age   Offline      -       15
181 Program_Fail_Count      0x0032   000   000   000    Old_age   Always       -       0
182 Erase_Fail_Count        0x0032   000   000   000    Old_age   Always       -       0
187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -       0
194 Temperature_Celsius     0x0022   030   030   000    Old_age   Always       -       30 (Min/Max 30/30)
195 ECC_Uncorr_Error_Count  0x001c   120   120   000    Old_age   Offline      -       0/128828398
196 Reallocated_Event_Count 0x0033   100   100   003    Pre-fail  Always       -       0
201 Unc_Soft_Read_Err_Rate  0x001c   120   120   000    Old_age   Offline      -       0/128828398
204 Soft_ECC_Correct_Rate   0x001c   120   120   000    Old_age   Offline      -       0/128828398
230 Life_Curve_Status       0x0013   100   100   000    Pre-fail  Always       -       100
231 SSD_Life_Left           0x0013   100   100   010    Pre-fail  Always       -       0
233 SandForce_Internal      0x0000   000   000   000    Old_age   Offline      -       15264
234 SandForce_Internal      0x0032   000   000   000    Old_age   Always       -       36244
241 Lifetime_Writes_GiB     0x0032   000   000   000    Old_age   Always       -       36244
242 Lifetime_Reads_GiB      0x0032   000   000   000    Old_age   Always       -       11928

 ,

vel
()

push уведомления в андройде

Правильно ли я понимаю, что google имеет доступ к содержимому push-уведомлений?

 ,

vel
()

Cтатистика работы с файлами для процесса

Хочется получить информацию за некоторое время для одного процесса какие файлы он читал/писал и сколько данных прочитано/записано для каждого файла.

Есть уточнение: процесс - php-fpm.

Теоретически strace подходит, но нужно парсить его вывод.

А есть ли что-то готовое?

 ,

vel
()

Raspberry PI4 разъём питания

Не могу найти размеры разъёма питания для RPI4

Сколько милиметров диаметры отверстия и штыря?

Питание через usb type-c не рассматривается.

 

vel
()

Сколько можно ломать nvme?

Второй раз ломают nvme в ядре!

Решил посмотреть на 5.7, а оно говоит «нет у тебя nvme»!

Гугление «nvme nvme0: Identify Descriptors failed» приводит к коммиту для 5.4 который с небольшим напильником применяется к 5.7.9

 , ,

vel
()

сравнить настройки двух профиле firefox

Есть 2 профиля. В одном все работает, во втором безумные тормоза при наличии видео или html5/canvas(?)

Чем можно экспортировать настройки профиля в текстовый вид для последующего сравнения?

 ,

vel
()

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