投稿

aws環境をlocalPC上に実現できるloaclstackを試してみました

記事の更新日:2026/09/30 評価を加筆 1.概要 aws環境をlocalPC上に実現できるloaclstackを試してみました。これは製品版があり、awsが提供しています。awsのクラウド環境とオンプレミスの環境を透過に接続する方法です。バックアップ用途が多いのではないかと思っています。 今回はLocalPC環境では評価や試験が難しいs3に関して調べてみました。aws上のs3で実施する前に、LocalPCで確認することでミスがなくなります。s3の本番環境でミスをすると復旧作業に影響が出ることも考えられるので、localstack利用は選択肢になります。 私の評価は以下の通りです。 (1) aws学習には最適で、Dockerを利用してコンテナで試験でき、負担が少ない (2) S3環境のコマンドをLocalPCで実行でき、無償利用の価値がある部分です (3) LocalPC環境なので無理なことや無駄なことでも試すことができる点がとても良い (4) EC2の仮想マシンが利用できると応用範囲が拡大できるが有償版が必要になる 2.詳細 (a) 環境 HW: CPU i3-7100     Memory 16GB     SSD 250GB OS: Ubuntu-20.04.6 (b) 構築手順 参考資料の通りに構築できます。DockerはUbuntu-20.04の標準品利用。 docker-compose.ymlを以下のように作成 version "3" services:   localstack:     container_name: localstack     image: localstack/localstack:latest     ports:       - "127.0.0.1:4566:4566"            # LocalStack Gateway       - "127.0.0.1:4510-4559:4510-4559"  # external services port range ...

Stable Diffusionをubuntuで利用する方法

記事の更新日: 2026/08/10 1.概要 Stable Diffusionの記事をネットで見つけて、ubuntu-22.04で試しました。Stable Diffusionはテキストからの入力で画像やイラストを自動生成するAIモデルです。Deep Learning環境でpytorchになれた方ならばスムーズに実行できると思います。どの程度のことがPCで実現できるか試すために、GPU版とCPU版を試験しました。また、日本語テキスト入力による操作性も確認しました。 気になった点は、stable-diffusion-webui/launch.pyの実行でModuleNotFoundError: No module named 'torch'のエラーになります。Pytorchの導入手順がなく、Stable Diffusion導入時にインストールされても認識されていないのだと思います。stable-diffusion-webui/launch.pyを再実行すると問題は解消されました。その内容を記述します。 注意事項 権利侵害の禁止: 他人のイラストや写真を読み込ませたり、有名人の偽画像を作らないこと。 ライセンス確認: 商用利用や配布をする場合は、使用したモデルの規約を必ず確認すること。 禁止表現: 成人向け(NSFW)、暴力、差別、他人が不快になる画像の生成は厳禁。 ※ 生成した画像によるトラブルはすべて自己責任となります。 2.詳細 (1) GPU版の検証 環境は以下のとおりです HW環境は、core i3-7100, nvidia-1050Ti, memory 16GB, SSD 250GBです。 SW環境は、ubuntu-22.04です。当初、ubuntu-20.04で始めたのですが、python3 3.10が必要なため変更しました。 導入手順は以下のとおりです。 (a) nvidia driverインストール 標準のnouveauをdisableにして、下記ドライバーをインストール $ nvidia-driver-550 - distro non-free recommended (b) cudaインストール 準備として下記モジュールをインストールします $ sudo apt -y install curl $ sudo apt-get -y i...

Ubuntu/LinuxMintのDocker環境でKey Value Databaseを調べました ( mongoDB / Redis )

