のぴぴのメモ

自分用のLinuxとかの技術メモ

Linux

"LB + Web x 2 + RDB"マルチAZ”でWordPressをインストールするCloudFormation

はじめに 前にAWSさんの体験ハンズオンで経験した"LB + Web x 2 + DB x 2"環境構築して、そこに動作確認としてWordPressをインストールして動かすところまでの手順を、CloudFormationを使って自動化して見ました。WordPressのインストールは、CloudFormation…

SRPM展開&Gun global解析&squashfs化する自作ツールの説明

1.ツールができること 2.インストール方法 2.1 前提環境 2.2 前提パッケージ 2.3 Gnu Globalのインストール 2.4 ツールのセットアップ 2.5 ディレクトリの準備 2.6 sudo設定 3.使い方 3.1 簡単な使い方 3.2 引数の説明 1.ツールができること "srpm2html.py"…

SRPMインストール先を指定する方法

1.普通にSRPMをインストールした場合 2.インストール先ディレクトリを指定する方法 2.1 RPMのマクロ定義ファイル("~/.rpmmacros")で指定 (1)マクロ定義ファイルの設定 (2)SRPMのインストール 2.2 コマンド引数でインストール先ディレクトリを指定する方法 3.…

ubuntuで古いカーネルを削除する方法(/bootの空きが足りない時とか)

1.はじめに 2.対処方法(古いkernelの削除) (1)現在のカーネルバージョンの確認 (2)インストール済みカーネルのバージョン一覧を確認 (3)コマンドをテスト実行確認(DryーRun) (4)パッケージを削除する (5)削除されたか確認 3.参考 1.はじめに ubuntuで「ソフ…

KickStartその3(ネットワーク構成例 -vlan、bonding構成も)

0.関連記事一覧 1.はじめに 2.ネットワーク構成例 2.1静的IP構成 (1)構成イメージ (2)KickStart設定例 2.2DHCP設定の場合 (1)構成イメージ (2)KickStart設定例 2.3複数セグメント設定 (1)構成イメージ (2)KickStart設定例 2.4VLAN設定 (1)構成…

KickStartその2(ks.cfg設定ファイルの説明)

0.関連記事一覧 1.はじめに 2.ネットワーク設定 (1)スタティック設定例 (2)DHCP設定例 3.ディスク設定 (1)ブートディスク構成例*1 (2)上記構成例の場合のKickStart設定 4.インストールパッケージ設定 5.ユーザ設定 (1)rootユーザのパスワード設…

KickStartその1(KickStartによるLinux自動インストール概要)

