TOP ▲
itcore TOP
> TIPS
> pkg_diff.php
タグ:linux centos ubunut パッケージ diff linux 個別にインストールしているパッケージ | itcore 2019年
背景
サーバの移行を行う時に、個別にインストールしているパッケージを調べる。
手順
各サーバで実行
# cd
[centos]
# rpm -qa | grep -o '^[^-]*' | sort | uniq > `hostname`.rpa
[ubuntu]
# dpkg -l | awk '{print $2}' | grep -v '^[^-]*$' | grep -o '^[^-]*' | sort | uniq > `hostname`.pkg
一方のファイルを相手のサーバへコピー(viでコピペ)してdiffをとる。
# diff linux1.pkg erp2.itcore.jp.rpa
linuxのディストリビューションが違うと随分差がでるので、
出来れば同じディストリビューションの同じバージョンを用意して比較したほうが良い。
ubuntu12.04とcentos7
[root@erp2 ~]# diff linux1.pkg erp2.itcore.jp.rpa|wc -l
547
ubuntu12.04とubunut14.04
[root@erp2 ~]# diff linux1.pkg ks2014.pkg|wc -l
185
ubuntu12.04 ubuntu12.04(インストール直後)
[root@erp2 ~]# diff linux1.pkg ubuntu1204.pkg1 |wc -l
142
[root@erp2 ~]# diff linux1.pkg ubuntu1204.pkg1 | grep '<'|wc -l
96
[root@erp2 ~]# diff linux1.pkg ubuntu1204.pkg1 | grep '<'| grep -v '^< lib' | wc -l
27