ハードリンク

ハードリンクは元のファイルとiノードが同じで,どちらか変更したら同一の実体にも

変更を加える事になります。ハードリンクが存在する場合は,その全てを削除するまでは

ファイルの実体を削除する事は出来ません。

*ハードリンクはiノードで管理されているので,異なるファイルシステムには作成する事は出来ません。

ディレクトリーのハードリンクを作成する事も出来ません。

 

シンボリックリンク

シンボリックリンクはファイルの元の場所を指し示します。リンク元へのポインターを持っています。

シンボリックリンクを残したままファイルを削除する事も可能です。但しリンクはエラーになります。

ハードリンクと異なり,他のファイルシステムへもリンクを貼ることが出来ます。またディレクトリーの

リンクも作成することが可能です。

 

シンボリックリンクをコピーする時は,”-d”オプション付きでコピーするとリンク自体をコピーできます。

[root@localhost linktest]# ls -li
合計 60
1436427 -rw-r–r– 1 root root 516  9月 16 23:00 error.log
1436428 -rw-r–r– 2 root root 401  9月 16 23:00 red.log
1436428 -rw-r–r– 2 root root 401  9月 16 23:00 red_hard.log
1436433 lrwxrwxrwx 1 root root   7  9月 16 23:01 red_sym.log -> red.log
1436429 -rwxr-xr– 1 root root 149  9月 16 23:00 test.log
1436430 -rw-r–r– 1 root root 187  9月 16 23:00 test1.log
1436431 -rw-r–r– 1 root root 374  9月 16 23:00 test2.log
1436432 -rw-r–r– 1 root root 374  9月 16 23:00 test3.log

[root@localhost linktest]# cp red_sym.log cp_red_sym.log
[root@localhost linktest]# cp -d red_sym.log cp_d_red_sym.log
[root@localhost linktest]# ls -l
合計 72
lrwxrwxrwx 1 root root   7  9月 16 23:11 cp_d_red_sym.log -> red.log
-rw-r–r– 1 root root 401  9月 16 23:11 cp_red_sym.log
-rw-r–r– 1 root root 516  9月 16 23:00 error.log
-rw-r–r– 2 root root 401  9月 16 23:00 red.log
-rw-r–r– 2 root root 401  9月 16 23:00 red_hard.log
lrwxrwxrwx 1 root root   7  9月 16 23:01 red_sym.log -> red.log
-rwxr-xr– 1 root root 149  9月 16 23:00 test.log
-rw-r–r– 1 root root 187  9月 16 23:00 test1.log
-rw-r–r– 1 root root 374  9月 16 23:00 test2.log
-rw-r–r– 1 root root 374  9月 16 23:00 test3.log
[root@localhost linktest]#

【 ハードリンクとシンボリックリンク】

symlink.jpg


ファイルを作成した場合のアクセス権 644 (666 – 022)

ディレクトリーを作成した場合のアクセス権755 (777 – 022)

[root@localhost right]# umask
0022

[root@localhost right]# vi umaskconfirm
[root@localhost right]# ls -l
合計 8
-rw-r–r– 1 root root 6  9月 16 22:23 umaskconfirm
[root@localhost right]# mkdir folder
[root@localhost right]# ls -l
合計 16
drwxr-xr-x 2 root root 4096  9月 16 22:26 folder
-rw-r–r– 1 root root    6  9月 16 22:23 umaskconfirm
[root@localhost right]#

 

 

i 変更不可オプション

[root@localhost right]# chattr +i umaskconfirm
[root@localhost right]# lsattr umaskconfirm
—-i——– umaskconfirm

-Rオプションでディレクトリーとその中にある全ファイルの所有者を変更する。

[root@localhost ~]# chown -R admin:admin share/


 

[root@localhost etc]# ls -ld /tmp
drwxrwxrwt 5 root root 4096  9月 12 23:43 /tmp

drwxrwxrwt ← 書き込み権はあるが,他のユーザーが所有するファイルを削除する事は出来ない。

1000+通常権限で設定。若しくはchmod +tでスティッキービットの設定が出来ます。

SUID(4000), SGID(2000)も設定出来ます。

 

 


読み取り     r

書き込み権  w

実行権        x

[root@localhost ~]# chmod 754 test.log
-rwxr-xr–  1 admin admin      149  8月 19 22:42 test.log

rwx —–> 7

r-w ——> 5

r———–>4

 

【オプション】

-R 指定したディレクトリー以下にある全ファイルのアクセス権を変更する。

 

-rw-rw-r–  1 admin admin      149  8月 19 22:42 test.log

[root@localhost ~]# chmod ug+w test.log

↓のようになります。=  [root@localhost ~]# chmod 664 test.log

-rw-rw-r–  1 admin admin      149  8月 19 22:42 test.log

u=所有者

g=グループ

o=その他ユーザー

a=全てのユーザー


PSコマンドメモ

ps auxw

