LINUX.ORG.RU

Сообщения gobot

 

Переход в nice

Иногда, сами по себе, как то рэндомно, бывает раз в месяц, бывает раз в 4 месяца, некоторые процессы(nginx, php-fpm) переходят в nice = 1. Что может быть, кто их заставляет понижать свой приоритет?
Например, сегодня был переход в nice=1 php-fpm после возросшего iowait(делался бэкап). Может как то с этим связано?

 

gobot
()

Android загрузка библиотеки

Почему то андроид загружает библиотеку не той архитектуры

dalvik.system.PathClassLoader lib/x86
couldn't find "libyuv.so"

Почему он лезет в папку x86, если телефон System.getProperty(«os.arch») == x86_64?

Телефон x86_64 asus ASUS_Z00AD

Проверял на arm64-v8a, armeabi-v7a, там нормально, берет либу из этих папок.

В папке jniLibs есть поддиректории:
armeabi-v7a
arm64-v8a
x86
x86_64
mips64

В коде есть
static{
   System.loadLibrary("yuv");
   System.loadLibrary("enc");
}

 , ,

gobot
()

Нет root сертификата в андроиде

Купил сертификат у которого корневой USERTrust RSA Certification Authority, выданный 01.02.2010 и столкнулся с проблемой, что в некоторых андроидах его нет в доверенных. Есть похожий, но там дата стоит 1999 год и кончается в 2019. Поэтому браузер ругается на сайт с этим сертификатом. Правильно ли я понимаю, что решить эту проблему можно только заменой сертификата, у которого корневой есть в старых андроидах?

 ,

gobot
()

SSL android 4.3

На старых(тестил на 4.3) андроид не работает cайт по https.

Браузер пишет:

this certificate isn't from a trusted authority


Вроде как не хватает промежуточного сервера(или о корневом не знает?) в цепочке сертификатов. Сертификат покупал, все цепочки запихал в файлик и скормил nginx.

openssl s_client -connect site.com:443
CONNECTED(00000003)
depth=2 C = US, ST = New Jersey, L = Jersey City, O = The USERTRUST Network, CN = USERTrust RSA Certification Authority
verify return:1
depth=1 C = GB, ST = Greater Manchester, L = Salford, O = Sectigo Limited, CN = Sectigo RSA Domain Validation Secure Server CA
verify return:1
depth=0 OU = Domain Control Validated, OU = PositiveSSL, CN = site.com
verify return:1
---
Certificate chain
 0 s:/OU=Domain Control Validated/OU=PositiveSSL/CN=site.com
   i:/C=GB/ST=Greater Manchester/L=Salford/O=Sectigo Limited/CN=Sectigo RSA Domain Validation Secure Server CA
 1 s:/C=GB/ST=Greater Manchester/L=Salford/O=Sectigo Limited/CN=Sectigo RSA Domain Validation Secure Server CA
   i:/C=US/ST=New Jersey/L=Jersey City/O=The USERTRUST Network/CN=USERTrust RSA Certification Authority
 2 s:/C=US/ST=New Jersey/L=Jersey City/O=The USERTRUST Network/CN=USERTrust RSA Certification Authority
   i:/C=US/ST=New Jersey/L=Jersey City/O=The USERTRUST Network/CN=USERTrust RSA Certification Authority


Что делать?

 , , , ,

gobot
()

Глобальный Exception Handler

Хочу, чтобы все ошибки отлавливались глобальным обработчиком. Сделал как тут написано https://stackoverflow.com/questions/4427515/using-global-exception-handling-o...
Работает вроде, в него приходят исключения, но программа все равно завершается

Делаю тест в каком то куске кода

progressBar = null;
progressBar.setTitle(title);

соответсвенно генерируется исключение, которое попадает в Thread.UncaughtExceptionHandler
D/AndroidRuntime: Shutting down VM
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.app.ProgressDialog.setTitle(java.lang.CharSequence)' on a null object reference
тут обработка uncaughtException
Application terminated


Если отлавливать явно
try {
    progressBar = null;
    progressBar.setTitle(title);
}catch (Exception e){

}


Тогда норм

 , ,

gobot
()

Можно ли в Java написать криво программу?

Вроде как строго типизированный язык, как с++ и ошибки сведены к 0 теоретически. Какие подводные камни будут при написании крупного(относительно) приложения на андроид?

 

