Linux

ファイルの文字コードを一括変換

カレントディレクトリ以下のファイルに対して文字コードを UTF-8 に変換したい。 http://masaoo.blogspot.com/2009/02/find-nkf-xargs.html より、 $ find . -type f -exec nkf -w --overwrite {} \;で出来た。 nkf に --overwrite オプションっていうのがあ…

アカウントのロックとアンロック

http://kazmax.zpp.jp/linux/account_lock.html より、 # ロック passwd -l ユーザ名 # アンロック passwd -u ユーザ名

bash のコマンド履歴に、タイムスタンプを表示する

history コマンドで、タイムスタンプを履歴に記録・表示する方法が分かった。.bashrc などに以下の設定を追加すればいい。 export HISTTIMEFORMAT=’%F %T ‘ 確認方法: history | less

Linux は、半年に1回は再起動が必要

Linux カーネルに割と重大なバグが見つかったそうです。http://www.st.ryukoku.ac.jp/~kjm/security/memo/2012/01.html#20120106_Linux より、 Linux 2.6.28 以降に欠陥。sched_clock() が約 208.5 日で overflow するため、 Linux が再起動する。Linux 2.6.…

プロセスアカウンティングでコマンド履歴を残す (あとで試す)

Linux のコマンド履歴をより詳細に取ることができるらしい。http://www.usupi.org/sysad/139.html http://www.usupi.org/sysad/140.html

Linux テキスト処理で使うコマンド

Linuxでよく使うコマンド50 を見ていて、テキスト処理限定で、日常的によく使うコマンドを思いつくまま上げてみたくなった。(分類は見直したほうがいいけど) awk sed tr grep head tail cut paste diff comm sort uniq wc nkf cat zcat zgrep 具体的な用途…

dmidecode でハードウェア情報取得

Linux の dmidecode コマンドを利用するとかなり詳細な情報がえられる。例:Dell のサービスタグナンバーを検索してみる。 dmidecode | grep "Serial Number"VM 上の Linux でも動作確認してみたが、Xen の Domain-U 上では動作しなかった。 KVM 上のものは…

Linux システムの調査でよく使うコマンド

Linux システムの調査やトラブルが発生した際の手がかりになる情報を得るためによく使うコマンドたち。 パフォーマンス関連 vmstat top プロセス状況 ps ディスク利用状況 df du ネットワーク(設定)状況 netstat ifconfig ネットワーク(疎通)状況 traceroute…

vmstat

vmstat は、CPU・メモリ・I/Oの利用状況を調べるのに用いるコマンド。 実行例 $ vmstat 1 5 procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 0 0 864 45868 11164 …

KNOPPIX をテキストモードで起動

ブート時にランレベル2を指定する。 boot: knoppix 2LANG を変更 # export LANG=CGUI 環境へ切り替えたい場合 # init 5

Windows のパスワード変更 (未確認)

Linux(KNOPPIX) 上で Windows のパスワード変更は chntpw コマンドで出来るとのこと。 sources.list に non-free を追加したのち以下を実行。 # apt-get install chntpw # ntfsmount /mnt -o dev=/UNIONFS/dev/hda1 # chntpw -u <ユーザ名> /mnt/WINDOWS/sys…

root パスワードの復旧

KNOPPIX などのブータブルCD から起動したのち、 # mount -t ext3 /dev/hda2 /mnt # chroot /mnt passwd

MBR の保存と復旧

保存: # dd if=/dev/sda of=/home/okinaka/mbr.bin bs=512 count=1復旧: # dd if=/home/okinaka/mbr.bin of=/dev/sda bs=512 count=1万が一の場合に備えてOSインストール作業の前に MBR のバックアップを取っておくと便利。

LVM の操作

よく忘れてしまうのでメモ pvcreate /dev/sda6 vgcreate vg1 /dev/sda6 lvcreate -L 1G -n disk1 vg1

Linux のマウントオプション

Linux カーネル 2.6.20 以降では、noatime は副作用が大きいので relatime を付けるといいらしい。ただし、ディストリビューションによってはデフォルトで有効になっていたりするらしいので設定すら不要な場合もあるとのこと。カーネルで有効になっているか…

