投稿

awkとgawkの整数値の取扱の違い

記事の更新日:2026/09/11 1.概要 awkをよく利用します。awkで処理に困ったことがあり、gawkに変更しました。awkの中でテキストを数値にint関数で変更をしていたのですが、桁数が大きくなるとint関数を利用しているのですが、浮動小数点に変わっていまいました。これは想定外の動きでした。 処理ではintである必要があったので、対処策を探してgawkに変えることにしました。gawkで当面は問題なく処理できるのですが、gawkの場合も桁数が更に大きくなるとint関数の結果が正確ではありません。浮動小数点には変わらないのですが、微妙に数値が変わります。この内容を記述します。 私の評価は以下の通りです。 (1) awkで桁数が大きな値をint関数で数値計算すると、結果が浮動小数点になります (2) これを改善するには、awkをgawkに変えることで改善できます (3) awkをgawkに入れ替えるとシンボリックリンクが変わるだけです (4) gawkでも更に大きな桁数では課題が残ります 2.詳細 基本的には同じですが、gawkの方が精度が高いようです。 (a) awk ubuntu-22.04.5の標準のawkのversionを確認します awk -W version mawk 1.3.4 20200120 Copyright 2008-2019,2020, Thomas E. Dickey Copyright 1991-1996,2014, Michael D. Brennan random-funcs:       srandom/random regex-funcs:        internal compiled limits: sprintf buffer      8192 maximum-integer     2147483647 数字の文字列を数値(int)に変換します echo "1234567890" | awk '{ print int($1) }' 1234567890 echo "12345678901" | awk '{ print int($1) }' 1.23457e+10 10桁までは整...

LinuxMint/UbuntuでWine 11導入!どんなアプリを動かすことができるか

記事の更新日: 2026-09-28 タイトルを短く更新 1.概要 Wine 11.0がリリースされました。メジャーアップデートで「Wine 11.0 6300以上の変更と600件以上の不具合修正を反映」と記載されています。早速、試してみることにしました。 私の評価結果は下記内容です。 (1) メーカー製のインストーラーは途中終了します。レジストリが合わないようです (2) 日本語環境はwinetricksで対応できます (3) exe形式の実行モジュールは動作します。レジストリを必要としないためです (4) Windows版の自作アプリケーションの移行先としてWineは選択肢になります (5) オンラインゲーム分野への対応は進んでいます。Windows環境より良いようです (6) Wine 11.0以降の更新記録も記載( Wine 11.0〜Wine 11.18 ) 2.詳細 環境は、intel i3, Memory 16GBのPCにLinuxMint-21.3を新規導入しました。 Wine 11.0の導入手順を見つけるのに少し手間取りましたが、Wiki/Debian-Ubuntuに詳しく記載されています。 その手順に沿って作業を実施しました。 $ cat /etc/os-release $ sudo mkdir -pm755 /etc/apt/keyrings $ wget -O - https://dl.winehq.org/wine-builds/winehq.key | sudo gpg --dearmor -o /etc/apt/keyrings/winehq-archive.key - $ sudo dpkg --add-architecture i386 $ sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/jammy/winehq-jammy.sources $ sudo apt update $ sudo apt install --install-recommends winehq-stable $ wine --version $ sudo apt install winetricks $ winetricks cjkfo...

ラウンドロビンを採用するNTPサーバのYAMAHAルータへのフィルタリング設定

記事の更新日:2026/09/29 評価を加筆 1.概要 NTPサーバへのアクセスの規定値を変更しました。また、この設定でYAMAHAルータ上でNTPへのアクセス制御をfilter定義も実施したいと考えて、ドメイン名の定義設定をしました。ntp.jst.mfeed.ad.jpのfiller設定をYAMAHAルータ(RTX)に実施したのですが、NTP同期ができなくなりました。正確にはできない場合とできる場合が起きていました。 原因を調べた結果、ntp.jst.mfeed.ad.jpには3台のNTPサーバが準備されており、同一ドメイン名でラウンドロビン方式で分散アクセス設定されていました。ラウンドロビン方式のURLをfilter設定をしたのは初めてのことです。この場合、全ての候補をfiltter許可設定しなければ、正しいアクセス制御ができないとわかりました。その内容を記述します。 私の評価は以下の通りです。 (1) 有名なNTPサーバがラウンドロビン方式で運営されていると知りませんでした (2) YAMAHAのルータで単純なフィルタリングをすると問題が発生します (3) 動作する場合と動作しない場合が起きてしまい原因を調べることに時間が必要でした (4) 現在のネットは、53/udp, 123/udp, 443/tcpが通ると動作します。NTPは認証に必須です 2.詳細 ntp.jst.mfeed.ad.jpはDNSラウンドロビンの設定で下記URLを利用しています。 ntp1.jst.mfeed.ad.jp ntp2.jst.mfeed.ad.jp ntp3.jst.mfeed.ad.jp NTPへのアクセス制御にntp.jst.mfeed.ad.jpを設定したために、常にNTP同期できなくなってしまいました。クライアント側にもntp.jst.mfeed.ad.jpを設定したのが理由です。RTX側がフィルタリングしたNTPサーバとクライアントがアクセスするNTPサーバが一致しなかったと思われます。 具体的には、YAMAHA上に設定したntp.jst.mfeed.ad.jpは設定したタイミングでntp1.jst.mfeed.ad.jpのip-addressとラウンドロビン設定が一致していたとします。つまり、この時点でntp.jst.mfeed.ad.jpは、ntp1.js...

