読者です 読者をやめる 読者になる 読者になる

DHCP利用時にresolv.confの内容を書き換えないようにする方法(CentOS)

Linux

DHCPを利用している環境で、OS起動時に /etc/resolv.conf の nameserver の設定が、DHCPにより取得されたものに上書きされてしまう。

これを防止するには、/etc/sysconfig/network-scripts/ifcfg-eth0 ファイルに、"PEERDNS=no" を指定する。

# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
TYPE=Ethernet
PEERDNS=no  ※追加する

電話で使う英会話

English

電話をかける時

ABCカンパニーのマイクです。
This is Mike from ABC company.
海外リサーチのペティさんとお話したいのですが。正しい部署ですか。
May I speak to Ms.Petty in overseas research? Is this the right department?
海外リサーチ担当の方とお話したいのですが。
May I speak to someone who deals with overseas research?
海外リサーチを担当している部門につないで頂けますか。
Can you put me through to the department that handles overseas research?
来月の京都の訪問の件でお電話致しています。
I'm calling about your visit to Kyoto next month.
また後でかけ直します。
I'll try again later.
伝言をお伝え頂けますか。
Could you give her a message for me?
ABCカンパニーのマイクから電話があったことをお伝え下さい。
Please tell her that Make of ABC company called.
折り返しお電話をくださるようにお伝え下さい。
Can you ask her to call me back?
ありがとうございました。
Thanks for your help.
お電話頂いたとのことで電話しました。
This is Mike, I'm returning a call from Ms.Petty.
来週のご都合は如何でしょうか。
Can you manage next week?
今、ご都合はよろしいでしょうか。
Is this a good time for you to talk?

電話を受ける時

こんにちは、技術部です。ご用件を承りますが。
Hello, Technical Department. How may I help you?
技術部のペティです。
Technical Department, Petty speaking.
申し訳ありませんが、間違っているようです。
I'm sorry, you have the wrong number.
あいにく彼女はただいま電話に出られません。
I'm afraid she's not available at the moment.
あいにく席をはずしております。
I'm afraid she's away from her desk at the moment.
あいにく別の電話にでております。
I'm afraid she's on another line at the moment.
あいにく社外にでており本日戻ってきません。
I'm afraid she's left for the day.
あいにく本日はお休みさせて頂いております。
I'm afraid she's taking a day off today.
あいにく出張にでており、戻るのは来週の月曜日になります。
I'm afraid she's away on a business trip and won't be back till next Monday.
お名前をお伺いできますか。
May I have your name, please?
伝言を承りましょうか。
May I take a message?
お名前のスペルをお願いできますか。
Could you spell your name, please?
もう少し大きな声でお話頂けますか。
Could you speak up a little, please?
もう少しゆっくりお話して頂けますか。
Could you speak a little slower, please?
聞き取れませんでした。もう一度繰り返して頂けますか。
I'm sorry, I didn't catch that. Could you repeat that, please?
申し訳ありません。そのような名前の者は当社にはおりません。
I'm sorry. We don't have anybody of that name here.
少々お待ち頂けますか、ペティにおつなぎ致しますので。
Just a moment, please(Please hold the line). I'll put you through to Ms.Petty.
確認させて下さい。
Let me just confirm.
ペティさん、マイクさんからお電話です。
Ms.Petty, I have a call for you from Mr.Mike.
お電話ありがとうございました。
Well, thanks for your calling.

MySQLの運用

MySQL

プロンプトの変更

MySQLのプロンプトにユーザ名,ホスト名やデータベース名を表示する

mysql> prompt (\u@\h)[\d]\_>

実行例

mysql> prompt (\u@\h)[\d]\_>
PROMPT set to '(\u@\h)[\d]\_>'
(root@localhost)[(none)] >
(root@localhost)[(none)] >use mysql;
Database changed
(root@localhost)[mysql] >

ずっと変更する場合は、my.cnfに設定

