はじめに
サーバ移行をするときにサーバ移行元のミドルウェアやインストールされているソフトウェア、自動起動の設定など調査をする項目がいくつかある。
上記のようなケースの際に調査をするコマンドを列挙していく。
OSの情報を知りたい
/etc/os-release
/etc/system-release
1
| cat /etc/system-release
|
カーネルのバージョンを知りたい
/proc/version
/etc/distributionName-release
1
| cat /etc/distributionName-release
|
distributionName
に対応する項目は名前の通り、ディストリビューションによる。
例を挙げると以下になる。
OS | 対応するファイル |
---|
Red Hat Enterprise Linux | /etc/redhat-release |
CentOS | /etc/centos-release |
AmazonLinux | /etc/amazon-linux-release |
uname
CPUの情報を知りたい
lscpu
/proc/cpuinfo
メモリの情報を知りたい
free
-m
オプションでMB単位になる。
-h
オプションをつけると読みやすい形式になる。
この形式だと、Gi
で表現される。
Gi
については下記の記事を参照。
→ https://dev.classmethod.jp/articles/gb-vs-gib/
稼働しているプロセスを知りたい
ps
aux
では
- a: すべてのユーザーのプロセスを表示
- u: 詳細なユーザー情報を表示
- x: 制御端末を持たない(バックグラウンドで実行されている)プロセスも表示
となる。
hostsファイルに登録されている内容を知りたい
/etc/hosts
ホスト名を知りたい
hostname
ユーザの一覧を知りたい
/etc/passwd
グループの一覧を知りたい
/etc/group
日付を知りたい
date
UTC
なのかその他タイムゾーン(JTC
等)なのかをチェックする。
ロケール設定を知りたい
言語設定を確認する。
locale
localectl
インストールされているパッケージの確認を知りたい
apt
dpkg
※apt-get
で入れている場合はこれでも確認可能。
でもよい。
yum
dnf
※yumの後継のためコマンドに互換性がある。
パッケージの取得先(リポジトリ)リストを知りたい
apt
1
| cat /etc/apt/sources.list
|
or
yum
dnf
ディスク容量を知りたい
crontabを知りたい
crontab
/var/spool/cron/
crontabはユーザごとに設定してあるので /var/spool/cron/
以下を確認する
自動起動の設定を知りたい
chkconfig
※systemdより前のinitdで動いているOSで使用されていたもの。
現在ではあまり見ない。
ランレベルで on/offが設定されているので 全てoffであれば自動起動はされていないと言える。
systemctl list-unit-files
systemdが稼働している場合はこちらで確認。
1
| systemctl list-unit-files --all --type=service
|
ポートの待ち受け状況について知りたい
netstat
lsof
1
| lsof -i -P -n | grep LISTEN
|
ss
1
| ss -antup | grep LISTEN
|
メール送受信(MTA)を知りたい
alternatives –display mta
1
| alternatives --display mta
|
大体、sendmail
かpostfix
を使っているのでどちらが使用されているかを確認する。
その他 ミドルウェアに関連すること
大体のミドルウェアのバージョンは
1
2
| [コマンド] -v
[コマンド] --version
|
などで知ることができる。
Apache
バージョンを知リたい
apachectl
が使用できる場合はそちらでも。
モジュール一覧
PHP
バージョンを知リたい
モジュール一覧
php.iniの読み込み場所の確認
MySQL
バージョンを知る
クライアントのバージョン
サーバのバージョン
※MySQL にログインして以下を実行する
参考
おわりに
直近1年でサーバ移行のタスクが多くあったので、その際に移行元のサーバを調査した時のコマンドをこの記事にまとめた。
比較的小規模なサーバが多かったのと、複雑な設定がなかったため苦労しなかったのでこの辺りのコマンドで調査するだけで移行はできた。
この記事を書いていて、他の方もこのようなタスクがあるだろうなと思いながら検索したら、素晴らしい記事がたくさんあった。
特にノーヒントサーバ調査はかなり詳しく書いてあるので、コマンドの意味や用途を知りたい場合はこの記事をおすすめしたい。
自分が書いた記事は、忙しい人向けな感じになってる。