記事の更新日:2026/09/30 評価を加筆 1.概要 NoSQLデータベースの中で、以前テストしたことがある「MongoDB」と、メモリベースで高速な「Redis」をDocker環境で動かし、その特徴を調査しました。実際に手を動かしてみることで、データの扱われ方や効率的な使い方のヒントが見えてきました。 調査内容はMongoDBとRedisです。これらは従来のRDB(関係データベース)とは異なり、複雑なテーブル結合(JOIN)などの処理がないため、非常に高速に動作します。しかし、項目間の関連性を持たせにくいため、複雑なデータ構造を扱う場合はアプリケーション側での処理負担が増えそうだと感じています。 私の評価は以下の通りです。 (1) Key Value Databaseは、単純な仕組みなので構造化不要なデータ管理に向いています (2) 逆に、PostgreSQLのようなRDBであれば、データ構造があり、汎用性があります (3) MongoDBがKey Value Databaseの一般的製品で機能を知るには十分です (4) Redisはオンメモリdatabaseで速度重視のシステム向け製品です 2.詳細 (1) Key Value DatabaseのmongoDB 最低限の動作試験を目指します。 (a) docker-compolse.yml 以下のようにdocker-compose.ymlを作成します version: '3.8' services:   mongo:     image: mongo:latest     container_name: mongo-container     environment:       MONGO_INITDB_ROOT_USERNAME: root       MONGO_INITDB_ROOT_PASSWORD: example     ports:       - "27017:27017" (b) 起動 $ docker-compose up -d (c) containerにloginして、mongoを操作します。 コンテナにログ...

ubuntuインストール時の表示されない画面領域への対処方法

記事の更新日:2026/09/30 評価を加筆 1.概要 PCでは余り発生することはありませんが、サーバー機器にLinuxを導入する場合、ディスプレイの解像度とVGAの設定が合わずに既定値のVGA設定の640x480で導入作業を実施する場合があります。ディスプレイを変更して解像度を変えてから作業をすることもありました。 VGAが一般的であった時は、インストーラがVGAの規格に合うように画面レイアウトが設定されていましたが、高解像度のディスプレイを利用できるようになってからはディスプレイの解像度が合わないためにボタンが押せないことが発生することがあります。 ディスプレイを交換することなく、表示領域を拡張する方法があります。3つの手段がありますが、インストーラの画面を移動させて、ボタンを押せる場所にすることが一番簡単な方法です。 私の評価は以下の通りです。 (1) VGAポート接続の場合に発生する可能性が高い問題、HDMI以降は起きないようです (2) ラックサーバのコンソールで発生した経験が多いと感じています (3) コンソール切り替えスイッチとの併用が多かったと思います (4) OS導入時の問題で、OS導入後はドライバー設定で改善します 2.詳細 Ubuntuをインストールする時に規定値の解像度設定が800x600などに設定されて、インストールボタンが押せない場合があります。この対処方法に関して資料を見つけたので、その内容を記述します。 参考資料に内容が記載されています。参考資料はubuntu-18.04に関するものですが、それ以降のリリースでも有効です。 回避策として3つの方法が記載されていますが、私は、「(a) インストーラー画面をマウスで移動する」が良いと思っています。設定変更をする必要がなく、「Super」キー(Windows keyやAlt key)を押すことで画面を動かすことができます。 (b)や(c)を実行するにはインストールが必要です。Ubuntuのインストール作業中にaptコマンドで追加導入することは、少し無理をしている気がします。私自身は、(b)や(c)の方式を利用したことはありません。 (a) インストーラー画面をマウスで移動する 「Super」キーを押しながらインストーラー画面をドラッグします。 「Super」キーとは「Windows」キーの...

json形式をyaml形式に相互変換を試しました

記事の更新日:2026/09/30 評価を加筆 1.概要 データ受渡し形式は以前はプレーンテキストが主流でした。テキストファイルなので何でも自由に記述でき応用ができました。しかし、この事が汎用性を欠くことになり、jsonやyaml形式を利用して、定義情報と定義値のセットが明確になるようになったと思っています。 Pythonプログラムでデータ定義用途でjson形式を良く利用していました。yaml形式でデータ定義されたものを参照する機会があり、jsonとyamlの関係について、テストプログラムで調べてみました。Pythonプログラムは、json形式もyaml形式も辞書(dic)になるので同じ扱いになります。また、json形式をyaml形式に変換、yaml形式をjson形式へ変換も実施してみました。この内容を記述します。 私の評価は以下の通りです。 (1) Dockerを活用する上で、yaml形式は必須要素です (2) json形式は、JavaScriptの仕様に含まれていたもので必須要素とは思っていません (3) データ受渡し形式は、json形式もyaml形式もプレーンテキストより優れています (4) 汎用性を求められない場合は、プレーンテキストで十分と思います (5) yaml形式とjson形式は相互変換ができます 2.詳細 (a) 試験データ作成 test.json を以下のように作成 {     "node_a": {         "type": "int",         "length": "4"     },     "node_b": {         "type": "float",         "length": "8"     },     "node_c": {         "type": "char",         "length": "1"     } } test.yam...