[root@localhost ~]# ps aufxw
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.2   2004   676 ?        Ss   21:57   0:01 init [5]
root         2  0.0  0.0      0     0 ?        SN   21:57   0:00 [ksoftirqd/0]
root         3  0.0  0.0      0     0 ?        S    21:57   0:00 [watchdog/0]
root         4  0.0  0.0      0     0 ?        S<   21:57   0:00 [events/0]
root         5  0.0  0.0      0     0 ?        S<   21:57   0:00 [khelper]
root         6  0.0  0.0      0     0 ?        S<   21:57   0:00 [kthread]
root        55  0.0  0.0      0     0 ?        S<   21:57   0:00  \_ [kblockd/0]
root        56  0.0  0.0      0     0 ?        S<   21:57   0:00  \_ [kacpid]
root       111  0.0  0.0      0     0 ?        S<   21:57   0:00  \_ [cqueue/0]

プロセスの詳細は,以下のようにも見る事も出来ます。

ps auxwww -L

ps auxwww -L | sort -k 3

ps auxwww -L | sort -k 3 -r

ps_auxwww.jpg
ps_auxwww-sort.jpg
ps_auxwww-sort-r.jpg

 


PHPのパフォーマンスを簡単に手に入れたいのであれば,一度検討してみるのも良いかも。

Zendが無償で提供するPHPコードの最適化モジュール

Zend Optimizerは、PHPコードの最適化を行ない実行速度を数%から数十%まで高速化します。
また、PHPコードのセキュリティソリューション Zend Guard (Zend Encoder/ Zend SafeGuard Suite の後継製品としてリリース予定)がエンコード(変換した)コードの実行にも使用します。
モジュールローディング方式なので、PHPをコンパイルすることなく導入できます。

 


チューニングパラメータは/proc/sys配下に集まっています。

/proc/sys /kernel
        /fs
        /vm
        /net

shmall、shmmni、shmmax
共有メモリ(シェアードメモリ)のパラメータです。shmallはシステム全体の共有メモリの大きさ、
shmmaxは1プロセスごとの大きさ、shmmniは1プロセスごとの共有メモリセグメント(領域)の数の上限を規定します。
共有メモリを利用する構造になっているアプリケーション(データベースなど)によっては、
この値を大きく取っておかないとうまく動作しないものもあります。

[root@localhost etc]# cp /etc/sysctl.conf /etc/sysctl.conf.20070907
[root@localhost etc]# cat /proc/sys/kernel/shmmax
33554432
[root@localhost etc]# vi /etc/sysctl.conf
[root@localhost etc]# /sbin/sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
kernel.shmmax = 536870912
[root@localhost etc]# cat /proc/sys/kernel/shmmax
536870912
[root@localhost etc]#

 

=その他設定ファイル=

[root@localhost ~]# ls -l /proc/sys/kernel/hostname
-rw-r–r– 1 root root 0  9月  8 01:19 /proc/sys/kernel/hostname
[root@localhost ~]# cat /proc/sys/kernel/hostname
localhost.localdomain
[root@localhost ~]# cat /proc/sys/kernel/domainname
(none)
[root@localhost ~]# cat /proc/sys/kernel/panic
0
[root@localhost ~]# cat /proc/sys/kernel/osrelease
2.6.20-1.2312.fc5
[root@localhost ~]# cat /proc/sys/kernel/ostype
Linux
[root@localhost ~]# cat /proc/sys/kernel/version
#1 Tue Apr 10 15:09:44 EDT 2007
[root@localhost ~]# cat /proc/sys/kernel/printk
6       4       1       7
[root@localhost ~]# cat /proc/sys/kernel/modprobe
/sbin/modprobe
[root@localhost ~]# cat /proc/sys/kernel/hotplug

[root@localhost ~]# cat /proc/sys/kernel/threads-max
10238
[root@localhost ~]# 

 

shemmax.jpg

 

 

 


1

/etc/my.cnfを編集して,以下のラインを追加します。
log-slow-queries = /var/log/mysql-slow.log
long_query_time = 5
2

MYSQLを再起動して,コンフィグファイルを読み込ませる。
3
MYSQLにてコマンドで確認。

SLOWLOG.jpg

==============抜粋================

mysqld--log-slow-queries[=file_name] オプションで起動すると、
実行に long_query_time 秒より長くかかった SQLコマンドがすべてログファイル
に書き込まれます。最初のテーブルロックにかかった時間は実行時間に含まれません。

スロークエリログは、クエリ実行後、すべてのロックが解除された後に書き込
まれます。これは、ステートメントが実行された順序とは異なる場合があります。
ファイル名を指定しなければ、ホストマシンの名前に -slow.log
を付けたものがデフォルト名になります。ファイル名を指定し、パスを指定しない場合、
ファイルはデータディレクトリに作成されます。
スロークエリログは、実行に時間がかかり、最適化の対象となるクエリを見つけるため
に使用できます。大きなログでは、これは難しい作業になります。
mysqldumpslow コマンドを使用すれば、ログのクエリサマリを取得できます。
--log-long-format を使用すれば、インデックスを使用しなかったクエリも出力されます。

log-queries-not-using-indexes

log-queries-not-using-index