Linuxの仕組み
本当にいまさらなのだが、teeコマンドの使いかたのメモ。makeコマンドやパッケージ管理マネージャ等を利用する際に、ログをファイルに保存する必要となることが多々ある。 その際に、 # apt-get -y install wireshark > logのような場合は、コマンドの実行結…
いまだにLinuxに関しては毎日触っていても知らなかったことが多くて驚く。bash上でCtrlキーと組み合た機能に関して整理した。 こういう機能を自由自在に使いこなせていたら、マウスに一切触れずに操作ができるので見ていてとてもかっこいい! Ctrlキーとの組…
Linuxではファイルは通常ファイル・ディレクトリ・スペシャルファイル(デバイススペシャルファイル)に分類される。 スペシャルファイルとは デバイスを抽象化したファイル。デバイスに対して直接プロセスがアクセスするのではなく、スペシャルファイルを経…
NICのデバイスファイルを/dev以下に見つけようとおもって探したのだが、みつかりませんでした。 どうやらデバイスファイルといっても「キャラクタデバイス」・「ブロックデバイス」・「ネットワークデバイス」の大きく分けて3種類あり、それぞれ性質が異なる…
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クライアントのアプリケーションを表示させるのであって、VNCのようにデスクトップ画面全体を表示するのではないようです。 Xのサーバとクライアント XクライアントはGUIを必要とするWebブラウザ等のアプリケーションであり、Xサーバはディスプレ…
Ubuntu12.04を用いたOpenvSwitchの設定時に、NICをIPアドレスを割り振らせない状態で起動させる必要があった。 しかし、NICにIPを割り振らせないでifupさせようとしても、IPアドレスが割り振られていないとのエラーが表示されてしまう。 この場合、一旦IPア…
カーネル・デバイスファイル・ドライバの関係がよくわからないため状況の整理のためにまとめてみました。 カーネルモジュールとしてのデバイスドライバ Linux上でデバイス(モニタ・ドライバ・マウスなど)を用いるには、デバイスドライバ(デバイスを利用する…
whoisコマンドでドメイン名を指定することで、ドメインの管理者に関する情報を取得できる。詳細はここを参照。 ドメイン名を指定した場合は、以下のように情報が表示される。 [root@new-host ~]# whois jp [Querying whois.internic.net] [Redirected to who…
一応FHSに対する標準化は策定されているのだが、それでもディストリビューションごとに細かい差異が存在する。 ディレクトリ名 配置されるファイル /lib 共有ライブラリ・カーネルのモジュール・各コマンドの実行に必要なライブラリが配置されている /opt パ…
厳密にはアーキテクチャごとに異なるのでここでは一般論。いきなりカーネルを読み込んでいるわけではなく、ブートセクタからブートローダを介していることに注意。 電源ONからinitスクリプトの実行まで 1. 電源ON 2. BIOSが起動(ハードウェアの初期化・BMR…
ザーボードや拡張カードのフラッシュ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,/…
オープンソースのコンパイルで失敗する原因のほとんどは、ライブラリorヘッダファイルが存在しない・ライブラリorヘッダファイルのパスが誤っているのいずれかになります。後者の場合自分でMakefileを修正しなくてはなりません。そこでgccのオプションに関す…
Webページ記載の設定マニュアルに従ってLinuxのパッケージのインストールしても、うまくインストールできないことが多々あります。それらを分類整理して対策を考えてみました。 分類 そもしも設定マニュアルそのものが間違っている ケース1. 誤記など、そも…
リポジトリ パッケージを保存してある場所。パッケージ管理コマンドを用いてアプリケーションを取得する場合は、リポジトリからパッケージを入手してくる。 一般的にはインターネット上にあるが、インストールメディア等をリポジトリとして、そこからパッケ…
パッケージ: アプリケーションが動作するのに必要なバイナリ、設定ファイル、ドキュメント、ライブラリをひとまとめにしたもの。 それぞれのメリット・デメリット debパッケージ等でインストールする場合は、アンインストールすれば、環境が元に戻る。しか…
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コマンドの実行例(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…
Linuxマシン上でkvmを用いて仮想環境を作成するのに必要な条件は以下。VirtualBoxやVMWare等が動いたからと言ってkvmが動くとは限らないのに注意。1. BIOSで仮想化を許可すること(kvm-ok コマンドで確認) 2. CPUが仮想化に対応していること(cat /proc/cpuinf…
kvmについて ・正式名称は「Kernel-based Virtual Machine」 ・Linuxのカーネルのモジュール。 ・Linuxそのものをハイパバイザーにする。 ・KVMはLinuxの仮想化支援機構。カーネル2.6.20以降から標準搭載されている。 ・KVMはqemuと組み合わせることで完全仮…
/usr/src/以下にカーネルのソースコード関連が置かれている。実際のカーネルのバイナリは/boot以下に(vmlinuz-XXXのように)置かれている。それとは別にinitrd.img-XXXというファイルも存在する。 これはRAMディスクとも呼び、カーネルの起動の際に必要とな…
自分で作るLinux OS 最新版 (日経BPパソコンベストムック)作者: 日経Linux出版社/メーカー: 日経BP社発売日: 2008/10/18メディア: 雑誌購入: 3人 クリック: 12回この商品を含むブログ (6件) を見る この本を元に自作してみた。解説も丁寧なのでとても勉強に…
物理的なハードウェアからアプリケーションまでの構造は以下の図のようになっている。