LinutMintでPDFからTextを作成する方法

記事の更新日:2026/09/29 評価を加筆 1.概要 PDFは汎用性が高く、様々な場面で利用されています。一番の特徴はデータのセキュリティを保つことです。Excelなどの表計算ソフトはタブを利用することで3次元的にデータを保管しています。これをPDFにすることで特定のタブのデータだけを選択して、読み出し専用のデータにすることができます。 しかし、PDFからTextを切出したい事があります。不思議なことにPDFのテキスト部分をドラッグ&ドロップでテキストに取れることもあります。しかし、何も操作できないこともあります。少しネットで調べて、PDFからTextの作成方法を実施したのでその内容を記述します。 私の評価は以下の通りです。 (1) PDFには内部にテキスト文書を保存しているものがあります (2) テキスト文書がある場合は、コマンドで簡単に取り出すことができます (3) テキスト文書がない場合、PDFをイメージに変えて、OCRで読み込みます (4) PDFは活字ですが、OCR読み込みは完全ではありません。修正が必要です 2.詳細 (1) PDF内部にText文書がある場合 PDFには種類がありますが、PDF内部にText文書があるものと、そうではないものがあります。PDF内部にText文書があるものは、比較的かんたんにPDFからTextを作成できます。 ubuntuでは、pdftotextコマンドを利用できます。 (2) PDF内部にText文書がなく、イメージファイルの場合 pdftotextを実行しても何も出力されない場合が該当します。 この場合はPDFをイメージファイル(png)に変換して、OCRソフトでTextにします。 PDFをPNGに変更するためには、pdftoppmを利用します pdftoppm -png xxxxxx.pdf yyyyyy yyyyyy.zzzzz.pngが作成されます。 pngをOCRソフトでTextを切り出すには、tesseractを利用します sudo apt install tesseract-ocr sudo apt install tesseract-ocr-jpn tesseract yyyyyy.zzzzz.png output -l jpn output.txtが作成されます。 3.所見 PDF内にTestが存在...

Ubuntu/LinuxMintをJSTからUTCへtimezone変更する手順

記事の更新日:2026/09/29 評価を加筆 1.概要 PCが単体で動作しているときには時刻の問題は小さなことでした。ネットワークに接続して様々な機器と連携するようになり、時刻のズレが大きな問題となり、NTPを利用した時刻同期が利用されるようになりました。 更に、海外とのデータ交換をするようになるとTImeZoneのズレが問題になりました。同じ9:00であっても、UTCとJSTでは異なります。これが問題になり始めたのはクラウドの利用が始まった頃だと思います。AWSなどのクラウド環境の機器はUTCで運用されています。では、それに接続する機器はどうすべきかについて記述をします。 aws環境はtimezoneがUTCに設定されています。開発用途のPC(ubuntu)は通常はJST環境のため、時刻が合わないで困ることもありました。例えば、日替わりなど日付が変わる処理が存在する場合、UTCとJSTで時刻が異なるために9時間の時間差が発生するので、処理ロジックにTimezone認識が必要です。PC(ubuntu)をUTCに変更すると問題は解決できそうなので試してみました。 私の評価は以下の通りです。 (1) クラウド環境のサーバはUTCで運営されています (2) PCは普通にセットアップするとJSTに設定されます (3) クラウド環境とPC間でデータのやり取りを行うと、9時間の時差が問題となります (4) 時差の問題を回避には、PCをUTC設定ですが、勤怠などJST依存の問題が起きます (5) クラウド環境とPC間でデータのやり取りを行うPCだけ、UTC設定をします 2.詳細 参考資料に沿って確認と設定をします。 $ date $ timedatectl | grep 'Time zone' と実行して、Time zone: Asia/Tokyo (JST, +0900)を確認します $ sudo timedatectl set-timezone UTC でtimezoneをUTCに変更します。 $ date $ timedatectl | grep 'Time zone' と実行して、 Time zone: UTC (UTC, +0000)を確認します。 3.所見 クラウド環境を利用するとローカルPCとのTimezoneの差を認識します。特に...

