$ uname -m
$ arch
$ gcc -v
$ getconf LONG_BIT
2012年10月30日火曜日
2012年9月4日火曜日
Linuxの「ipconfig /renew」
Linux上ではWindowsのような「ipconfig /renew」コマンドは無い。
しかし、心配は無用だ。コマンド名は違うがちゃんとコマンドは存在する。
なお、DHCPクライアントソフトには数種類あり、RedHatでは「dhclient」コマンド、
Vineでは「dhcpcd」というコマンドで、いずれも、現時点のIPアドレスの開放、
新しいIPアドレスの取得という手順を踏む。
「dhclient」コマンドの場合
# dhclient -r
# dhclient
「dhcpcd」コマンドの場合
# dhcpcd -k
# dhcpcd -n -H eth0
しかし、心配は無用だ。コマンド名は違うがちゃんとコマンドは存在する。
なお、DHCPクライアントソフトには数種類あり、RedHatでは「dhclient」コマンド、
Vineでは「dhcpcd」というコマンドで、いずれも、現時点のIPアドレスの開放、
新しいIPアドレスの取得という手順を踏む。
「dhclient」コマンドの場合
# dhclient -r
# dhclient
「dhcpcd」コマンドの場合
# dhcpcd -k
# dhcpcd -n -H eth0
Linuxのデバイス
- ハードディスクデバイスファイル
◆IDEデバイス/dev/hda ・・・ プライマリ・マスター/dev/hdb ・・・ プライマリ・スレーブ/dev/hdc ・・・ セカンダリ・マスター/dev/hdd ・・・ セカンダリ・スレーブ◆SCSIデバイス(SATAを含む)/dev/sda ・・・ 1番目のデバイス/dev/sdb ・・・ 2番目のデバイス/dev/sdc ・・・ 3番目のデバイス/dev/sdd ・・・ 4番目のデバイス - ディスクパーティション
◆基本パーティション
IDE ・・・ /dev/hda1~/dev/hda4 SCSI ・・・ /dev/sda1~/dev/sda4
基本パーティションと拡張パーティションの合計は4つまで
◆論理バーティション
IDE ・・・ /dev/hda5~
SCSI ・・・ /dev/sda5~
論理パーティションは拡張パーティションの中に作られる

