linux
debuginfo は、デバッグ情報が入っているリポジトリ。 検証環境 デバッグ情報とは何か 補足 デバッグ情報の付与のしかた デバッグ情報の効果を確かめる デバッグ情報の中身を見てみる デバッグ情報の問題点 debuginfo gdb での使い方 gdb はどのようにデバッ…
多くの Linux コマンドは、環境変数によってメッセージを切り替えます。 参考 【Linux入門】ローカライゼーションのためのロケール情報設定方法 ]# LANG=C tar -c tar: Cowardly refusing to create an empty archive Try 'tar --help' or 'tar --usage' for…
普段なんとなく yum を使っていませんか?私はそうです。 ということで、 yum を基礎からおさらいしました。 検証環境 yum の基礎 パッケージ パッケージの中身の確認 どのように依存関係を解決するか? リポジトリにアクセスする マイナーバージョン リポジ…
Linux システムコールについて調べたことをまとめる。システムコールの仕組みを理解すると、 OS とアプリケーションがどのように連携して動いているのかを理解できるようになります。 システムコールは CPU に依存する処理が多いため、 x86_64 に絞ります。 …
これは Linux Advent Calendar 2019の 15 日目の記事です。procfs について勉強したことをまとめます。 検証環境 procfs とは 代表的なファイル システム全体 /proc/cpuinfo /proc/meminfo /proc/cmdline /proc/filesystems /proc/modules /proc/mounts /pro…
Linux カーネルのメモリ管理方法について、勉強したことをまとめる。プロセス編。 カーネル編はこちら。 www.kimullaa.com メモリ管理の特徴 連続したメモリ領域 プロセスごとに独立したアドレス空間 実行例 メモリの効率的な割り当て デマンドページング ス…
検証環境 ファイルシステムとは何か? ファイルアクセスの詳細 ストレージデバイスの特徴 open inode dentry file dentry キャッシュと inode キャッシュの効果を測定する read ページキャッシュとバッファキャッシュ ページキャッシュ バッファキャッシュ di…
デバッグ情報を付与するだけなら debuginfo-install を使えばいいが、今回は、ソースコードを閲覧または変更できるようにする。 参考 CentOS 7: デバッグシンボルでパッケージをデバッグする 検証バージョン ]$ cat /etc/redhat-release CentOS Linux releas…
yum-cronでパッケージを自動更新していると、いつの間にかパッケージが思った動作をしなくなることがある。このとき、調べた方法のメモ。 検証バージョン ]$ uname -a Linux localhost.localdomain 3.10.0-957.1.3.el7.x86_64 #1 SMP Thu Nov 29 14:49:43 UT…
課題 Makefileのターゲット内で動的に変数を設定したい。 解決方法 変数がターゲット実行時に確定する場合 環境変数を利用する シェルのコマンド置換$(...)を利用する Makeのshell関数$(...)だと、ターゲット実行前に実行されるから 各行を;でつなげて、変数…
検証環境 docker-compose.ymlで利用できる変数 環境変数 .envファイル Dockerコンテナで利用できる変数 environment env_file docker-compose run -e XXX=YYY 変数の優先順位 コンテナ内の変数の優先順位 docker-compose.yml で参照するときの優先順位 動的…
ロードバランサとは DNSラウンドロビン DNSラウンドロビンでは対応できないこと L7ロードバランサ パケットの流れ L4ロードバランサ IPアドレス変換方式(NAT方式) パケットの流れ MACアドレス変換方式(DSR方式) パケットの流れ 構築してみる L7ロードバラン…
docker-composeとは? docker-composeは複数のコンテナを手軽に扱うためのツール。 yml形式でコンテナに関する設定ができ、 sample]$ ls docker-compose.yml docker-compose.yml version: "3" services: ap: image: "centos:7" command: ["tail","-f","/dev/…
dockerのチュートリアルをやってると、こんなタイプミスをした。 $ ducker run hello-world コマンド 'ducker' は見つかりませんでした。もしかして: ... duckerコマンドないなら作ればいいか。と思い、go言語の勉強がてらにdockerのジョークコマンドを作っ…
細かくて忘れがちなシェルの便利コマンドをメモする。動作確認はbashのみ。 cd - <Esc .> !コマンド履歴番号 グロビング(*,?,{},[]) * ? [] {} ヒアドキュメント bashをviのキーバインドで操作する vimからシェルを実行する cd - カレントディレクトリの前…