Linuxの仕組み

teeコマンドの使い方

本当にいまさらなのだが、teeコマンドの使いかたのメモ。makeコマンドやパッケージ管理マネージャ等を利用する際に、ログをファイルに保存する必要となることが多々ある。 その際に、 # apt-get -y install wireshark > logのような場合は、コマンドの実行結…

bashの基本操作

いまだにLinuxに関しては毎日触っていても知らなかったことが多くて驚く。bash上でCtrlキーと組み合た機能に関して整理した。 こういう機能を自由自在に使いこなせていたら、マウスに一切触れずに操作ができるので見ていてとてもかっこいい! Ctrlキーとの組…

ファイルの種類

Linuxではファイルは通常ファイル・ディレクトリ・スペシャルファイル(デバイススペシャルファイル)に分類される。 スペシャルファイルとは デバイスを抽象化したファイル。デバイスに対して直接プロセスがアクセスするのではなく、スペシャルファイルを経…

デバイスファイル

NICのデバイスファイルを/dev以下に見つけようとおもって探したのだが、みつかりませんでした。 どうやらデバイスファイルといっても「キャラクタデバイス」・「ブロックデバイス」・「ネットワークデバイス」の大きく分けて3種類あり、それぞれ性質が異なる…

netstatコマンドのActive UNIX domain socketsに関して

netstatコマンド実行時には以下のように表示されます(一部略) [root@new-host ~]# netstat -apn Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0…

Xクライアントを別のPCで表示する

あくまでもXクライアントのアプリケーションを表示させるのであって、VNCのようにデスクトップ画面全体を表示するのではないようです。 Xのサーバとクライアント XクライアントはGUIを必要とするWebブラウザ等のアプリケーションであり、Xサーバはディスプレ…

ifconfig eth0 0

Ubuntu12.04を用いたOpenvSwitchの設定時に、NICをIPアドレスを割り振らせない状態で起動させる必要があった。 しかし、NICにIPを割り振らせないでifupさせようとしても、IPアドレスが割り振られていないとのエラーが表示されてしまう。 この場合、一旦IPア…

Linuxのデバイス周りの仕組みに関して

