[pulseaudio] module-bluetooth-device.c: Failed to acquire transport
Китайська гарнітура парується, але вибрати її як аудіо-пристрій неможливо. Причому, раніше працювало і чомусь померло.
В логах помилка САБЖ.
Лікується:
# sudo mv /etc/bluetooth /etc/bluetooth.backup
# sudo apt-get install --reinstall bluez
В логах помилка САБЖ.
Лікується:
# sudo mv /etc/bluetooth /etc/bluetooth.backup
# sudo apt-get install --reinstall bluez
Контроль крокового мотору поворотним енкодером та Arduino
Щоб працювати з антеною типу Magnetic loop (Магнітна рамка), необхідно дуже повільно регулювати конденсатор змінної ємності для керування резонансом антени. Причому, крутити конденсатор краще довгим діелектриком, а ще краще - дистанційно електроприводом. Я це реалізував за допомогою Arduino Uno + кроковий двигун 28BYJ-48 (5V) + драйвер ULN2003 (на модулі SBT0811), все це куплялось в Китаї за копійки, легко шукається на Алі.
Енкодер для Arduino я не знайшов, а купив звичайний, тому довелось його обвішати резисторами і конденсаторами.
Енкодер для Arduino я не знайшов, а купив звичайний, тому довелось його обвішати резисторами і конденсаторами.
Статичний lease в Cisco
!
ip dhcp pool StaticProjector
host 10.xx.1.155 255.255.255.0
client-identifier 018c.df9d.72c5.4c
dns-server 10.yy.0.4
default-router 10.xx.1.1
!
ip dhcp pool StaticProjector
host 10.xx.1.155 255.255.255.0
client-identifier 018c.df9d.72c5.4c
dns-server 10.yy.0.4
default-router 10.xx.1.1
!
RAID 6 на Hetzner
Є 15 вінтів по 6Tb, треба зробити RAID 6
Знищуєм старий RAID, якщо він є.
megacli -CfgLdDel -Lall -aAll
megacli -CfgClr -aAll
Створення RAID (для 6 * 15 це буде 70947GB. Калькулятор)
megacli -CfgLdAdd -r6 [19:0,19:1,19:2,19:3,19:4,19:5,19:6,19:7,19:8,19:9,19:10,19:11,19:12,19:13,19:14] WB RA Direct CachedBadBBU -a0
Зробити загрузочним
megacli -AdpBootDrive -set -L0 -a0
Інформація про RAID
megacli -LDInfo -Lall -Aall
Знищуєм старий RAID, якщо він є.
megacli -CfgLdDel -Lall -aAll
megacli -CfgClr -aAll
Створення RAID (для 6 * 15 це буде 70947GB. Калькулятор)
megacli -CfgLdAdd -r6 [19:0,19:1,19:2,19:3,19:4,19:5,19:6,19:7,19:8,19:9,19:10,19:11,19:12,19:13,19:14] WB RA Direct CachedBadBBU -a0
Зробити загрузочним
megacli -AdpBootDrive -set -L0 -a0
Інформація про RAID
megacli -LDInfo -Lall -Aall
Доступність серверів Hetzner між собою
Було куплено кілька серверів, до кожного з них по додатковій реальній ІР адресі. Як вияснилось, ці додаткові адреси не бачать одна одну, хоча знаходяться в одній мережі і для всіх них один шлюз. Кожна з них доступна для світу
x.y.z.10
x.y.z.11
x.y.z.12
і шлюз
x.y.z.254
Був направлений запит в підтримку Hetzner і відповідь дуже здивувала, на кожному хості, де шлюзом по замовчуванні є x.y.z.254, треба додатково прописати статичний маршрут на сусідню ІР через той самий шлюз.
Наприклад, для x.y.z.10 треба додати маршрут:
route add -host x.y.z.11 gw x.y.z.254
route add -host x.y.z.12 gw x.y.z.254
Після чого всі ІР між собою стали доступними.
В чому логіка?
x.y.z.10
x.y.z.11
x.y.z.12
і шлюз
x.y.z.254
Був направлений запит в підтримку Hetzner і відповідь дуже здивувала, на кожному хості, де шлюзом по замовчуванні є x.y.z.254, треба додатково прописати статичний маршрут на сусідню ІР через той самий шлюз.
Наприклад, для x.y.z.10 треба додати маршрут:
route add -host x.y.z.11 gw x.y.z.254
route add -host x.y.z.12 gw x.y.z.254
Після чого всі ІР між собою стали доступними.
В чому логіка?
gre tunnel bash function
#!/bin/bash /sbin/modprobe gre function tun2-up { NAME=$1 REMOTE=$2 IP=$3 PPTP=$4 #ip link set ${NAME} down #ip tunnel del ${NAME} ip tunnel add ${NAME} mode gre remote ${REMOTE} local MY_EXTERNAL_IP ifconfig ${NAME} inet ${IP} pointopoint ${PPTP} ip link set ${NAME} up } tun2-up tunnelname REMOTE_IP 10.77.253.222/30 10.77.253.221
Видалення пошти з черги по вказаному e-mail
postqueue -p | tail -n +2 | awk 'BEGIN { RS = "" } /mail@domain\.com/ { print $1 }' | tr -d '*!' | postsuper -d -
Перелік oid'ів інтерфейсів в Miktorik
[admin@MikroTik] > interface print oid
Flags: D - dynamic, X - disabled, R - running, S - slave
0 R ;;; WAN
name=.1.3.6.1.2.1.2.2.1.2.1 actual-mtu=.1.3.6.1.2.1.2.2.1.4.1 mac-address=.1.3.6.1.2.1.2.2.1.6.1 admin-status=.1.3.6.1.2.1.2.2.1.7.1 oper-status=.1.3.6.1.2.1.2.2.1.8.1 bytes-in=.1.3.6.1.2.1.31.1.1.1.6.1 packets-in=.1.3.6.1.2.1.31.1.1.1.7.1 discards-in=.1.3.6.1.2.1.2.2.1.13.1
errors-in=.1.3.6.1.2.1.2.2.1.14.1 bytes-out=.1.3.6.1.2.1.31.1.1.1.10.1 packets-out=.1.3.6.1.2.1.31.1.1.1.11.1 discards-out=.1.3.6.1.2.1.2.2.1.19.1 errors-out=.1.3.6.1.2.1.2.2.1.20.1
Прочитати значення:
# snmpwalk -v2c -c public 111.222.111.222 .1.3.6.1.2.1.31.1.1.1.6.1
IF-MIB::ifHCInOctets.1 = Counter64: 780925449
Flags: D - dynamic, X - disabled, R - running, S - slave
0 R ;;; WAN
name=.1.3.6.1.2.1.2.2.1.2.1 actual-mtu=.1.3.6.1.2.1.2.2.1.4.1 mac-address=.1.3.6.1.2.1.2.2.1.6.1 admin-status=.1.3.6.1.2.1.2.2.1.7.1 oper-status=.1.3.6.1.2.1.2.2.1.8.1 bytes-in=.1.3.6.1.2.1.31.1.1.1.6.1 packets-in=.1.3.6.1.2.1.31.1.1.1.7.1 discards-in=.1.3.6.1.2.1.2.2.1.13.1
errors-in=.1.3.6.1.2.1.2.2.1.14.1 bytes-out=.1.3.6.1.2.1.31.1.1.1.10.1 packets-out=.1.3.6.1.2.1.31.1.1.1.11.1 discards-out=.1.3.6.1.2.1.2.2.1.19.1 errors-out=.1.3.6.1.2.1.2.2.1.20.1
Прочитати значення:
# snmpwalk -v2c -c public 111.222.111.222 .1.3.6.1.2.1.31.1.1.1.6.1
IF-MIB::ifHCInOctets.1 = Counter64: 780925449
Zabbix: помилка при icmp ping - Name or service not known
Щоб перевірити чи Zabbix може використовувати команду fping
# su - zabbix -s /bin/bash
su: warning: cannot change directory to /var/lib/zabbix: No such file or directory
-bash-4.2$ fping 111.222.111.222
(null): can't create socket (must run as root?) : Permission denied
Тут очевидна проблема з доступом до fping
Фікс:
# chown root:zabbix /usr/sbin/fping
# chmod 4710 /usr/sbin/fping
# chmod ug+s /usr/sbin/fping
перевіряємо
# su - zabbix -s /bin/bash
Last login: Tue Feb 7 06:35:20 EET 2017 on pts/0
su: warning: cannot change directory to /var/lib/zabbix: No such file or directory
-bash-4.2$ fping 111.222.111.222
111.222.111.222 is alive
# su - zabbix -s /bin/bash
su: warning: cannot change directory to /var/lib/zabbix: No such file or directory
-bash-4.2$ fping 111.222.111.222
(null): can't create socket (must run as root?) : Permission denied
Тут очевидна проблема з доступом до fping
Фікс:
# chown root:zabbix /usr/sbin/fping
# chmod 4710 /usr/sbin/fping
# chmod ug+s /usr/sbin/fping
перевіряємо
# su - zabbix -s /bin/bash
Last login: Tue Feb 7 06:35:20 EET 2017 on pts/0
su: warning: cannot change directory to /var/lib/zabbix: No such file or directory
-bash-4.2$ fping 111.222.111.222
111.222.111.222 is alive
Все ок!
ISPmanager Invalid License
Щоб відновити втрачену ліцензію на ISPmanager, запускаємо з сервера на який надана ліцензія
wget http://lic.ispsystem.com/ispmgr.lic?ip=123.123.123.123
переміщаємо файл ліцензії в /usr/local/ispmgr/etc
mv ispmgr.lic?ip=123.123.123.123 /usr/local/ispmgr/etc/ispmgr.lic
Це при умові що ліцензія актуальна.
wget http://lic.ispsystem.com/ispmgr.lic?ip=123.123.123.123
переміщаємо файл ліцензії в /usr/local/ispmgr/etc
mv ispmgr.lic?ip=123.123.123.123 /usr/local/ispmgr/etc/ispmgr.lic
Це при умові що ліцензія актуальна.
doveadm видалення старих листів з скриньок
Видалення з усіх (-А) скриньок старших за 90 і 60 днів, з папок Trash і Junk відповідно.
doveadm expunge -A mailbox Trash savedbefore 90d
doveadm expunge -A mailbox Junk savedbefore 60d
Видалення з вказаної скриньки
doveadm expunge mailbox Junk -u email@domain.com savedbefore 60d
doveadm expunge -A mailbox Trash savedbefore 90d
doveadm expunge -A mailbox Junk savedbefore 60d
Видалення з вказаної скриньки
doveadm expunge mailbox Junk -u email@domain.com savedbefore 60d
Архівування лістингу директорії. Кожна директорія окремим файлом
for dir in `find . -maxdepth 1 -type d | grep -v "^\.$" `; do tar -cvzf ${dir}.tar.gz ${dir}; done
Встановлення локалі в Raspberry Pi
/etc/default/locale
LANGUAGE=en_US.UTF-8
LC_ALL=en_US.UTF-8
LANG=en_US.UTF-8
LC_TYPE=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_ALL=en_US.UTF-8
LANG=en_US.UTF-8
LC_TYPE=en_US.UTF-8
Синхронізація двох imap-скриньок
Синхронізація двох imap-скриньок. Дуже корисна утиліта при переносах поштових серверів, доменів, скриньок.
imapsync --host1 127.0.0.1 --user1 mail.server1.com --password1 pa$$w0rd \
--host2 mail.server2.com --user2 email@domain2.com --password2 pa$$w0rd
Raspberry Pi блимає taskbar (xpanel)
Завів нового користувача, додав його в групу video і audio, також треба прописати в /boot/config.txt
dtparam=audio=on
ну і розремити можна, щоб забрати чорну рамку на моніторі
disable_overscan=1
dtparam=audio=on
ну і розремити можна, щоб забрати чорну рамку на моніторі
disable_overscan=1
postfix: вибірка з maillog по e-mail
postfix має своєрідний формат логів і вибирати потрібну інформацію потрібно в два проходи. Ось команда, яка робить гарну вибірку по потрібному е-мейлу.
grep 'to=<email@domain.com' /var/log/mail.log | cut -d ' ' -f 6 | grep -f - /var/log/mail.log > email@domain.com.txt
Очищення imap скриньки від старих листів
Прийшло таке дивне робоче повідомлення, але здивування було більше, коли в скрині виявилось 103 тисячі повідомлень.
Ділюсь скриптом, який за 5 хвилин видалив 70 тисяч повідомлень.
#!/usr/bin/python MAIL_SERVER = 'mail.server.com' USERNAME = 'login@domain.com' PASSWORD = 'pass' MAILBOX = 'INBOX' MAX_DAYS = 392 # Deletes messages older than a week import imaplib import datetime today = datetime.date.today() cutoff_date = today - datetime.timedelta(days=MAX_DAYS) before_date = cutoff_date.strftime('%d-%b-%Y') search_args = '(BEFORE "%s")' % before_date imap = imaplib.IMAP4(MAIL_SERVER) imap.login(USERNAME, PASSWORD) imap.select(MAILBOX) typ, data = imap.search(None, 'ALL', search_args) for num in data[0].split(): print num imap.store(num, '+FLAGS', '\\Deleted') imap.expunge() imap.close() imap.logout()
pip: оновлення всіх пакунків у virtualenv
$ pip freeze --local | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip install -Uабо
$ pip install pip-review
$ pip-review --local --interactive
Підписатися на:
Дописи (Atom)