# vi /etc/my.cnf
[mysql]
prompt=(\\u@\\h)[\\d]\\_>

パスワードの変更

mysql> SET PASSWORD FOR root@localhost = PASSWORD('root1234');
Query OK, 0 rows affected (0.00 sec)
mysql>

ファイルへの出力

mysql> tee ファイル名

ファイルへの出力をやめるには

mysql> notee

innnodbのデータファイルの分割

その1
[mysqld]
innodb_data_home_dir =
innodb_data_file_path = /ibdata/ibdata1:100M:autoextend:max:2000M

その2
[mysqld]
innodb_data_home_dir = /ibdata
innodb_data_file_path=ibdata1:50M;ibdata2:100M:autoextend

その3
[mysqld]
innodb_data_home_dir =
innodb_data_file_path=/ibdata/ibdata1:50M;/ibdata/ibdata2:50M:autoextend

InnoDBは、OSの最大ファイルサイズを考慮しないので
ファイルシステム側で2GBの制限がある場合は注意が必要

スロークエリーログの出力

3秒以上かかるクエリーを/var/log/slow.logに出力(デフォルトは10秒)

# vi /etc/my.cnf
log-slow-queries = /var/log/slow.log
long-query-time = 3

設定変更後にMySQLの再起動が必要

MySQLのエラー調査方法

MySQLは、内部エラーメッセージ(errno:**)やシステムエラーコード(Errcode:**)を
出力するので、perrorコマンドで意味の調査が可能

# perror 1 100
OS error code   1:  Operation not permitted
OS error code 100:  Network is down
#

レプリケーション異常時にクエリーを1行スキップしたい場合

mysql> SET GLOBAL SQL_SLAVE_SKIP_COUNTRER=1</i>
mysql> START SLAVE;

断片化の対処

データファイルの断片化を解消するにはOPTIMIZE TABLEを実行する

mysql> OPTIMIZE TABLE テーブル名;
  • MyISAMの場合
    • ファイルのリサイズ可能
  • InnoDBの場合
    • ファイルのリサイズ不可
    • テーブルをDROPし再構築するか、innodb_file_per_tableを使用してファイルごとに実行する

myisam-recoverオプション

myisam-recover=BACKUP,FORCEオプションを設定しmysqlを起動すると
アクセスしたテーブルに異常があった場合、テーブルを自動的に修復する

[Error] mysqld: Table 'テーブル名' is marked as crashed and should be repaired
[Warning] Checking table: 'テーブル名'

自動修復で回復されないテーブルがあった場合、以下のエラーメッセージが出力される

Error: Couldn't repair table: テーブル名

または

Retrying repair of : テーブル名 failed.
Please try REPAIRE EXTENDED or myisamchk

BACKUPを指定している場合、修復の際にデータファイル(MYD)のバックアップ(BAK)が取られる

強制修復の結果、少ない行しか救えなかった場合は、以下のようなメッセージが出力される

Warning: Found 222 of 233 rows when repairing テーブル名

自動修復で回復されないテーブルがあった場合、REPAIRテーブルを実行する

mysql> REPAIR [LOCAL] TABLE テーブル名 オプション

調査系コマンド

Linux

manコマンド

# man 5 passwd
1 ユーザコマンド
2 システムコール
3 ライブラリ
4 デバイスファイル
5 ファイルフォーマット
6 ゲーム
7 その他
8 システム管理コマンド
9 Linux独自のカーネル用ドキュメント

MANPATHは、/etc/man.config(manpath.config)で設定

# man -f passwd
passwd (1)    - update a user's authentication  tokens(s)
passwd (5)    - password file
passwd (1ssl) - compute password hashes
#
# man -k htpasswd ※部分一致
htpasswd (1)  - Manage user files for basic authentication
# 

whatisコマンド

# whatis passwd
passwd (1)    - update a user's authentication  tokens(s)
passwd (5)    - password file
passwd (1ssl) - compute password hashes
#

whatisデータベースはmakewhatisで作成

