b-shock. Fortress

フィードエントリーをトゥートするツール。

このツールの初回コミット、記録をみる限りは10/27。
とっくに運用始めてたのに、2ヶ月弱経ってようやくの公開である。

タイトルの通り、RSS/Atomフィードの新着エントリーをMastodonにトゥートする ツール。同種のツールが見つけられなかったら、自作した。

Ruby 2.4(たぶん2.3でも可)が入ってるUNIX系OSを対象とする。
Windowsでも動く可能性が高いけど、正直知ったこっちゃないのでそのつもりで。 (Win環境への設置に関する質問には答える気ないです)

GitHub

tomato-toot

設置手順などは、リポジトリのページを参照。

なぜトマトなのか?
深い意味は全くないので、追求するのはやめて頂きたいw

「これを裏技と呼ぼう」

READMEに書いてない機能がひとつある。
ドキュメント書いてて力尽きたw 利用頻度も低いし、まぁ説明しなくてもいいだろと。 (おれ自身も結局使ってないし)
興味あるひとはソースでも読んでください。

免責

個人の管理者が多いMastodonでは、流量の多いBOTが迷惑行為となる可能性があることに 注意したい。
インスタンスによっては、規約でBOTを禁じている可能性もありうる。 明確にOKと謳っているのでなければ、管理者が個人である場合は特に、ひとこと断って ほしいと思う。

自己責任での利用をお願いしたい。
おれは、このツールを使った上でのトラブルに責任をとるつもりはないので。

Mastodon 2.1、及びカスタムテーマの更新

Mastodon 2.1.0が 今朝リリースされたので、早速導入した。新機能等に関してはリンク先を見て頂くとして。

Mastodon自体の更新の手順はいつも通りで問題ないので割愛。1点除いて、特にひっかかった点も なかった。
その1点とは、2.0の新機能だったカスタムテーマだ。2.0のカスタムテーマは2.1と互換性がない ケースがある。
カスタムテーマのエラーを放置すると、更新の手順の最後に行われる rake assets:precompile を終了させることができず、Mastodon自体の更新も完了しない。

エラーが出ている場合に、手っ取り早くMastodonの更新だけを行いたい場合

以下のいずれかの手順を行った後に、通常通り rake assets:precompile を実行。

カスタムテーマを無効にする

config/themes.ymlにカスタムテーマを登録しているはずと思うが、追記分をコメントアウトし、 defaultテーマ(設定画面上では、サイトテーマ「Mastodon」に該当)だけを残す。

variables.scssに$cjk-langsを追記

defaultテーマの配色だけを変更したテーマの場合、テーマのファイル構成は踏襲している だろうから、defaultテーマ同様にvariables.scssが存在するはずと思う。

variables.scssに$cjk-langsが存在しない場合は、 rake assets:precompile 時に以下の エラーが発生する為、

最終行にでも $cjk-langs: ja, ko, zh-CN, zh-HK, zh-TW; と追記する必要がある。 2.0のvariables.scssからコピーしている場合、この記述がないはず。

簡単なカスタムテーマを作成する手順

話のついでなので、おれがやってる手順のまとめ。

config/theme.yml に追記

defaultはもとからあるテーマ。その下にdefaultテーマをまねて追記。
以下、 bshock がテーマの名前であるとして。

ルートのscssファイルを作成

1
2
cd app/javascript/styles
cp applications.scss bshock.scss

Mastodon 2.1では、bshock.scssは以下の様な内容。

defaultテーマから、2行目だけを書き換えている。もともと2行目には mastodon/variables と書かれていたが、 bshock/variables と書き換えた。
配色以外の要素はデフォルトのままで良いなら、variables.scss以外のファイルはオリジナル のファイルをそのまま参照すれば良いと思う。(もっとも、本来この手順が適切とは思うのだけど、 今回2.1への更新では裏目に出てしまった)

variables.scssを修正

variables.scssをdefaultテーマからコピー。

1
2
mkdir bshock
vi bshock/variables.scss

bshock/variables.scssは、以下の様な内容。

上記は実際には、defaultテーマから // Values from the classic Mastodon UI (9行目) 以下にある4つの変数だけを書き換えたもの。

$classicから始まる4つの変数は、カスタムテーマが実装された2.0よりずっと前から あったものみたい。
$classic-base-color などでググれば、1.6以前の記事でも参考にできる配色があると 思われるので、ありがたく拝借すればよいだろう。
配色のことは、デザインセンスのないおれに聞かないで頂きたいw

