カテゴリー: 技術系

  • Windows11 21H2から22H2にアップデートしたPCの有線LANの挙動が変。

    新しくセットアップしているWindows11モデルのLet’sNote SV1(CF-SV1RDLAS)で、セットアップ中にLANが認識しなくなる不具合が多発しているので、いろいろと切り分けを行ったので、そのメモ。

    発生しているのは、初期がWindows11 ver.21H2を、Windows UpdateでWindows11 ver. 22H2 にアップデートしたPCだ。Windows Updateは、12月6日時点での最新まで適用済み。

    変な挙動

    • Windows11の初期設定後、ver.22H2にした後に、時間が少したつと有線LAN接続が「インターネットなし」になる。
    • 有線LAN接続が「インターネットなし」になった後は、OSの再起動を行わないと繋がらない。
    • ipconfig /renew を行うと、「ユーザ操作によりキャンセル」が表示され、正常動作しない。
    • スイッチ側をみると、LANケーブルは刺したままなのに、UP/DOWNが何回も行われている状況。
    • 接続されているポートでは、対した通信は発生していないのに、OutDiscardsのカウンタ値が上昇することがある。
    • スリープから復帰後に、有線LANで通信ができない。リンクアップしていて、IPアドレスも維持されているのに、外部に対してPINGが飛ばない。

    切り分けでやったこと(すべて失敗し、安定はしない)

    • LANケーブル接続先のポートを変える。
    • LANケーブル接続先のスイッチを変える。
    • 途中にHubをかませて、接続する。
    • 途中にHubをかませて、100M、1Gなど、速度変えて接続する。
    • 同じ機種で、再現テスト(再現してしまった、つまりPCの初期不良ではなさそう)。
    • Windows Defenderを無効化する。

    他に試してみると、無線LAN接続のときは、スリープから復帰しても、ネットワークにはちゃんと繋がっている。最初から、Windows11 ver.22H2のLet’sNote SV1(CF-SV1RDLAS)では問題は起きない。つまり大型アップデートの影響と思われる。

    これまた打つ手なしなので、そのうちWindows Updateで解消するのか、しばらく様子見するしかない。

  • FreeBSDでpkgをアップデートしたらMariaDBが起動しなくなった

    FreeBSDで、”pkg upgrade”して、パッケージを最新の状態にしたところ、MariaDBが起動しなくなった。エラーログをみていると、DBのテーブルを修復したあとにDBがシャットダウンされている。DBのファイル破損が原因かと思い、いろいろと調べて対応したが、実はファイルの問題ではなかった。

    原因は、MariaDBのバージョンが「MariaDB 10.5」に上がったことによる「my.cnf」ファイルの変更だった。

    /usr/local/etc/mysql/conf.d/my.cnf

    このconf.dのディレクトリに、my.cnfがあることで、これを読みにいって、その設定で失敗して、サービスが落ちていた。同じところに、client.cnfもserver.cnfもあるが、これを読まずにmy.cnfを先に読みにいって、落ちていた。my.cnfは、1つ上の階層の「/usr/local/etc/mysql/」にもあり、conf.dの下を読み込むように書かれている。

    いろいろと行ったのだが、対応の正解は、conf.dの下のmy.cnfを消す(リネームでOK)。server.cnfとclient.cnfの設定を確認して、MariaDB(mysqld_safe)を起動させる。

    ちなみに、errファイルに記録されていたログは下記。あとは、ログ自体が出力されていない。ログがそもそも出力されていなければ、my.cnfを疑うべきだった。

    2022-02-05 15:36:39 0 [Note] /usr/local/libexec/mariadbd (initiated by: unknown): Normal shutdown
    2022-02-05 15:36:39 0 [Note] Event Scheduler: Purging the queue. 0 events
    2022-02-05 15:36:39 0 [Note] InnoDB: FTS optimize thread exiting.
    2022-02-05 15:36:40 0 [Note] InnoDB: Starting shutdown...
    2022-02-05 15:36:40 0 [Note] InnoDB: Dumping buffer pool(s) to /var/db/mysql/ib_buffer_pool
    2022-02-05 15:36:40 0 [Note] InnoDB: Restricted to 2016 pages due to innodb_buf_pool_dump_pct=25
    2022-02-05 15:36:40 0 [Note] InnoDB: Buffer pool(s) dump completed at 220205 15:36:40
    2022-02-05 15:36:40 0 [Note] InnoDB: Removed temporary tablespace data file: "ibtmp1"
    2022-02-05 15:36:40 0 [Note] InnoDB: Shutdown completed; log sequence number 1363646560; transaction id 111190553
    2022-02-05 15:36:40 0 [Note] /usr/local/libexec/mariadbd: Shutdown complete
    
  • 64bitのAccessで古い32bitのAccessのツールを動かすとエラーに・・・

    Microsoft365のOfficeツールが64bitのとき、Accessの32bitで作られたアプリケーションを開こうとするとエラーになる。Windowsのバージョンは、Windows10とWindows11。表示されるエラーメッセージは下記。

    「このデータベースは、32 ビット版の  Microsoft Access で作成されています。32ビット版の Microsoft Access で開いてください。」

    これを解消するには、Officeツールを32ビット版を使えばいいのだが、通常64ビットのOfficeツールと32ビットのOfficeツールは共存できない。32ビットのOfficeツールだと制約が多いので、なるべくならば64ビットのままにしたい。調べてみると、Access 2010の32ビットのランタイムであれば、最新の64ビットのOfficeツールと共存が可能だ。

    Access 2010 の32ビット ランタイムは、下記のMicrosoftのページからダウンロードしてインストールする。

    Microsoft Access 2010 Runtime
    https://www.microsoft.com/ja-jp/download/details.aspx?id=10910

    Access 2010 の32ビット ランタイムをインストールすることで、32ビット版のAccessで作ったツールもエラーなく開くようになった。

  • WinSCPをバッチとして使うとき、読み込ませるファイルはUTF-8で。

    WinSCPには、スクリプトによる自動実行ができるモードがある。このとき、読み込ませるスクリプトのファイルの文字コードはUTF-8にする。SJISのファイルの場合、フォルダの指定などでうまく行かず、エラーになることがある(主にマルチバイトのパスやファイル名の処理など)。

  • SQL Server 2022 Express Editionもデータベースのサイズは10GBまで。

    SQL Server 2022が正式に公開された。SQL Server 2022にも、Expressエディションがあるので、データベースのサイズの制限を調べた。

    SQL Server 2022も、2019などと変らず、1つのデータベースのサイズは10GBまで。Windows版もLinux版もかわらない。CPUの制限も変わらず、1ソケット or 4コア のどちらか低い方だ。

    SQL Server 2022の各エディションの制約の違いについては、下記のMicrosoftのサイトに記載されている。

    https://learn.microsoft.com/en-us/sql/sql-server/editions-and-components-of-sql-server-2022?view=sql-server-ver16

    そのうち、Express Editionでもデータベースのサイズが無制限になるといいのだけど。まぁ、10GBは、なかなか超えることはないけれど、ただログサイズも含めるので、そうなるとログの切り捨てをしないと、たまに制限にかかるので。

  • Windows11 22H2でMSPEAPを利用する時、接続認証でWindowsのログオン名とパスワードを自動的に使えない

    Windows11 22H2でMSPEAPを利用する時、接続認証でWindowsのログオン名とパスワードを自動的に使う設定をオンにできない。

    Windows11 21H2のときは、EAP MSCHAPv2のプロパティの「Windowsのログオン名とパスワード(およびドメインがある場合はドメイン)を自動的に使う」のチェックが入れることができた。Windows11 22H2では、「Windowsのログオン名とパスワード(およびドメインがある場合はドメイン)を自動的に使う」のチェックがグレーアウトしており、選択ができない。

    これの解消方法で、グループポリシーやレジストリ変更も試したがうまくいかない。複数メーカーのWindows11で再現するし、21H2から22H2にアップデートすると、選択できなるため、OS上の設定が影響しているようだ。

  • Pukiwiki 1.5.4へのバージョンアップをした

    PHPのバージョン変更に伴って、Pukiwiki 1.5.2 から、Pukiwiki 1.5.4にアップデートを行ったのでメモ。

    Pukiwiki 1.5.2 からPukiwiki 1.5.4へは、いきなりバージョンアップはできなくて、Pukiwiki 1.5.3へのバージョンアップ用のパッチを実行して、一度、Pukiwiki 1.5.3にしてから、Pukiwiki 1.5.4のパッチを当てて、バージョンアップした。

    パッチを当てるだけなので、段階アップデートだけど、つらくはなかった。一番大変だったのは、先にPHPのバージョンを上げてしまって、使っていたPukiwikiが白くなってしまい、バージョンがわからなくなったこと。先にバージョンを調べておくか、パッチを当てておけばよかった。

  • GASのJDBCからMySQL8に接続できるようになった

    約一年ぶりに、GASと、Google CloudのCloud SQLの環境を作った。昨年はできなかったGASから、JDBCを介してのMySQL8への接続を試してみたところ、接続できることがわかった。

    下図は、GASからMySQL8に接続して、バージョン情報を取得しているところ。

    これでMySQLのバージョンを気にすることなく、GASから接続する環境を作れる。

  • WindowsからWSLのLinuxディスク領域を開く

    Windows(Windows10, Windows11)から、WSL(WSL2含む)のLinuxの領域にエクスプローラーでアクセスすることができる。

    エクスプローラーからアクセスするには、アドレスバーに、`\\wsl$`と入力して、Enterキーを押すと表示される。WSLの領域はネットワークドライブとして、アクセスされる。

    \\wsl$

    インストールした環境名を続けて入力することで、ルート以下のフォルダを表示できる。

    \\wsl$\Ubuntu

    エクスプローラーで開いた後は、ファイルの書き込みや読み出しも可能。ただ、Linuxのシステム領域などはいじらないほうがいい。

  • Google Apps ScriptのJDBCリファレンスのURL

    毎回、検索するのも大変なので、メモ。

    MySQLなどに接続するときに、Google Apps Script(GAS)からJDBCを使う。そのリファレンスのURLは下記。

    ガイド
    https://developers.google.com/apps-script/guides/jdbc

    JDBCサービスのリファレンス
    https://developers.google.com/apps-script/reference/jdbc