0.関連記事一覧 1.はじめに 1.1KickStartとは 1.2ざっくりした使い方 2.利用手順 2.1ファイル(ks.cfg)の編集 2.2ファイル検証 2.3インストーラを起動しキックスタートをローディングする 2.4インストール完了 3.補足(kickstartフ…

Macbook Air(2010/A1370)にUbuntu16.04 LTS(Xenial Xerus)を入れてみた

1.はじめに 2.準備(インストールメディア) インストールメディアを用意 USBメモリブートメディア作成 3.インストール 4.MacBook用のubuntu設定 ファンクションキーの反転 マウス変更 5.使いやすくするために ランチャーへの登録 アップデート GUIから実…

gccのインラインアセンブラで使えるx86系の汎用レジスタの制御子(Constraints)

一覧 インラインアセンブラ制御子レジスタ名称 x86(32bit)x86_64(64bit) aeaxrax bebxrbx cecxrcx dedxrdx Sesirsi Dedirdi r8-r8 r9-r9 r10-r10 r11-r11 r12-r12 r13-r13 r14-r14 r15-r15 ネタ gccのマニュアル(6.44.3 Constraints for asm Operands) IntelのCPU…

32bitアプリの2038年問題に対してglibc介さずシステムコールを直接呼べば何とかなるかなという浅はかな考えがやっぱり浅はかだった件

はじめに 32bitアプリの2038年問題回避方法 今回の実験の安直な発想 実験のコード コードの説明 コード(time.c) 実行結果 64bit環境 32bit環境 カーネル挙動を確認する ftrace(trace-cmd)での確認方法 トレース結果 64bitアプリからのカーネルトレース(…

(linux)x86(32bit)でアセンブラでシステムコールを呼び出す方法。

はじめに 2015.12.28追記 アセンブラでシステムコールを呼びだす方法 参考 はじめに 標準Cライブラリ(Linuxではglibc)に頼らず、システムコールを呼びして見たいなとの思いから、勉強がてらアセンブラでシステムコールを呼びだす方法をまとめてみました。 20…

32bitと64bitプロセスのtime_tのbitsを実機確認してみる

サンプルプログラム 実機確認 32bitプロセスの場合 64bitプロセスの場合 蛇足 32bitプロセスと64bitプロセスで、glibcのtime_t変数のビット数がどう違うのか確認してみました。 サンプルプログラム #include <stdio.h> #include <stdlib.h> #include <sys/time.h> #define sizeof_bits(x) (i</sys/time.h></stdlib.h></stdio.h>…

(ftrace)trace-cmdでfunction_graphを使ってみる

はじめに ftraceを使うためのセットアップ (1)kenelのリビルド (2)debugfsの/sys/kernel/debugへのマウント (3)trace-cmdのインストール。 trace-cmdを使う 基本的な使い方(trace-cmdからコマンドを実行する) 実行中のプロセスのトレースを取得する はじめに…

Macbook Air(2010/A1370)にubuntu14.04(Trusty)を入れてみた

(2016/12追記)ubuntu16.04のインストールの話も別記事で書いていますので、そちらも参照下さい。 nopipi.hatenablog.com 1.はじめに MacbookAir3.1(2010年モデル:A1370)に、Ubuntu14.04.3(Trusty Tahr)をインストールしました。結果的には、14.04では基本…

【RHEL/CentOS】RHEL6.6にMemAbailableがバックポートされている件

はじめに 先日の下記の記事で「RHEL6ではバックポートされてMemAvailableが使えるよ」という情報を頂いたので、追加で情報を整理しました。 nopipi.hatenablog.com RHEL6.6へのMemAvailableのバックポート MemAvailableは、RHEL6.6でバックポートされてまし…

【RHEL】linuxのメモリ使用率(利用率)の計算方法

はじめに linuxのメモリ利用容量(空き容量)の考え方 linuxのメモリ利用容量/空き容量の計算方法 ■RHEL7 【freeコマンドとmeminfoの図解】 【計算方法】 freeコマンド表示例 /proc/meminfo表示例 ■RHEL6 【freeコマンドとmeminfoの図解】 【計算方法】 freeコ…

【Fedora22】日本語入力設定のメモ

IME設定(デフォルトibus-kkcを入力ソースに追加) IME切替ショートカットの変更(「半角/全角」キーに変更) 忘れないように、自分用のメモ IME設定(デフォルトibus-kkcを入力ソースに追加) Fedora22のデフォルトIMEは、ibus-kkcのようでデフォルトでインストー…

【RHEL7】sysctlのカーネルパニックオプション

sysctlのカーネルパニックオプション panicの整理 panic系パラメータの関係 それぞれのパラメータの挙動 kernel.panic kernel.panic_on_unrecovered_nmi kernel.unknown_nmi_panic kernel.panic_on_io_nmi kernel.panic_on_warn kernel.softlockup_panic ker…

RHEL7 initramfsの展開方法

今までのやり方では展開されない [RHEL7/CentOS7/FC21]initramfsの展開方法 グーグルさんに聞いてみる 手順 バイナリ解析ツールのインストール initramfsの解析と展開 今までのやり方では展開されない 普通、initramfsの中身を展開する場合は、gunzipあたり…

RHEL6 squashfsの作り方

squashfsとは squashfsのファイルシステムの作り方 squashfs用ツールのインストール squashfsファイルシステムの作成 squashfsファイルシステムのマウント fstabで自動マウント 追伸 squashfsとは squashfsとは、圧縮された読み込み専用のファイルシステムで…

Linux /proc/meminfoの統計情報を取得する。

/proc/meminfoの統計情報を取得する コマンドで取得する(テストなどの秒間隔での取得) cronで取得する(日/週/月単位のトレンド取得) 取得用のシェル シェルをキックするcron設定 /proc/meminfoの統計情報を取得する Linuxのメモリ挙動を詳しく分析するために…

ダイレクトIOの実装

ファイルシステム上のファイルにキャッシュを解さずread/writeするためには、DirectIOで操作する必要がある。DirectIOを操作するには、 ファイルをオープンする時に、O_DIRECTオプションを付与する read/writeで操作する際のバッファは、512KB(Linux kernel2…

デーモンは2度forkするのが作法らしい

デーモンプロセス起動時の作法 サンプルプログラム デーモンプロセス起動時の作法 デーモンを起動する場合、2度forkするのが作法らしく、これは「セッションリーダにならないようにすることで端末の制御を誤ってしないように」ということらしい。詳しくはこ…

【RHEL6】yumでRHEL6のDVDからrpmパッケージをインストールする方法

1.RHELメディアのマウント 2.yumレポジトリの設定 3.RHN接続の無効化(任意) 4.確認 1.RHELメディアのマウント 今回の例では、/mntにDVDをマウントする。 mount -t iso9660 -o ro /dev/cdrom /mnt 2.yumレポジトリの設定 /etc/yum.repos.d/に、xxx.repoとい…

【RHEL6】ipv6無効化

1.設定 2.IPv6向けiptableサービスの無効化 (1)ip6tablesサービスの停止 (2)ip6tablesサービスの自動起動抑止 3.ネットワークの再起動 4.確認 (1)dmesg設定 (b)ifconfigでipv6アドレスがないことを確認 -IPv6が有効な場合 -IPv6が無効な場合 【参考】 ipv6の…

Fedora/RHEL シリアルコンソールの設定

1.はじめに 2.設定 (1)GRUBの設定 (i)シリアルコンソールからのGRUB操作を可能にする。 (ii)GRUB設定を反映する。 (2)カーネルの設定 (ii)GRUB設定を反映する。 (3)シリアルコンソールからのログイン設定 (i)端末設定 (ii)シリアルコンソールからのroot…

irqbalanceサービスについて

1.irqbalance概要 2.詳細 3.サービス起動可否の考え方 1.irqbalance概要 FedoraやRHEL,Suseなど多くのLinuxディストリビューションに標準実装されているデーモンで、マルチCPU環境において、IRQ割込み処理を複数のCPU間で負荷分散させることを目的として…

Fedora/RHEL 169.254.0.0ルーティング情報の削除

ルーティング情報(routeなどで出力)に設定していない、169.254.0.0という情報が表示される。これは、DHCPでIP情報が取得できなかった場合に使用するAPIPAの情報らしいが、必要ないので無効化する。 1.設定 /etc/sysconfig/networkに下記設定を追加する。ネ…

Fedora/RHEL cloop自動マウント用rcスクリプト

1.cloop用シェル ※備考 (a)MAX_CLOOP=8 (b)CLOOP_DEV[n],CLOOP_FIL[n],CLOOP_DIR[n] 2.シェルの組み込み (1)上記のサンプルシェルを/etc/init.dに配置する。 (2)chkconfigコマンドでOS起動停止処理に組み込む OS起動停止時に、cloopモジュールロード・アン…

Fedora5/RHEL4 cloopでLinux圧縮ファイルシステムを作る

1.はじめに 2.手順(cloopデバイスの組み込み) (1)前提のパッケージ (i) カーネルソースコード (ii) zlib-devel(zlib開発用ライブラリ) (2)cloopソースコードの入手 (i)Debian公式サイトへ行く (ii)下記順番でクリックする (iii)記事執筆時点の最新版(と…