プログラミング– category –
-
シェルスクリプト
rsyncで「IO error encountered — skipping file deletion」が発生した原因と対処法
rsyncを利用して定期的なローカルバックアップスクリプトを運用している際、転送処理中にエラーが発生して一部のファイル同期および削除処理がスキップされるトラブルに遭遇しました。今回はその原因の特定と、安全にスクリプトを修正して正常終了させるまでの手順をまとめます。 エラーの発生状況と原因 バックアップスクリプトを実行したと... -
Docker
Dockerで放置された不要なコンテナを安全かつ確実に削除・掃除する手順
サーバー上で docker ps を実行した際、過去に起動したまま数ヶ月間放置されているコンテナを見つけることがあります。不要になったコンテナはリソースを圧迫する要因となるため、適切なコマンドを用いて速やかに削除し、環境をクリーンな状態に保つことが望ましいです。本記事では、稼働中のコンテナを停止・削除する手順と、関連する不要リ... -
シェルスクリプト
Emacsを常にターミナル内(-nw)で起動させる設定とsudo実行時の対策
GUI環境が整っている端末であっても、エディタはターミナル内部で軽快に動かしたいという場面は多くあります。Emacsをターミナル内で起動するには通常 -nw オプションを付与しますが、コマンドを実行するたびに入力するのは手間がかかります。そこで、常にターミナル内で開くための設定と、sudo を付与した際にもその挙動を維持する方法、さ... -
シェルスクリプト
Webブラウザでシェルにアクセスする Shell In A Box のセットアップ備忘録
目的と再現環境 Webブラウザを経由してサーバーまたはローカルマシンにセキュアにアクセスできるターミナル環境を構築することは、リモートワークフローや簡易的なサーバー管理において利便性が高い。本記事は、WebベースのSSHクライアントである Shell In A Box (SIA) をmacOS上にセルフホストし、LAN内の他のPCからアクセス可能にするまで... -
シェルスクリプト
bashでターミナル間の履歴を共有する方法
bash の履歴は通常、各ターミナルが独立して管理しており、複数のウィンドウを開いて作業していると、過去に実行したコマンドが別のターミナルに反映されず不便である。この問題は、bash が履歴ファイル(一般に ~/.bash_history)を読み書きするタイミングが限られていることに起因する。 デフォルトでは、ターミナル終了時に履歴が書き込ま... -
RDB
データ独立性の理解と実例:論理的・物理的独立性を中心に
データベース設計において「データ独立性」とは、データの構造や格納方法を変更しても上位層に影響を与えずに済むようにする考え方である。これにより、システムを柔軟に保ち、保守や拡張を容易にすることができる。データ独立性は「論理的データ独立性」と「物理的データ独立性」の二つに分けられる。 データベースの三層構造モデルでは、外... -
プログラミング全般
SSH鍵方式の変遷とEd25519への移行メモ
長年SSH鍵を生成する際には ssh-keygen -t rsa が定番であった。しかし近年、セキュリティ界隈では「Ed25519」方式が推奨されるようになっている。本記事ではRSAからEd25519への変遷を整理し、その背景と注意点を備忘録としてまとめる。 RSAの現状と課題 RSAは公開鍵暗号の古典的方式であり、長年にわたって安定して使われてきた。現在でも20... -
Python
WSLでpyenvをインストールする方法(推奨構成)
pyenvは複数のPythonバージョンを共存・切り替え可能にするバージョン管理ツールである。WSL上でPython開発環境を整える際、システム標準のPythonを汚さずに複数環境を扱える点で有用である。ここでは、WSL2 + Ubuntu環境を前提とした最適な手順を解説する。 環境前提 項目内容OSWindows 10 / 11WSL バージョン2Linux ディストリビューション... -
Go
Linux/WSLでghqをインストールする方法
ghqは、リポジトリを一元的に管理するためのCLIツールである。GitHubやGitLabのリポジトリを一貫したパスで管理し、開発環境を整理するのに非常に有効である。WSL上ではLinux環境として動作するため、Go製のツールであるghqを直接ビルド・配置するのが最も適している。 前提条件 項目内容OSWindows 10 / 11WSL バージョン2Linux ディストリビ... -
Go
Linux/WSLでGo言語をインストールする方法
Windows Subsystem for Linux(WSL)は、Windows上でLinux環境を軽量に動作させる仕組みである。Go言語を利用する際も、Windowsネイティブ版よりもWSL環境にインストールすることで、Linux開発環境と同等の挙動が得られるため推奨される。本記事では、WSL上でGoをインストールする推奨手順を整理する。 環境の前提 本記事の手順は、次の環境...