やりたい事とか ・RAID ・LPIC-201 ・自転車を買う(買っちゃった~) ・サイト作成

2009年8月27日木曜日

キューのメールを削除する

消していいかちゃんと確認しおろ


postfix

postmaster -d ALL





sendmail

rm -f /var/spool/mqueue

You must add a global ddns-update-style statement to /etc/dhcpd.conf.

You must add a global ddns-update-style statement to /etc/dhcpd.conf.

そのまんまですが、

ddns-update-style

を追加しろよと。


これはDNSに向けてDynamic DNSの更新を要求するかどうかを決めるステートメント。

ddns-update-style interim; ← DNS更新を要求
ddns-update-style add-hoc; ← DNS更新を要求しない。
ddns-update-style none; ← DDNSを使用しない。

NFSの構築と実現

立ち上げておくサービス

クライアント
・portmap

サーバ
・portmap
・nfsd
・mountd ← nfsdを起動するときに一緒に立ちあがるっぽい。





設定
192.168.0.0/24にだけ/tmpをnfsで読み書き可能で公開する場合の設定。

vi /etc/exports
エクスポートするパス 公開するクライアント/ネットマスク(オプション)
/tmp 192.168.0.0/255.255.255.0(rw)


オプションに関しては下記の通り
・ro…読み込み専用
・rw…読み書き可能
・no_root_squash…rootでアクセス時、root権限で実行
・root_squash…rootでアクセス時、匿名アカウント権限で実行
・all_squash…すべてのアクセスを匿名アカウント権限で実行





/etc/exportsの設定を有効にする
exportfs -a

-a…すべてのディレクトリをエクスポートする
-au…全てのディレクトリをアンエクスポートする
-r…すべてのディレクトリを再エクスポートする
-v…詳細表示





エクスポートされているディレクトリを調べるにはshowmountコマンドを使用する
showmount

-a…ホスト名とエクスポートしているディレクトリを表示
-e…指定したホスト名でエクスポートしてるディレクトリを表示






マウントする
nfsmountはもう使えない。ので、

mount -t nfs 192.168.100.1:/tmp /tmp/nfs





mountオプション
bg…マウントに失敗してもバックグラウンドで試行し続ける
fg…フォアグラウンドで実行し続ける
soft…ソフトマウント
hard…ハードマウント
initr…ハードマウント時割り込み許可
retrans…ソフトマウント時再試行回数
nolock…ファイルロックしない
rsize…読み取りブロックサイズ
wsize…書き込みサイズ

2009年8月26日水曜日

-bash: smbmount: command not found

-bash: smbmount: command not found


smbmountが
sambaを入れても、smbclientを入れても無い…?




smbmountはなくなったそうです。
http://www.ivoryworks.com/blog/2009/05/cifsmountcifswindows.php




代わりは、mountで。

2009年8月25日火曜日

独自認証局を立てた時にエラー

Using configuration from /etc/pki/tls/openssl.cnf
Enter pass phrase for ./demoCA/private/./cakey.pem:
I am unable to access the ../../demoCA/newcerts directory
../../demoCA/newcerts: No such file or directory


とか


Using configuration from /etc/pki/tls/openssl.cnf
Enter pass phrase for ./demoCA/private/./cakey.pem:
I am unable to access the ../../CA/newcerts directory
../../CA/newcerts: No such file or directory



って言われたら、



/etc/pki/tls/openssl.conf

の45行目の




dir = ../../demoCA # Where everything is kept









dir = ./demoCA # Where everything is kept





に変更

2009年8月21日金曜日

UserDirの設定

UserDirで超はまった。

つぼに来たわけではないのだ。
わからなくて、罠から抜け出せなかったのだ。

二度とそうならないように、手順を残す。


環境:CentOS5.3。Apache2.2.3-22.el5
今回は「hoge」というユーザの場所(/home/hoge)でやるとします。
基本はrootユーザで作業をしていきます。



0.基本として、hogeユーザを追加しておくこと。パーミッションも変更。
useradd hoge
passwd hoge
chmod 711 /homge/hoge



1./home/hogeにpublic_htmlディレクトリを作成する。
su hoge
mkdir /home/hoge/public_html
exit






2./home/hoge/public_htmlに、index.htmlを作成
vi /home/hoge/public_html/index.html
#index.htmlの中は適当に。







