砂上の楼閣

会社の開発環境で、Windows 10のホストに、VirtualBox の Ubuntu 20.04のゲストの仮想マシンを動かして開発していた。

これが、3回に1回は起動せずにハングアップしたりして、極めて動作が不安定。

FirefoxはCPU使用率が300%を超えて応答しなかったり、突如ファイルシステムがread onlyになって書き込めなくなったりと、開発効率ダダ下がり。

わしは普段、家で Ubuntu 20.04を使ってるので、こんなに酷い現象なんかなった事無いし、Windows 10を使うより、ストレスフリーで快適に使えている。

あまりに酷いので、会社のマシンのWindowsのディスクユーティリティで、ディスクのWindows領域を半分に削って空きを作り、そこにUbuntu 22.04をインストールした。

要するに仮想マシンから実マシンへ開発環境を移行しようというのである。

で、その仮想マシンのイメージを実Ubuntu上へ持ってきて、設定ファイルを弄って VirtualBoxで起動させてみた所、すんなりサクサク動く。

Windows 10ホストのVirtualBoxって砂上の楼閣だったんだな。

どんなに安定性の高いOSでも、腐ってるWindows 10上では台無し。

過去にMicrosoftは、Exchangeサーバーで、Microsoft独自仕様以外のメールの通信で、Waitを入れて、わざと遅くして他人の足を引っ張る卑劣な真似をしていた。

なので、Windowsのハイパーバイザーが、仮想マシンのLinuxに遅延や障害を起こして、「Linuxは不安定」と思わせるネガティブキャンペーンをやってても不思議は無いと思ってる。

アナログ電話休止

洪水とか、非常時にアナログ電話回線というのは頼りになるので、ずーっと何十年も契約しているのだが、毎月基本料金しか支払ってないので、もうそろそろ見直すかと思っていた。

それに、アナログ回線網をIP電話化するという話があるので、今までは、停電だろうが電話線は独自に48V直流の電気が流れていて通話可能だったが、IP化で恐らく停電したらネットワーク設備も停電して使えなくなるだろうから、災害対策の側面も薄れた。

しかし、平日営業時間中に 113 に電話して、手続きするのマンドクセと思って、なかなか行動が起こせなかったが、検索すると、「利用休止|利用休止・一時中断・解約|各種お手続き|NTT西日本」というページを見つけた。

で、早速、Webから申し込めるのが分かって申し込んだが、便利な世の中になったものじゃて。

そして、光回線も見直そうと思ってWebを見ていたら、「IIJmioひかり 春の新規でみんな割引キャンペーン」で、mio割使ったら 5,456円ー660円=4,796円になるのが分かった。

フレッツ光はベースが 5,940円で、極悪割引の「ひかりもっと2」を使うと、8年目で最大、3,971円まで値段が下がる。

なぜ極悪割引かと言うと、こいつには解約金11,000円があり、3年契約途中で解約すると、「組から抜けるんだったら指詰めえや!」と罰金を取られてしまうシステムだから。

調べてみたら、丁度、今年の9月で辞めたら、解約金が発生しないんだな。

現状では、フレッツ光3,971円+プロバイダ1,000円=4,971円だから、IIJmioの方が175円安くなる。

iijmioで 5/31までに申し込んだ時のキャンペーン価格だと、18ヶ月3,300円だから、一時的に激安で利用できるけど、フレッツの割引契約切れるのが9月だし、無理だな。

mio光だと、PPPoEじゃなくてIPoE接続が使えるし、今、300Mbps出てる速度がもっと速くなる可能性もあるし、9月にまたキャンペーンやってたら考えよう。

Bluetooth ヘッドフォンでA2DPに切り替えられない。

Anker の Soundcore Life U2 で Ubuntu 20.04に接続したら、headset の HSP/HFP のプロファイルに強制設定されて、高音質の A2DP sink に切り替えられなくなった。

昔の Ubuntu 14.04 あたりだと、問題なく切り替えられてたのに、音関係は 20.04で、無茶苦茶退化した。

Bluetooth ヘッドセットが A2DP に切り替えられなくて困る
https://matoken.org/blog/2020/04/10/im-having-trouble-switching-my-bluetooth-headset-to-a2dp/

このページの設定通り、/etc/pulse/default.pa を編集して、
load-module module-bluetooth-policy auto_switch=false

とやったら、A2DP sink の出力になった。headset の HSP/HFP は怖いので試してない(笑)。まあ、Skype の時しか使わないし、仮に Skype でヘッドセット使えなくなっても別に困らないし(笑)

PCの管理者でも消せないゴミファイルを消す。

会社のPCで、CrystalDiskInfo でディスクに「代替処理保留中のセクタ数」が急激に増加し始めたので、ssd にディスクコピーして、環境移行した。

Microsoft は頭が腐ってるので、ハードディスクに S.M.A.R.T という診断機能があるのに、それを使用者には絶対に教えてくれない。