全て終わったら、エラーがないことを神に祈りつつ、いつもの rake assets:precompile を実行し 再起動。(もっと速い手順がありそうとも思うが、念の為おれはこの手順でやってる) うまくいけば、各ユーザーはデフォルトのMastodonテーマと別に、bshockテーマも選べる様に なるはず。
うまくいかなかったら…確か、PostgreSQLのsettingsテーブルを開いて、theme値をごちゃごちゃ やる必要があったはず。そうはならない様、各位の健闘を祈るw

次回予告

先日、自宅鯖にMastodonインスタンスを引っ越した。
この時メモした作業手順を踏まえ、FreeBSDでの構築手順を書く予定。
FreeBSDでMastodonなんて地雷じゃね?などと言う人もいるだろうが、地雷ばかりじゃない。 ZFSイイ!以上。

Ubuntu Server 16.04 LTSにOracle 11g XEを入れてみる。

↓主に参考にした記事はこれ。(ありがとうございます)

Ubuntu 16.04 へ Oracle 11g Express Edition を入れてみた

同じUbuntu 16.04LTSであるにも関わらず、当方の環境では微修正が必要だった。 こちらではVMware Fusion(Mac)とKVM(Xubuntu)で試したけど、あんまり関係ないよね。謎だ。

本稿は一見、元記事と変わらないけど(記事の名前もよく似てるしw)、修正後の手順と その後の後処理を反映させてる。パクリっぽいけど、一応違うからw

依存パッケージのインストール(元記事を微妙に修正)

1
sudo apt install alien libaio1 unixodbc unzip bc

bcは、元記事の指示にはなかったもの。
まっさらなUbuntu Serverには入ってないが、実際には必要。

debパッケージの生成

Oracle Database Express Edition 11g Release 2

Linux x64版をダウンロード。Oracleのアカウント(無料)が必要なので、持ってなければ作ること。
ダウンロードしたファイルを設置先サーバに置いて、以下実行。

1
2
3
unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip
cd Disk1/
sudo alien --to-deb --scripts oracle-xe-11.2.0-1.0.x86_64.rpm

alienの実行には、かなり時間かかります。

debをバラす(元記事を微妙に修正)

1
2
3
4
mkdir tmp_deb
cp oracle-xe_11.2.0-2_amd64.deb tmp_deb #rpmから変換したdeb
cd tmp_deb
ar x ./oracle-xe_11.2.0-2_amd64.deb

このdebに入っているのは、以下の3つ。

  1. control.tar.gz
  2. data.tar.xz
  3. debian-binary

ファイル 1. と 2. は、内容を修正する必要あり。

data.tar.xzをバラして修正

1
2
3
4
mkdir tmp_data
cd tmp_data
tar axvf ../data.tar.xz .
vi ./etc/init.d/oraccle-xe

awkのパス(53行目)を、 /usr/bin/awk に修正。

1
if [ -z "$AWK" ]; then AWK=/usr/bin/awk; fi

/var/lock/subsys/ を /var/lock/ に置き換え。

1
:%s/subsys\///gc

シェバン(1行目)の下に、以下挿入。

1
2
3
4
5
6
7
8
### BEGIN INIT INFO
# Provides: OracleXE
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Oracle 11g Express Edition
### END INIT INFO

control.tar.gzをバラして修正

1
2
3
4
5
cd ..
mkdir tmp_control
cd tmp_control
tar axvf ../ccontrol.tar.gz .
vi ./postinst

update-rc.dへ書き換え。(114行目)

1
update-rc.d oracle-xe defaults 80 01

debファイルに戻してインストール(元記事を微妙に修正)

1
2
3
4
5
6
7
8
9
10
11
cd ..
rm data.tar.xz
rm control.tar.gz
cd tmp_control
tar acvf ../control.tar.gz ./
cd ../tmp_data
tar acvf ../data.tar.gz ./
cd ..
ar d ./oracle-xe_11.2.0-2_amd64.deb data.tar.xz
ar r ./oracle-xe_11.2.0-2_amd64.deb data.tar.gz control.tar.gz
sudo dpkg -i oracle-xe_11.2.0-2_amd64.deb

インストール(dpkgコマンド)もかなり時間かかります。

インストールスクリプトを修正(元記事にない手順)

