ホーム » T-Saitoh

T-Saitoh」カテゴリーアーカイブ

サーバ⚙

アーカイブ

カテゴリー

@TohruSaitoh-19/04/18

ねこすた


この記事は@TohruSaitohのつぶやきのまとめです。

stretchで起動しづらい

自宅で色々と動いている Raspberry-Pi 。OS更新はまめにやっているけど、外気温測定に使っているのが Jessie のままだったのに気づく。stretch に上げたけど、どうも起動に失敗する。更新に失敗したかと思ったけど、キーボードをつなぐために USB WiFi を抜いて起動すると、普通に動いている。

今までも、多少 boot が不安定なのはあったけど、stretch になって起動シーケンスが最適化されたのか、WiFi 有効化のタイミングが早まり、ブート時の電力不足が発生していると思われる。

ひとまず、改造面倒だし USB WiFi を抜いて、boot がそれなりに進んでから USB を指して対応。

WZR-1166DHP2-Ver 2.18

久々に、WiFiルータ WZR-1166DHP2 のファームウェア Ver 2.18 が公開されていた。同じく、WCR-1166DS も新しいファームウ Ver 1.33 ェアが公開されている。早々にインストール。

長らく更新が無かったなか、複数の製品でファーム更新ってきたから、Buffalo固有の大きなバグを心配したけど、「SSLバージョン3.0の脆弱性対策に伴い、SSLバージョン3.0を無効にしました」だそうだ。

ER-X EdgeOS v2.0.1

EdgeRouter-X の新しいファームウェアが、2019/3/29 にリリースされたみたいということで、早速インストール。特にどんな機能が増えたのか、よくわからないけれど無事更新完了。

ただ、更新が終わって改めて、何が新しくなったのかとファームウェアのページを見たら、v2.0.1の情報が消えている。どーゆーことぉ?

イーブイ・コンプリート

買い物中、ポケモンで、最初にエーフィを置いたら、だれか2人がプレッシャーをかける追加をしてきた。

{CAPTION}

ここまでくると、違うの置いたら明らかに”KY”と呼ばれるだろう。

{CAPTION}

そろそろ、他の色に占拠される心配がでてくる。

{CAPTION}

最後のシメは、買い物が終わったママがシャワーズを置いて完成。

{CAPTION}

ハンディ機間の電波到達距離

aprx を動かしてみたけど、車でビーコン実験してみて、軌跡が描けない。ハンディ機どうしだから、電波飛ばないからだろうな。

そこで、歩いてビーコンが取れるか歩いてみた。TH-D72 と、TH-D74 間だけど、室内のハンディアンテナだと、数百メートルが限界か。

改めて、室外アンテナ設置したいなぁ。

 

アマチュア無線: aprx を動かしてみた

知り合いより譲り受けた、TH-D72を活用したいということで、APRS の iGate 局を動かしてみた。

我が家は、ロケーション的に福井市にあるリピータにも、ハンディ機では接続できず、無線機の位置情報などをインターネットに伝えることができる APRS や、インターネットを経由した通話ができる D-STAR などを、あまり活用することが難しい。

aprx を動かす

そこで、TH-D72 を APRS の iGate 局として動かすために、aprx をインストール。

以下のように設定したけど、まずい所がないか要チェックだな。ひとまず、データ流しまくりでaprsインターネット側には、迷惑をかけていないはず。ハンディ機なので、どのあたりまで電波が飛んでいるのか、チェックしてみよう。

$ sudo aptitude install aprx
$ sudo vi /etc/aprx.conf
$ sudo systemctl enable aprx.service
$ sudo systemctl start aprx.service
# /etc/aprx.conf
mycall JR9PVZ-10
myloc  lat 3553.48N lon 13613.33E
<aprsis>
   passcode 22202
   server   rotate.aprs2.net
</aprsis>
<logging>
   pidfile /var/run/aprx.pid
   rflog   /var/log/aprx/aprx-rf.log
   aprxlog /var/log/aprx/aprx.log
   dprslog /var/log/aprx/dprs.log
