VanillaOS 3を試す

イメージ
以前仮想マシンで試したものの、あまり時間が取れず、しっかり使えていなかった。 余っている(テスト用においてある)Thinkpad x390に実際に入れて試してみた。 Vanilla OS ところが、サイトに行ってみると少し前(2026-08-24)にUpdateされており2→3へと2年ぶりの更新。 簡単に言うとイミュータブルなOSで、OS本体の書き換えは基本的にできず、A/Bパターンで起動する必要がある。 Aでインストールしたものは、Bに入れられ、起動時にBを選択するとインストール後の状態で使える仕組み。不具合があればまたAに戻せるというもの。 若干、コマンド類が変わってしまっているらしい。 イミュータブルなOSは、これまでにも試したものの日本語がうまく扱えないなど常用するには結構厳しいものがあった。 とはいえ、時間の経過で様々なアプリケーションがFlatpakやAppImageで出揃ってきたので、今回テストすることにした。 インストーラ自体は小さく、起動用のUSBに書き込んで起動すればOK。 インストール完了後、マシン名やユーザ名を入力することで、環境設定は完了。 基本的にはFlatpakでインストールするのが正しい使い方らしいので、必要そうなものを入れてみた。 vscode Brave Browser LMStudio DBeaver-ce Thunderird Obsidian opencode LibreOffice など・・・ どれも、サクサクと動作して気持ちいい。 日本語環境 さて、問題は日本語環境だが、調べてみるとflatpakにmozcもfcitx5も存在していた。 これんらばと思い、入れてみる。 https://note.kurodigi.com/vanillaos-fcitx5-mozc/ が、vanillaOS2の記事のようだけれども、同じ手順でOKだった。 すばらしい。 いつも使用しているmozcが動作するようになった。 ところが、LMStudioでハマった… flatpak特有の問題 LMStudioはすんなり入り、LMLinkでローカルのAIサーバも使用可能。 で、URLを指定したときにWEBサイトを取りに行かせて、処理させるMCPでハマった。 https://github.com/modelcontextprotocol/servers...

AccessのMDBファイルをUbuntuで利用

仕方なく方法を探っただけで、やりたいわけでは…

Windowsで動くDB関係のシステムが、XP上で動くものの、Windows7では動作しない。
何とかならないか?と相談を受けて、検討している。

調べてみると、OfficeXP上のAccessを利用して構築されたシステム。
しかし、当時Setupしたものの、すでにそのDiskは無い。

一応、お客の所でWindows7上のAccessでテストしたものの、起動せず…。

そこで、データだけは抜き出して、移植(というか再構築というか、まぁ作り直し)することに。

使用していない機能も多いため、聞き取りを行い、要件定義をしてみたり、設計してみたり…。

さて問題は旧データを取り出して使えるかだ。

我が家の仮想マシン(WindowsXPもWindows7)は、Accessなんて入っていない。
そもそも、Accessは、複数マシンからアクセスした時に超遅くて、挙句の果てにファイル壊してくれたりして以来、使用していない。
だからもう、10年以上開発には使っていないなぁ。

ずっと、PostgreSQLとMySQLでやってきたので、Accessが入っていないのも当然。

iMacのMS-OfficeにはAccessは含まれていない。

MDB Viewer Plusを発見

探してみたら、まぁなんとかなりそうなツールを発見。MDB Viewer Plusだ。
検索語「MDB Viewer」で引っかかったので、まんまの名前だったww

Accessなしで、MDBファイルから直接内容を読み取れるらしい。

早速、Windows7上で試してみる。

一応、MDBファイルは確かに読める。
ReportやForm、コードはダメだが、DB自体は読み込めるし、Exportも可能だ。

まぁ、最低限、過去のデータを手入力しなくても良さそうなので、一安心。

開発のことを考えると、迷うところ。
  1. Excelとマクロで無理やり作る。
  2. Windows上の新しいAccess2013で構築する。
  3. バックエンドにDBサーバを置いて、Windows上のアプリを作成する。
  4. バックエンドにDBサーバを置いて、WEBアプリで作成する。
どれも、一長一短だ。

半分ほど手作業で、補助ツールを用意する程度のシステムにしておけば、万が一の場合や、保守しなくなったりしても自分たちで何とかできるかもという考えでのExcel+マクロなんだけど…。

