Debian」カテゴリーアーカイブ

サーバ⚙

最近の投稿

アーカイブ

カテゴリー

google home が動かなかったな…

そういえば、先日の朝とか、いつもの Google home mini に「照明つけて」とか言っても、ネットワークにつながっていないとかいって動かなかったけど、google のトラブルが原因か。

我が家では、家電制御は、Google Home mini → homebridge-gsh → homebridge だから、我が家のネットワークの問題(mydns.jpの接続トラブルで逆引き失敗することがある)で、homebridge-gsh が動かないと思っていたけど、google さんがトラブっていりゃうごかないよね。

まあ、homebridge は Home アプリで操作が普通で、”Hey Siri!” で操作できるし、記事みたいに何もできなることはないし。

サーバをspeepさせない

職場で実験用にセットアップしたサーバが、ほっておくと sleep で繋がらなくなる。

下記の設定で、sleep, suspend,hibernate 機能を停止する必要あり。

$ sudo systemctl mask sleep.target suspend.target hibernate.target

UPSがself-testでブザーとまらず

3年物のAPCのUPS APC ES 550(BE550G-JP)が、朝の5:00にブザーが鳴って止まらず。

電圧異常かと思って、電源ボタンを押したら停止。でも、サーバはシャットダウン操作してないで落ちてる。

LOGを確認すると、apcupsd の self-test 機能が動いて、バッテリーの交換時期なので、ブザーを鳴らしたみたい。マニュアルを見ると「停止条件は『電源オフ』」実は、ひと月前にも同じようにブザーが鳴って、今回は2回目。self-test の期間は、2週間に設定されているみたいなので、このままだと、また叩き起こされそう。

電源異常じゃないのならバッテリー交換とも思うけど調べると交換バッテリー7000円。前のUPSは、保持時間が多少落ちようとも無視して本来2~3年の寿命の物を5年以上使ってた。今回も劣化を無視してもう少し使いたい。

apctestでbattery dateを修正

UPS監視ソフトの apcupsd の付属ソフトに、apctest でセルフテストを直にさせようと思ったけど、上手く動かない。でも、battery の日付を書き換えるコマンドがある。寿命をだますということで、試しにバッテリー交換してないけど日付を書き換えてみた。これで、だませるかな。

(2020/12/28:追記) バッテリーが消耗していれば、battery-date を修正しても、朝の4:45に再びブザーが鳴り響き、効果なかった。(T_T;

ついでに、夜中にバッテリー警告で起こされるのもつらいので、警告音を DISABLE にできるみたい。munin で、バッテリー状況は観察してるし、自宅サーバだし「落ちてもたかがしれている状態」なので、問題ないだろう。とはいいながら、エラーが改めてでなくなるのを確認するまでは、ENABLE にしておくか。

$ sudo systemctl stop apcupsd.service
$ sudo apctest
(略)
Please select the function you want to perform.
1)  Test kill UPS power
2)  Perform self-test
3)  Read last self-test result
4)  View/Change battery date
:
Select function number: 4
Current battery date: 09/12/2016
Enter new battery date (MM/DD/YYYY), blank to quit: 09/12/2020
:
6)  View/Change alarm behavior
:
Select function number: 6
Current alarm setting: DISABLED
Press...
 E to Enable alarms
 D to Disable alarms
 Q to Quit with no changes
Your choice: Select function: q

apcupsd.conf の修正

(2020/12/28) 何らかの selft-test と思って、バッテリー日付の修正を試したが効果が無いので、改めて、正統な selft-test 機能を止める方法。

(( /etc/apcupsd/apcupsd.conf ))
# Self test interval in hours 336=2 weeks, 168=1 week, ON=at power on
# SELFTEST 336 168 ON OFF  (default = 336)
SELFTEST OFF

homebridgeの一部が不具合

便利に使っている音声制御機能、しかし昨日から照明が消えない。google-home ではなく、元の Apple の Homeアプリで動かすと、アイコンに ! マークが付いている。ブラウザのリモコン機能は動くので、赤外線の光が届かないのかと思って気づくのが遅れた。(ブラウザ版は raspberry-pi でなく、自宅サーバで動いている)

原因は、raspberry-pi を stretch から buster に更新して、python の設定がおかしくなったみたい。

$ /usr/local/bin/broadlink bed-light power
Traceback (most recent call last):
  File "/usr/local/etc/python-broadlink/cli/broadlink_cli", line 8, in <module>
    import broadlink
ModuleNotFoundError: No module named 'broadlink'

しかたがないので、python-broadlink を入れ直し。default の python が 2.x 系か 3.x 系かの違いが原因のようなので、明示的に python3 系でインストール。

$ sudo install python3-dev python3-pip
$ sudo pip3 install broadlink

Raspberry Pi buster 更新でトラブル

自宅の Raspberry-Pi を buster に更新してみた。

定番の /etc/apt/sources.list の stretch を buster に書き換えて、

$ sudo aptitude update ; sudo aptitude safe-upgrade
大量にインストール...
$ sudo reboot