Ubuntu/LinuxMintで動画ダウンロード対処法!多数のサイトに対応できるアプリ( yt-dlp )の導入手順

記事の更新日: 2026/09/04 1.概要 本記事はWindowsやMacでなく、Linux( Ubuntu/LinuxMint )で動画を処理する場合に関して記述しています。WindowsやMacに関する記事はネット上に多数ありますが、Linux関連は比較的少ない上に、わかりにくいものです。ディストリビューションによってコマンドが異なったり、GUIの設定箇所が変わることがあるためです。 私は今回調べて初めて知ったのですが、参考資料を参照すると、数千の動画ダウンロードサイトに対応しているとのことで、デファクトスタンダード的なソフトウェアがありました。以前はyoutube-dlと呼ばれていたソフトウェアでYoutubeのダウンロード用途でした。現在は、yt-dlpと名前が変わっていますが、もとはyoutube-dlでforkされた製品のようです。 このソフトウェアをネットで見つけることが難しく、自分で色々チャレンジして結論にいたしました。このような動作しないアプリから動くアプリを探す過程も面白いものです。参考にしていただけると良いと思います。 私の結論は以下の通りです (1) ubuntuのリポジトリには動作するyoutube-dlやyt-dlpが更新されていない (2) GitHubから最新のyt-dlpをダウンロードしてインストールする (3) youtube-dlがforkされてyt-dlpに変わっているが、youtubeで利用できる (4) Windows,Mac,Linuxに対応し、デファクトスタンダードとなっている (5) 著作権とダウンロードサイトの利用規約の遵守、自己責任で利用 【重要】本記事の閲覧にあたっての注意事項(免責事項) 自己責任の原則 : 本記事で紹介するツール(yt-dlp)の利用は、すべて利用者の 自己責任 となります。万が一、利用によって生じたトラブルや損害について、当ブログは一切の責任を負いません。 著作権法の遵守 : 著作権法(第30条1項2号)により、 違法にアップロードされたと知りながら音楽や映像をダウンロードする行為は私的使用であっても違法 (刑事罰の対象)となります。必ず合法的に公開されているコンテンツのみを対象としてください。 利用規約の遵守 : 各動画配信プラットフォーム(YouTube等)は、規約で外部ツールによ...

x86_64のLinuxMint/Ubuntu環境でARM64(KVM/QEMU)の仮想マシンを高速に動作させる方法

記事の更新日:2026/07/17 1.概要 2024年にubuntu-20.04環境のKVMでubuntu-20.04-arm64を動かしました。今回、LinuxMint環境で動作確認を再度作成したので、記事をリライトします。x86_64環境でarm64を動かすにはqemuのaarch64のエミュレーションを利用します。Virt-Managerでubuntuのarm64の環境にisoからインストールすることは可能ですが、遅くて実用的ではありません。理由はエミュレーションなので命令単位に実行するためです。 今回の試験は、KVM上でLinuxMint/Ubuntuのarm64が動作するのを確認して、arm64のPC購入の検討をする予定でした。従って、インストールすることでなく、動かすことが目標なので作成済み仮想マシンから導入するのが早道と考え直しました。その内容を記述します。 2.詳細 (1) LinuxMint環境 環境はLinuxMint 22.3です (a)KVM環境を構築 $ sudo apt -y install virt-manager qemu-system (b)ubuntu-24.04 server仮想マシンイメージ取得 $ https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-arm64.img Diskサイズを10Gに変更 $ qemu-img resize noble-server-cloudimg-arm64.img 10G (c)仮想マシン設定に必要な情報の作成 user-dataをvimで作成します #cloud-config user: ubuntu password: password chpasswd: { expire: false } ssh_pwauth: true user-data.isoを作成します $ touch meta-data $ genisoimage -output ./user-data.iso -volid cidata -joliet -rock user-data meta-data (d)仮想マシンのインストール $ virt-install \ --connect qemu:///system \ --name ub...