以下のファイルについて、要修正。

  1. /u01/app/oracle/product/11.2.0/xe/dbs/init.ora
  2. /u01/app/oracle/product/11.2.0/xe/config/scripts/init.ora
  3. /u01/app/oracle/product/11.2.0/xe/config/scripts/initXETemp.ora

これらのファイルについて、 memory_target= から始まる行をコメントアウトする必要あり。
“=” の後ろに値が入っていないケースがあり(MacのFusionではそうだった)、その場合は インストールスクリプト実行時にシンタックスエラーになる為、 memory_target=1G 等と 修正せよと案内している記事もある。

ウチでは結局、行自体をコメントアウトする必要があった。(その旨を案内するログメッセージ も出てた)
ファイル 1. への修正は不要だったかもしれない。ちょっと自信ない。

インストールスクリプトを実行

1
sudo /etc/init.d/oracle-xe configure

最後にパスワードを聞かれるはずなので、入力したものを控えておく。
事前に無作為なパスワードを、apg等で用意しておくこと。

環境変数の設定

環境変数の設定を行う為に、 /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh を実行する 必要がある。~/.profile 等に、このファイルを実行するよう追記。
シェルごとに手順が若干異なるので、各自お好みのシェルの手順で対応して頂きたい。

接続テスト

1
sqlplus

ユーザー名は system 、パスワードは先ほど控えたもの。
ここまでで設置の手順は終わり、元記事もここで終わっているが。

ユーザー作成(元記事にない手順)

このあとの手順はOracle使いには自明のことの様だけど、自分への備忘録を兼ねて。

デフォルトで作成されるsystemユーザーは、SYSTEM表領域を使用する等、通常の利用に適さない。
たとえ普段からDBA権限が必要であっても、systemではないユーザーを登録して普段はそちらを使うべき。

1
2
3
CREATE USER your_id IDENTIFIED BY "your_password" DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp;
GRANT DBA TO your_id;
GRANT UNLIMITED TABLESPACE TO your_id;

下2行、ほんとに実行するかどうかは用途によるだろうけど、テスト環境なら問題ないはず。
以下のクエリーで、登録状況を確認。

1
SELECT username, default_tablespace, temporary_tablespace FROM dba_users;

Oracleインスタンスを立てた目的

少々訳あって、Oracle Master Bronzeが必要になった。
「なんだブロンズかよ、しょぼ!」とか言うなw 以上。

Mastodonインスタンスのメモリが湯水のように使える様になれ。

状況

mstdn.b-shock.orgのメモリがひっ迫し、ピンチなのである。 以下、Sensuによるスワップ容量の監視状況。

平常時のswapinfoはこんな感じ。

1
2
Device          1K-blocks     Used    Avail Capacity
/dev/vtbd0p3 1572864 798660 774204 51%

平常時で既にスワップしてて、しかも使用量が50%を越えているのは感心しないが、 それはそれとして。Mastodon本体にチューンの余地はあると思うが(スレッド減らしたりとか)。
調査したところ、一番メモリを食っているのは1時間ごとに実行しているpg_dumpらしい。 ちなみに、gzipする前のダンプファイルの大きさは以下の様な具合。383MBとのこと。

1
-rw-------   1 root   pooza   383M 12月  9 13:51 mastodon_2017-12-09.sql

スワップ容量をデフォルトのまま少なく設定してしまった(1.5GBほど)ことに まずは問題があり、運用を始めてしまってからでも出来る対策として スワップファイルの作成を試みた。
この対策は一見うまくいったかに見えたが、スワップファイルからの読み込みがスワップパーティション より遅い為に?VPSではエラーが発生して使い物にならなかった。

ちなみに、スワップを使い切っていよいよヤバいと、カーネルがこんなログを吐く。

1
2
3
2017-12-08T23:14:50.615180+09:00 dodok kernel: swap_pager: out of swap space
2017-12-08T23:14:50.615724+09:00 dodok kernel: swap_pager_getswapspace(6): failed
2017-12-08T23:14:50.816012+09:00 dodok kernel: swap_pager_getswapspace(2): failed

このログが出るとdmesgにも同様の出力がされるので、監視の対象になってる。
アラートが発生したら、出先からでもMastdonインスタンスのVPSをリブートしてる。 カジュアルにリブートができるのは、おひとりさまインスタンスだからだが。

対策

  1. スワップ領域を大きく取る為、OSのインストールから構築をやり直す。
  2. VPSのプラン変更。(1G→2G or 4G)
  3. 自宅鯖への撤退。

