はじめに
これを書くきっかけになったのは、レガシーなサーバの移設をする際に、環境を確認するワンライナーを集めておくと楽かな、とおもったのがきっかけです。それほど使う機会があるものではありませんが、覚えておくと環境を調べるのに役に立つかと。
覚書なので、突っ込みは勘弁してください
いろいろ確認ワンライナー
- Kernel/アーキテクチャ確認
uname -a
- カーネル設定確認
sysctl -a
- プロセス詳細確認
ps auxwwf
- ストレージ状態確認
df -aTh
cat /etc/fstab
- ネットワークインターフェース確認
ip -a
- リゾルバ確認
resolveip --info `hostname`
cat /etc/resolv.conf
- 言語設定確認
localectl status
- タイムゾーン確認
timedatectl status
- Cronの設定確認
crontab -l
- 環境変数確認
set
- サービス一覧
※CentOS7でもsystemctl以外で起動させてる場合もあるのでchkconfigも忘れずに
※node.jsとか自作サービスを自動起動するのにpm2とかsupervisordを使っている人もいるので忘れずに
chkconfig --list
systemctl list-units --type=service
systemctl list-unit-files --type=service
pm2 list
supervisorctl status
- FireWall確認
※firewalldとiptablesを併用している人を見かけるので一応チェックしておくといいと思う
firewall-cmd --get-active-zones
firewall-cmd --get-default-zone
firewall-cmd --list-all
firewall-cmd --list-all-zones
iptables -L
- ルーティング確認
route
- ホスト許可/拒否
※サービスの拒否をIPで設定している環境だと、ここに設定がある時があるので確認
cat /etc/hosts.allow
cat /etc/hosts.deny
- ユーザID/GID確認
※自分やユーザ名のわからないユーザのUID/GIDをとりあえず見たいとき。
cat /etc/passwd
- Linuxパッケージ確認
※CentOSの場合はまだまだ、yumを使う人がいるけど、そろそろdnfに移行がかかる感じ
※すでにDNFを導入している場合はdnfでの確認も忘れない
yum list installed
dnf list installed
- PHPモジュールの確認
※phpinfoと一緒、ただし、CLIで実行する場合はiniの場所を指定するのを忘れない
php -i --php-ini /etc/php.ini
- PHP-PECLの確認
pecl list
- PHP-PEARの確認
pear list
- Apache(httpd)のモジュール確認
apachectl -l
- MySQLのユーザ関数を確認する
mysql -u(USER) -p -e"SELECT ROUTINE_DEFINITION FROM information_schema.ROUTINES WHERE ROUTINE_TYPE = 'PROCEDURE'\G;"
- MySQLレプリケーション設定の確認
mysql -u(USER) -p -e"show master status\G;"
mysql -u(USER) -p -e"show slave status\G;"
- PostgreSQLのユーザ関数を確認する
psql -U (USER) -c 'SELECT * FROM pg_proc;'
- PostgreSQLレプリケーション設定の確認
psql -U (USER) -c 'SELECT * FROM pg_stat_replication;'
大体こんな感じでチェックすることが多いかな。
番外:依存の調査
- 実行ファイルの依存を調べる場合
バイナリだけ持ってきて動かす場合に、足りないモジュールがなんなのか調べる
ldd ファイル名
- ロックしているプロセスを調べる
ファイルやポートがロックされていて操作できない場合
lsof -i:(ポート)
lsof (ファイル名)
lsof -c (プロセス名)
- パッケージの依存関係
※ 依存ファイル調査(-qRp)と依存パッケージ名調査(-qip)がある
rpm -qRp (対象RPMパッケージ)
rpm -qip (対象RPMパッケージ)
どれも、環境を調べたり、作り直したりするときに使うと思うので、こんなのあったなと、傍らに置いておいて使うといいかもしれない。
誰かの参考になればいいな。