しかし、起動時に eth0 も認識せずに、emergency mode になってしまった。

root パスワードでログインし、手作業で eth0 を認識させて…。
原因としては、raspi-copies-and-fills が原因のようなので、削除。

$ sudo aptitude purge raspi-copies-and-fills

bind9でfilter-aaaaがpluginになる

自宅サーバを使っていて、raspberry-pi の更新をかけていたら、IPv6アドレスにつながらないトラブル発生。

我が家では、上流が IPv4-only だけど、自宅内の機器間のに IPv6 も使えるようにしている。このため、DNS の設定では、bind9 に、filter-aaaa-on-v4 の設定を加え、IPv4 の機器からの問い合わせには、IPv4 のみを返答することで、対応していた。

しかし、改めて “nslookup www.google.com 192.168.xx.xx” を実行したら、IPv4からの問い合わせの癖に、しっかり IPv6 が返ってきている。

調べてみると、bind9 (9.14)から filter-aaaa 機能は plugin になるみたい。んで、自宅サーバは 9.11→9.16 により filter-aaaa がoffになったのが原因…と思ったけど、syslog をみると “–enable-filter-aaaa”付きでcompileされてるし、”option ‘filter-aaaa-on-v4’ is obsolete and should be removed” と表示されてるから、現状では、まだ使えているはず。

ひとまず IPv6 オフ

ラズバイは、ひとまず下記の設定で、IPv6 をオフにしておく。

$ sudo /etc/sysctl.conf

((下記を追加))
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

$ sudo sysctl -p

これは、IPv6 が戻ったら、元に戻そう。

bind9 に plugin の filter-aaaa 設定

plugin になったら、下記のような設定をするようだけど、うまくいかないので近日中に要対応。

$ sudo vi /etc/bind/named.conf.options

plugin query "/usr/lib/x86_64-linux-gnu/named/filter-aaaa.so" {
    filter-aaaa-on-v4 yes ;
    filter-aaaa-on-v6 yes ;
    filter-aaaa { any ; }
} ;

homebridge-config-ui-x を入れる

Appleの家電制御のためのHomeKitと互換性のあるソフト homebridge だけど、以前より家電の赤外線リモコンで活用しているが、google home との連携もさせたくって、homebridge-gsh を入れようとしたが、nodejs のバージョンが古く、インストールに失敗していた。

Google Home Mini で家電を制御するために、iPhone に eRemote 用のアプリを入れて、制御もしているけど、テレビなどの電源ボタンがトグル動作で、ON/OFF を正しく認識しないので、操作性が悪い。homebridge では、テレビにつけた Raspberry-Pi から、cec-client を使って、電源操作や入力切替操作が行えるので、基本は homebridge ベースに切り替えたい。

インストール

今回、nodejs のリポジトリを nodejs の本家を使うように設定して、nodejs を最新の 12.x に上げる。合わせて、設定ユーザインタフェースが便利な、homebridge-config-ui-x を入れてみた。

# リポジトリを登録
$ curl -sL https://deb.nodesource.com/setup_12.x | sudo bash -
$ sudo aptitude update ; sudo aptitude safe-upgrade

# Node.js のインストール
$ sudo aptitude install -y nodejs
$ sudo npm install -g npm

# homebridge-config-ui-x のインストール 
$ sudo npm install -g homebridge-config-ui-x

config-ui-x を使えば、config.json の編集機能があるし、その編集も各モジュール単位で編集もできるので便利。一部のモジュールは、config.json で触る必要があって、その切り分けで手間取った。

この Web-UI では、スイッチの操作で時間のかかる処理のコマンドで、一部動きがおかしいのもあるけど、スマホ版だと問題なく動くようなので、この画面はあくまで設定用かな。

サーバダウン

朝起きて、”OK, Google” と叫んでも、”WiFiが繋がっていない”とのエラー。確認すると、サーバが落ちている。サーバでDHCPも動かしているので、サーバが落ちると家の中のネットワークが全部動かなくなる。それらしい時間 2020/08/20,01:15 頃の syslog などを確認するが、心配な log もあるけど、通してみると定常的な spam 系のアクセスっぽいので、原因不明。

サーバもそれなりに長期間運用しているので、新たに /var/log/trouble というフォルダを作って、syslog, messages, access.log, error.log などをコピーしておく。

昨日のWiFi中継機を増設した影響かとも思ったが、無関係かな。

muninで室内温度と外気温度の同時表示

今まで、室内温度のセンサーと、室外(といっても2F廊下)の温度を測ってきたけど、蒸し暑い夜にどの位の温度差があるのか2つのグラフを見比べるのではなく、1つのグラフで比較したくなった。

それぞれの、mrtg のプログラムを連結するのではなく、mrtg script の出力を合成する script を書いてみた。

WordPress 5.5 を適用

WordPressを触っていたら、version 5.5 が公開となったみたい。

新しい機能なのか、編集画面に URL 張り付けただけで、↓うまく引用してくれらぁ。

WordPress 5.5「エクスタイン」

検索 🔎

  My Google     Yahoo

便利サイト