通常であれば1.か2.(又はその両方)が妥当だが、現在1Gのプランを2Gに上げたところで やはり将来不足する様に思われた。一方、物理PCなら、メモリ8GB程度ものでも非常に安価に 入手できる。
以前、自宅鯖をインターネットに晒すのは極力よそうと思い立ち、その後は大半のサービスを VPS化した。現在は、やむを得ない理由でsshを開けているだけ。(自宅のIPアドレスは 固定している 。たとえサーバを立てるわけでなくても、業務上必要なので)

自宅鯖にWebサービスを立てるのは、個人的な感情では「撤退」だ。
上で述べたような自宅鯖自体の是非もそうだし、また、おれ自身は「少しでも腕におぼえがあれば誰でも、 月額1,000〜2,000円程度の出費でMastodonインスタンスを立てられるんだから、もっとカジュアルに インスタンスを立てよう!」という立場だった。
月額2,000円を超えるVPS(又は自宅鯖)という条件は、気軽にお勧めできるラインを越えていると 感じる。

気を取り直して、今回買ったのはこれ。

DELL OptiPlex 7010 中古

届いたら、今回は記録をとりながら構築していく予定。既に多くの手順をChef化しているので、 手作業は多くないはずと思ってるが。
世にあまり出回っていない、FreeBSDでの構築記事が書けるのではないかと、そこは期待してる。

PowerDNS Recursorの導入

経緯

FreeBSDのpkgngに、PowerDNS 4.1の更新が来た。
いつもどおりChefレシピを走らせて更新したら、どうやら動かなくなってしまっていた様だ。 こんなログを吐いていた。

1
2017-12-05T06:38:11.652799+09:00 dev3 pdns[50216]: Fatal error: Trying to set unknown parameter 'recursor'

従来のPowerDNSにはフォワードの機能があり、pdns.confに recursor=8.8.8.8 なんて 書いておけば、自分自身が知らないゾーンのクエリーをGoogleに丸投げすることができた。
設計思想上これはアリなのか?と思わないこともなかったが、コンテンツサーバとキャッシュサーバの いいとこどりで、LAN向けのネームサーバで使う分には悪くないと思って使ってたのだが。

ログをすぐみてわかった。ああ、recursor機能が使えなくなったのだなと。 公式にはご丁寧にも、こんなドキュメントまで用意されていた。

Migrating from using recursion on the Authoritative Server to using a Recursor

セキュリティ上、この仕様変更が必要だったことは理解するけど、メジャーバージョンアップでも ないところにこんな影響範囲が大きな修正、普通入れるか?ちょっとアレだなぁと思ったよ。

愚痴は程々にして、上記ドキュメントで案内している通り、仕方なくPowerDNS Recursorを導入する ことにした。
ウチの構成だとLAN内と開発環境に各1、都合ふたつのキャッシュサーバが必要。 開発環境向けのものをFreeBSDに、LAN向けのものをUbuntu Server(先日構築した録画サーバと同居) に構築していく。

Ubuntu Serverに導入

53/udpが競合する為、事前にsystemd-resolvedとかいうへんなのを止める必要あり。

1
2
sudo systemctl disable systemd-resolved
sudo service systemd-resolved stop

止めたらRecursorをインストール。

1
2
sudo apt install pdns-recursor
sudo systemctl enable pdns-recursor

systemctlを叩いたら怒られたので(以下)、

1
2
Synchronizing state of pdns-recursor.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable pdns-recursor

指示通り以下を実行。

1
sudo /lib/systemd/systemd-sysv-install enable pdns-recursor

/etc/powerdns/recursor.confはこんな感じにした。

  • local-addressを0.0.0.0に設定しないと、ローカル(127.0.0.1)からしか接続できない。
  • allow-fromは見ての通り。これを指定しないと、ローカルアドレス全てを許可してしまう。
  • forward-zonesは、ゾーンとコンテンツサーバの関係を記述。

キャッシュサーバと、LANのゾーン情報を!レッツらまぜまぜ!って感じです。
recursor.confを書き換えたら、Recursorを再起動。できあがり!

1
sudo service pdns-recursor restart

FreeBSDに導入

引き続き同様に、Mac内にあるFreeBSDの仮想環境にRecursorを導入する。
MacのホストOS、全てのゲストOSがこのキャッシュサーバを参照して名前解決を行い、 外出中でも開発環境上での作業を円滑に進められるようにする。
さきほどUbuntuに導入したものと構成は似ており、開発環境のゾーン情報を持ったPowerDNSの コンテンツサーバをRecursorでラップし、外の名前解決も可能とする構成。