カーネル・デバイスファイル・ドライバの関係がよくわからないため状況の整理のためにまとめてみました。 カーネルモジュールとしてのデバイスドライバ Linux上でデバイス(モニタ・ドライバ・マウスなど)を用いるには、デバイスドライバ(デバイスを利用する…

whoisコマンド

whoisコマンドでドメイン名を指定することで、ドメインの管理者に関する情報を取得できる。詳細はここを参照。 ドメイン名を指定した場合は、以下のように情報が表示される。 [root@new-host ~]# whois jp [Querying whois.internic.net] [Redirected to who…

FHS(Filesystem Hierarchy Standard)

一応FHSに対する標準化は策定されているのだが、それでもディストリビューションごとに細かい差異が存在する。 ディレクトリ名 配置されるファイル /lib 共有ライブラリ・カーネルのモジュール・各コマンドの実行に必要なライブラリが配置されている /opt パ…

電源を入れてからOSが起動するまでのプロセス

厳密にはアーキテクチャごとに異なるのでここでは一般論。いきなりカーネルを読み込んでいるわけではなく、ブートセクタからブートローダを介していることに注意。 電源ONからinitスクリプトの実行まで 1. 電源ON 2. BIOSが起動(ハードウェアの初期化・BMR…

BIOS(Basic Input/Output System)

ザーボードや拡張カードのフラッシュROMに書き込まれている、ハードウェアと最も低レベルの入出力を行うファームウェアである。PCに電源を入れてから、OSが起動するまでの間を受け持っている。 BIOSの役割 日付や時刻の設定 起動ドライブの順序 ハードウェア…

ファイルシステム

ファイルシステムの役割 ファイルシステムがない場合、ハードディスクのセクタ等を明示的に指定してデータを読み込むことになるが、これは当然非現実的である。ファイルシステムが、ファイルを用いてデータへのアクセスを可能する。 ファイスシステムが間に…

現在利用しているシェルの確認

[root@new-host ~]# echo $SHELL /bin/bashのようにして確認ができる。この例だとbashである。 シェルの種類 ログインシェルユーザがログインした際に、最初に用いるシェル。/etc/passwdファイルにどのシェルを用いるかが記載されている。シェルスクリプト一…

ディスクパーティション

ハードディスクデバイスファイルは、一つのマシンに複数台のハードディスクが接続されたときの話だったが、今回は1台のハードディスクに限定したケースとなる。パーティションの管理はfdiskコマンドで、パーティションを指定してから、対話的に行える。 パ…

ハードディスクデバイスファイル

複数台のハードディスクがマシンに接続した場合に、カーネルが各ハードディスクがどのようなデバイスファイルとして扱うかを、接続の規格ごとにまとめた。 接続規格 HDDの接続規格にはIDE,SCSI,SATAが存在する。 IDE デバイスファイルは /dev/hda,/dev/hdb,/…

gccでヘッダファイル・ライブラリのパスを指定する方法

オープンソースのコンパイルで失敗する原因のほとんどは、ライブラリorヘッダファイルが存在しない・ライブラリorヘッダファイルのパスが誤っているのいずれかになります。後者の場合自分でMakefileを修正しなくてはなりません。そこでgccのオプションに関す…

Linuxの設定に失敗するケース

Webページ記載の設定マニュアルに従ってLinuxのパッケージのインストールしても、うまくインストールできないことが多々あります。それらを分類整理して対策を考えてみました。 分類 そもしも設定マニュアルそのものが間違っている ケース1. 誤記など、そも…

リポジトリ

リポジトリ パッケージを保存してある場所。パッケージ管理コマンドを用いてアプリケーションを取得する場合は、リポジトリからパッケージを入手してくる。 一般的にはインターネット上にあるが、インストールメディア等をリポジトリとして、そこからパッケ…

パッケージ管理とソースからのコンパイル

パッケージ: アプリケーションが動作するのに必要なバイナリ、設定ファイル、ドキュメント、ライブラリをひとまとめにしたもの。 それぞれのメリット・デメリット debパッケージ等でインストールする場合は、アンインストールすれば、環境が元に戻る。しか…

ttyとptsの違い

psコマンドのTTYの行では、以下のようにttyやptsが表示される。 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 2542 0.0 0.0 3816 496 tty1 Ss+ 10:23 0:00 /sbin/mingetty root 3176 0.0 0.3 66120 1596 pts/1 Ss 10:24 0:00 -bash root 32…

psコマンドの見方 その1

psコマンドの実行例(CentOS 5.9でps -auxコマンドを実行) USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.3 0.1 10372 708 ? Ss 23:33 0:00 init [5] root 2 0.0 0.0 0 0 ? S< 23:33 0:00 [migration/0] root 3 0.0 0.0 0 0 ? SN 23:33 0…

kvmの実行に必要な条件

Linuxマシン上でkvmを用いて仮想環境を作成するのに必要な条件は以下。VirtualBoxやVMWare等が動いたからと言ってkvmが動くとは限らないのに注意。1. BIOSで仮想化を許可すること(kvm-ok コマンドで確認) 2. CPUが仮想化に対応していること(cat /proc/cpuinf…

qemuとkvm

kvmについて ・正式名称は「Kernel-based Virtual Machine」 ・Linuxのカーネルのモジュール。 ・Linuxそのものをハイパバイザーにする。 ・KVMはLinuxの仮想化支援機構。カーネル2.6.20以降から標準搭載されている。 ・KVMはqemuと組み合わせることで完全仮…

Linuxカーネルメモその1 RAMディスク(initrd.img)について

/usr/src/以下にカーネルのソースコード関連が置かれている。実際のカーネルのバイナリは/boot以下に(vmlinuz-XXXのように)置かれている。それとは別にinitrd.img-XXXというファイルも存在する。 これはRAMディスクとも呼び、カーネルの起動の際に必要とな…

自分で作るLinuxOS

自分で作るLinux OS 最新版 (日経BPパソコンベストムック)作者: 日経Linux出版社/メーカー: 日経BP社発売日: 2008/10/18メディア: 雑誌購入: 3人 クリック: 12回この商品を含むブログ (6件) を見る この本を元に自作してみた。解説も丁寧なのでとても勉強に…

Linuxの構造

物理的なハードウェアからアプリケーションまでの構造は以下の図のようになっている。