その為、CrystalDiskInfoというツールは大変ありがたいのである。

目安としては、「代替処理保留中のセクタ数」が増える兆候が出て、CrystalDiskInfoで「注意」と出たら、大体、1ヶ月〜半年以内にディスクがぶっ壊れると思った方がいい。

壊れるまでの期間は、使用環境の温度によりけりだが、暑ければ暑いほど、早く壊れるから、「注意」とか出たら、可及的速やかに新しいディスクを調達して、環境移行を進めたいものである。

ディスクの異常と言えば、過去に Windows Home Server という製品を Microsoft は出していたが、これがユーザーにディスク異常を知らせないどころか、隠そうとするクソな製品だった。

先に挙げたようなディスクの異常があると、異常のある部分を避けて、ユーザーにディスクの異常を知らせないようにして、「異常を感じずに使う事ができる」と鼻高々。

ただ、前述の通り、S.M.A.R.T で異常が出たら、1ヶ月〜半年位で、ディスクはぶっ壊れて全く読み出せなくなる。

異常をできるだけ早く検知して、新しいディスクに移行する事が重要なのだが、Microsoft は、「バカなユーザーはそんな事知らなくていい」という立場なので、気づいた時には、重要なデータを喪失してしまってるという状態。

こういう「自分は賢い」と言いながら、バカな事をするから、Microsoftは嫌いなんだな。

話は逸れたが、会社のPCは、CrystalDiskInfoの「注意」が出てすぐに移行したのに、ユーザープロファイルがぶっ壊れてたので、結局、移行後に設定の「回復」で、「このPCを初期状態に戻す」とやって、ユーザー情報を初期化した。

で、複製した ssd に found.000 〜 found.008 のディレクトリがあり、そいつが管理者権限でも消せない。

Microsoft はユーザーが愚か者だと思っているので、UNIX系なら、管理者権限で全ての事が行えるが、Microsoft は管理者の上に SYSTEM や TrustedInstaller などという Microsoft の代理人という権限があり、「バカなユーザー」が勝手な事をできないようにしている。

ただ、Microsoft はユーザーよりもバカなので、ディスクにゴミファイルを残して放置するという事をやらかしてくれる。こうなると余程の Windowsフリークにしか手が出せなくなってしまう。

そこで、次のページが大変役に立った。

Windows10で、管理者なのに削除できないフォルダを削除する

この作者が Windowsフリークかどうかは知らないけど、この様な「誰がそんな事知ってんねん!?」という技術を駆使しないとマヌケな Microsoft を出し抜く事ができない。

Windows 終わってんな。

非対応Windows 10のWindows 11へのアップグレード

Windows 11へアップグレードした。

手順は、次の通り

  1. Microsoftのサイトから、ISOをダウンロード
  2. ダブルクリックして、中身をデスクトップへコピー
  3. コピーしたWin11の中身をエクスプローラーで appraiserres.dll を検索して削除
  4. setup.exe を実行
  5. 「セットアップでの更新プログラムのダウンロード方法の変更」→「今は実行しない」

mac のパクリやんけ。

ついつい癖で画面左下へマウスを持って行って、ニュースとかの画面を出してしまうし、よく使用するタスクマネージャがタスクバー右クリックで呼び出せないし、結構慣れが必要。

Windows 11のTPM2.0必須ってのは、Professional でBitLockerのディスク暗号化を使っていた場合に効果があるとの事。

Windows がディスク不良でクラッシュした時に、暗号化されていると、ディスクを復旧する難易度が上がるので、わしは普段からディスク暗号化はしていないし、今回アップグレードしたのはHomeだから、そもそも関係無い。

非対応環境だし、アップグレードは自己責任でね。 🙂

【Raspberry Pi3】ACケーブル交換

昨日注文したヤツが今日届いた。デリバリープロバイダーだけど、隣町の運送業者で、関東だと配達が酷いそうだが、こちらは結構迅速に届けてくれる。

交換前は、電圧低下検出→電圧正常化→電圧低下検出→電圧正常化……の繰り返しだった。

5V3Aのケーブルに交換後は出なくなった。

今まで使ってたのって、Raspberry Pi3 買った時にセットで買ったもので、株式会社ケイエスワイのもので、5V2.5A とそんなに悪く無いのだけれど、0.5A違うと駄目なんだな。

多分、接続している Webカメラが電力を食うのだろう。というか、それしか外部部品は付けてないから、それしかない(笑)。

【作業記録】監視カメラのRaspberry Pi3を自動更新&再起動

わしの Raspberry Pi3 は Raspbian GNU/Linux 9 (stretch)なので、自動更新にはなってないから、unattended-upgrades のパッケージをインストール。

needrestart パッケージが提案パッケージになっとるけど、要るのかなあ?

後は次の記事を参考に設定。

【作業記録】自動更新&再起動設定