du コマンド

/home 以下のディスク使用量を調べる $ du -sm /home/* | sort -n

DNS のゾーン転送

マスターからスレーブへゾーン転送されているかどうか確認する。 $ dig @マスターサーバのIPアドレス example.jp axfr考えられる問題点は2つ 経路の途中で TCP の 53 ポートが閉じている マスター・スレーブ・その途中のどこかでフィルタリングされてるかも?…

クォータを利用する

/etc/fstab の設定 オプションに usrquota を追加 /dev/sda1 /home ext3 defaults,usrquota 0 0 クォータ・ファイルを作成 # touch /home/aquota.user # chown root:root /home/aquota.user # chmod 600 /home/aquota.user ユーザー情報の登録 # quotacheck …

expect コマンド

対話的な入力が必要なコマンドの実行を自動化する。 spawn は実行するコマンド、expect は実行したコマンドが表示するメッセージ、send は入力する内容を指定するコマンド。

tmpfs ファイルシステム

メモリーをRAMディスクとして利用するためのファイルシステム。 Ubuntu などでは、デフォルトで /dev/shm が利用できるようになっている。 /etc/default/tmpfs でサイズの設定を変更できる。手動でマウントする: # mount -t tmpfs -o size=48M tmpfs /mntRA…

cadaver コマンド

コマンドライン WebDAV クライアント。 $ cadaver http://webdav.example.com/eigyoucadaver サブコマンド cadaver [URL] サーバへの接続 ls ディレクトリの一覧 put [ファイル] ファイルの送信 get [ファイル] ファイルの取得 close 接続の終了

ifconfig コマンド

NIC の状態確認や設定変更をするコマンド。 状態確認 $ LANG=C ifconfig eth0 Link encap:Ethernet HWaddr 00:0f:ea:71:60:46 inet addr:192.168.0.13 Bcast:192.168.0.255 Mask:255.255.255.0 <-- IPv4 の情報 inet6 addr: fe80::20f:eaff:fe71:6046/64 Sco…

ping コマンド

指定したホストと通信可能かどうかを確認するコマンド。 $ ping 192.168.0.1 PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data. 64 bytes from 192.168.0.1: icmp_seq=1 ttl=255 time=1.80 ms 64 bytes from 192.168.0.1: icmp_seq=2 ttl=255 time=0.55…

traceroute コマンド

指定したホストまでの経路を表示するコマンド。UDP パケットが破棄されてしまう場合は、「-I」オプションを指定して、ICMP パケットを利用する $ traceroute -I www.yahoo.co.jp

route コマンド

ネットワークの経路情報を表示・設定するためのコマンド。 状態確認 $ LANG=C route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.0.0 * 255.255.255.0 U 0 0 0 eth0 link-local * 255.255.0.0 U 1000 0 0 eth0…

開いているポートを調べるには

http://builder.japan.zdnet.com/news/story/0,3800079086,20385203-2,00.htm より、 netstat -lnptu

CVS のキーワード置換しないオプション

-ko オプションを使うといいらしい。Subversion の場合、デフォルトではキーワード置換しないようになっているので心配無用。CVS や Subversion では、$Revision: $ などと記述しておくと、コミット時にそのときのリビジョンの値に置換してくれる。たとえば…

cron 実行時の PATH

cron から呼び出されたスクリプトには、/usr/local/bin にパスが通っていないことが分かった。今まで、スクリプトからの外部コマンドの実行に失敗していた・・・。/etc/crontab の設定にはちゃんとPATHが書いてあるのだが、どういうわけか引き継がれないらし…

IP エイリアス

ifconfig で、一つの NIC に複数のIPアドレスを割り当てられる。 $ sudo ifconfig eth0:0 192.168.1.12 netmask 255.255.255.0 broadcast 192.168.1.255

dar によるバックアップとリストア

dar コマンド一つで、 完全バックアップ (full backup) 差分バックアップ (differential backup) 増分バックアップ (incremental backup) に対応している。また、リストアも dar コマンドを使う。 完全バックアップ foo ディレクトリ以下にあるファイルをバ…