Linux管理のメモ
- まずdmesg
dmesg 近況チェック。
最近、H/Wで何が起こったかがチェック。
最近、H/Wで何が起こったかがチェック。
- つぎにps
ps でプロセスチェック。
#ps -ef | more
全プロセスを見る。
- kill
おかしなプロセスはkillで停止。
#kill -TERM nnn(PID) #kill -TERM 1234
とすることでPID1234のプログラムを停止する
#kill -HUP nnn(PID)
termで終わらない場合、HUPで停止する。
ハングアップシグナルを送る、という。
ハングアップシグナルを送る、という。
#kill -kill nnn(PID)
強制終了
#kill
- 9
でもおなじ
- uname
#uname -a
カーネルバージョンなど確認
- top
#top -s
リアルタイムシステム情報。zombiが無いかみる。
sはセキュアモードでtopを起動。
sはセキュアモードでtopを起動。
- ログ
管理者(root)でないと見られないのもあるのでsuを使うこと。
#su - USER
デフォルトでrootユーザ(管理者)に。
ハイフンがあると環境移行する。
ハイフンがあると環境移行する。
- システムの基本メッセージログ
#tail -n 20 /var/log/messages
エラーなどがでる。
#tail -n 20 /var/log/syslog #tail -n 20 /var/log/wtmp #tail -n 20 /var/log/maillog
これも確認。
システムアップデート
- aptについて(一般的な使い方 )
#apt-get update
ローカルのaptデータベース最新にする
#apt-get check
システムの整合性のチェック
#apt-get upgrade
システム内の古いパッケージを確認して自動的にアップグレードする
- 探す
#apt-cache search [keyword] #apt-cache show [name]
- クリア
#apt-get clean
ときどきするよう書いてある
- 指定インストール
#apt-get install package
パッケージ及びパッケージに依存しているものを自動的に解決してダウンロードしてインストールする
- etc.
#apt-get dist-upgrade --no-act
↓のコマンドを実行する前に、なにをどう更新するか知ることができます
#apt-get dist-upgrade
全てのベースパッケージを最新で更新し直します
(とにかく、指定したパッケージじゃなくてOS全体丸ごと最新にします。)
(とにかく、指定したパッケージじゃなくてOS全体丸ごと最新にします。)
#apt-get remove package
パッケージの削除(アンインストール)を行う
- GUIツール
synaptic
- [コラム]仮想コンソール
#screen
仮想コンソールが使える
#Ctrl_a - c :仮想コンソール増やす #exit :終了 #Ctrl_a - n:コンソール切替next #Ctrl_a - p:同上 pre
漢字が使えなくなる?
screenを使うと漢字がうまく表示できなくなる。環境変数と思うが未調査。
screenを使うと漢字がうまく表示できなくなる。環境変数と思うが未調査。
バックアップ
- 圧縮
#tar -cvf /backup2005-1.tar /usrl/local
これでbackup2005-1.tarに/usr/local以下のファイルがディレクトリ付きで圧縮できる。
- 伸張
#tar -xvf /backup2005-1.tar
- パーティションfdisk
#fdisk /dev/hdb
あとはfdiskのコマンドを使う。
mメニュー、d消し、nニュー、wライト
mメニュー、d消し、nニュー、wライト
- フォーマットmke2fs
#mke2fs -L /mnt/lfs /dev/hda6
/dev/hda6を初期化。
- Lでラベル指定。ラベルは /mnt/lfs
- 自動マウント
#/mnt/fstab
に記述
ユーザー管理
- ユーザ追加
#useradd -d /home/lfs -s /bin/bash lfs
dはホームディレクトリ、-sはシェル。
- パスワード設定
#password lfs PSW
不要なサービスの停止
- 以下のサービスは不要
#apmd APMを監視 #atd atによってキューに入れられたジョブを実行。 #lpd ラインプリンタデーモン
- サービス確認は netstat
#netstat -antu #lsof -i:nn
nnはポート番号。
そのポートを使っているアプリを知ることができる。
そして不要ならkillで停止する。
そのポートを使っているアプリを知ることができる。
そして不要ならkillで停止する。
- 停止方法
#service xx stop
一時的な停止。
xxはcheckconfigで調べたサービスのなまえ
xxはcheckconfigで調べたサービスのなまえ
#checkconfig --level 345 xx off
起動時から停止させておく場合。
これでランレベル345でxxはオフになる
これでランレベル345でxxはオフになる
- [コラム]デーモン(daemon)
デーモンはポートを管理しサービスを提供する守護神。
/etc/rc.d/rc3/d/以下にランレベル3で組み込まれるデーモンがある。
inetdはスーパーサーバと呼ばれており複数のポートを管理する。
その目的は配下のダイモンの起動 /etc/inetd.confに記述。
今後はxinetdに移行。
inetdの再起動は
/etc/rc.d/rc3/d/以下にランレベル3で組み込まれるデーモンがある。
inetdはスーパーサーバと呼ばれており複数のポートを管理する。
その目的は配下のダイモンの起動 /etc/inetd.confに記述。
今後はxinetdに移行。
inetdの再起動は
#kill -HUP [inetdのProcessID]
- 停止してよいサービス
#finger ホスト内情報提示 #daytime 日付と時刻応答 #chargen 文字列応答 #time #shell 不要 #login 不要 #talk コマンドサーバ
xinetd inetdの後継。
/etc/xinetd.d/以下にそれぞれのサービスの設定ファイルを記述
/etc/xinetd.d/以下にそれぞれのサービスの設定ファイルを記述
- rootになれるユーザの限定
#/etc/login.defs ファイル #SU_WHEEL_ONLY yes
を追加
#/etc/group ファイル #wheel:x:10:root,user
を追加。
この場合、rootになれるユーザIDはuser
この場合、rootになれるユーザIDはuser
#/etc/pam.d/su ファイル #auth required /lib/security/pam_wheel.so use_uid group=wheel
- rootでのリモートログインの禁止
#/etc/ssh/sshd_conf ファイル #PermitRootLogin yes
から
#PermitRootLogin no
へ変更
#/etc/rc.d/init.d/sshd reload sshd
で再起動
SSH公開鍵の設置
- 「/home/USER」に「.ssh」ディレクトリを作成
#mkdir /home/USER/.ssh
- 公開鍵を作成し、「/home/USER/.ssh」以下に適当なファイル名で置く
#emacs /home/USER/.ssh/key.pub
- 「/home/USER/.ssh」の「作成した公開鍵」を「authorized_keys」のファイル名でコピー
#cp key.pub authorized_keys
- 「/home/USER/.ssh」のパーミッションを「700」に変更
#chmod 700 .ssh
- 「/home/USER/.ssh/aurhorized_keys」のパーミッションを「600」に変更
#chmod 600 authorized_keys
- 「/home/USER/.ssh」とそれ以下の、所有者を、「USER」に変更
#chown USER
- 「公開鍵」の削除
#rm -f key.pub
ネットワーク関係
- MACアドレスの調査
#ifconfig
Win9x/Me...winipcfg
Win2k/XP...ipconfig /all
Win2k/XP...ipconfig /all
perl script
- 標準コマンド
#wakeonlan [-h] [-v] [-i IP_address] [-p port] [-f file] [[hardware_address] ...]
- 上記のPCにMagic Packetを送信する
#wakeonlan -i 192.168.xx.xx 00:E0:81:20:E0:xx
- ether-wake
#ether-wake 16:16:16:16:16:16
とやるとそのMACのNICを持つマシンが起動する!
ethtoolと組み合わせて標準コマンドのみでWOL可能。
ethtoolと組み合わせて標準コマンドのみでWOL可能。
- ethtool
ルートで使う。NICの設定はコレでする。のか?
#ethtool eth0
eth0の情報が出る。
#ethtool -s eth0 speed 1000
速度をギガに。
#ethtool -s eth0 wol g
Magicpacketに対してウェイクアップ!
#ethtool -s eth0 wol d
おそらくdisableになる
起動時設定 shutdownするとeth0の設定がdisableになる場合があるらしい。 fc3では当初から起動しなかった。itablesの問題かとおもったが・・・違うのか? /etc/rc.local に /bin/ethtool -s eth0 wol g を記述しておくといいらしい。
起動時設定 shutdownするとeth0の設定がdisableになる場合があるらしい。 fc3では当初から起動しなかった。itablesの問題かとおもったが・・・違うのか? /etc/rc.local に /bin/ethtool -s eth0 wol g を記述しておくといいらしい。
ハングアップ
#alt + sysRq -> + s + u + b で再起動 #alt + sysRq -> s u o でパワーオフ
/proc/sys/kernel/sysrq が1の時 有効。
リモートコピーscp
#scp -r ./html faruser@farserver:
ローカルPCのhtmlディレクトリ以下をディレクトリ付き-rで
farserverへコピー。
その際のユーザはfaruserとする。
このコマンドを実行したらssh接続が始まり、ログイン認証パスワードを入れるとコピーがはじまる。
farserverへコピー。
その際のユーザはfaruserとする。
このコマンドを実行したらssh接続が始まり、ログイン認証パスワードを入れるとコピーがはじまる。
たとえばpaq15/var/www/html からhit18/var/www/htmlへの丸ごとコピーは・・・
paq15の/var/wwwへ移ってから
paq15の/var/wwwへ移ってから
#scp -r ./html/* root@hit18:/var/www/html
とやると、ディレクトリ付きでうまい具合にコピーできる。(つまりAサーバのバックアップをBサーバにとれる)
空いてるポートの確認nmap
#nmap localhost
空いてるポートが出る
ファイアウォール
#/etc/sysconfig/iptables ファイル
これがGNOMEセキュリティレベルで変更されるファイル