はじめに

サーバ移行をするときにサーバ移行元のミドルウェアやインストールされているソフトウェア、自動起動の設定など調査をする項目がいくつかある。
上記のようなケースの際に調査をするコマンドを列挙していく。

OSの情報を知りたい

/etc/os-release

1
cat /etc/os-release

/etc/system-release

1
cat /etc/system-release

カーネルのバージョンを知りたい

/proc/version

1
cat /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

1
uname -a

CPUの情報を知りたい

lscpu

1
lscpu

/proc/cpuinfo

1
cat /proc/cpuinfo

メモリの情報を知りたい

free

-mオプションでMB単位になる。

1
free -m

-hオプションをつけると読みやすい形式になる。

1
free -h

この形式だと、Giで表現される。
Giについては下記の記事を参照。
https://dev.classmethod.jp/articles/gb-vs-gib/

稼働しているプロセスを知りたい

ps

1
ps aux

auxでは

  • a: すべてのユーザーのプロセスを表示
  • u: 詳細なユーザー情報を表示
  • x: 制御端末を持たない(バックグラウンドで実行されている)プロセスも表示 となる。

hostsファイルに登録されている内容を知りたい

/etc/hosts

1
cat /etc/hosts

ホスト名を知りたい

hostname

1
hostname

ユーザの一覧を知りたい

/etc/passwd

1
cat /etc/passwd

グループの一覧を知りたい

/etc/group

1
cat /etc/group

日付を知りたい

date

UTCなのかその他タイムゾーン(JTC等)なのかをチェックする。

1
date

ロケール設定を知りたい

言語設定を確認する。

locale

1
locale

localectl

1
localectl status

インストールされているパッケージの確認を知りたい

apt

1
apt list --installed

dpkg

apt-getで入れている場合はこれでも確認可能。

1
dpkg --get-selections
1
dpkg -l

でもよい。

yum

1
yum list installed

dnf

1
dnf list installed

※yumの後継のためコマンドに互換性がある。

パッケージの取得先(リポジトリ)リストを知りたい

apt

1
cat /etc/apt/sources.list

or

1
apt-cache policy

yum

1
yum repolist

dnf

1
dnf repolist

ディスク容量を知りたい

1
df -h

crontabを知りたい

crontab

1
crontab -l

/var/spool/cron/

crontabはユーザごとに設定してあるので /var/spool/cron/ 以下を確認する

1
cat /var/spool/cron/*

自動起動の設定を知りたい

chkconfig

※systemdより前のinitdで動いているOSで使用されていたもの。  現在ではあまり見ない。

1
chkconfig --list

ランレベルで on/offが設定されているので 全てoffであれば自動起動はされていないと言える。

systemctl list-unit-files

systemdが稼働している場合はこちらで確認。

1
systemctl list-unit-files --all --type=service

ポートの待ち受け状況について知りたい

netstat

1
netstat -lntu

lsof

1
lsof -i -P -n | grep LISTEN

ss

1
ss -antup | grep LISTEN

メール送受信(MTA)を知りたい

alternatives –display mta

1
alternatives --display mta

大体、sendmailpostfixを使っているのでどちらが使用されているかを確認する。

その他 ミドルウェアに関連すること

大体のミドルウェアのバージョンは

1
2
[コマンド] -v
[コマンド] --version

などで知ることができる。

Apache

バージョンを知リたい

1
httpd -v

apachectl が使用できる場合はそちらでも。

モジュール一覧

1
httpd -M

PHP

バージョンを知リたい

1
php -v

モジュール一覧

1
php -m

php.iniの読み込み場所の確認

1
php -i | grep php.ini

MySQL

バージョンを知る

クライアントのバージョン

1
mysql --version

サーバのバージョン
※MySQL にログインして以下を実行する

1
select version();

参考

おわりに

直近1年でサーバ移行のタスクが多くあったので、その際に移行元のサーバを調査した時のコマンドをこの記事にまとめた。
比較的小規模なサーバが多かったのと、複雑な設定がなかったため苦労しなかったのでこの辺りのコマンドで調査するだけで移行はできた。
この記事を書いていて、他の方もこのようなタスクがあるだろうなと思いながら検索したら、素晴らしい記事がたくさんあった。
特にノーヒントサーバ調査はかなり詳しく書いてあるので、コマンドの意味や用途を知りたい場合はこの記事をおすすめしたい。
自分が書いた記事は、忙しい人向けな感じになってる。