我不是经过培训的系统pipe理员,所以我一直在学习。 在我缺乏知识的情况下忍受着我。 🙂
我负责分析我的雇主的一台服务器。 它运行的是CentOS,其主要function是作为我们组织的各种包pipe理器(RPM,DEB)的包库,但也有其他function。 麻烦的是,没有人知道它是如何configuration的
我们需要将这个服务器移动到一个新的物理机器上,所以我被要求弄清楚它是如何configuration的,它在运行什么等等。我知道这是一个相当模糊的定义,而且我会肯定会错过的事情,但我想尽可能做一个彻底的工作。
我的问题是,我应该检查哪些地方? 如果您没有任何关于它的事先知识,您将如何去复制机器的configuration和环境。 这里有一些我能想到的:
ps我当然会自动configuration一切,我可以找出这个服务器,所以这不会发生在我身后的下一个人。
首先,我会尽可能多地获取关于服务器运行状态的信息。
什么是正在运行的进程?
# ps aux
什么是networkingconfiguration?
# ip address # ip route
我们有听力过程吗?
# netstat -lp
什么是使用的文件?
# lsof
什么是已安装的软件包?
# rpm -qa
也许有些防火墙规则?
for t in `echo "mangle nat filter raw"` do echo ">> $t" iptables -t $t -nvL done
在有趣的文件夹中,您有:
/etc ,其中大部分系统configuration已保存。 /home ,有些服务可以使用这个文件夹来存储数据。 /opt ,可以在那里安装第三方应用程序。 /root ,pipe理员的主文件夹,可以包含有用的脚本。 /srv ,服务数据的标准文件夹。 /usr/local/{bin,etc,sbin,*}可以包含本地安装的文件。 /var/log ,可以给出有关系统上运行的信息。 因此,您应该首先了解运行您服务器的内容。
一个好的开始是使用蓝图来反向工程系统。 这将拉包,安装和一些基本的configuration信息。
另外,由于这是一个CentOS / Redhat系统,请查看/root/anaconda-ks.cfg中的安装文件。 这会给你一些关于系统初始安装选项的想法。
你提到的三件事是一个好的开始。 我也会这样做:
rpm -V $(rpm -qa)查看已安装软件包中的更改 find /[belmosuv]* | xargs -n1 rpm -q --whatprovides | grep 'not owned' find /[belmosuv]* | xargs -n1 rpm -q --whatprovides | grep 'not owned'find安装没有包pipe理器的文件