Здравейте и добре дошли в #root.bg!
Тук може да намерите статии и уроци за linux, мрежи и тяхната защита, игри и забавление, както и хобита – ролери, дронове и много други.
Ако искате да помогнете за развитието на root.bg, моля направете го от тук!
Тук може да намерите статии и уроци за linux, мрежи и тяхната защита, игри и забавление, както и хобита – ролери, дронове и много други.
Ако искате да помогнете за развитието на root.bg, моля направете го от тук!
Николай Николов Howto apple, homebridge, homekit, homepod, умна къща, raspberry pi, smart home, sonoff 0 comments
Здравейте,
Преди повече от година мой колега ме вдъхнови да си направя къщата умна (Благодаря ти Любак! 🙂 ). Започнах да експериментирам и днес мога да споделя, че мисия Умен Дом е вече завършена.
Искам да подчертая, че всичко съм си направил сам, и не съм давал пари на фирми които правят тази услуга. За това смятам, че всеки с желание и малко опит в линукса може да направи същото.
Използвам предимно Apple продукти, но предполагам почти същия резултат може да бъде постигнат и с Android.
Всичко това може да бъде автоматизирано – например всяка вечер в еди колко си часа да се включват конвекторите, в еди колко си часа да се изключват крушките и телевизорите и тн.
Разбира се, тези неща не струват хиляди левове, и са направени с помощта на няколко уреда :
Raspberry Pi изграе ролята на сървър, на който е инсталиран HomeBridge. HomeBridge позволява да добавяме устройства който не са Apple сертифицирани към HomeKit и така да може да ги управляваме чрез телефона или Siri.
Използвам Sonoff контакти и релета (pow r2) за електроуредите (телевизори, конвектори и тн). Sonoff ми дава възможност, освен да включвам и изключвам уредите, да гледам в реално време тяхната консумация на електроенергия, като с допълнителен плъгин към HomeBridge може да чертае и графики на консумацията и да смята колко ток харчи даден уред!
Apple tv или HomePod са необходими, защото без тях всичко това няма да бъде достъпно извън дома ни, което обесмисля цялата гъвкавост. В случая имам и Apple TV и два HomePod-а, така че те трите играят роля на хъб към интернета.
В следващите ми публикации ще споделя подробно кое как се конфигурира, за Мисия Умен Дом 🙂
Това е!
Николай Николов Работа, Howto Добрич, метео станция, ffmpeg, timelapse, video 0 comments
Здравейте,
Преди около месец с колегата Андрей пуснахме метео станция за град Добрич (за нея ще пиша друг път) – и покрай този проект решихме да сложим камери при станцията за да правим timelapse видео.
За цялата направа на timelapse видео-то използвах :
Ето и как изглеждат нагледно нещата :
*/1 * * * * root curl -s "http://111.112.111.33:8889/webcapture.jpg?command=snap&channel=1" > "/var/www/cdn.root.bg/weather-pics/$(date +\%Y\%m\%d\%H\%M\%S).jpg" 30 5 * * * root /root/scripts/timelapse.sh &> /dev/null
тук е важно да се спомене, че скрипта който прави видеото се пуска всяка сутрин в 5:30 за да може да хване изгрева!
#!/bin/bash rm -f /var/www/cdn.root.bg/timelapse.mp4 rm -f /var/www/cdn.root.bg/weather-pics/out.mp4 cd /var/www/cdn.root.bg/weather-pics/ ; cat *.jpg | ffmpeg -f image2pipe -r 1 -vcodec mjpeg -i - -vcodec libx264 out.mp4 ; ffmpeg -i out.mp4 -vf "setpts=(PTS-STARTPTS)/10" -r 10 ../timelapse.mp4 rm -f /var/www/cdn.root.bg/weather-pics/*.jpg ; rm -f /var/www/cdn.root.bg/weather-pics/*.jpg.webp
За да няма никакъв кеш от уеб сървъра nginx, съм добавил специално правило което да сервира всеки път на ново от cdn-а timelapse.mp4
location = /timelapse.mp4 { # kill cache add_header Last-Modified $date_gmt; add_header Cache-Control 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0'; if_modified_since off; expires off; etag off; add_header "Access-Control-Allow-Origin" "*"; add_header P3P "Can I help you? Contact me via https://root.bg/contacts/, CP=CAO ADMa DEVa IND PHY ONL UNI COM LOC"; }
PS. версията на ffmpeg която използвам е : 3.4.6 – преди това бях пробвал с по-нова инсталирана от snap но не работеше както исках.
И резултата е следния :
Това е!
Николай Николов Howto connection failed, dell, idrac, java, macos, poweredge, sslv3 0 comments
Здравейте,
Не съм писал скоро (съжалявам за което).
Използвам MacOS и често ми се налага да влизам по стари Dell PowerEdge сървъри които използват iDRAC 6, но стигах до проблем – Connection Failed.
Оказа се, че проблема идва от настройка в защитите на Java ( по подразбиране са спрели протокола SSLv3 – а именно той служи да осъществяване на връзката към iDRAC 6 )
За да позволим SSLv3 е нужно да отворим с текстов редактор java.security файла :
sudo vim "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/lib/security/java.security"
и да закоментираме или изтрием следните два реда :
jdk.tls.disabledAlgorithms=SSLv3, RC4, DES, MD5withRSA, DH keySize < 1024, \ EC keySize < 224, 3DES_EDE_CBC, anon, NULL
И вече успешно можем да пуснем конзолата към iDRAC 6 и да си свършим работата ;))
Това е!
Николай Николов Howto journal, linux, logs, sysmted 0 comments
Здравейте,
Днес, на един от сървърите ми открих, че мястото във /var
намаля, и причината беше във /var/log/journal
.
В тази публикация ще споделя как правилно се изтриват логовете на systemd journal, и как да направим сървъра ни сам да се грижи за размера им.
root@mp-web06:/var/log# du -sh * |grep G 4.1G journal
root@mp-web06:/var/log# journalctl --vacuum-time=5d Deleted archived journal /var/log/journal/a20c526fbd1ffe2fe0fc6d5056053509/user-1003@55bfa9c91d5944b3a7a133fcec536fb8-000000000042a6ee-00057dd636182198.journal (8.0M). ..... Vacuuming done, freed 3.8G of archived journals from /var/log/journal/a20c526fbd1ffe2fe0fc6d5056053509.
Тук идеята е сървъра да изтрива сам логове по-стари от 5 дни.
root@mp-web06:/var/log# journalctl --vacuum-size=1G Vacuuming done, freed 0B of archived journals from /var/log/journal/a20c526fbd1ffe2fe0fc6d5056053509.
Така ако лога стане по-голям от 1GB сървъра сам ще го изтрие, и така ще се грижи сам за свободното място!
И така мястото във /var/log/journal
е вече много по-малко от преди!
root@mp-web06:/var/log# du -sh /var/log/journal/ 257M /var/log/journal/
Това е!
Николай Николов Howto macos, winbox, wine 0 comments
Здравейте,
В тази публикация ще споделя как можем да инсталираме Mikrotik Winbox за MacOS.
За целта са ни нужни следните неща:
wine winbox.exe
Това е!
Николай Николов Howto charset, mysql, mysql 8, wordpress 0 comments
Здравейте,
Фен съм на новите технологии и много обичам ъпдейтите ;))
Поради тази причина от днес root.bg вече работи на MySQL 8!
В този пост ще споделя особенностите при пускането на версия 8 и какво е нужно да проработи нашия wordpress – особенно ако базата му е голяма, стара и с различни типове charset и collation-и. Да подчертая че мигрирах от MariaDB 10.2 и за целта си вдигнах нов MySQL сървър – не съм правил mysql_upgrade, а dump и restore на базата!
Повече подробности за новостите в MySQL 8 може да се намерят в официалния им сайт.
Това което е важно за wordpress специално е именно това :
latin1
to utf8mb4
. The utf8mb4
character set has several new collations, including utf8mb4_ja_0900_as_cs
, the first Japanese language-specific collation available for Unicode in MySQL. For more information, see Section 10.10.1, “Unicode Character Sets”.Или именно проблемът с който се сблъсках след като налях базата на root.bg на новия mysql сървър. Ето така изглеждаха всичките публикации написани на кирилица :
Причината за това е именно енкодинга в MySQL.
Този проблем може да се реши по два начина – чрез настройка в самия сървър или в конфигурационния файл на нашия wordpress.
Ето и двата начина:
character-set-server=latin1
За да направим проверка в mysql конзолата пишем :
SHOW VARIABLES LIKE 'character\_set\_%';
и трябва да видим следния резултат :
+--------------------------+---------+ | Variable_name | Value | +--------------------------+---------+ | character_set_client | utf8mb4 | | character_set_connection | utf8mb4 | | character_set_database | latin1 | | character_set_filesystem | binary | | character_set_results | utf8mb4 | | character_set_server | latin1 | | character_set_system | utf8 | +--------------------------+---------+ 7 rows in set (0.00 sec)
В wordpress:
В конфигурационният файл на wordpress – wp-config.php добавяме следния ред :
define('DB_CHARSET', 'latin1');
И така вече имаме работещ wordpress на MySQL 8!
ПС
root.bg живее върху :
ubuntu 18.04.1
nginx 1.14.0
php 7.2.11
mysql 8.0.13
memcached 1.5.6
Това е!