そもそも、WindowsXPのようにサポートが切れ、利用不可になるOS上のDB。Accessで構築したために、今回移行できずに困っているわけなので、特定のアプリに縛られない方が良いような気もする。

気持ち的には4のWEBアプリが、保守とかしやすくて良さそうだけれど、UIがどうしても貧弱になってしまうので…。

設計は置いといて

まあ、今後の作業はとりあえず、これから検討するとして…。

このMDBをUbuntu上で読み書きできれば、作業効率も上がるかなぁと考えたりして。

何せ、Windowsは仮想マシンなので、起動に20〜30秒ほどはかかる。ログインして使える状態まで約1分程度は待つのが嫌だし、AntiVirusのパターンファイルの更新やら、WindowsUpdateの更新などがかかって、まともに使えるまでに結構時間がかかるのでWindows上で作業したくないというのが本音。

何せ、SSD搭載のX200が爆速で、電源ONから使えるまでの20秒に慣れてしまうと…。

そこで、MDB Viewer Plusをwineで動かしてみる。
$ wine mdbplus.exe
エラー吐いて、お亡くなりになります。
くそっ、ダメか…。

念の為、ググってみる。
GentooのForumに、MDBplus.exeとwineの記事を見つけた。

その中のPOSTに
using winetricks for install packages mdac28, vcrun6, mfc42 is solved this problem.
but i imagine that not all of this packages is need in this case.
if you have some time, then start please from 'winetricks mdac28' and then try to run 'wine <app>'.
なんてヒントがあった。

MDACとは Microsoft Data Access Components (MDAC)のことだ。
そうか、これがあれば行けるのか?