aproposコマンド

# apropos passwd (man -kと同じ)

whereisコマンド(バイナリ,ソースコード,マニュアルファイルを表示)

# whereis ls
ls: /bin/ls /usr/share/man/man1/ls.1.gz
# 

Viコマンド

Linux

Viコマンドの使い方

カーソルの移動

w 次の単語の先頭 
b 前の単語の先頭 
0 行頭 
$ 行末

指定行への移動

gg ファイルの先頭
1G ファイルの先頭
nG ファイルのn行目
:n ファイルのn行目
G ファイル末

スクロール

Ctrl + U 逆方向に半画面スクロール
Ctrl + D 順方向に半画面スクロール
Ctrl + B 逆方向に1画面スクロール
Ctrl + F 順方向に1画面スクロール

文字の挿入

i カーソルのある場所に挿入 
a カーソルの後ろに挿入 
I 行頭に挿入 
A 行末に挿入 
o カーソルの下の行に挿入 
O カーソルの上の行に挿入 
p カーソルの後に最新のバッファ内容を挿入 
P カーソルの前に最新のバッファ内容を挿入 

文字の削除

x カーソル上の文字を削除 
X カーソルの前の文字を削除 
dw 単語を削除 
d^ 行頭まで削除 
d$ 行末まで削除 
dd 現在行を削除 
df 指定文字までを削除 
J  改行削除  
dG 先頭までを削除(:1,.d)
d1G 行末までを削除(:.,$d)

コピー&ペースト

y$ 行末までをコピー
y0 行頭までをコピー
yw 単語をコピー
nyl n文字後までをコピー
yy 1行コピー
nyy n行コピー
p 貼り付け

テキストの挿入

:r ファイル名 次の行にファイルを読み込む 
:$r ファイル名 ファイル末尾にファイルを読み込む
:0r ファイル名 ファイル先頭にファイルを読み込む

文字の書換え

r 1文字書き換え 
R [ESC]キーを押すまで書き換え 
cw 単語の書き換え 
c$ 行末まで置き換え
cf 指定文字までを書き換え 
u アンドゥ機能 

大文字・小文字の置換

^ 大文字を小文字/小文字を大文字に置換
n^ n文字の大文字を小文字/小文字を大文字に置換 

文字の置換

:s/文字列/文字列/ 
例)
:s/original/replace/  最初の1つを置換
:s/original/replace/g 全部を置換
:s/original/replace/c 置換を確認
:1,10s/original/replace/ 1行目から10行目まで置換

文字の検索

/ カーソル位置からファイル末尾に向かって検索 
? カーソル位置からファイル先頭に向かって検索 

その他

:w ファイルの保存 
:r ファイルの読み込み 
:e 別ファイルの編集 
:! 指定コマンドの実行 

設定ファイル

個別の設定をしたい場合は、「.exrc」または「.vimrc」に記述する。
両方のファイルが存在すれば「.exrc」が無視される。

set number           行番号を表示する 
set tabstop=4        タブ幅を半角4文字 
set autowrite        ファイル切り替え操作時に自動保存する 
set autoindent       上の行のインデント指定を改行時の下行でも引き継ぐ 
set backup           ファイル保存時にバックファイル(.bak)を作成する 
set backupdir=>~/tmp バックアップファイルを作成する際~/tmp下に保存する 
set backspace=1      改行後に「Backspace」キーを押すと上行末尾に戻る 
set backspace=2      改行後に「Backspace」キーを押すと上行末尾の文字を1文字消す 
set history=10       シェル指定の実行履歴を10つまで保存する 
set list             通常は可視表示になっている「タブ」や「改行」を「 ^I」や「$」で表示する 
set title            ktermなどのウィンドウタイトルに編集中のファイル名を表示させる 
set notitle          ktermなどのウィンドウタイトルに編集中のファイル名を表示させない 
set ruler            ルーラーを表示する 
set nowrap           折り返し表示されない