防犯監視カメラだから、深夜に再起動するのはマズいので、昼間に再起動するようにした。

まあ、Raspberry Pi3 だと、数秒で復帰するから、特に問題は無いだろう。

そして、apt-cron をアンインストール

 

【作業記録】自動更新&再起動設定

cron-apt 使ってて、更新はメールで通知してくれるが、再起動は必要に応じて自分でやらないといけないのがマンドクセと思っていた。

そして自動で再起動する方法ねーかな?と探してみた所、次のページをハケーン。

https://unluckysystems.com/ubuntu-20-04-lts%e3%81%ae%e8%87%aa%e5%8b%95%e3%82%a2%e3%83%83%e3%83%97%e3%83%87%e3%83%bc%e3%83%88%e3%81%a8%e3%80%81%e8%87%aa%e5%8b%95%e5%86%8d%e8%b5%b7%e5%8b%95%e3%82%92%e8%a8%ad%e5%ae%9a%e3%81%97/

Ubuntu 20.04 LTSから、自動でアップデートするようになってたのか。cron-apt要らねーじゃん。知らんかった(笑)

再起動するのを有効化して、午前2時だと、まだ起きてる可能性があるので、午前3時に設定。

そして cron-apt を削除。
これで、Kagoya VPS は放置してても、常に最新状態に保たれる訳だな。

昔、KDDIの回線引いて、固定IPアドレス8個貰って、家でサーバー運用……とはいえ、VAIOのノートPCにKondara MNU/Linux 入れて自分のウェブサイトを公開していた。

ノートPCをサーバーにしたら、UPS要らず。
そう思っていた時期が僕にもありました。

移動の際に電源引っこ抜いたら、即座にブチンと画面暗転。

2〜3回しか充電してないL型バッテリが、24時間運用で、1年間電源に繋いでいたら、お亡くなりになっていた。

ノートPCはUPS要らずのサーバーにはならない。それが教訓。

デジタルファクトリが潰れて、OSが更新されなくなって、クラッキングを受けて、X Serverにサイトを移し替えた。

当時、OSのシステムメンテナンスは非常に面倒臭く、自分でセキュリティ情報を集めて、必要とあれば、自分でゴリゴリカーネル再構築とかやってた時代だったので、クラックされるようではアカンと思い、業者に丸投げ(^^;

今はそれも OS がやってくれるので、便利な時代になったものじゃて。

【作業記録】Ubuntu 20.04 LTSに livepatch

家のマシンで、Ubuntu 20.04LTSを入れた時、livepatch という、再起動しなくてもセキュリティホールにpatch当ててくれる canonical社のサービスを設定するよう促されたので、入れたのだが、よく分かってなかった。

どうやら、カーネルにパッチを当てるんだけど、カーネルパッケージの更新はしてくれないようなので、サーバーとか、再起動を頻繁にできないマシンに対するサービスのようで、会社に行ってる間に電源を落とす個人PCには不要なものだと分かった。

で、このライセンスが個人なら 3台まで使えるとの事で、24時間運用の Kagoya VPSのUbuntu 20.04に導入しようと思ったので、その作業記録(長い前置きだ(^^;)。

https://ubuntu.com/security/livepatch

の下の方にあるやり方でやる。トークンは、ログインして、右上の自分の名前をクリックすると、UA subscriptions ってページを開くと出てくる。

Webで検索して出てくる例だと、snap で canonical-livepatch をインストールするって書かれてるんだが、試しても「そんなの無え!」と言われて困ってたが、ua attach [TOKEN]で snapd と共にインストールしてくれた模様。

ハッ!? もしかして、snap のインストールって、 snapd入れないとできないってオチか orz

ua attach [TOKEN] 実行した時に既に、livepatch yes enable ってなってるから、 ua enable livepatch 必要無いかもしれん。

今の所、patch は無いけど、結局の所、頻繁に再起動しても問題無いなら、不要なサービスだなあ。

【作業記録】fail2ban 再犯長期jail

fail2ban で ssh 不正ログインを試みる輩を接続拒否する運用をしているが、現状こんな感じ。

3日間で、4回失敗で1週間アク禁。
11/1くらいから、241件アク禁にして、現在90件アク禁中。
151件を釈放。

ログを見てると、18時間間隔で 2回試行するとか、明らかに fail2ban を避けるパターンのやつがいるんだな。

ふと、再犯してるのどれだけだろう? と疑問に思い、調べると、再犯者を長期アク禁にできるとの事で、早速設定変更。

次のコマンドを実行

次の設定を追加

fail2ban.logを調べて、再犯者は2週間以内に1回のログイン失敗でアウト、懲役1年(笑)

【追記 2681/11/20】
maxretry = 1 だと、fail2ban.log で、Ban 1回で作動してしまうので、 2 に変更した。
【/追記 2681/11/20】

その条件でも、33件該当。
1週間アクセス不能だったとしても、スクリプトでやり続けてんだろうなあ。