gobot
()

MediaSource

Пытаюсь через MSE фрагментированный mp4 проиграть, подготовленный спец. способом через ffmpeg, но иногда проскакивает такая ошибка. Ошибка бывает периодически. В формате не особо силен, может есть спец кто даст наводку куда копать?

video frame with PTS 0us has negative DTS -83000us after applying timestampOffset, handling any discontinuity, and filtering against append window

 ,

gobot
()

Zabbix ping

Хочу в zabbix мониторить время отклика от агентов(серверов), которые уже добавлены в него.
Есть https://www.zabbix.com/documentation/3.0/ru/manual/config/items/itemtypes/sim...

icmppingloss[<цель>,<пакеты>,<интервал>,<размер>,<время ожидания>]

Но цель должна быть *все сервера, которые нужно опрашивать каждые 5 сек.*. Как быть?

 

gobot
()

Задержки трафика на 443 порт

Хочу сделать задержки пакетов входящего трафика на сервер на 443 порт. Делаю как тут https://wiki.linuxfoundation.org/networking/netem но добавил только «ip sport 443 0xffff» в match. Почему то задержки идут на весь трафик

dev="eno1"
echo $dev
tc qdisc  del dev $dev root
tc qdisc  del dev ifb0 root

tc qdisc add dev $dev ingress
tc filter add dev $dev parent ffff: protocol ip u32 match ip sport 443 0xffff  flowid 1:1 action mirred egress redirect dev ifb0
tc qdisc add dev ifb0 root netem delay 400ms

 

gobot
()

Не могу отправить 1 tcp пакет

Не могу понять как послать 1 tcp пакет с помощью netsniff-ng trafgen. Вроде все делаю как в мане написано

./trafgen -o eno1  -n 10  --cpus 1 '{ eth(),ipv4(da=1.1.1.1),tcp(sp=45643,dp=443),"Hello" }'

1 packets to schedule
59 bytes in total
Running! Hang up with ^C!

10 packets outgoing
590 bytes outgoing
0 sec, 3 usec on CPU0 (10 packets)

но пакет не регистрируется(tcpdump) даже на этой машине с которой отправляю. Работает только если указать lo интерфейс

 ,

gobot
()

Генерация 1 tcp пакета

Как сгенерировать пакет tcp, какие есть инструменты для этого? Nping и hping3 не подходят, так как в конце полысают пакет с флагом RST и соединение рвется. Нужно все это чтобы постестить syn half open ddos

 , ,

gobot
()

shell_exec

Почему то на разных машинах shell_exec по разному работает.
Простой цикл возвращает {1..4}

echo shell_exec('for run in {1..4}; do echo $run; done;');
{1..4}

На другой машине правильный вывод
echo shell_exec('for run in {1..4}; do echo $run; done;');
1
2
3
4

 ,

gobot
()

iptables SYN лимит с 1 IP

Хочу сделать лимит на скорость SYN пакетов с 1 IP.
Нашел кое что

iptables -N zachekanci
iptables -A INPUT -p tcp --syn -j zachekanci
iptables -A zachekanci -m limit --limit 1/s --limit-burst 3 -j RETURN
iptables -A zachekanci -j DROP

но это глобальная настройка получается для сервера. А как сделать по ИП?
Нужно похожее на это
iptables -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m connlimit --connlimit-above 50 --connlimit-mask 32 --connlimit-saddr -m comment --comment "max conn per ip" -j REJECT


но только не на конекты, а на частоту SYN

 ,

gobot
()

RAID6 ==> RAID1

Установил деб с образа у хостера, установщик создал RAID6 и добавил туда все диски(2 ssd и 2 sata), но в таком раскладе диск сильно тормозит(замерял hdparm).
Хочу изменить тип на RAID1 с 2мя SSD

Исходные данные

cat /proc/mdstat
md2 : active raid6 sdb3[1] sda3[0] sdc3[2] sdd3[3]
      220674048 blocks super 1.2 level 6, 512k chunk, algorithm 2 [4/4] [UUUU]
      [=========>...........]  resync = 47.6% (52560920/110337024) finish=10.8min speed=88455K/sec
      bitmap: 1/1 pages [4KB], 65536KB chunk

md1 : active raid1 sda2[0] sdb2[1] sdc2[2] sdd2[3]
      523712 blocks super 1.2 [4/4] [UUUU]
        resync=DELAYED