3.httpd.confを編集
vi /etc/httpd/conf/httpd.conf
-------
<IfModule mod_userdir.c>
#
# UserDir is disabled by default since it can confirm the presence
# of a username on the system (depending on home directory
# permissions).
#
#UserDir disabled              ←☆この部分をコメントアウト
UserDir enabled hoge             ←☆この部分を追加

#
# To enable requests to /~user/ to serve the user's public_html
# directory, remove the "UserDir disable" line above, and uncomment
# the following line instead:
#
UserDir public_html          ←☆この部分を追加

</IfModule>
<Directory /home/*/public_html>         ←☆ここから
AllowOverride FileInfo AuthConfig Limit
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>                    ←☆ここまで新規に追加








4.httpdをrestart
service httpd restart







5.ブラウザから確認。下記のアドレスをブラウザに打ち込めば、あなたが用意した/home/hoge/public_html/index.htmlが表示されるはず。
http://サーバのIP/~hoge/








6.アクセスできなければ、/var/log/httpd/error_logを確認


・File does not exist /var/www/html/hoge が出ていたら、そもそも根本的になにか間違っている
・(13)Permission denied: access to /~negishi hoge の場合、7以降を行ってみる必要がある。










7./home/hoge/パーミッションの確認する。
その他のユーザに
ディレクトリだと、実行権限、
index.htmlだと読み取り権限が必要。

#要はこんな感じなんだわ。
/home          ←drwxr-xr-x
/home/hoge         ←drwx--x--x
/home/hoge/httpd      ←drwx--x--x
/home/hoge/httpd/error_log ←drwxr--r--


問題なさそうなら、ブラウザで確認。





7.それでも表示されない場合。SELinuxの停止
system-config-securitylevel-tui
SELinux:Enforceing
    Permissive
    無効       ←選択


それでもう一回ブラウザで確認してみて。




7.それでも表示されない場合。下記の秘密の呪文を唱える。(SELinux関連のコマンド)
fixfiles restore



もう一回確認してみて。




それでもダメなら、私にはわからん。

2009年8月14日金曜日

わかんなかったとこLPIC2勉強

テンションが低いです。
なんでですかね?金曜?
隣の亀が暴れています。。。



hdparm
 →-i…詳細情報表示
 →-t…バッファキャッシュを使わず読み込み書き込みテスト
 →-T…読み込み書き込みテスト
 →-c…32ビットI/Oサポート
 →-d…DMAモード


/proc/partitions
 ・ファイルシステムの割り当てを確認



/proc/bus/usb/devices
 ・usbデバイス情報を表示

vgchange
 ・-a…アクティブを非アクティブにする

arp
 ・-a…すべて表示 
 ・-s…arpテーブルに設定
 ・-d…delete
 ・-i…interface

allow-transefar
 ・スレーブサーバのIP

2009年8月13日木曜日

LPIC2に向けて。ファイルパス系

・設定ファイル名はフルパスで覚えること。(ファイル名のみ答えればいいという問題はほとんどありませんでした)



では、それを参考に、だらだら長文の始まりです。




cat /proc/version
 ・カーネルバージョン確認

head -4 /usr/src/linux-`uname -r`/Makefile
 ・カーネルバージョン確認
 ・/usr/src/kernel/`uname -r`/Makefile
 ・/usr/src/linux-headers-`uname -r`/Makefile

/boot/vmlinuz
 ・カーネルイメージ

/lib/modules/`uname -r`/
 ・モジュールのあるディレクトリ

/proc/modules
 ・ロードされているモジュール

/lib/modules/`uname -r`/modules.dep
 ・モジュールの依存関係ファイル


/usr/src/linux-`uname -r`/System.map
 ・?

/etc/modprobe.conf
 ・前処理・後処理が必要な場合、ロードする際にパラメータを指定する場合の設定ファイル
 ・alias…別名指定
 ・options…オプションを指定
 ・install…指定されたシェルコマンドを実行
 ・remove…modprobe -r された時の処理

/usr/src/linux-`uname -r`/arch
 ・アーキテクチャに依存したコード

/usr/src/linux-`uname -r`/configs
 ・目的別の.config

/usr/src/linux-`uname -r`/cyypto
 ・暗号処理関数

/usr/src/linux-`uname -r`/drivers
 ・各種ドライバ

/usr/src/linux-`uname -r`/fs
 ・仮想ファイルシステムと各種ファイルシステム

/usr/src/linux-`uname -r`/include
 ・C言語のインクルードファイル

/usr/src/linux-`uname -r`/init
 ・初期化コード

/usr/src/linux-`uname -r`/ipc
 ・SystemV互換性プロセス間通信

/usr/src/linux-`uname -r`/kernel
 ・主要なカーネル機能

/usr/src/linux-`uname -r`/lib
 ・各種モジュールファイル

/usr/src/linux-`uname -r`/mm
 ・メモリ管理関連

/usr/src/linux-`uname -r`/net
 ・各種ネットワークプロトコル関連

/usr/src/linux-`uname -r`/scripts
 ・カーネル作成支援スクリプト

/usr/src/linux-`uname -r`/Documentation
 ・各種ドキュメント

/usr/src/linux-`unmae -r`/.config
 ・カーネルコンフィギュレーションファイル

/usr/src/linux-`uname -r`/arch/アーキテクチャ/boot/
 ・作成されたカーネルのある場所

/boot/grub/menu.lst
 ・ブートローダ。
 ・timeout…メニューを表示している時間
 ・default…デフォルトで起動するエントリの番号。
 ・splashimage…メニュー表示時の背景画像
 ・title…メニューに表示されるタイトル名
 ・root…カーネル、OSが格納されているパーティション
 ・kernel…カーネルとカーネルオプション
 ・initrd…初期RAMディスクファイルを作成
 ・makeactive…ルートパーティションのアクティブ化。?
 ・chainloader…指定されたセクタの読み込みと実行。
 ・hiddenmenu…起動時の選択メニューを表示しない

/proc/sys/net/ipv4/ip_forward
 ・ネットワークインターフェイス間でのパケット転送の無視するかどうか

/proc/sys/kernel/modprobe
 ・modprobeのコマンド

/etc/sysctl.conf
 ・再起動後も有効にしておきたいカーネルパラメータの設定

/etc/rc.local
 ・システム起動時の最後に読まれるファイル

/sbin/init
 ・initプログラム

/bin/dmesg
 ・メッセージ

/etc/inittab
 ・boot…システム起動時に実行され、async
 ・bootwait…システム起動時に実行されsync
 ・ctrlaltdel…同時押しの処理
 ・initdefault…デフォルトのランレベルを指定
 ・respawn…指定したプロセスが終了すれば再起動させる
 ・sysinit…システム起動時にboot*より早く実行される
 ・once…指定したランレベルになった時一度だけ実行され、async。
 ・wait…指定したランレベルになった時一度だけ実行され、sync。

LPIC2に向けて。コマンド系

・主要コマンドのオプションは全て覚えること。(これは使わないだろうというようなオプションでも平気で出題されます)
・現在使われていない技術や新しい技術が導入された背景などを調べてみること。

では、それを参考に、だらだら長文の始まりです。




uname…システム情報を表示
 →-m(--machine)…ハードウェアタイプを表示
 →-n(--nodename)…ネットワークノードのホスト名を表示。hostnameコマンドと同じ。
 →-r(--release)…リリースバージョンを表示
 →-s(--sysname)…OS名称を表示。unameと素で打ったときと同じ
 →-v…カーネルのコンパイル時刻を表示。manpageにはOSバージョンって書いてあるけど何かの間違いだな。
 →-a(--all)…すべてを表示する


lsmod…ロードされているモジュールを表示
 →/proc/modulesを整形して表示するだけ。
 →数字は参照回数。その後のはモジュールを利用しているモジュール名


modinfo…モジュールの情報を表示
 →-F(filed)…フィールド値を1行づつ表示する。auther・description・license・param・depends・alias
 →-0(--null)…数字の0ね。改行をヌル文字を表示
 →-a…作者表示
 →-d…説明表示
 →-l…ライセンス表示
 →-n…ファイル名を表示
 →-p…?


insmod…カーネルにモジュールを登録する


rmmod…カーネルからモジュールを削除する
 →-f(--force)…強制削除(使用禁止)
 →-w(--wait)…使用中のモジュールを隔離し、使用されなくなるまで待つ
 →-s(--syslog)…エラーを標準出力ではなくsyslogに送る


modprobe・・・モジュール管理を行う
 →-C(--config)…/etc/modprobe.confや/etc/modeprobe.d/を無視する
 →-c(--showconfig)…設定ファイルの内容を表示し、終了する
 →-n(--dry-run)…モジュールの登録・削除以外の処理を行う。なにも操作しない。
 →-i(--ignore-install・--ignore-remove)…設定ファイルに書かれたinstall・removeを無視する
 →-q(--quiet)…存在しないモジュールが指定されても、エラーメッセージを表示しない
 →-f(--force)…強制ってことで良いと思う。
 →--force-vermagic…"version magic" が一致しないと文句を言う場合、"version magic" を無視する
 →--force-modversion…カーネルがインタフェースのバージョンの一致しないものがあると文句を言う場合、無視する
 →-l(list)…指定したワイルドカードに一致するモジュールの一覧を表示
 →-a(--all)…すべてのモジュールをロード
 →-t(--type)…-tで指定したディレクトリ名を含むモジュールだけを表示
 →-s(--syslog)…すべてのエラーメッセージをsyslogに送る
 →--set-version…カーネルバージョンを指定
 →--show-depends…依存関係を列挙する
 →-o(--name)…モジュール名の変更


depmod…modules.depとマップファイルを作成する
 →-b(--basedir)…モジュールが、/lib/modules以外の場所にあるとき、その場所を指定する。ただ、/lib/modulesの下にいずれ持ってこないとめんめ。
 →-e(--errsyms)…各モジュールの解決されていないシンボルを全て表示する
 →-f(--filesystems)…別のカーネルのmodules.depを作成したい場合、-fオプションでSystem.mapで指定する
 →-n(--dry-run)…modules.depに書き出さず、標準出力に出す。
 →-A(--quick)…処理を行う前に、モジュールが新しければ何もしない。更新されていれば処理を行う



kmod…必要なモジュールを自動でロードするデーモン



patch…オリジナルファイルに差分ファイルを適用する
 →-b(--backup)…バックアップファイルを作成
 →--backup-if-mismatch…差分ファイルがぴったり一致しない場合でバックアップ指定がない場合、バックアップファイルを作成する
 →--no-backup-if-mismatch…差分ファイルがぴったり一致しない場合でバックアップ指定がない場合、バックアップを作成しない
 →-B XX(--prefix=XX)…ファイル名にXXというプレフィックスがつけられる
 →-c(--context)…パッチファイルを通常のコンテキストdiffとして解釈する
 →-d dir(--directory=dir)…まずディレクトリに移動
 →-D define(--ifdef=define)…よく分からん
 →-dry-run…パッチを適用した結果を表示するが、実際には適用しない
 →-e(-ed)…edスクリプトとして解釈する
 →-E(--remove--empty-files)…パッチを当てた後の空ファイルを削除する
 →-f(--force)…強制適用
 →-F num(--fuzz=num)…曖昧度を指定する。defは2。
 →-i patchfile(--input patchfile)…パッチファイルを指定
 →-l(--ignore-whitespase)…空白関連の不一致をゆるく見る。行末空白も。その他の文字は完璧でないといけない。
 →-n(--normal)…パッチファイルをノーマルdiffとして解釈する
 →-N(--forwaod)…反転していると思われるパッチや、既に適用済みと思われるパッチを無視する
 →-o outfile(--outfile outfile)…ファイルにパッチを適用して置き換えるのではなく、出力をoutfileに送る
 →-pnum(--strip=num)…num分だけ、パッチファイルの中にあるパスを取り除いていく。
  ・-p0の場合:/usr/src/linux-2.6/hoge.c → /usr/src/linux-2.6/hoge.c
  ・-p1の場合:/usr/src/linux-2.6/hoge.c → usr/src/linux-2.6/hoge.c
  ・-p3の場合:/usr/src/linux-2.6/hoge.c → linux-2.6/hoge.c
  ・指定なしの場合:/usr/src/linux-2.6/hoge.c → hoge.c
 →-r rejectfile(--reject-file rejectfile)…却下された塊を、.rejではなく、指定したrejecfileに書き込む
 →-R(--reverse)…パッチファイルが、新旧が反転しているとみなす
 →-s(--silent|--quiet)…静かに動作する
 →-t…-fとは異なる無視をする
 →-T(--set-time)…パッチ適用後のファイル変更時刻とアクセス時刻を、コンテキストdiffヘッダのタイムスタンプに設定する
 →-V method(--version-control=method)…バックアップファイルを作成するのに、methodを使用する
  ・有効なmethod一覧
  ・exiting or nil…番号つきのバックアップがある場合、番号つきを。ない場合は簡易バックアップ
  ・numbered or t…バックアップに番号をつける。
  ・sample or never…簡易バックアップを作成する
 →--verbose…詳細出力
 →等。心が折れる。




make config…CUIで対話的に設定していく



make menuconfig…CUI上でメニュー形式でオプション項目を選択して設定できる



make xconfig…X上で設定できる



make gconfig…GNOME上で設定できる。



make modules_install…カーネルモジュールを適切なディレクトリにインストールする



make
 ・clean…不要なファイルを削除する
 ・mrproper….configやバックアップアップも含めて削除する
 ・distclean…mrproper + patchが作成したファイルも削除する
 ・defconfig….configを作成する
 ・all…すべてのビルドを実施する
 ・modules…動的なモジュールをビルドする
 ・rpm…カーネルビルド後にrpmパッケージを作成する
 ・rpm-pkg…ソースRPMパッケージを作成する
 ・bind-rpm…ビルド済みカーネルとモジュールのRPMを作成する
 ・deb-rpm…ビルド済みカーネルとモジュールのDebiaパッケージを作成する



sysctl…カーネルパラメータの変更・表示
 ・-a…利用できる値を表示(もう利用すんなだって。)
 ・-n…値だけ表示
 ・-N…名前だけ表示
 ・-e…不明なキーについてエラーを出さない
 ・-q…値のセットを標準出力を表示しない
 ・-w…設定を変更
 ・-p…指定したファイルから読み込んだ内容を、sysctl設定にロード



mkinitrd…ファイルシステムを圧縮した初期RAMディスク
 ・mkinitrd RAMディスクイメージファイル カーネルバージョン



mkinitramfs…cpioをアーカイブを圧縮した初期RAMディスク
 ・mkinitramfs -o RAMディスクイメージファイル カーネルバージョン


chkconfig
 ・--add…サービスの追加
 ・--level レベル サービス名 [on|off]…ランレベルを指定する
 ・--list…表示
 ・--del…サービスから削除



ntsysv…対話的にサービス起動設定をする



grub-install…ブートローダにGRUBをインストールする



sync…メモリバッファとディスクの同期



swapon…スワップを有効にする
 ・-s…現在のスワップを表示



mke2fs…ファイルシステム作成
 ・-b…バイト単位でサイズ指定
 ・-c…不良ブロックの調査
 ・-i…iノード数のバイト数を指定
 ・-j…ext3ファイルシステムを作成
 ・-m 領域(%)…rootユーザの領域を%で指定。



mkfs…ファイルシステム作成
 ・-t…ファイルシステムタイプ指定
 ・-c…不良ブロックをチェック



mkisofs…CD/DVDへ書き込みするファイルの作成
 ・-o…ISO9660/UDFイメージファイルを指定
 ・-J…Jolietフォーマット指定(MS系)
 ・-R-r…Rockidgeフォーマット
 ・-T…TRANS.TBLファイルを作成
 ・-udf…UDFイメージを作成する




dumpe2fs…ext2/ext3ファイルシステムの情報をダンプする
 ・-b…不良ブロックとして扱われるブロックを表示する
 ・-h…スーパブロックの情報だけを表示。
 


fsck…ファイルシステムのチェック
 ・-r…動作を逐次的(次々に)する
 ・-t…ファイルシステムを指定する
 ・-A…/etc/fstabに列記されているファイルシステムをチェックする
 ・-N…実際には処理せず、何が行われたかだけ表示する
 ・-R…-Aを指定しているときに、rootパーティションをチェックしない用にする。
 ・-T…起動時にタイトルを表示する
 ・-a…質問なしで自動的にファイルシステムを修復する
 ・-n…問題点を修復せず、問題点を書き出す。
 ・-r…対話的にファイルシステムを修復する
 ・

2009年8月12日水曜日

復習:覚えてなかったところを重点的に

swapの内容を確認する
 ・swapon -s
 ・cat /proc/swaps

次回起動時にファイルシステムチェックを行う
 ・shutdown -F

不良ブロックを検出
 ・badblocks

ログイン中のユーザにメッセージを表示するには
 ・wall ""
 ・shudown -k now ""

gunzipはパイプ不要
gzipはパイプが必要

iSTADYの復習

RIADの状態を表示する
 ・cat /proc/mdstat


予約ブロックの確認方法(あってるかどうかは不明)
 ・tune2fs -l /dev/hda1 | grep "Reserved block count"
 ・dumpe2fs /dev/hda1 | grep "Reserved block count"
 ・mke2fs -n /dev/hda1


再帰的な問い合わせを受け付けるホストを指定するオプション
 ・allow-recursion


現在マウントされているファイルシステムとマウントオプションを知る
 ・/etc/mtab
 ・/proc/mounts


カーネルのバージョンを調べるには
 ・/proc/version
 

初期RAMディスクを作成
 ・mkinitrd
 ・mkinitramfs

ストレージ管理コマンド

pvcreate…デバイスを物理ボリュームとして初期化する
pvdisplay…物理ボリュームの詳細な情報表示
pvmove…物理ボリュームに移動させることができる
pvremove…物理ボリュームを削除させることができる
pvscan…物理ボリュームの状態を簡潔に表示
pvs…物理ボリューム情報を出力する

vgcreate…ボリュームグループを作成する
 ・書式:vgcreate ボリュームグループ名 物理デバイスボリューム
 ・オプション:-s…エクステントのサイズを指定
vgchange…ボリュームグループの属性変更
vgdisplay…ボリュームグループの詳細な情報表示
vgextend…ボリュームグループを拡張
vgreduse…ボリュームグループ縮小
vgremove…ボリュームグループ削除
vgimport…ボリュームグループをインポートする
vgexport…ボリュームグループをエクスポート
vgmerge…2つのボリュームグループを削除する
vgrename…ボリュームグループの名前変更
vgscan…ボリュームグループを削除
vgs…ボリュームグループの情報を表示


lvcreate…論理ボリュームを作成する
 ・オプション:-L…サイズを指定
 ・オプション:-n…論理ボリューム名を指定
lvdisplay…論理ボリュームの詳細な表示
lvextend…論理ボリューム拡張
lvreduse…論理ボリューム縮小
lvremove…論理ボリューム削除
lvrename…論理ボリュームの名前変更
lvscan…論理ボリュームの状態を簡潔に表示・検索
lvs…論理ボリュームの情報を表示

rndc

namedを操作する

・stop…namedを指定
・refesh…ゾーンデータベースをリフレッシュ
・stats…統計情報を、/var/named/named.statsに書き出す
・status…namedのステータスを表示
・dumpdb…キャッシュの内容を出力する
・reload ドメイン名…指定したゾーンファイルを再度取得する

udevによるデバイス管理

デバイスファイル
 →デバイスを抽象化したファイル。大きく分けて2種類。
  →ブロックデバイス
   →バッファを持ち、ランダムアクセスが可能。
   →ls -l /dev したときにファイルタイプがdになる
  →キャラクタデバイス
   →バッファはなし。ランダムアクセスが可能。マウスとかキーボードとか。
   →ls -l /dev したときにファイルタイプがcになる


カーネルが認識しているデバイスを表示
 →/proc/devices


udev
 →ユーザ空間で動作するプロセス。ユーザ空間とカーネル空間は分離されているので
  カーネルに情報を聞きにいくことは出来ない。その為、sysfsを使用する。
  sysfsはカーネル内部情報をファイルシステムに投影する仕組みなので、
  udevもユーザ空間で動作しつつ、カーネルの情報を取得することができる。

 →udevdはsysfsの情報を元に、デバイスファイルを作成する
  →その際、参照される設定ファイル
  →/etc/udev/rules.d/
  →ファイル名の数字は、udevが若い方から適用する
  →ファイル内の内容
   →KERNEL…デバイス名の指定
   →GROUP…所有グループ
   →MODE…パーミッション
   →OPTION="last_rule"…他の条件にマッチしても、そのルールは適用しない
  →KERNELというデバイス名を認識した時、所有グループでパーミッションはMODEのデバイスファイルを作成せよ



sysfsがどのようにデバイスを扱っているかの情報を取得する
 →udevinfo
  →-a…指定したデバイスの上位デバイスについても表示する
  →-p…sysfs上のデバイスを指定する
  →-n…/dev以下のデバイスファイルをしてする
  →-q…表示する情報の種類を指定する
   →name・symlink・path・env・all
  

ファイルシステム系のコマンド等

ext2/ext3のファイルシステムを作成するには
 →mke2fs
 ・-b…バイト。
 ・-c…チェック。不良ブロックのチェックを行う
 ・-i…iノードのバイト数を指定
 ・-j…ジャーナリング。ext3を作成する
 ・-m…スーパユーザの予約領域。通常5㌫


ReiserFSを作成するには
 ・その前に特徴
  ・ジャーナリングFS・ディスク効率高・ファイル検索高速・ext3/ext2との互換性無し
  ・カーネルが対応している必要あり。
   ・確認方法
   ・modprobe reiserfs
   ・grep reiserfs /proc/filessystemsでreiserfsがあるかどうか
 →mkreiserfs デバイス名
 ・-l…ラベルを指定
 ・-j…ジャーナルを保存するファイルを指定
 ・-s…ジャーナルサイズをブロック数で指定。





mkfsによるファイルシステム作成
 ・いろんなファイルシステムを作成
  ・mkfs.ext2
  ・mkfs.ext3
  ・mkfs.xfs
  ・mkfs.reiserfs
  ・mkfs.vfat
  ・mkfs.minix
 ・-t タイプ…ファイルシステムを指定
 ・-c…不良ブロックを指定
 ・-V…詳細情報を出力
 ・




CD/DVDに書き込めるファイルシステムイメージを作成(これではCD/DVDは作成できないよ。)
 ・mkisofs
  ・-o ファイル名…ISO9660/UDFイメージファイルを指定する
  ・-J…Jolietフォーマット
  ・-R,-r…RockRidgeフォーマット
   ・パーミッションなどの属性を保持できる
  ・-udf…UDFイメージ



ファイルシステムのチェック
 ・fsck
  ・-r…対話的に修復
  ・-t タイプ…ファイルシステムの種類を選択
  ・-A…/etc/fstabに記述されたすべてをチェックする
  ・-N…見せ掛けだけやる



ext2ファイルシステムのチェック
 ・ext2
  ・-b ブロック…指定したスーパーブロックを使って復元
  ・-c…不良ブロックをチェック
  ・-f…ファイルシステムが状態がcleanでもチェックする
  ・-p…すべての不良ブロックを自動的に修復
  



ext2/ext3のファイルシステム管理
 ・tune2fs
  ・-c 回数…指定したマウント回数を超えたらファイルシステムのチェックを行う
  ・-C 回数…現在のマウント数を指定
  ・-i 間隔…ファイルシステムの間隔数を指定
  ・-j…ext2→ext3に変更
  ・-m 領域(%)…スーパユーザの領域のサイズを変更
  ・-L…ラベル名を変更





不良ブロックの検索
 ・badblocks
  ・-b…ブロックサイズを指定
  ・-o…結果を出力
  ・-w…書き込みモードでテスト(ファイルシステムが破壊されます。えっ?!)





ファイルシステムのデバッグを対話的に行うには
 ・debugfs
  ・-w…読み書き可能モードで開く
  ・-s ブロック番号…指定したブロックをスーパーブロックとして利用する
  ・cat ファイル名…指定したファイルのiノードを表示
  ・cd ディレクトリ…別ディレクトリに移動
  ・chroot ディレクトリ…ルートディレクトリを変更
  ・close…ファイルシステムを閉じる
  ・dump A B…Aのファイルの内容をBとして保存
  ・freei…ファイルのiノードを削除する
  ・ls…ファイルの一覧を表示
  ・open デバイス…ファイルシステム開く
  ・pwd…カレントディレクトリを表示
  ・rm ファイル名…ファイルを削除する
  ・rmdir ディレクトリ名…ディレクトリを削除する
  ・stat ファイル名…iノードの内容を表示
  ・quit…終了



ReiserFSファイルシステムの管理
 ・reiserfstune
  ・-l…ラベルの設定



ReiserfsFSの修復
 ・debugureiserfs
 

xfsのパラメータ変更
 ・xfs_admin
  ・-u…UUIDを表示する
  ・-l…ラベルを表示
  ・-L…ラベルを設定
  ・-U UUID…UUIDの設定
 

xfsのファイルシステム情報を表示
 ・xfs_info


オートマウント
 ・サービスをスタート
  ・service autofs start
 ・/etc/auto.master
  ・書式
  ・マウントベース マップファイル オプション(必須でない)
  ・例
  ・/mnt/auto /etc/auto.cdrom --timeout=60
   ・/mnt/autoの下にマウントポイントが作成される
   ・/etc/auto.cdromは自分で作る
   ・--timeout=60は、60秒アクセスがない場合、アンマウントする。
  ・設定を反映させるには、autofsを再起動
   ・service autofs restart
 ・マップファイル
  ・ファイル名は自由
  ・書式
  ・作成するディレクトリ マウントオプション(必須でない) デバイスファイル名
  ・例
  ・cdrom -fstype=iso9660,ro :/dev/cdrom
   ・デバイスファイル名の前の:は必要。
  ・サービス再起動は不要
 





badblocks

2009年8月11日火曜日

LPIC201

復習

・allow-recursion
 →指定したホスト・IPからの再帰的問い合わせを許可する

・初期RAM作成
 →mkinitrd 初期ディスクファイル カーネルバージョン
  →ファイルシステムを圧縮した形
 →mkinitramfs -o 初期ディスクファイル カーネルバージョン
  →cpio形式で初期RAMディスクを作成している

・バイナリ実行禁止マウント
 →noexec
  →-oオプションをつけて
 →ループバックマウント
  →loop

・新しいバージョンで追加された機能だけを設定するには
 →make oldconfig

・物理ボリュームグループを作成するには
 →pvcreate

・論理ボリュームを作成するには
 →lvcreate

・patchファイルの適用方法
 →patch オプション < パッチファイル
 →patch オプション パッチファイル
 ・例
 →patch -p1 < patch-2.6
 →bzip2 -dc patch-2.6.bz2 | patch -p1
 →gzip -dc patch-2.6.gz | patch -p1
 →cat patch-2.6 | patch -p1

・initの変わりに、/bin/shで起動するには
 →boot:カーネルイメージ名 init=/bin/sh

hdparm

・hdparm
 ・ハードディスクの詳細を表示
 ・一般的な使い方
  ・hdparm デバイスパス
 ・詳細情報を表示
  ・hdparm -i デバイスパス
 ・32ビットI/Oを有効にする
  ・hdparm -c数字 デバイスパス
 ・読み込み速度を計測する
  ・hdparm -tT デバイスパス

LVM

LinuxのLVM
LVM…論理ボリューム管理

LVMのポイントから
 参考図:http://h50146.www5.hp.com/products/software/oe/hpux/developer/column/beg_integrity_10/

・1台のハードディスク、1つのパーティションを物理ボリュームと呼ぶ
 ・ボリューム…管理上の単位

・物理ボリュームは、一定のサイズの物理エクステントから構成される
 ・エクステント…論理的に連続した記憶領域

・1つ以上の物理ボリュームから、ボリュームグループが構成される。

・ボリュームグループ内で、物理エクステントから論理ボリュームが構成される

・論理ボリュームは、従来のパーティションと同様に、ブロックデバイスとして扱うことができる

・論理ボリュームは、複数のディスクにまたがって作成できる

・ボリュームグループも後からサイズを変更することが出来る

LINUXでRAID

LINUXでRAID。


・LINUXでRAIDをするには、パーティションタイプをRAIDにしておく必要がある

・RAIDの状態を確認するには、/proc/mdstat

・RAIDの状態を表示するには mdadm --query デバイスパス

・RAIDの状態をより詳しく表示するには mdadm --detail /dev/md0

・RAIDで障害が発生した場合、デバイスに不良マークをつける
 mdadm --manage RAIDデバイスパス -f 不良なデバイスパス
 ・自動で、予備デバイスに切り替わる

・構成デバイスをRAIDから削除するには
 mdadm --manage RAIDデバイスパス -f 削除するデバイス

・予備デバイスを追加
 mdadm --manage RAIDデバイスパス -a 追加するデバイスパス

・RAIDを自動認識させる
 echo "DEVICE partitions" >> /etc/mdadm.conf
mdadm --detail --scan >> /etc/mdadm.conf

雑多すぎる事

/proc/cmdline
…起動時のカーネルオプションが見れる

1:3:initdefault

tar tf /dev/なんとか

フォロワー

ブログ アーカイブ