投稿

6月, 2025の投稿を表示しています

LinuxMintでCH341Aを利用したPCマザーボードのBIOSリカバリ

記事の更新: 2026/08/23 1. 概要 MSIのマザーボードのBIOS更新で失敗してしまいBIOSが起動しなくなりました。中古のマザーボードを更に購入して、CPUとMemoryを移設して問題は改善したのですが、動かないマザーボードを修復する手段はないかとネットで調べました。 参考資料の記事をネットで見つけて、マザーボード上のBIOSチップを調べて、同じ方式で復旧できそうな感触を得たのでCH341Aをアマゾンで購入しました。BIOSのアップデート経験にHWの知識があると可能と思い、試してみる気になりました。 参考資料の記事はWindows環境でCH341Aを利用しています。今回、LinuxMint環境で動かすことができるかの不安はありました。幸いにもCH341Aは高価な物でないことが、作業をやる気にさせたと思っています。 CH341Aを動かすソフトウェアはgithubからDownloadした上で、ビルドしました。記述されている説明通りに環境構築ができ、実際のソフトウェアの利用方法もWindowsとあまり変わらず、参考資料の手順に沿って実施することができました。この内容を記述します。 2. 詳細 (1)概要編 参考資料はThinkPadに関する記述ですが、搭載されているBIOSのフラッシュメモリーのwinbond 25Q128FVSQが同じであったので手順を参照してできると考えました。購入したCH341Aには中国語の説明が書いてあったので、OSSを活用することにしました。 まず、ThinkPadの資料を読んで全体の流れを掴みます。 丁寧な説明資料で良くわかります。 次にCH341Aを利用するOSSをUbuntu-20.04.6でBuildしました。 ThinkPadの資料で利用するSoftwareと異なりますが、大体同じで問題ありません。 私はこの方式で動作しないマザーボードを復活することができました。 CPUとMemoryを再度移設して、マザーボードのBIOS起動確認で完了です。 (2)設置編 まず、AmazonでKeeYeesのCH341Aを購入します。参考資料にAmazonのURLのリンクがありますが、AmazonでCH341Aで検索することをおすすめします。金額は1400円程度で購入できます。 参考資料では、Windows対応のCH341AのSoftwa...

shell scriptを入れ子にした場合のteeの挙動について調べました

 1. 概要 出力を分割できるteeはとても便利です。表示をしながらログファイルに出力する用途が一般的だと思います。shell script単体で処理をしている場合は問題になりませんが、shellを複数組み合わせて、大きな処理として実行する場合にteeがどのように機能するかが気になり、調べることをしました。 teeを利用して実行ログをファイルに保管することを良く実施します。このような処理をすでに組み込んでいるshell全体を更にteeを利用して実行ログをファイル保管するとどのようになるのか調べてみました。結果は、両方の機能が実行されることになり、片方の機能が無効になることはありませんでした。その内容を記述します。 2. 詳細 単純なshellをtest1.shで作成します。 #!/bin/bash echo "test1" | tee test1.log 実行すると、test1.logが出力されて、中身は下記内容になります。 test1 同じ処理をtest2.sh, test3.sh作成します。更に、test.shを下記内容で作成します。 test.shを実行することで入れ子構造でのteeの動作を確認できます。 #!/bin/bash test(){ sh test1.sh sh test2.sh sh test3.sh } test | tee test.log それでは、test.shを実行します。 まず、test.logの内容は以下のようになります。 $ test.sh test1 test2 test3 また、test1.log, test2.log, test3.logも作成されて、中身も想定した内容になります。 3.所見 入れ子(ネスティング)した場合の動作は、動かした場合と異なることがあります。shell内で、入れ子のshellの呼び出し方法にも影響します。今回はshで起動して別プロセスで試してみたので参考にしてください。 どのようなことでも実際に試験をして確かめることは大切なことだと思います。予測しない結果になることもあり、理論的に整理をしたことが間違いであったことに気がつくこともあります。しかし、実行した結果だけで判断することも問題があり、試験のミスもあるのが理由です。その意味で、過程を立てて、実際に試して、結果を見て判断するの...

aptコマンドで更新したパッケージを別のPCに適用するapt-clone

記事の更新日:2026/10/13  apt-cacher-ngの追記 1.概要 Linuxの修正はWindows Updateと比較すると短時間に完了します。また、比較的セキュリティが強固なので、修正情報を定期的に適用しない運用をされている方も少なくありません。適切に修正情報を適用する運用に私は心がけをしています。 しかし、運用する台数が増加すると、同じ修正情報を何とか一度のダウンロードで完了して、残りのPCに適用できないかと考えたくなります。Windowsと異なるので自由度が高く実現性があるのではと思って調べてみました。 複数台のPCを所有して、ubuntuを複数管理している場合、aptコマンドで更新したパッケージを別のPCに適用したいことがあります。特に、ネットワークが遅い場合はaptコマンド実行がボトルネックになってしまうので改善したいと思っていました。ネットを調べると、apt-cloneコマンドがあり、別のPCへパッケージのクローンができるようです。 新しい apt-cacher-ngを試しました。 LinuxMint/Ubuntuのパッケージキャッシングプロキシを実現します。実際に試してみて、希望する内容であることを確認できました。 その内容を記述します。 私の評価は以下の通りです。 (1) apt-cloneを利用すると適用した修正情報を保存して、別PCに適用できる機能があります (2) PCが全て同じ構成の場合、apt-cloneの利用は適切で便利です (3) 現実はPCのハード構成やソフト構成が異なるのでapt-cloneでは不十分な点が多い (4)  apt-cacher-ngを試すと、パッケージキャッシングされバージョン問題も改善できました 2.詳細 私はマルチブート環境で1台のPCに複数のLinuxMint/Ubuntuを設定しています。同時に起動することはできませんが、様々な試験環境を省スペースで実現できるのお気に入りです。しかし、LinuxMint/Ubuntuは頻繁に更新されるため手間が必要なことも問題となることがあります。 1台のPCのLinuxMintの更新処理結果を利用して、同様の環境の更新処理ができると良いと思っていたのですが、同じような考えを持つ方がいて、開発されていることを知りました。推測ですが、沢山のPCを同時セッ...