Linux コマンドの多言語対応 ~ tar の「空のアーカイブ作成はご容赦願います」の謎に迫る~

多くの Linux コマンドは、環境変数によってメッセージを切り替えます。 参考 【Linux入門】ローカライゼーションのためのロケール情報設定方法 ]# LANG=C tar -c tar: Cowardly refusing to create an empty archive Try 'tar --help' or 'tar --usage' for…

Linux yum を基礎から理解する

普段なんとなく yum を使っていませんか?私はそうです。 ということで、 yum を基礎からおさらいしました。 検証環境 yum の基礎 パッケージ パッケージの中身の確認 どのように依存関係を解決するか? リポジトリにアクセスする マイナーバージョン リポジ…

Linux システムコール 徹底入門

Linux システムコールについて調べたことをまとめる。システムコールの仕組みを理解すると、 OS とアプリケーションがどのように連携して動いているのかを理解できるようになります。 システムコールは CPU に依存する処理が多いため、 x86_64 に絞ります。 …

Java 経験者がスムーズに Python を使い始めるために

これまでは主に Java を読み書きしていたのですが、業務が変わってからはインフラ自動化やデータ分析のためにPython スクリプトを書く機会が増えてきました。最近は世の中的にも、様々な言語やライブラリを適材適所で採用し、組み合わせてシステムを構成する…

Linux procfs 徹底入門

これは Linux Advent Calendar 2019の 15 日目の記事です。procfs について勉強したことをまとめます。 検証環境 procfs とは 代表的なファイル システム全体 /proc/cpuinfo /proc/meminfo /proc/cmdline /proc/filesystems /proc/modules /proc/mounts /pro…

Java コードリーディングのコツ

この記事は 品川 Advent Calendar 2019 の5日目です。 OB 枠での参加です。いったいどこの某弊社なんでしょうか… 。 本記事は Eclipse で Java ライブラリのコードリーディングを行うときのコツをまとめます。あくまでも「自分はこんな考え方やテクニックを…

Linux メモリ管理 徹底入門(プロセス編)

Linux カーネルのメモリ管理方法について、勉強したことをまとめる。プロセス編。 カーネル編はこちら。 www.kimullaa.com メモリ管理の特徴 連続したメモリ領域 プロセスごとに独立したアドレス空間 実行例 メモリの効率的な割り当て デマンドページング ス…

Linux ファイルシステム 徹底入門

検証環境 ファイルシステムとは何か? ファイルアクセスの詳細 ストレージデバイスの特徴 open inode dentry file dentry キャッシュと inode キャッシュの効果を測定する read ページキャッシュとバッファキャッシュ ページキャッシュ バッファキャッシュ di…

PostgreSQL WALログの仕組みとタイミングを理解したい

DB

普段はアプリケーションレイヤの仕事をしているため、「データベースはデータを入れておくただの箱」という発想でした。が、さすがにこれはまずいだろう、と思いたち、勉強中です。 とくにデータベースが専門領域というわけではないので、間違いがあれば教え…

Linux rpmパッケージのコードリーディングをしたい

デバッグ情報を付与するだけなら debuginfo-install を使えばいいが、今回は、ソースコードを閲覧または変更できるようにする。 参考 CentOS 7: デバッグシンボルでパッケージをデバッグする 検証バージョン ]$ cat /etc/redhat-release CentOS Linux releas…