「Linux」カテゴリーアーカイブ

tune2fsでfsckのタイミングを設定する

久しぶりに再起動しようとしたら、強制的にfsckが始まってしまい、なかなか起動しない。
ext2/ext3/ext4ファイルシステムでfsck(実際にはe2fsck)のタイミングを設定、表示するには、tune2fsを使う。

表示

# tune2fs -l /dev/sda1
・・・(略)
Mount count:              7
Maximum mount count:      27
Last checked:             Fri Oct 21 03:41:32 2011
Check interval:           15552000 (6 months)
Next check after:         Wed Apr 18 03:41:32 2012
・・・(略)

自動チェックを停止する

# tune2fs -c 0 -i 0 /dev/sda1 
tune2fs 1.39 (29-May-2006)
Setting maximal mount count to -1
Setting interval between checks to 0 seconds

確認

# tune2fs -l /dev/sda1
・・・(略)
Mount count:              7
Maximum mount count:      -1
Last checked:             Fri Oct 21 03:41:32 2011
Check interval:           0 (<none>)
・・・(略)

Source: tune2fs でfsckを制御 - ike-daiの日記

Mac OS Xでobjdump、ldd

objdumpは、MacPortsでbinutilsをインストールすると、gobjdumpという名前で同等のものが使用できる。(頭にgが付く。)

$ sudo port install binutils

インストールされたコマンドを確認。

$ port contents binutils
Port binutils contains:
  /opt/local/bin/gaddr2line
  /opt/local/bin/gar
  /opt/local/bin/gc++filt
  /opt/local/bin/gelfedit
  /opt/local/bin/gnm
  /opt/local/bin/gobjcopy
  /opt/local/bin/gobjdump
  /opt/local/bin/granlib
  /opt/local/bin/greadelf
  /opt/local/bin/gsize
  /opt/local/bin/gstrings
  /opt/local/bin/gstrip
(以下略)

lddの代わりは、otool -L

$ otool -L /bin/ls
/bin/ls:
	/usr/lib/libncurses.5.4.dylib (compatibility version 5.4.0, current version 5.4.0)
	/usr/lib/libutil.dylib (compatibility version 1.0.0, current version 1.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 159.0.0)

screenコマンド

エスケープキャラクタ(コマンド文字)を変更するには

デフォルトだとC-aだが、これだと行頭への移動にC-aが使えなくなってしまう。
変更するには、~/.screenrcに

escape ^Zz

と指定する。(上記では、エスケープキャラクタをC-z、C-zを入力するためのキーシーケンスをC-z zに設定している。)

スクロールする

<コマンド文字> esc または <コマンド文字> [ でコピーモードにすると、viと同じキーシーケンス(C-b、C-f)でスクロールできる。
コピーモードから抜けるには、escキーを押す。

スクロールバック行数を増やす

コピーモードではviと同じキーシーケンスでスクロールできるが、デフォルトではバックスクロールできる行数は100行。これを増やすには、~/.screenrcに

defscrollback 10000

などと設定する。

文字化け対策

UTF-8モードでscreenを動作させるため、~/.bashrcなどに以下のaliasを設定しておくとよい。

alias screen='screen -U'

screenのmanページより

       -U   UTF-8 モードで screen を動作させる。このオプションは、ユーザの端末が UTF-8 エンコードされた文字を理解し、また送信してくることをscreen に伝える。また新規ウィンドウのデフォルトエンコーディングが 'utf8' になる。

現在のエンコーディングは、<コマンド文字> i で分かる。
例: C-z i (コマンド文字がC-zの場合)

       C-a i
       C-a C-i     (info)        現在のウィンドウに関する情報を表示する。

RVMが動作するようにするためには

screen上でRVMが切り替えられない。
RVMが動作するようにするには、~/.screenrc に

shell -${SHELL}

RVM: Ruby Version Manager - RVM inside Screen
USING SCREEN EXAMPLE part1

'xterm-256color': unknown terminal type.

Mac OS X Lion のターミナルで、Ubuntu(8.04 LTS)を操作していたら、
'xterm-256color': unknown terminal type.
というエラーが発生。

# top
'xterm-256color': unknown terminal type.

■解決方法
Ubuntuに、ncurses-term パッケージをインストールする。

# aptitude search ncurses-term
p   ncurses-term                    - Additional terminal type definitions
# aptitude install ncurses-term

'xterm-256color': unknown terminal type. | Erik Osterman

CentOSにbash-completionをインストール

CentOSのyumにはbash-completionがないので、ソースからインストールした。
Bash-Completion
から、最新のソースをダウンロードしてインストール。

$ tar xjvf bash-completion-2.0.tar.bz2
$ cd bash-completion-2.0
$ ./configure
$ make
$ sudo make install

~/.bashrc

# Use bash-completion, if available
[[ $PS1 && -f /usr/local/share/bash-completion/bash_completion ]] && \
    . /usr/local/share/bash-completion/bash_completion

Gitのbash_completionは、Gitのソースの/contrib/completion/git-completion.bash、
Subversionのbash_completionは、Subversionのソースの/tools/client-side/bash_completion
にあるので、/usr/local/share/bash-completion/completions/ にそれぞれgit、svnという名前で保存すればよい。