碎碎念
今天遇到的bug是客户指定使用IBM官方文档中的25000端口作为db2c的通信端口,用响应文件自动安装的时候发现出错了。
出错的原因是,响应文件中的端口和services文件中的端口冲突,但是根据常理来说,services文件中只负责记录端口,事实上没有启动的端口是不会冲突的。
然后使用netstat -an | grep 25000,果然没有在使用中
所以可以推测db2是通过检查services中是否存在一样的端口来判断是否冲突
由于官方文件中说明了在11.5.5之后的版本中默认使用25000作为端口,所以在响应文件中取消对端口的指定,结果安装的过程没有报错,但是安装之后发现安装程序自动将已经被services中占位的端口向后移动到没有被占位的下一个端口了,也就是变成了25010(空)
不过既然客户要求了要用25000端口,那就尽量满足甲方的要求才是真。
想到自己这是在虚拟机环境中,有可能aws上的ami就没有这个端口占用,于是登录aws,发现官方的rhel8 和 rhel9都有25000被占用的情况,于是想看看是个什么服务占着茅坑不拉屎(不让别人用这个端口,但是用netstat查看却也没有任何服务在使用中)
于是发现是这个玩意儿
然后去网上查了好久,各大网站都搜过一遍,也有不少人也在问这个服务或者协议是干嘛用的,但是没有得到任何有用的回答
最后只能去iana官网去查
Service Name and Transport Protocol Port Number Registry
发现注册者的邮箱,uk结尾是英国,icl.co可能是一个公司名称,但是用google,bing,yandex也不能确定是哪家公司。
所以这么不知名也不指望用上他的协议了(短期内),所以直接安装之前在services中注释掉这一行就行了。