2010年9月21日火曜日
Linux略語
[cat] (コマンド) <きゃっと>
複数ファイルをつなげて出力するという意味で "conCATenate" の略で連結の意。
[cd] (コマンド) <しー・でぃー>
"Change Directory" の略。
[chgrp] (コマンド) <ちぇんじ・ぐるーぷ>
"CHange GRouP" の略。
[chmod] (コマンド) <ちぇんじ・もーど>
"CHange MODe" の略。これの読み方は難しい。
[chown] (コマンド) <ちぇんじ・おーな><ちぇんじ・おうん>
"CHange OWNer" の略。これの読み方も難しい。
[df] (コマンド) <でぃー・えふ>
"Disk Free" の略。
[du] (コマンド) <でぃー・ゆー>
"Disk Usage" の略。
[grep] (コマンド) <ぐれっぷ>
ed コマンドの "g/RE/p"(Global Regular Expression Print) の略。
[lib] (ディレクトリ名) <りぶ> <らいぶ> "LIBrary" より。
[ln] (コマンド) <える・えぬ>
"LiNk" の略。
[ls] (コマンド) <える・えす>
"LiSt" の略。
[man] (コマンド) <まん>
"MANual" の略。
[mv] (コマンド) <えむ・う゛い> <むーぶ>
"MoVe" の略。
[rc] (ファイル) <あーる・しー>
"Run Command" の略。UNIX コマンドの初期設定ファイルで ".○○rc" という のが多いのは、これに由来している。
[rm] (コマンド) <あーる・えむ> <りむーぶ>
"ReMove" の略。
[sed] (コマンド) <せど> <えす・いー・でぃー> <すえど> <えす・えど>\ <せっど>"Stream EDitor" の略。
[tmp] (ディレクトリ名) <てんぷ>
"TeMPorary" の略。
[tty] (デバイス名) <てぃー・てぃー・わい> <てぃてぃい>
TeleTYpeの略。
[usr] (ディレクトリ名) <ゆーざ> <ゆー・えす・あーる> <ゆーずる>
"USeR" の略。と、誰もが思っていたが、米国のユーザグループ UniForum が発行している機関誌 CommUNIXations(May/ June 1989)からの転載というこ とで、JUS の /etc/wall No.8/1990/May に載っていた「UNIX Trivia -- UNIX に関するクイズ100問」によると、"User Services and Routines"
[var] (ディレクトリ名) <う゛ぁー> <ばー>
"VARiable" の略。
[vi] (コマンド) <う゛い・あい> <う゛ぃー・あい>
"VIsual" の略。
[X11] (ウィンドウシステム) <えっくす・いれぶん>
"X window system version 11" の略。さらにリリースナンバーをつけて X11R5 のようにも書く。Version 11 は X の最終バージョンである。
複数ファイルをつなげて出力するという意味で "conCATenate" の略で連結の意。
[cd] (コマンド) <しー・でぃー>
"Change Directory" の略。
[chgrp] (コマンド) <ちぇんじ・ぐるーぷ>
"CHange GRouP" の略。
[chmod] (コマンド) <ちぇんじ・もーど>
"CHange MODe" の略。これの読み方は難しい。
[chown] (コマンド) <ちぇんじ・おーな><ちぇんじ・おうん>
"CHange OWNer" の略。これの読み方も難しい。
[df] (コマンド) <でぃー・えふ>
"Disk Free" の略。
[du] (コマンド) <でぃー・ゆー>
"Disk Usage" の略。
[grep] (コマンド) <ぐれっぷ>
ed コマンドの "g/RE/p"(Global Regular Expression Print) の略。
[lib] (ディレクトリ名) <りぶ> <らいぶ> "LIBrary" より。
[ln] (コマンド) <える・えぬ>
"LiNk" の略。
[ls] (コマンド) <える・えす>
"LiSt" の略。
[man] (コマンド) <まん>
"MANual" の略。
[mv] (コマンド) <えむ・う゛い> <むーぶ>
"MoVe" の略。
[rc] (ファイル) <あーる・しー>
"Run Command" の略。UNIX コマンドの初期設定ファイルで ".○○rc" という のが多いのは、これに由来している。
[rm] (コマンド) <あーる・えむ> <りむーぶ>
"ReMove" の略。
[sed] (コマンド) <せど> <えす・いー・でぃー> <すえど> <えす・えど>\ <せっど>"Stream EDitor" の略。
[tmp] (ディレクトリ名) <てんぷ>
"TeMPorary" の略。
[tty] (デバイス名) <てぃー・てぃー・わい> <てぃてぃい>
TeleTYpeの略。
[usr] (ディレクトリ名) <ゆーざ> <ゆー・えす・あーる> <ゆーずる>
"USeR" の略。と、誰もが思っていたが、米国のユーザグループ UniForum が発行している機関誌 CommUNIXations(May/ June 1989)からの転載というこ とで、JUS の /etc/wall No.8/1990/May に載っていた「UNIX Trivia -- UNIX に関するクイズ100問」によると、"User Services and Routines"
[var] (ディレクトリ名) <う゛ぁー> <ばー>
"VARiable" の略。
[vi] (コマンド) <う゛い・あい> <う゛ぃー・あい>
"VIsual" の略。
[X11] (ウィンドウシステム) <えっくす・いれぶん>
"X window system version 11" の略。さらにリリースナンバーをつけて X11R5 のようにも書く。Version 11 は X の最終バージョンである。
2010年9月18日土曜日
X Window System
- 種類
XFree86 ・・・もう使うことはないがテストのためだけに必要
X.Org ・・・現在のデファクトスタンダード
- 保存場所
/usr/X11R6/ ・・・ コマンド、ライブラリ、マニュアル
/etc/X11/ ・・・ confなど設定ファイル
- confのセクション
Files カラーネームデータベース、フォントの設定
InputDevice マウスの設定
Device グラフィックボードの設定
- xfs(Xフォントサーバ)
/etc/X11/fs/config ・・・ 設定ファイル
/etc/init.d/xfs start ・・・ 起動コマンド
- xvidtune
モニタ調整コマンド
- XDM
ディスプレイマネージャ
- ウィンドウマネージャ
/usr/bin/startx ・・・ xinitを起動
Xクライアントの起動スクリプト
/etc/X11/xinit/xinitrc ・・・ 共通スクリプト
~/.xinitrc ・・・ ユーザ用スクリプト
- リモートXクライアント
◆クライアント側
export DISPLAY=[ホスト]:ディスプレイ[.スクリーン]
◆サーバ側
xhost [+|-] [ホスト]
2010年9月15日水曜日
Linuxコマンドリファレンス
◆ファイルコマンド
ls ⇒ ディレクトリの内容を一覧表示する
ls -al ⇒ `.’ で始まるファイルも含めた一覧を詳細表示する
cd dir ⇒ dir (ディレクトリ)へ移動する
cd ⇒ ホームディレクトリへ移動する
pwd ⇒ 現在のディレクトリの名前を表示する
mkdir dir ⇒ dirを作成する
rm file ⇒ file(ファイル)を削除する
rm -r dir ⇒ dirとdir配下全てのファイル・ディレクトリを削除する
語源:再帰的の recursive
rm -f file ⇒ file を強制的に削除する
語源:強制的の force
rm -rf dir ⇒ dir とdir配下全てを強制的に削除する *
cp file1 file2 ⇒ file1をfile2にコピーする
cp -r dir1 dir2 ⇒ dir1をdir2にコピーする
mv file1 file2 ⇒ file1をfile2に移動(名前変更)する;もしfile2がディレクトリの場合はfile1をfile2配下に移動する
ln -s file link ⇒ fileのシンボリックリンク linkを作成する
語源:象徴的な symbolic
touch file ⇒fileを更新・作成する
cat > file ⇒ 標準入力をfileに書き出す
more file ⇒ fileの内容を出力する
head file ⇒ fileの先頭の10行を出力する
tail file ⇒ fileの末尾の10行を出力する
tail -f file ⇒ fileが更新される度に出力し続ける
◆プロセス管理
ps ⇒ ユーザの現在アクティブなプロセスを表示する
語源:process status
top ⇒ 全ての実行中プロセスを表示する
語源:
kill pid ⇒ プロセスIDがpidのプロセスを終了させる
killall proc ⇒ 名前がprocのプロセスを全てkillする *
bg ⇒ Ctrl+Zで停止中またはバッググラウンドのジョブを表示する; バッググラウンドの停止中ジョブを再開する
fg ⇒ 最新のジョブをフォアグラウンドに切り替える
fg n ⇒ n番目のジョブをフォアグラウンドに切り替える
◆ファイルのアクセス権
◆SSH
ssh user@host ⇒ hostへuserとして接続する
ssh -p port user@host ⇒ port指定でssh接続する
ssh-copy-id user@host ⇒ 公開鍵をuser@hostに登録する
■検索
grep pattern files ⇒ files内のpatternを検索する
grep -r pattern dir ⇒ dir配下の全てのファイル内のpatternを検索する
command | grep pattern ⇒ commandの出力結果からpatternを検索する
locate file ⇒ fileというパターンを含む全てのファイルをデータベースから検索する
このデータベースを手動で更新するにはupdatedb
◆システム情報
date ⇒ 現在の日付と時間を表示する
cal ⇒ 今月のカレンダを表示する
uptime ⇒ 現在のuptimeを表示する
w ⇒ オンライン状態のユーザの情報を表示する
whoami ⇒ 現在のユーザ名を表示する
finger user ⇒ userの情報を表示する
uname -a ⇒ カーネル情報を表示する
cat /proc/cpuinfo ⇒ CPU情報を表示する
cat /proc/meminfo ⇒ メモリ情報を表示する
man command ⇒ commandのマニュアルを表示する
df ⇒ ディスク使用状況を表示する 語源:Disk Free
du ⇒ ディレクトリのディスク使用状況を表示する 語源:Disk Use
free ⇒ メモリとスワップの使用状況を表示する
whereis app ⇒ app(アプリケーション)のバイナリ・manページの場所を表示する
which app ⇒ デフォルトで使用されるappを表示する
◆アーカイブの作成・展開
アーカイブ ⇒ 複数のファイル、ディレクトリをひとつのアーカイブ(書庫)ファイルとしてまとめること
展開する ⇒ アーカイブされた複数のファイル、ディレクトリを元に戻すこと
圧縮する ⇒ ファイルのサイズをあるアルゴリズムによって小さくすること
伸張する ⇒ 圧縮したファイルを元に戻すこと
tar cf file.tar files ⇒ filesを含むfile.tarという名のtarファイルを作成する
tar xf file.tar ⇒ ファイルを展開する
tar czf file.tar.gz files ⇒ tarファイルをGzipで圧縮したファイルを作成する
tar xzf file.tar.gz ⇒ Gzipで圧縮されたファイルを展開する
tar cjf file.tar.bz2 ⇒ tarファイルをBzip2で圧縮したファイルを作成する
tar xjf file.tar.bz2 ⇒ Bzip2で圧縮されたファイルを展開する
gzip file ⇒ fileを圧縮しfile.gzに名前変更する
gzip -d file.gz ⇒ file.gzを展開し fileに戻す
◆ネットワーク
ping host ⇒ hostへpingし結果を出力する
whois domain ⇒ domainのwhois情報を取得する←超便利
dig domain ⇒ domainのDNS情報を取得する
dig -x host ⇒ hostの逆引きをする
wget file ⇒ fileをダウンロードする
wget -c file ⇒ 一時中断したfileの続きから再開する
◆インストール
ソースからインストールする:
./configure
make
make install
dpkg -i pkg.deb ⇒ パッケージのインストール(Debian)
rpm -Uvh pkg.rpm ⇒ パッケージのインストール(RPM)
◆ショートカット
Ctrl+C ⇒ 現在のコマンドを終了する
Ctrl+Z ⇒ 現在のコマンドを中断する, fgでフォアグランドジョブ、bgでバックグラウンドジョブに切り替える
Ctrl+D ⇒ exitと同様に現在のセッションをログアウトする
Ctrl+W ⇒ 現在行で1単語を消す
Ctrl+U ⇒ 現在行全体を消す
Ctrl+R ⇒ 最近実行したコマンドを表示する
!! ⇒ 最後に実行したコマンドを繰り返す
exit ⇒ 現在のセッションをログアウトする
ls ⇒ ディレクトリの内容を一覧表示する
ls -al ⇒ `.’ で始まるファイルも含めた一覧を詳細表示する
cd dir ⇒ dir (ディレクトリ)へ移動する
cd ⇒ ホームディレクトリへ移動する
pwd ⇒ 現在のディレクトリの名前を表示する
mkdir dir ⇒ dirを作成する
rm file ⇒ file(ファイル)を削除する
rm -r dir ⇒ dirとdir配下全てのファイル・ディレクトリを削除する
語源:再帰的の recursive
rm -f file ⇒ file を強制的に削除する
語源:強制的の force
rm -rf dir ⇒ dir とdir配下全てを強制的に削除する *
cp file1 file2 ⇒ file1をfile2にコピーする
cp -r dir1 dir2 ⇒ dir1をdir2にコピーする
mv file1 file2 ⇒ file1をfile2に移動(名前変更)する;もしfile2がディレクトリの場合はfile1をfile2配下に移動する
ln -s file link ⇒ fileのシンボリックリンク linkを作成する
語源:象徴的な symbolic
touch file ⇒fileを更新・作成する
cat > file ⇒ 標準入力をfileに書き出す
more file ⇒ fileの内容を出力する
head file ⇒ fileの先頭の10行を出力する
tail file ⇒ fileの末尾の10行を出力する
tail -f file ⇒ fileが更新される度に出力し続ける
◆プロセス管理
ps ⇒ ユーザの現在アクティブなプロセスを表示する
語源:process status
top ⇒ 全ての実行中プロセスを表示する
語源:
kill pid ⇒ プロセスIDがpidのプロセスを終了させる
killall proc ⇒ 名前がprocのプロセスを全てkillする *
bg ⇒ Ctrl+Zで停止中またはバッググラウンドのジョブを表示する; バッググラウンドの停止中ジョブを再開する
fg ⇒ 最新のジョブをフォアグラウンドに切り替える
fg n ⇒ n番目のジョブをフォアグラウンドに切り替える
◆ファイルのアクセス権
- パーミッション
chmod octal file ⇒ fileのアクセス権をoctal(数字1つがそれぞれ所有者, グループ, その他を意味する)に設定する;● 4 ⇒ 読み込み (r)● 2 ⇒ 書き込み (w)● 1 ⇒ 実行 (x)例:chmod 777 ⇒ 全てのユーザにrwxを許可するchmod 755 ⇒ 所有者にrwxを, グループとその他にrxを許可するその他のオプションはman chmodを参照すること語源:change modeパーミッションを表示するには ls -l をつかう - 属性
chattr 属性の設定lsattr 属性の確認語源:change attribute, list attribute
属性とはファイルやディレクトリを保護するext2とext3のしくみa append-only 追加は可能だが、変更や上書きはできないi immutable root以外は内容の削除・変更、名前の変更ができないu undeletable 削除しても復活できる(削除できないわけじゃない)
- 所有権
所有ユーザ・グループの変更chownchgrp
◆SSH
ssh user@host ⇒ hostへuserとして接続する
ssh -p port user@host ⇒ port指定でssh接続する
ssh-copy-id user@host ⇒ 公開鍵をuser@hostに登録する
■検索
grep pattern files ⇒ files内のpatternを検索する
grep -r pattern dir ⇒ dir配下の全てのファイル内のpatternを検索する
command | grep pattern ⇒ commandの出力結果からpatternを検索する
locate file ⇒ fileというパターンを含む全てのファイルをデータベースから検索する
このデータベースを手動で更新するにはupdatedb
◆システム情報
date ⇒ 現在の日付と時間を表示する
cal ⇒ 今月のカレンダを表示する
uptime ⇒ 現在のuptimeを表示する
w ⇒ オンライン状態のユーザの情報を表示する
whoami ⇒ 現在のユーザ名を表示する
finger user ⇒ userの情報を表示する
uname -a ⇒ カーネル情報を表示する
cat /proc/cpuinfo ⇒ CPU情報を表示する
cat /proc/meminfo ⇒ メモリ情報を表示する
man command ⇒ commandのマニュアルを表示する
df ⇒ ディスク使用状況を表示する 語源:Disk Free
du ⇒ ディレクトリのディスク使用状況を表示する 語源:Disk Use
free ⇒ メモリとスワップの使用状況を表示する
whereis app ⇒ app(アプリケーション)のバイナリ・manページの場所を表示する
which app ⇒ デフォルトで使用されるappを表示する
◆アーカイブの作成・展開
アーカイブ ⇒ 複数のファイル、ディレクトリをひとつのアーカイブ(書庫)ファイルとしてまとめること
展開する ⇒ アーカイブされた複数のファイル、ディレクトリを元に戻すこと
圧縮する ⇒ ファイルのサイズをあるアルゴリズムによって小さくすること
伸張する ⇒ 圧縮したファイルを元に戻すこと
tar cf file.tar files ⇒ filesを含むfile.tarという名のtarファイルを作成する
tar xf file.tar ⇒ ファイルを展開する
tar czf file.tar.gz files ⇒ tarファイルをGzipで圧縮したファイルを作成する
tar xzf file.tar.gz ⇒ Gzipで圧縮されたファイルを展開する
tar cjf file.tar.bz2 ⇒ tarファイルをBzip2で圧縮したファイルを作成する
tar xjf file.tar.bz2 ⇒ Bzip2で圧縮されたファイルを展開する
- c : Create アーカイブの作成
- x : eXtract アーカイブの抽出(イクストュラクト)
- z : gZip 圧縮・解凍に gzip を使う(もちろん gzip 形式の場合のみ)
- v : Verbose 作成・抽出時にファイルのリストを画面出力する (冗長の意)
- f : File 作成・抽出するファイルを指定する(tar は本来テープメディアのためのコマンド (Tape ARchive) のため、これを指定しないとデフォルトで /dev/rmt0 になってしまう)
gzip file ⇒ fileを圧縮しfile.gzに名前変更する
gzip -d file.gz ⇒ file.gzを展開し fileに戻す
◆ネットワーク
ping host ⇒ hostへpingし結果を出力する
whois domain ⇒ domainのwhois情報を取得する←超便利
dig domain ⇒ domainのDNS情報を取得する
dig -x host ⇒ hostの逆引きをする
wget file ⇒ fileをダウンロードする
wget -c file ⇒ 一時中断したfileの続きから再開する
◆インストール
ソースからインストールする:
./configure
make
make install
dpkg -i pkg.deb ⇒ パッケージのインストール(Debian)
rpm -Uvh pkg.rpm ⇒ パッケージのインストール(RPM)
◆ショートカット
Ctrl+C ⇒ 現在のコマンドを終了する
Ctrl+Z ⇒ 現在のコマンドを中断する, fgでフォアグランドジョブ、bgでバックグラウンドジョブに切り替える
Ctrl+D ⇒ exitと同様に現在のセッションをログアウトする
Ctrl+W ⇒ 現在行で1単語を消す
Ctrl+U ⇒ 現在行全体を消す
Ctrl+R ⇒ 最近実行したコマンドを表示する
!! ⇒ 最後に実行したコマンドを繰り返す
exit ⇒ 現在のセッションをログアウトする
2010年9月13日月曜日
lddでライブラリへの依存性チェック
※コマンドの引数はフルパスで指定
lsコマンドの依存ライブラリを表示した例
[root@localhost ~]# ldd /bin/ls
linux-gate.so.1 => (0x00873000)
librt.so.1 => /lib/librt.so.1 (0x003f0000)
libacl.so.1 => /lib/libacl.so.1 (0x003db000)
libselinux.so.1 => /lib/libselinux.so.1 (0x00cca000)
libc.so.6 => /lib/libc.so.6 (0x00234000)
libpthread.so.0 => /lib/libpthread.so.0 (0x003c0000)
/lib/ld-linux.so.2 (0x00215000)
libattr.so.1 => /lib/libattr.so.1 (0x00cff000)
libdl.so.2 => /lib/libdl.so.2 (0x003b9000)
libsepol.so.1 => /lib/libsepol.so.1 (0x00c82000)
lsコマンドの依存ライブラリを表示した例
[root@localhost ~]# ldd /bin/ls
linux-gate.so.1 => (0x00873000)
librt.so.1 => /lib/librt.so.1 (0x003f0000)
libacl.so.1 => /lib/libacl.so.1 (0x003db000)
libselinux.so.1 => /lib/libselinux.so.1 (0x00cca000)
libc.so.6 => /lib/libc.so.6 (0x00234000)
libpthread.so.0 => /lib/libpthread.so.0 (0x003c0000)
/lib/ld-linux.so.2 (0x00215000)
libattr.so.1 => /lib/libattr.so.1 (0x00cff000)
libdl.so.2 => /lib/libdl.so.2 (0x003b9000)
libsepol.so.1 => /lib/libsepol.so.1 (0x00c82000)
ソースのコンパイルからインストールまで
- confugureスクリプトを実行
$ ./configure でソースファイルの依存性チェックを行い、 Makefileを生成
-
makeでコンパイル
- make installでインストール開始
tarボールコマンドの覚え方
◆tarボール形式ファイルの展開
tar xzf xqampli.tar.gz
参考 Manpage of TAR
tar xzf xqampli.tar.gz
- c : Create アーカイブの作成
- x : eXtract アーカイブの抽出(イクストュラクト)
- z : gZip 圧縮・解凍に gzip を使う(もちろん gzip 形式の場合のみ)
- v : Verbose 作成・抽出時にファイルのリストを画面出力する (冗長の意)
- f : File 作成・抽出するファイルを指定する(tar は本来テープメディアのためのコマンド (Tape ARchive) のため、これを指定しないとデフォルトで /dev/rmt0 になってしまう)
参考 Manpage of TAR
GRUB
[root@localhost ~]# cat /boot/grub/grub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
# initrd /initrd-version.img
#boot=/dev/sda
default=0 ←この場合、↓のCentOS (2.6.18-194.11.3.el5)が起動する
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-194.11.3.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-194.11.3.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet ←カーネル指定
initrd /initrd-2.6.18-194.11.3.el5.img ←起動時の初期RAMディスクの指定
title CentOS (2.6.18-164.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-164.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.18-164.el5.img
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
# initrd /initrd-version.img
#boot=/dev/sda
default=0 ←この場合、↓のCentOS (2.6.18-194.11.3.el5)が起動する
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-194.11.3.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-194.11.3.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet ←カーネル指定
initrd /initrd-2.6.18-194.11.3.el5.img ←起動時の初期RAMディスクの指定
title CentOS (2.6.18-164.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-164.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.18-164.el5.img
2010年9月11日土曜日
シェルスクリプト
◆シェル
/etc/profile
~/.bash_profile
~/.bashrc
/etc/bashrc上記はlogin時の起動の順番でもある。
login後だと~/.bashrcから始まる
~/ は各ユーザーのhomeディレクトリ
ちなみに~/.bash_logoutはシェルが終了するときに実行される
◆コマンドヒストリ
~/.bash_history
◆コマンドエイリアス
alias [エイリアス名='コマンド'] ※イコール部分にスペースは要らない
alias だけで設定されているエイリアスを表示
unalias エイリアス名 エイリアスの削除
\エイリアス名 一時的無効
◆環境変数の表示
env
[root@localhost ~]# env
HOSTNAME=localhost.localdomain
TERM=xterm
SHELL=/bin/bash
HISTSIZE=1000
SSH_CLIENT=192.168.12.2 62489 22
SSH_TTY=/dev/pts/2
USER=root
LS_COLORS=no=00:fi=00:di=00;34:ln=00;36:pi=40;33:so=00;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=00;32:*.cmd=00;32:*.exe=00;32:*.com=00;32:*.btm=00;32:*.bat=00;32:*.sh=00;32:*.csh=00;32:*.tar=00;31:*.tgz=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.zip=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.bz=00;31:*.tz=00;31:*.rpm=00;31:*.cpio=00;31:*.jpg=00;35:*.gif=00;35:*.bmp=00;35:*.xbm=00;35:*.xpm=00;35:*.png=00;35:*.tif=00;35:
MAIL=/var/spool/mail/root
PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
INPUTRC=/etc/inputrc
PWD=/root
LANG=ja_JP.UTF-8
SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass
SHLVL=1
HOME=/root
LOGNAME=root
CVS_RSH=ssh
SSH_CONNECTION=192.168.12.2 62489 192.168.12.100 22
LESSOPEN=|/usr/bin/lesspipe.sh %s
G_BROKEN_FILENAMES=1
_=/bin/env
[root@localhost ~]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@localhost ~]# echo $HOME
/root
◆ユーザーのシェル変数
環境変数は大文字、ユーザーのシェル変数は小文字が慣例
ユーザー変数の削除
unset 変数名
USBデバイス
◆規格 USBの対応はカーネル2.4から USB1.1
USB2.0はカーネル2.6
USBの主なデバイスクラス
◆ホットプラグ
USBデバイスの確認方法
[root@localhost ~]# lsusb
Bus 002 Device 001: ID 0000:0000
Bus 004 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000
Bus 001 Device 004: ID 3538:0059 Power Quotient International Co., Ltd
Bus 001 Device 001: ID 0000:0000
Bus 005 Device 001: ID 0000:0000
Bus 005 Device 002: ID 0c45:5908 Microdia
USBデバイスで使用できるカーネルモジュールの表示方法
usbmodules
usbmgr
必要なカーネルモジュールのロード/アンロード
USBデバイスをセットアップするためにファイルを実行
usbmgrが見るconfiguration情報はusbmgr.confとpreload.confの 2つです。
usbmgr.conf
これはカーネルモジュールをロード/アンロードするための多くの データが入っています。
preload.conf
usbmgr起動時にロードするモジュール名を入れます。
USB2.0はカーネル2.6
USBの主なデバイスクラス
- HID(HumanInterfaceClass)クラス
「キーボード」、「マウス」、「ジョイパッド」等の入力機器に使用されています。 - マスストレージクラス
「USBメモリ」、「カードリーダ」、「ポータブル音楽プレーヤ」(一部)等の機器に使用されています。リムーバブルメディアドライブとしてPCへ認識し、メモリ内容をファイルとしてみることが可能です。 - オーディオデバイスクラス
「スピーカ」、「マイク」等のオーディオ入出力機器に使用されています。 - HUBクラス
「USB-HUB」に使用されています。
デバイスマネージャでは「汎用ハブ」として表示されます。
| コントローラ | USB.ver | モジュール 2.4 | モジュール 2.6 |
| UHCI | 1.1 | usb-uhci | uhci-hcd |
| OHCI | 1.1 | usb-ohci | ohci-hcd |
| EHCI | 2.0 | ehci-hcd | ehci-hcd |
◆ホットプラグ
USBデバイスの確認方法
[root@localhost ~]# lsusb
Bus 002 Device 001: ID 0000:0000
Bus 004 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000
Bus 001 Device 004: ID 3538:0059 Power Quotient International Co., Ltd
Bus 001 Device 001: ID 0000:0000
Bus 005 Device 001: ID 0000:0000
Bus 005 Device 002: ID 0c45:5908 Microdia
USBデバイスで使用できるカーネルモジュールの表示方法
usbmodules
usbmgr
必要なカーネルモジュールのロード/アンロード
USBデバイスをセットアップするためにファイルを実行
usbmgrが見るconfiguration情報はusbmgr.confとpreload.confの 2つです。
usbmgr.conf
これはカーネルモジュールをロード/アンロードするための多くの データが入っています。
preload.conf
usbmgr起動時にロードするモジュール名を入れます。
PCI拡張デバイスの表示
PCIデバイスの表示
[root@localhost ~]# lspci
00:00.0 Host bridge: Intel Corporation N10 Family DMI Bridge (rev 02)
00:02.0 VGA compatible controller: Intel Corporation N10 Family Integrated Graphics Controller (rev 02)
00:1b.0 Audio device: Intel Corporation N10/ICH 7 Family High Definition Audio Controller (rev 01)
00:1c.0 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 1 (rev 01)
00:1c.1 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 2 (rev 01)
00:1c.2 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 3 (rev 01)
00:1c.3 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 4 (rev 01)
00:1d.0 USB Controller: Intel Corporation N10/ICH7 Family USB UHCI Controller #1 (rev 01)
00:1d.1 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #2 (rev 01)
00:1d.2 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #3 (rev 01)
00:1d.3 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #4 (rev 01)
00:1d.7 USB Controller: Intel Corporation N10/ICH 7 Family USB2 EHCI Controller (rev 01)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e1)
00:1f.0 ISA bridge: Intel Corporation NM10 Family LPC Controller (rev 01)
00:1f.2 IDE interface: Intel Corporation N10/ICH7 Family SATA IDE Controller (rev 01)
00:1f.3 SMBus: Intel Corporation N10/ICH 7 Family SMBus Controller (rev 01)
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 03)
05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
-v オプションでIRQとI/O portsが重複してないか確認できる。
[root@localhost ~]# lspci -v
00:1d.3 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #4 (rev 01) (prog-if 00 [UHCI])
Subsystem: Intel Corporation Unknown device 4f4d
Flags: bus master, medium devsel, latency 0, IRQ 177
I/O ports at 3020 [size=32]
表示内容は長いから割愛。
主なデバイスはEthernet、サウンド、USBコントローラ、PCIブリッジ、VGAなど
PCを最初にセットアップする際に入れるドライバ類と覚えよう。
まとめ 下記ファイルの役割を言える様になろう
/proc/pci
/proc/ipports
/proc/dma
/proc/interrupts
SATAデバイスの認識状況を確認するときには・・・・・
ATA規格 IDE パラレル ジャンパピン 接続台数は2台
SATA シリアル ジャンパピン不要
SCSI 接続可能台数 = bit数 - 1
8bit 7台
16bit 15台
設定情報は /proc/scsi/ にある
SATAデバイスの認識状況を確認するときには・・・・・
例
[root@localhost ~]# cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: Slimtype Model: DVD A DS8A4S Rev: JC21 ←スリムタイプDVDなのがわかる
Type: CD-ROM ANSI SCSI revision: 05
Host: scsi1 Channel: 00 Id: 00 Lun: 00
Vendor: ATA Model: Hitachi HTS54502 Rev: PB2O ←HITACHIのHDDなのがわかる
Type: Direct-Access ANSI SCSI revision: 05
Host: scsi3 Channel: 00 Id: 00 Lun: 00
Vendor: Generic Model: USB Flash Disk Rev: 0.00 ←USBメモリを接続すると増える
Type: Direct-Access ANSI SCSI revision: 02
尚、SATAやUSBメモリなどシリアルデバイスがSCSIとして扱われている理由は・・・
Linuxを開発した当時、これらのデバイスはなく、シリアルはSCSIが主流だったわけで、それに対応して開発された、後から世に出てきたシリアルデバイスは皆、エミュレートされているから。
SATA シリアル ジャンパピン不要
SCSI 接続可能台数 = bit数 - 1
8bit 7台
16bit 15台
設定情報は /proc/scsi/ にある
SATAデバイスの認識状況を確認するときには・・・・・
例
[root@localhost ~]# cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: Slimtype Model: DVD A DS8A4S Rev: JC21 ←スリムタイプDVDなのがわかる
Type: CD-ROM ANSI SCSI revision: 05
Host: scsi1 Channel: 00 Id: 00 Lun: 00
Vendor: ATA Model: Hitachi HTS54502 Rev: PB2O ←HITACHIのHDDなのがわかる
Type: Direct-Access ANSI SCSI revision: 05
Host: scsi3 Channel: 00 Id: 00 Lun: 00
Vendor: Generic Model: USB Flash Disk Rev: 0.00 ←USBメモリを接続すると増える
Type: Direct-Access ANSI SCSI revision: 02
尚、SATAやUSBメモリなどシリアルデバイスがSCSIとして扱われている理由は・・・
Linuxを開発した当時、これらのデバイスはなく、シリアルはSCSIが主流だったわけで、それに対応して開発された、後から世に出てきたシリアルデバイスは皆、エミュレートされているから。
DMAの割り当て状況の確認方法
DMA(Direct Memory Access)とはデバイスとメモリがCPUを介さず直接データ送受を行う機能。
[root@localhost ~]# cat /proc/dma
4: cascade
拡張スロットにデバイスを増設するときにIRQやDMAが重複していないか確認するときに使う。
j重複すると重複したデバイスの両方が使えなくなる。
[root@localhost ~]# cat /proc/dma
4: cascade
拡張スロットにデバイスを増設するときにIRQやDMAが重複していないか確認するときに使う。
j重複すると重複したデバイスの両方が使えなくなる。
I/Oポートアドレスの確認方法
I/OポートアドレスとはCPUとデバイスがデータの送受を行う際に使うアドレスのこと。
CPU → マザーボード(I/Oポートアドレス) → デバイス
16進数で表されている
[root@localhost ~]# cat /proc/ioports
0000-001f : dma1
0020-0021 : pic1
0040-0043 : timer0
0050-0053 : timer1
0060-0060 : keyboard
0064-0064 : keyboard
0070-0077 : rtc
0080-008f : dma page reg
00a0-00a1 : pic2
00c0-00df : dma2
00f0-00ff : fpu
02f8-02ff : serial
0378-037a : parport0
03c0-03df : vga+
03f8-03ff : serial
0400-0403 : ACPI PM1a_EVT_BLK
0404-0405 : ACPI PM1a_CNT_BLK
0408-040b : ACPI PM_TMR
0410-0415 : ACPI CPU throttle
0420-0420 : ACPI PM2_CNT_BLK
0428-042f : ACPI GPE0_BLK
0500-053f : pnp 00:06
0680-06ff : pnp 00:06
1000-1fff : PCI Bus #05
1000-10ff : 0000:05:00.0
1000-10ff : 8139too
2000-2fff : PCI Bus #01
2000-20ff : 0000:01:00.0
2000-20ff : r8169
3000-301f : 0000:00:1f.3
3000-301f : i801_smbus
3020-303f : 0000:00:1d.3
3020-303f : uhci_hcd
3040-305f : 0000:00:1d.2
3040-305f : uhci_hcd
3060-307f : 0000:00:1d.1
3060-307f : uhci_hcd
3080-309f : 0000:00:1d.0
3080-309f : uhci_hcd
30a0-30af : 0000:00:1f.2
30a0-30af : ata_piix
30b0-30b7 : 0000:00:1f.2
30b0-30b7 : ata_piix
30b8-30bf : 0000:00:1f.2
30b8-30bf : ata_piix
30c0-30c7 : 0000:00:02.0
30c8-30cb : 0000:00:1f.2
30c8-30cb : ata_piix
30cc-30cf : 0000:00:1f.2
30cc-30cf : ata_piix
CPU → マザーボード(I/Oポートアドレス) → デバイス
16進数で表されている
[root@localhost ~]# cat /proc/ioports
0000-001f : dma1
0020-0021 : pic1
0040-0043 : timer0
0050-0053 : timer1
0060-0060 : keyboard
0064-0064 : keyboard
0070-0077 : rtc
0080-008f : dma page reg
00a0-00a1 : pic2
00c0-00df : dma2
00f0-00ff : fpu
02f8-02ff : serial
0378-037a : parport0
03c0-03df : vga+
03f8-03ff : serial
0400-0403 : ACPI PM1a_EVT_BLK
0404-0405 : ACPI PM1a_CNT_BLK
0408-040b : ACPI PM_TMR
0410-0415 : ACPI CPU throttle
0420-0420 : ACPI PM2_CNT_BLK
0428-042f : ACPI GPE0_BLK
0500-053f : pnp 00:06
0680-06ff : pnp 00:06
1000-1fff : PCI Bus #05
1000-10ff : 0000:05:00.0
1000-10ff : 8139too
2000-2fff : PCI Bus #01
2000-20ff : 0000:01:00.0
2000-20ff : r8169
3000-301f : 0000:00:1f.3
3000-301f : i801_smbus
3020-303f : 0000:00:1d.3
3020-303f : uhci_hcd
3040-305f : 0000:00:1d.2
3040-305f : uhci_hcd
3060-307f : 0000:00:1d.1
3060-307f : uhci_hcd
3080-309f : 0000:00:1d.0
3080-309f : uhci_hcd
30a0-30af : 0000:00:1f.2
30a0-30af : ata_piix
30b0-30b7 : 0000:00:1f.2
30b0-30b7 : ata_piix
30b8-30bf : 0000:00:1f.2
30b8-30bf : ata_piix
30c0-30c7 : 0000:00:02.0
30c8-30cb : 0000:00:1f.2
30c8-30cb : ata_piix
30cc-30cf : 0000:00:1f.2
30cc-30cf : ata_piix
割り込み要求(IRQ)の割り当て情報の確認方法
IRQ・・・Interrupt ReQuest
[root@localhost ~]# cat /proc/interrupts
CPU0 CPU1 CPU2 CPU3
0: 79408498 17167 17193 17150 IO-APIC-edge timer システムタイマー
1: 8 29 143 2 IO-APIC-edge i8042 キーボード
7: 0 0 0 0 IO-APIC-edge parport0 パラレルポート
8: 1 1 0 1 IO-APIC-edge rtc リアルタイムクロック
9: 0 0 0 0 IO-APIC-level acpi ソフトウェア割り込み
12: 1 1 0 3 IO-APIC-edge i8042 PS/2マウス
50: 1 0 0 1 IO-APIC-level ehci_hcd:usb1, uhci_hcd:usb2
66: 8 12 8 400251 IO-APIC-level eth0
74: 40 42 38 37 IO-APIC-level HDA Intel
177: 6 6 19378 113 IO-APIC-level uhci_hcd:usb5
185: 0 0 0 0 IO-APIC-level uhci_hcd:usb4
193: 1985 2124 705229 381083 IO-APIC-level uhci_hcd:usb3, ata_piix
NMI: 0 0 0 0
LOC: 79464793 79464792 79464791 79464790
ERR: 0
MIS: 0
[root@localhost ~]# cat /proc/interrupts
CPU0 CPU1 CPU2 CPU3
0: 79408498 17167 17193 17150 IO-APIC-edge timer システムタイマー
1: 8 29 143 2 IO-APIC-edge i8042 キーボード
7: 0 0 0 0 IO-APIC-edge parport0 パラレルポート
8: 1 1 0 1 IO-APIC-edge rtc リアルタイムクロック
9: 0 0 0 0 IO-APIC-level acpi ソフトウェア割り込み
12: 1 1 0 3 IO-APIC-edge i8042 PS/2マウス
50: 1 0 0 1 IO-APIC-level ehci_hcd:usb1, uhci_hcd:usb2
66: 8 12 8 400251 IO-APIC-level eth0
74: 40 42 38 37 IO-APIC-level HDA Intel
177: 6 6 19378 113 IO-APIC-level uhci_hcd:usb5
185: 0 0 0 0 IO-APIC-level uhci_hcd:usb4
193: 1985 2124 705229 381083 IO-APIC-level uhci_hcd:usb3, ata_piix
NMI: 0 0 0 0
LOC: 79464793 79464792 79464791 79464790
ERR: 0
MIS: 0
2010年9月10日金曜日
Linuxのユーザー追加
[root@localhost ~]# useradd hogehoge[root@localhost ~]# passwd hogehogeChanging password for user hogehoge. New UNIX password: ←入力 Retype new UNIX password: ←もう一度入力 passwd: all authentication tokens updated successfully.
CentOSの固定IP
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0HWADDR=00:A0:B0:A5:0D:6E
ONBOOT=yes
BOOTPROTO=dhcp
TYPE=Ethernet
USERCTL=no
IPV6INIT=no
PEERDNS=yes
DNSの値も固定にする
vi /etc/resolv.conf
search localdomain
nameserver 192.168.12.1
登録:
投稿 (Atom)