まず、既存の/usr/local/etc/pdns/pdns.confを修正する。

注目すべきはlocal-addressとlocal-port。
local-addressはともかく、53/udpがこの後インストールするRecursorと競合する為、 ポートをずらす対応は必須。ここでは10053にしている。
設定したらPowerDNSを再起動。

1
2
su
service pdns restart

ここまでお膳立てを整えたら、早速Recursorをインストールする。

1
2
3
su
pkg install powerdns-recursor
sysrc pdns_recursor_enable="YES"

先ほどと同様、/usr/local/etc/pdns/recursor.confを作成。

  • さきほどのLAN(192.168.100.1/24)に加え、開発環境(192.168.101.0/24)からのアクセスも許可。
  • LANのゾーン情報に加え、開発環境のゾーン情報も追加。

複数のフォワードを行うときは、この様にカンマで区切ることが出来る。
また、先ほどのPowerDNSのポートを10053にずらしたが、この場合は :10053 と書き加えて ポートを明示的に指定する。
以前は、このフォワードに相当する機能を実現する為にゾーン転送を行っていたが、今後は この様な大仰な対応は不要。関連する設定を削除している。この点ではシンプルになった。

キャシュサーバと!LANのゾーン情報と!開発環境のゾーン情報を!レッツらまぜまぜ! (もういい)

iTunesのNow Playing情報をクリップボードに納める。

スクリプトエディタを開いて、こいつ↓をアプリケーションとして保存。
ダブルクリックで実行!

てきとうに改造して使って頂けばよいと思う。

当然ながら、Macにしか対応しません。
WindowsのiTunesって色々問題あると聞いてて、母艦が不要になったいまのiOSでは 使ってる人あんまりいないんじゃないかな。

ほんとは、こいつをトゥートするところまでやりたかったけど、AppleScriptでBOTを 書く手順を調べるのがダルすぎた。
クリップボードに納めるところまでで手を止めたおかげで、Twitterにも使えると思います。 Twitterのことなど正直どうでもいいいが。

以上、めちゃ久々にAppleScriptを書いた話。
実は、High SierraにまだAppleScriptサポートがあったことにびっくりしたw

Chinachu 録画の開始と終了をSlackに通知する。

Chinachu

Chinachuを中心とした録画環境を 構築した。
どうにか構築はできたが、ハードウェア含め検討が必要な構成要素が多く、 それほど簡単ではなかったという感想。まぁ、これが出来ないようであれば、 一応技術職であるおれの沽券に関わる話ではあるのだが。
障害等を自力で解決する意志のない人にはお勧めできないが、構築ができれば 非常に快適な環境である。 多分近々、ウチのnasneとテレビは要らなくなると思うw

ググれば、構築に関する記事はたくさんある。
キャプチャカードの選択によっても構築手順が異なる為、「この記事だけを読めばOK」 といった、網羅的な神記事は存在しないと思われるけど。
本稿の目的はこれを解説することではないので、自力でどうにかして頂きたい。 正直、説明できるほど構築手順が理解できてないのである。

Slackに通知せよ

録画サーバとは無関係だけど、最近日本語化されたというSlackを始めてみた。 周回遅れも甚だしいが、ほっといて頂きたいw
自営業でずっとぼっちだったし、チャットで会話するような顧客もなし、 知ってはいたが必要な状況ではなかったのである。

各種通知の窓口としてのニーズもある様なので、それならば役に立つなと始めてみた次第。
始めたら用途はぼっちにも意外とあるもので、SensuやGitHubの連携は重宝している。 これらに加え、今回、録画の開始と終了に対応させてみる。

onionbot

これが、ChinachuのイベントをSlackに通知するBOTツールの名前である。
小粋な名前が考えられなくて、最近作ってるツールは野菜つながりで命名してる。 当然ながらonionに深い意味は全くない。詮索しないで頂きたい。

導入手順などは、GitHubを参照。

こんな感じで動作する。

考察:SlackのWebフックについて

見て頂ければわかるが、SlackのWebフックにPOSTするお手軽 仕様。 Webフックの作り方は簡単なので、ググって頂けばよいとして。
あまりにもお手軽なのである。フックURLがあるだけで通知し放題(公式の動作確認も、 なんとcurlのワンライナーで行う手順)、故にURLは秘密にせよとのこと。