早速、mdac28を入れてみる(28はバージョンなのかなぁ…ちょっと不安だけど、良くわかっていないし…)
$ winetricks mdac28
すると、ネットからインストールしてくれる。
Executing w_do_call mdac28
Executing load_mdac28
Executing mkdir -p /home/username/.cache/winetricks/mdac28
Downloading http://download.microsoft.com/download/4/a/a/4aafff19-9d21-4d35-ae81-02c48dcbbbff/MDAC_TYP.EXE to /home/username/.cache/winetricks/mdac28
--2014-04-21 22:07:30--  http://download.microsoft.com/download/4/a/a/4aafff19-9d21-4d35-ae81-02c48dcbbbff/MDAC_TYP.EXE
download.microsoft.com (download.microsoft.com) をDNSに問いあわせています... 2402:6b00:0:2d::db75:21a3, 2402:6b00:0:2d::db75:219a, 219.117.33.137, ...
download.microsoft.com (download.microsoft.com)|2402:6b00:0:2d::db75:21a3|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 6100504 (5.8M) [application/octet-stream]
`MDAC_TYP.EXE' に保存中
100%[======================================>] 6,100,504   1.63MB/s   時間 4.4s
2014-04-21 22:07:35 (1.33 MB/s) - `MDAC_TYP.EXE' へ保存完了 [6100504/6100504]
Using native,builtin override for following DLLs: odbc32 odbccp32 oledb32
Executing winetricks_early_wine regedit C:\windows\Temp\_mdac28\override-dll.reg
Setting Windows version to win98
Executing winetricks_early_wine regedit C:\windows\Temp\_mdac28\set-winver.reg
Executing wine mdac_typ.exe
err:richedit:ReadStyleSheet skipping optional destination
err:richedit:ReadStyleSheet skipping optional destination
err:richedit:ReadStyleSheet skipping optional destination
err:richedit:ReadStyleSheet skipping optional destination
err:richedit:ReadStyleSheet skipping optional destination
fixme:setupapi:SetupAddInstallSectionToDiskSpaceListA Stub
fixme:setupapi:SetupAddInstallSectionToDiskSpaceListA Stub
fixme:setupapi:SetupAddInstallSectionToDiskSpaceListA Stub
fixme:setupapi:SetupAddInstallSectionToDiskSpaceListA Stub
fixme:setupapi:SetupAddInstallSectionToDiskSpaceListA Stub
fixme:setupapi:SetupAddInstallSectionToDiskSpaceListA Stub
fixme:setupapi:SetupAddInstallSectionToDiskSpaceListA Stub
fixme:setupapi:SetupAddInstallSectionToDiskSpaceListA Stub
fixme:setupapi:SetupAddInstallSectionToDiskSpaceListA Stub
fixme:setupapi:SetupAddInstallSectionToDiskSpaceListA Stub
fixme:setupapi:SetupAddInstallSectionToDiskSpaceListA Stub
fixme:setupapi:SetupAddInstallSectionToDiskSpaceListA Stub
fixme:setupapi:SetupAddInstallSectionToDiskSpaceListA Stub
fixme:setupapi:SetupAddInstallSectionToDiskSpaceListA Stub
fixme:setupapi:SetupAddInstallSectionToDiskSpaceListA Stub
fixme:setupapi:SetupAddInstallSectionToDiskSpaceListA Stub
fixme:setupapi:SetupAddInstallSectionToDiskSpaceListA Stub
fixme:setupapi:SetupAddInstallSectionToDiskSpaceListA Stub
fixme:setupapi:SetupAddInstallSectionToDiskSpaceListA Stub
fixme:setupapi:SetupAddInstallSectionToDiskSpaceListA Stub
fixme:setupapi:SetupAddInstallSectionToDiskSpaceListA Stub
fixme:advpack:set_ldids Need to support changing paths - default will be used
fixme:setupapi:extract_cabinet_file awful hack: extracting cabinet "C:\\users\\username\\Temp\\IXP000.TMP\\msvcrt.CAB"
fixme:advpack:set_ldids Need to support changing paths - default will be used
fixme:setupapi:extract_cabinet_file awful hack: extracting cabinet "C:\\users\\username\\Temp\\IXP000.TMP\\mtxfiles.CAB"
fixme:advpack:set_ldids Need to support changing paths - default will be used
fixme:advpack:set_ldids Need to support changing paths - default will be used
fixme:advpack:set_ldids Need to support changing paths - default will be used
fixme:advpack:set_ldids Need to support changing paths - default will be used
fixme:setupapi:extract_cabinet_file awful hack: extracting cabinet "C:\\users\\username\\Temp\\IXP000.TMP\\MDACxpak.CAB"
fixme:setupapi:SetupDefaultQueueCallbackW notification 262144 params f529e0,0
fixme:setupapi:extract_cabinet_file awful hack: extracting cabinet "C:\\users\\username\\Temp\\IXP000.TMP\\MDACxpak.CAB"
fixme:advpack:set_ldids Need to support changing paths - default will be used
fixme:setupapi:extract_cabinet_file awful hack: extracting cabinet "C:\\users\\username\\Temp\\IXP000.TMP\\SQLXMLXP.CAB"
fixme:advpack:set_ldids Need to support changing paths - default will be used
fixme:setupapi:extract_cabinet_file awful hack: extracting cabinet "C:\\users\\username\\Temp\\IXP000.TMP\\sqlnet.cab"
fixme:advpack:set_ldids Need to support changing paths - default will be used
fixme:setupapi:extract_cabinet_file awful hack: extracting cabinet "C:\\users\\username\\Temp\\IXP000.TMP\\sqlodbc.cab"
fixme:advpack:set_ldids Need to support changing paths - default will be used
fixme:setupapi:extract_cabinet_file awful hack: extracting cabinet "C:\\users\\username\\Temp\\IXP000.TMP\\SQLOLDB.CAB"
fixme:advpack:set_ldids Need to support changing paths - default will be used
fixme:setupapi:extract_cabinet_file awful hack: extracting cabinet "C:\\users\\username\\Temp\\IXP000.TMP\\JETFILES.CAB"
Setting Windows version to winxp
Executing winetricks_early_wine regedit C:\windows\Temp\_mdac28\set-winver.reg
ここで、先ほどと同じく
$ wine MDBplus.exe
とすると、さっくりと動くじゃないですか…。
Windows7上で動かした時と、全く同じ動作をしてくれます。

最近のwineは本当に、良く動くようになったなぁと、改めて感心します。
(って先日のFileMakerの時も感心したんだったなぁ)

そこで、目的のMDBを開いてみると、パスワードの確認ダイアログを通過。
ところが…。

ERRORを吐いて、先へ進めない。

msxml3/msxml6かもという書き込みをみて、winetricksで入れてみるがだめだった。
MDACのバージョンだとか、DLLのバージョンの相違で起きるらしいのだが…。

現状、ここまででしか動かせなかった〜。
あと、少しな感じなのになぁ。


コメント

このブログの人気の投稿

MEGAにも弱点があった?

Ubuntu24.04 でGUIが死んだ

VirtualBoxでUSBを使う方法が分かった!