takt@Wiki

admin

最終更新:

takt

- view
メンバー限定 登録/ログイン

Linux管理のメモ


  • まずdmesg
dmesg 近況チェック。
最近、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を起動。

  • ログ
管理者(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全体丸ごと最新にします。)

#apt-get remove package 
パッケージの削除(アンインストール)を行う

  • GUIツール
synaptic

  • [コラム]仮想コンソール
#screen 
仮想コンソールが使える
#Ctrl_a - c :仮想コンソール増やす 
#exit :終了 
#Ctrl_a - n:コンソール切替next 
#Ctrl_a - p:同上 pre 

漢字が使えなくなる?
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ライト

  • フォーマット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で停止する。

  • 停止方法
#service xx stop
一時的な停止。
xxはcheckconfigで調べたサービスのなまえ
#checkconfig --level 345 xx off
起動時から停止させておく場合。
これでランレベル345でxxはオフになる

  • [コラム]デーモン(daemon)
デーモンはポートを管理しサービスを提供する守護神。
/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/以下にそれぞれのサービスの設定ファイルを記述

  • rootになれるユーザの限定
#/etc/login.defs ファイル
#SU_WHEEL_ONLY yes 
を追加
#/etc/group ファイル 
#wheel:x:10:root,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

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
ルートで使う。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 を記述しておくといいらしい。


ハングアップ

#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接続が始まり、ログイン認証パスワードを入れるとコピーがはじまる。

たとえばpaq15/var/www/html からhit18/var/www/htmlへの丸ごとコピーは・・・
paq15の/var/wwwへ移ってから
#scp -r ./html/* root@hit18:/var/www/html 
とやると、ディレクトリ付きでうまい具合にコピーできる。(つまりAサーバのバックアップをBサーバにとれる)


空いてるポートの確認nmap

#nmap localhost 
空いてるポートが出る

ファイアウォール

#/etc/sysconfig/iptables ファイル
これがGNOMEセキュリティレベルで変更されるファイル
ウィキ募集バナー