md0 : active (auto-read-only) raid1 sda1[0] sdb1[1] sdc1[2] sdd1[3]
      6287360 blocks super 1.2 [4/4] [UUUU]
        resync=PENDING

lsblk
NAME    MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda       8:0    0   1.4T  0 disk
├─sda1    8:1    0     6G  0 part
│ └─md0   9:0    0     6G  0 raid1 [SWAP]
├─sda2    8:2    0   512M  0 part
│ └─md1   9:1    0 511.4M  0 raid1 /boot
└─sda3    8:3    0 105.3G  0 part
  └─md2   9:2    0 210.5G  0 raid6 /
sdb       8:16   0   1.4T  0 disk
├─sdb1    8:17   0     6G  0 part
│ └─md0   9:0    0     6G  0 raid1 [SWAP]
├─sdb2    8:18   0   512M  0 part
│ └─md1   9:1    0 511.4M  0 raid1 /boot
└─sdb3    8:19   0 105.3G  0 part
  └─md2   9:2    0 210.5G  0 raid6 /
sdc       8:32   0 111.8G  0 disk
├─sdc1    8:33   0     6G  0 part
│ └─md0   9:0    0     6G  0 raid1 [SWAP]
├─sdc2    8:34   0   512M  0 part
│ └─md1   9:1    0 511.4M  0 raid1 /boot
└─sdc3    8:35   0 105.3G  0 part
  └─md2   9:2    0 210.5G  0 raid6 /
sdd       8:48   0 111.8G  0 disk
├─sdd1    8:49   0     6G  0 part
│ └─md0   9:0    0     6G  0 raid1 [SWAP]
├─sdd2    8:50   0   512M  0 part
│ └─md1   9:1    0 511.4M  0 raid1 /boot
└─sdd3    8:51   0 105.3G  0 part
  └─md2   9:2    0 210.5G  0 raid6 /

df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            5.9G     0  5.9G   0% /dev
tmpfs           1.2G  8.8M  1.2G   1% /run
/dev/md2        207G  944M  195G   1% /
tmpfs           5.9G     0  5.9G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           5.9G     0  5.9G   0% /sys/fs/cgroup
/dev/md1        488M   40M  423M   9% /boot
tmpfs           1.2G     0  1.2G   0% /run/user/0



Перезагружаюсь в rescue mode
делаю
mdadm /dev/md2 --remove /dev/sda3
mdadm /dev/md2 --remove /dev/sdb3

Пишет что
hot remove failed for /dev/sda3: Device or resource busy
Хотя делаю в rescue mode и разделы эти не смонтированы.
Потом делаю
mdadm -S /dev/md2
Остановился
Создаю новый

mdadm --create --verbose /dev/md2 --level=1  --raid-devices=2 /dev/sdc3 /dev/sdd3

Создался нормально. Но не могу его примонтировать, пишет
wrong fs type, bad option, bad superblock

Перезагрузился снова в обычный режим, смотрю
md2 : active raid6 sdb3[1] sda3[0]
      220674048 blocks super 1.2 level 6, 512k chunk, algorithm 2 [4/2] [UU__]
      bitmap: 1/1 pages [4KB], 65536KB chunk

md127 : active raid1 sdc3[0] sdd3[1]
      110337472 blocks super 1.2 [2/2] [UU]
      bitmap: 0/1 pages [0KB], 65536KB chunk

md0 : active (auto-read-only) raid1 sdb1[1] sda1[0] sdc1[2] sdd1[3]
      6287360 blocks super 1.2 [4/4] [UUUU]

md1 : active raid1 sdb2[1] sda2[0] sdd2[3] sdc2[2]
      523712 blocks super 1.2 [4/4] [UUUU]



Добавился md127 и в md2 удалились 2 диска ssd
Как же сделать то по нормальному? C raid ранее не работал. разбить диск при установке Debian не могу, выбора вообще нет, только одна кнопка «Установить Linux Debian 9.5»

 , , ,

gobot
()

Есть raid или нет

Хочу понять есть ли RAID или нет.

Первая машина

cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath] [faulty]
unused devices: <none>


fdisk -l
Disk /dev/nvme1n1: 419.2 GiB, 450098159616 bytes, 879097968 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 4FA88DBB-0164-41A5-956B-AC4D6143B17A