</logging>
<interface>
   serial-device /dev/ttyUSB1 9600 8n1 KISS
   initstring  "HBAUD 9600\x0dKISS ON\x0dRESTART\x0d"
   alias       RELAY,WIDE,TRACE
   callsign    $mycall # callsign defaults to $mycall
   tx-ok       true # transmitter enable defaults to false
   telem-to-is false # set to 'false' to disable
</interface>
<beacon>
   beaconmode both
   cycle-size 60m
   beacon     symbol "I#" $myloc comment "Tx-iGate + Digipeater"
</beacon>
<digipeater>
   transmitter $mycall
   <source>
      source   $mycall
   </source>
</digipeater>

TH-D72の設定

[TNC]-[TNC] KISSモード
[メニュー]310 データバンド A-BAND
[メニュー]311 パケットスピード 9600 bps
無線周波数 144.640 MHz

MinGW gcc + Visual Studio Code でC言語

Visual Studio 2017は激重、BCC+Visual Studio Codeは、個人利用なら無償だけど、職場のシステムに入れるにはライセンスが微妙ということから、C言語環境には、MinGW (Minimalist GNU for Windows) の gcc を使ってみる。

MinGW gcc のインストール

MinGWのサイトから、インストーラー mingw-get-setup.exe をダウンロードする。

“Install” を選ぶと、インストーラが開始。保存先のディレクトリ名の入力になるけど、デフォルトの “C:\MinGW”をそのままで、”Continue”を選ぶ。

必要最小限のファイルのダウンロードが終わると、以下の画面となるので、さらに”Continue”。

Installation Manager が表示されたら、インストールする開発環境を選ぶ。C言語の基本的な勉強用であれば、以下の2つをチェックする。項目を選んで右ボタンを押して、プルダウンメニューから、Mark for Installation を選ぶ。

  • mingw32-base-bin
  • mingw32-gcc-g++-bin

あとは、左上の “Installation”から、”Apply Changes”を選ぶとインストールが始まるので、終わるまで待つ。

MinGWのPathを通す

プログラムを起動する場合、どのフォルダにあるのかを、環境変数 Path に登録しておく必要がある。

⚙ 設定を起動し、システム→バージョン情報を選ぶと、画面右側のスクロールダウンした先の関連設定の下のシステム情報をクリック。

以下のような、コントロールパネルのシステムの画面が表示されたら、画面左の”システムの詳細設定をクリック。

以下のようなシステムのプロパティが表示されたら、詳細設定のタブの”環境変数(N)…”をクリック。

環境変数の画面になったら、画面下側の”システム環境変数”の Path を選んで、”編集”をクリック。

“環境変数名の編集”の画面が出たら、右上の”新規”を選ぶと、変数名のPath一覧の最下部に、追加画面が表示されるので、MinGWをインストールした、場所の bin の場所を記載する。今回ならば、”C:\MinGW\bin” を加え、”OK”を押せば完成。

Visual Stuido Code のインストール

別資料でも記載したが、この後は、”Visual Studio Code”をインストール。Windows であれば、Code Runner は標準設定で MinGW の gcc を使うように設定されているので、普通にインストールすれば終わり。

Visual Studio Code のサイトに行って、OSが64bit版であれば、Windowsの “System Installer 64bit” 版をダウンロード。あとは、インストーラを起動して、標準構成でインストール。

インストールが終わったら、左中段下の”Marketplace”を押し、以下の3つのアドオンをインストールする。

  • Japanese Language Pack for Visual Studio Code 1.32.4
  • C/C++ 0.22.1
  • Code Runner 0.9.7

あとは、エディタ画面でC言語のプログラムを入力し、画面右上の▶ボタンを押せば、プログラムをコンパイル&実行ができる。

Visual Studio CodeでBorland C++を使う

先日、Visual Studio 2017 を入れたら、激重だったので、もっと軽い環境を試す。

embarcadero C++ compiler(旧borland C++)のインストール

軽量のコンパイラとして便利なのが、embarcadero C++ compiler。というより、年配の人であれば 旧borland C++ といった方が有名だろう。以前より無料で利用できるので、職場でも初心者プログラマーの簡単プログラミングであれば、BCC55を利用している。

最新のものを探すとBCC102として公開されているので、これをインストールする。

