LPICに関するページです。
2009年頃の情報です。
・tabで文字補完可能
・シングルクォーテーション内は全て文字列として認識
・cd - 前のカレントディレクトリへ移動。
Filesystem Hierarchy Standardの略。
ファイルシステム階層標準といいます。
/ ルートディレクトリ
├ /bin 基本コマンド
├ /boot 起動に必要なファイル
├ /dev デバイスファイル
├ /etc 設定ファイル
├ /home(オプション) ユーザーのホームディレクトリ
├ /lib 共有ライブラリ
├ /lib
├ /mnt 一時的なマウントポイント
├ /opt 追加アプリケーション
├ /proc(Linux固有) プロセス情報、カーネルが認識しているデバイス情報
├ /root(オプション) root用ホームディレクトリ
├ /sbin システム管理用コマンドなど
├ /tmp 一時的なファイル
├ /usr 各種プログラムなど
└ /var 変更されるデータ
→BIOS
→ブートローダー(LILO,GRUB)
→カーネル(カーネルイメージのメモリーロード)
→rootファイルシステムのマウント
→initプロセス
・ハードディスクの先頭に置かれている。
・ブートローダの情報などが格納されている。
grub-install /dev/sda
MBR、/bootパーテーション先頭など。
/boot/grub/grub.conf←CeonOS5_2の場合はこちら
/boot/grub/menu.lst
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You do not have a /boot partition. This means that
# all kernel and initrd paths are relative to /, eg.
# root (hd0,0)
# kernel /boot/vmlinuz-version ro root=/dev/hda1
# initrd /boot/initrd-version.img
#boot=/dev/hda
default=0
timeout=5
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-92.el5)
root (hd0,0)
kernel /boot/vmlinuz-2.6.18-92.el5 ro root=LABEL=/
initrd /boot/initrd-2.6.18-92.el5.img
boot
GRUBを格納しているデバイス(boot=/dev/sdaなどと指定する。
GRUBメニュー、grub edit時のroot=/dev/sda2/等と混同しないこと。)
default
デフォルトで起動するカーネル標識の番号
timeout
プロンプトの表示時間(秒単位)
title
メニューに表示されるエントリ名
root
カーネルのルートパーテーションとして
マウントするデバイスを指定
root (hd0,0)は、/dev/sda1を表す。
root (hd1,1)は、/dev/sdb2を表す。
kernel
/boot内に格納されている起動したいカーネルを指定
initrd
起動時にロードする初期RAMディスクイメージを指定
grub edit> kernel /vmlinuz-2.6.18 ro root=/dev/sda2
参照サイト
http://docs.sun.com/app/docs/doc/819-0378/fwbme?l=ja&a=view
①GRUB メインメニューで矢印キーを使用して編集対象のブートエントリを選択
②eと入力しGRUB編集メニューにアクセス
③矢印キーを使用して kernel 行またはkernel$ 行を選択します。
④eと入力しブート引数をその行に追加
⑤指定する追加のブート引数を入力
⑥Returnキーを押して変更を保存
mem=2G
メモリ使用量を2GBに指定
カーネルとは
OSの基本機能を実装したソフトウェア。
OSの中核部分として、アプリケーションソフトや
周辺機器の監視、ディスクやメモリなどの資源の管理、
割りこみ処理、プロセス間通信など、OSとしての基本機能を
提供する。
追加機能や周辺機器の制御ソフトウェア(ドライバ)などを
モジュール化して、後から追加できるようになっている。
参照サイト
http://e-words.jp/w/E382ABE383BCE3838DE383AB.html
初期RAMディスク(initrd/initramfs)とは、
Linuxの起動時において、本番用ルートファイルシステムが
使用可能となるまでの間、暫定的に利用する仮の
ルートファイルシステム、およびディバイスドライバの
ロードスクリプト(linuxrc)の総称である。
linux 1及びlinux single
ランレベル3で起動する場合は linux 3
/etc/lilo.conf
カーネルイメージはイメージ行に記述する。
append ="mem=256MB"
256MBで起動する
/sbin/lilo
カーネルが最初に実行するプロセスである/sbin/initは
/etc/inittabファイルのエントリを参照しながら、
各ランレベルで実行するプログラムを決定している。
プログラムがファイルシステムのマウント状況を
確認するために利用するファイルです。
また、/etc/fstab に記述しておくことで、
mountコマンドの引数を省略できる。
fstabの内容の見方
①tmpfs ②/dev/shm ③tmpfs ④defaults ⑤0 ⑥0
①マウントラベル、ディスクデバイス名、
リモートファイルシステムを指定。
②マウントポイントを指定。
③ファイルシステムの種類を指定。
④どうマウントするか指定。マウントオプション。
defaults
usrquota
grpquota
user
users
suid
noauto
rw
ro
など。
詳細は
http://www.linux.or.jp/JM/html/util-linux/man8/mount.8.html
⑤1→dumpコマンドでのバックアップ対象となる。
ext2,ext3の場合は1、その他は0を指定する
⑥ブート時にfsckがチェックする順番。
0→チェックしない。
usersオプション
一般ユーザーでもマウントできて、
全ての一般ユーザーがアンマウントできるオプション。
現在マウントされているファイルシステム情報を格納。
mountコマンドやumountコマンドが使用する。
ファイルのマウント、アンマウント時に
自動的にエントリが記述される。
ldd
実行ファイルが必要としている共有ライブラリを調べるコマンド
ldd -v
バージョン情報を含めた詳細を出力。
実際にコマンドを確認すると
通常表示で表示後にVersion information:
から以下のような行が出力される。
libdl.so.2 (GLIBC_2.1) => /lib/libdl.so.2
①/etc/ld.so.confを編集する、環境変数LD_LIBRARY_PATHに
追加する、のどちらかは未理解。
多分全ユーザーに向けて反映させるには/etc/ld.so.confを編集、
各ユーザー固有なら環境変数LD_LIBRARY_PATHに追加する、
だと思う。
②ldconfig を実行する。すると、/etc/ld.so.cache に反映される。
※共有ライブラリを必要とするプログラムが実行されると、
/etc/ld.so.cacheファイルを参照し共有ライブラリが格納
されているディレクトリのパスを取得する。
システム起動時+動作時の全イベントログ
システム起動時のソフトウェアのログ
セキュリティに関するログ
最終ログインのログ。
lastlogコマンドで表示可能。
書き込まれたデータが全て消えるスペシャルファイル。
「command >/dev/null 2>&1」は実行結果を出力しない。
=標準出力/標準エラー出力ともに/dev/nullに捨てる。
historyで閲覧可能。
bashで実行したコマンドの履歴がデフォルトで
保存される。
多分、umaskが設定されている。←CentOS5.2では確認できなかった。
PATHなどが有った。一般ユーザーで編集可能。
オンラインマニュアルの格納先
/rc3.dの3はランレベル。
「Kと2桁の数字」で始まるファイルはKill、実行されないスクリプト。
「Sと2桁の数字」で始まるファイルはStart、実行されるスクリプト。
。KやSに続く数字は、数字の小さいスクリプトから順に実行されるという優先順位。
変更コマンドはinitかtelinit。telinitはランレベルを移行するまで
の時間指定も可能。
init Sやinit 6と指定する。
即座に反映される=モードが変わる。
デフォルトのランレベルが
変更された訳ではないことに注意。
現在のランレベルを表示。
デフォルトのランレベルの変更は
/etc/inittabファイルを編集する。
init Qを実行すると、再起動せずに、
/etc/inittabファイルの変更を即座に
反映させる事が可能です。
0 シャットダウン(システムの停止)
1及びS及びs シングルユーザーモード(rootのみ)
2 ネットワークなしのマルチユーザーモード
3 通常のマルチユーザーモード(テキストログイン)
4 未使用
5 グラフィカルログインによるマルチユーザーモード
6 システムの再起動
kill→PIDで指定。killall→プロセス名で指定。
kill シグナル番号か名前
1 HUP 再起動
2 INT(SIGINT) 割込み。プロセスの中断。ctrl+Cと同じ。
9 KILL 強制終了
15 TERM 正常終了(デフォルト)
・debian系
dpkg
apt-get 依存関係考慮
aptitude より高度
・Red hat系
rpm
yum 依存関係考慮
dpkgはそのままdebian packageの略。
/etc/dpkg/dpkg.cfg
dpkgコマンドの設定ファイル
dpkg -i
インストール
dpkg -C(--audit)
パッケージのインストール状態を検査する。
インストールが完了していないパッケージをチェックする等。
dpkg -c
パッケージに含まれるファイルの一覧表示。-lと混同しない。
dpkg -l(--list)
インストール済みのパッケージを一覧表示。-cと混同しない。
唯一オプションの後にパッケージ名を入力しないコマンド。
dpkg -L
指定したパッケージによってインストールされたファイルを表示。
dpkg -r(--remove)
設定ファイルを残してパッケージを削除。
dpkg -P(--purge)
設定ファイルも含めてパッケージを削除。
dpkg -S
指定したファイルがどのパッケージに含まれているかを表示する。
dpkg-reconfigureコマンド
既にインストール済みのパッケージを再度設定する。
/etc/apt/sources.listファイル
※lstでは無くlist
パッケージをダウンロードするサイトを定義する。
-d
ファイルダウンロードのみ。インストールしない。
-s
動作をシュミレート。システムは変更しない。
-u
アップグレードするパッケージの一覧を表示
apt-get install samba
インストールまたはアップグレード
apt-get update
最新のパッケージリストだけを取得・更新
パッケージ情報のキャッシュを更新と
解説しているところも有る。
apt-get upgrade
インストール済みのパッケージそのものを更新。
apt-get dist-upgrade
システムを最新にアップグレードする
(Debianのバージョンをアップグレード)
apt-get remove
パッケージをアンインストールする
apt-get clean
過去に取得して保存中のパッケージを削除する
(アンインストールはされません)
apt-get autoclean
過去に取得した古いパッケージを削除する
(アンインストールはされません)
パッケージ情報の検索や照会をする
apt-cache serch <キーワード>
指定したキーワードを含むパッケージを検索する。
apt-cache show <パッケージ名>
指定したパッケージ情報を表示する。
apt-cache showpkg <パッケージ名>
指定したパッケージに依存しているパッケージ一覧を表示。
apt-cache depends <パッケージ名>
dependsの綴りを間違えないこと、
apt-cacheにおいて--が付くサブコマンドは無い。
指定したパッケージが依存しているパッケージ一覧を表示。
apt-get等より強力なパッケージ管理機能がある。
高機能検索、対話的にソフトウェア追加/削除可能など。