Device         Start     End Sectors  Size Type
/dev/nvme1n1p1  2048 1048575 1046528  511M EFI System


Disk /dev/nvme0n1: 419.2 GiB, 450098159616 bytes, 879097968 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 749E0081-E789-4CB0-816C-AFA255E8CB5F

Device             Start       End   Sectors   Size Type
/dev/nvme0n1p1      2048   1048575   1046528   511M EFI System
/dev/nvme0n1p2   1048576   2095103   1046528   511M Linux filesystem
/dev/nvme0n1p3   2095104 878039039 875943936 417.7G Linux filesystem
/dev/nvme0n1p4 878039040 879085567   1046528   511M Linux swap



Вторая машина
fdisk -l
Disk /dev/sda: 149.1 GiB, 160041885696 bytes, 312581808 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0xdd45176a

Device     Boot   Start       End   Sectors   Size Id Type
/dev/sda1  *       2048    409599    407552   199M 83 Linux
/dev/sda2        409600   2557951   2148352     1G 82 Linux swap / Solaris
/dev/sda3       2557952 312580095 310022144 147.9G 83 Linux

sudo cat /proc/mdstat
cat: /proc/mdstat: No such file or directory


Третья машина
cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath] [faulty]
md2 : active raid1 sdb2[1] sda2[0]
      523200 blocks [2/2] [UU]

md3 : active raid1 sdb3[1] sda3[0]
      1952461760 blocks [2/2] [UU]
      bitmap: 7/15 pages [28KB], 65536KB chunk


Это значит что на 1 и второй машине нет RAID, а на третьей есть RAID1?
Если нет, стоит ли делать его?

 ,

gobot
()

Сервер с ddos защитой

Подскажите где можно арендовать выделенный сервер со встроенной защитой ddos layer 4

 ,

gobot
()

video бесконечный duration

Как заставить <video> производить бесконечный поток? Ставил video.duration = Infinity не помогает. Использую MSE через websocket. Смотрел в некоторых плеерах video.duration = Infinity.

Код JS https://github.com/eventials/poc-mp4-websocket/blob/master/public/index.html

В коде прописано

buffer.addEventListener('updateend', function(e) {
    if (video.duration && !video.currentTime) {
        video.currentTime = video.duration;
    }
});

То есть когда буфер заполняется проматываю в конец. Проблема в том, что иногда поток отстает(по нарастающей), приходится делать вручную промотку. Если вручную сделать video.currentTime = video.duration то все нормально синхронизируется

 , ,

gobot
()

Ограничение скорости upload

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

 , , ,

gobot
()

HLS

Как заставить плеер(videojs) начинать проигрывание с последнего сегмента(vasya3_15708_42-160.ts). Сейчас почему то первый начинает скачиваться файл vasya3_15708_42-156.ts.

Менял

#EXT-X-MEDIA-SEQUENCE:160

не помогает

Содержимое плейлиста vasya3_15708_42.m3u8
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:151
#EXT-X-TARGETDURATION:10
#EXTINF:10.427,
vasya3_15708_42-151.ts
#EXTINF:10.427,
vasya3_15708_42-152.ts
#EXTINF:10.427,
vasya3_15708_42-153.ts
#EXTINF:10.427,
vasya3_15708_42-154.ts
#EXTINF:10.427,
vasya3_15708_42-155.ts
#EXTINF:10.427,
vasya3_15708_42-156.ts
#EXTINF:9.092,
vasya3_15708_42-157.ts
#EXTINF:8.551,
vasya3_15708_42-158.ts
#EXTINF:8.466,
vasya3_15708_42-159.ts
#EXTINF:10.010,
vasya3_15708_42-160.ts

 

gobot
()

Как отключить ipv6

Как же все таки отключить этот поганый ipv6 в debian 9? Почему все идет через ipv6(exim, ping, apt-get), можно ли сделать чтобы по умолчанию все шло через обычный ipv4?

Делал:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
net.ipv6.conf.eth0.disable_ipv6 = 1


Не помогает.

Помогает только если убрать адреса с сетевой
ip addr del fe50::a1bf:2ff:fe17:87dc/64 dev eth0

Неужели это единственное решение?! У провайдера нельзя тоже удалить эти адреса(dhcp). Прописывать статичный IP как то неохота...

 ,

gobot
()

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