C++ Compiler のページから、”無料版のダウンロード”より、BCC102.zip を取得する。解凍して、コンパイラのフォルダを “C:\borland\BCC102” に移動する。コンパイラの実行プログラムが “C:\borland\BCC102\bin\bcc32x.exe” となること。

Visual Studio Code の設定

以下の図に示す、3つをインストールする。(Visual Studio Codeのインストールは他の資料参照)

  • Japanese Language Pack… 日本語環境
  • C/C++ 0.22.1 の編集機能
  • Code Runner 0.9.7 (今回のキモ)

Marketplace の検索画面で、Japanese とか C++ とか Code Runner とか入力すれば、候補に出てくるので右下の”インストール”ボタンを押せば、インストールされていく。

“ファイル→基本設定→設定” を開くと、以下のような画面になるので、検索画面で”code-runner”などと入力すれば、”Code Runner”の設定画面が出てくる。今回は、設定での入力が複数行になるので “settings.jsonで編集” をクリックすると、ユーザ情報の settings.json の編集画面になる。

ここで、settings.json に以下の内容を書き込んで保存する。(表示の都合で折り返しているけど、”cd…..exe”までは1行で)

{
    "code-runner.executorMap": {
        "html": "\"C:\\Program Files (x86)\\Google\\Chrome
                   \\Application\\chrome.exe\"",
        "java": "cd $dir && javac $fileName && java $fileNameWithoutExt",
        "c": "cd $dir
                 && c:\\borland\\BCC102\\bin\\bcc32x
                    $fileName -o $fileNameWithoutExt.exe
                 && $dir$fileNameWithoutExt.exe",
        "cpp": "cd $dir
                 && c:\\borland\\BCC102\\bin\\bcc32x
                    $fileName -o $fileNameWithoutExt.exe
                 && $dir$fileNameWithoutExt.exe"
    }
}

編集と実行

あとは、適当な C/C++ のソースコードを開いて、編集画面の右上の▶ボタンが、実行に割り当てられているので、これを押すだけでコンパイル&実行ができる。別画面にコンパイル状態の表示と、実行結果が表示される。

Postieでimap-ssl接続に失敗

職場のサーバでWordPressを動かす中、簡単な画像付きメールでのポストをするために、plugin の Postie を使っている。

状況確認

当初は、imap-ssl で動かしていたのだが、接続に失敗するようになった。

Postie (v 1.9.32)
getemails: There was an error connecting to the server 

メールサーバが、自宅メールサーバなので、FireWall 関連の設定のミスが考えられたが、nagios-plugins を入れて実験すると、以下のような結果なので、接続はできている。

$ /usr/lib/nagios/plugins/check_imap -p 993 -H xxxx -S
IMAP OK - 0.146 second response time on xxxx port 993 [* OK
  [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE
  IDLE LITERAL+ AUTH=PLAIN] Dovecot (Debian) ready.]
  |time=0.145649s;;;0.000000;10.000000

問題点

原因を確認ということで、syslog を確認すると、以下のように SSL のハンドシェークでエラーが出ている。

Mar 24 00:50:39 xxxx dovecot: imap-login: Disconnected
  (no auth attempts in 0 secs): user=<>, rip=xx.xx.xx.xx,
  lip=192.168.xx.xx, TLS handshaking: SSL_accept() failed:
  error:14094418:SSL routines:ssl3_read_bytes:tlsv1 alert
  unknown ca: SSL alert number 48, session=<xxxxxx>

暫定の解決法

しかたがないので、dovecot の ssl の設定を変更、TLSv1.2 になっていた部分を TLSv1 に修正

(( /etc/dovecot/conf.d/10-ssl.conf ))
- ssl_min_protocol = TLSv1.2
+ ssl_min_protocol = TLSv1

”TLS 1.0にはBEASTやPOODLEといった脆弱性があり、一定の条件下であれば暗号解読が可能であると言われています。”で、2018年6月30日以降は、TLSv1.0 は通常用途では勧められないとのことなので、多少心配ではあるけど…。

通常使っているメールソフトは、TLSv1.0 を使わないだろうし、実質このPostieだけの利用だろうし。

検索 🔎

  My Google     Yahoo

便利サイト