セキュリティ上問題はないのか?
個人的な意見ではないと考える。URLを教えてはいけないことと、トークンを 教えてはいけないことに、セキュリティ上本質的な違いはないはず。

あ、設置の手順に書き忘れたけど、設定ファイルは600にしておいてくださいね。

XubuntuでHeidiSQL

Windows用、各種RDBのGUIクライアントである HeidiSQL を利用して、XubuntuからMySQLに接続してみた。

インストール

Wineが入っている環境なら、単にインストーラのファイルをダブルクリックするだけ。 レジストリの調整等、一切不要だった。
インストールされたアプリ(.exe)も修正なしで普通に動作し、簡単すぎて拍子抜け。

SSHトンネルの構築

HeidiSQLには、大抵のMySQLクライアントにある「SSH経由で接続する機能」がない。
3306/tcp を豪快にオープンする運用は実際にはありえないので、SSHトンネル (ポートフォワード)の手段を別途調達する。

2017/11/14追記
SSHトンネルでMySQLに接続する機能、ありました…。
但し、PuTTYが必要な様なので、Wine環境ではやめといたほうがいい。

gSTMなるツールを導入するために、以下実行。

1
sudo apt install gstm

早速 、以下のような設定を作成。

HeidiSQLの設定

以下、作成したトンネルに接続する設定の例。

なんか下の方にあるボタンが黒いのは、気にしないでw
左側は新しい「セッション」を登録する為のボタン、右側はなんか色々メニューが 出てくるボタン。

UbuntuむけのGUIクライアントをいくつか試したけど、結局これが一番使いやすかったです。

FreeBSDでWi-Fiをセットアップ

GPD Pocketを入手する前は、Xubuntu端末としてThinkPad X121eを使ってた。 BTOにてSSD、USキーボードへの変更等を行ったもの。
ThinkPadがレノボブランドになってからのもので、一部で評判が悪いようだったがw、 おれは気に入ってて愛用してた。その悪評も大体はWindowsで利用する ことを前提にした話で、おれには無関係だったから。

Xubuntu端末としての役割はGPD Pocketの導入によって終わった為、今後は 趣味の端末としての余生を送らせることにした。
用途としてチョイスしたのは、今までちゃんと使ったことがないFreeBSDデスクトップ。 FreeBSDの利用歴は2.x〜3.xの頃からとそこそこ長いのだけど(その割にはイマイチ 使いこなせてないヘタレだけど)、デスクトップ用途で利用したことはほぼない。 かろうじて、仮想環境にPC-BSD(現TrueOS)を入れたことがあるぐらい。

FreeBSDをサーバ以外の用途で使うことなど恐らく今後もないと思われたが、 そろそろFreeBSDとの付き合いも長いし、ここらでデスクトップを経験しておくのも よいのではないかと思い立った。

無線LANアダプタ

FreeBSD 11.1-RELEASEをセットアップしたが、内蔵の無線LANアダプタは認識できなかった。 ドライバは探せばあるのかもしれないが、とりあえず手元にあった 3つを順番に 挿して、認識するかどうかを確認した。

Logitec USB LAN-W300N/U2 がビンゴ。挿したあと、コンソールにいい感じの文字列が出力された。 デバイスとしては、 re0 という認識らしい。

思えばこのアダプタ、自宅鯖をWi-Fiルータ化する為に買ったもの。
この用途で1週間ぐらい利用していたが、その後お蔵入りになったという経緯あり。

/etc/rc.conf

早速設定していく。以下追記。

1
2
wlans_re0="wlan0"
ifconfig_wlan0="country J5 WPA DHCP"

country J5 はなくても動くような記述もあったが、書いたほうが良さそうと 思った。

/etc/wpa_supplicant.conf

まっさらなFreeBSDにはないファイルなので、新規作成。

1
2
3
4
5
6
network={
key_mgmt=WPA-PSK
proto=WPA2
ssid="XXXXXXXX"
psk="XXXXXXXX"
}

ssidとpskだけで動くような記述もあったが、一応明示的に記述した。
そうそう。このファイル、PSKとか書いてあるし、パーミッションは640か600に したほうがいいと思う。

リブート後 ifconfig -a 等を実行して、認識してることを確認。
今日はここまで。このあと、このThinkPadにデスクトップ環境を構築していく予定。