ubuntultsとは何かと考えました

記事の更新日:2026/09/29 評価を加筆 1.概要 この記事は2025年末の記事ですが、UbuntuからLinuxMintへの移行をすると決めたときの記事です。備忘録に必ず残す必要があると思い、少しリライトしました。 Ubuntultsをubuntu-20.04.6はProで継続保守利用、ubuntu-22.04.5は主要利用、ubuntu-24.04.3を評価利用しています。しかし、ubuntuはversionが進むほど、私の希望とは異なる方向に進んでいます。そこで別のディストリビューションの評価利用をすることを検討して、Linux Mintを選択しました。Linux Mintはubuntultsがベースです。このことで、ubuntultsとは何であるかを今更考えてしまいました。その内容を記述します。 私の評価は以下の通りです。 (1) ubuntultsとは、ubuntu開発サイクルで安定版としてリリースされるものとの認識です (2) 安定版のubuntultsを利用したubuntuの派生ディストリビューションがあります (3) その一つがLinuxMintです、有志がメンテナンスを実施しています (4) LinuxMint 22.3を利用していますが、感覚的にはubuntu 20.04に近く、お気に入りです 2.詳細 ubuntu-20.04.6はとても使いやすいVersionでした。しかし、ubuntu-22.04はWaylandが規定値であったため、nouveauの不具合と重なって長く評価利用をしていました。GUI部分で影響が出たために十分な評価ができなかったため、Firefoxの問題が後で見つかりFirefoxでトラブルが複数発生しました。 また、ubuntu-24.04はインストーラが変更となり、PBRにブートローダを設置してマルチブートすることが規定値ではできなくなりました。waylandやsnapの問題も存在し、次のubuntu-26.04ではX-windowsは選択できない可能性があるようです。 そこで、X-windowsが利用でき、snapを利用せず、ubuntu-20.04と同じインストーラが利用できてPBRへのブートローダ設置ができるubuntults-22.04ベースのLinux Mint 21.3の評価利用を始めました。ubunt...

ubuntuで外部接続できない環境でFirefoxを利用すると英語環境になる

記事の更新日:2026/09/29 評価を加筆 1.概要 ubuntu 22.04環境の評価では、Waylandとnvidaの旧型VGAのドライバのnouveauの相性が悪く、様々な問題が発せしして十分な評価ができませんでした。その結果、GUI上で動作するソフトウェアの評価も不十分なままで、ubuntu 20.04からubuntu 22.04へ移行することになりました。 firefoxをubuntu-22.04で利用しています。最近、特に気になることが発生しています。http/httpsで外部接続できない環境でFirefoxを利用すると英語環境になります。どのようなタイミングで、この事象が発生するかは良くわかっていません。 Firefoxはubuntu 22.04からLinuxMint 21.3へ移行して全ての問題が解決しました。多分、障害の原因はsnapに依存するものだと思いますが、利用者にはFirefoxか、Snapか、それ以外のものかを知ることが難しいと感じます。 私の評価は以下の通りです。 (1) Firefoxで起きた問題は、Firefox、Snap、GUI(Wayland)の問題など複数要因があります (2) 利用者側はFirefoxの問題に見えるためネット検索で調べても解決できません (3) AIはSnapからaptパッケージへ変更を推奨します。しかし、保守が課題になります (4) 結果的にubuntuからLinuxMintへ移行しました。現在、安定稼働中 2.詳細 2ヶ月ほど前に気づいたのですが、外部環境接続できない状態でFirefoxを起動すると英語環境になる場合があります。つまり、Internetに接続できない環境ですが、内部のネットワークには接続できる状態です。もちろん、日本語環境のubuntu-22.04上で日本語表示ができていたPCです。ネットに接続して、Firefox上で表示をリフレッシュすると日本語環境に戻ります。 ネットを検索するとFirefoxが英語のメニューになってしまうとの書き込みが複数あるようです。設定変更の方法が記述されていますが、私の場合はネット接続をしてFirefoxの表示をリフレッシュすると復旧しました。Firefoxの問題程度と考えていたのですが、いつまでも修正されないのでFirefoxの仕様が変わったと思っています...