當接手一臺新的 Linux 服務器時,第一要務就是摸清系統上已經安裝部署了哪些應用和服務。
本文將以 CentOS7為例,詳細介紹如何系統地排查已安裝的應用和服務,包括它們的安裝方式和安裝位置。
1.查看系統基本信息
首先獲取系統整體信息:
# 查看系統版本
cat /etc/centos-release# 查看內核版本
uname -a# 查看系統運行時間(判斷是新系統還是長期運行的)
uptime# 查看系統資源使用情況
top
2.檢查系統已安裝的軟件包
2.1 RPM包管理查詢
CentOS使用RPM包管理系統,可通過以下命令查看:
# 列出所有已安裝的rpm包
rpm -qa# 按安裝時間排序查看(最近安裝的排在前面)
rpm -qa --last# 查看某個具體文件的來源包
rpm -qf /path/to/file# 查看某個已安裝包的詳細信息
rpm -qi package_name# 查看某個包安裝的文件列表
rpm -ql package_name
2.2YUM查詢
# 列出所有已安裝的軟件包
yum list installed# 查看某個包的詳細信息
yum info package_name# 查看哪些組已安裝
yum grouplist
3.檢查運行中的服務
3.1系統服務管理(Systemd)
# 列出所有已加載的服務單元
systemctl list-units --type=service# 列出所有服務(包括未運行的)
systemctl list-units --type=service --all# 查看某個服務的狀態
systemctl status service_name# 查看開機啟動項
systemctl list-unit-files --type=service | grep enabled
3.2檢查網絡服務
# 查看監聽端口
netstat -tulnp
ss -tulnp# 查看防火墻規則
firewall-cmd --list-all
iptables -L -n
4.檢查常見的應用安裝位置
4.1標準目錄檢查
# 查看/usr/local目錄(常見的手動安裝位置)
ls -lh /usr/local# 查看/opt目錄(第三方軟件常見位置)
ls -lh /opt# 查看/etc目錄(配置文件集中地)
ls -lh /etc# 查看/var目錄(日志和運行數據)
ls -lh /var
4.2檢查Web服務
# 檢查Apache
httpd -v 2>/dev/null || apache2 -v 2>/dev/null# 檢查Nginx
nginx -v 2>/dev/null# 檢查Web根目錄
grep -r?"DocumentRoot"?/etc/httpd /etc/apache2 /etc/nginx
4.3檢查數據庫服務
# MySQL/MariaDB
mysql --version 2>/dev/null
systemctl status mysqld mariadb# PostgreSQL
psql --version 2>/dev/null
systemctl status postgresql# MongoDB
mongo --version 2>/dev/null
systemctl status mongod
5.檢查其他安裝方式
5.1手動編譯安裝
# 檢查/usr/local目錄
ls -lh /usr/local# 檢查環境變量PATH中的可執行文件
echo?$PATH?| tr?':'?'\n'?| xargs ls -lh
5.2容器化應用
# 檢查Docker
docker --version 2>/dev/null
docker ps -a# 檢查Podman
podman --version 2>/dev/null
podman ps -a
5.3其他包管理器
# 檢查Python pip安裝的包
pip list 2>/dev/null || pip3 list 2>/dev/null# 檢查Node.js npm安裝的包
npm list -g --depth=0 2>/dev/null
6.檢查定時任務
# 系統級定時任務
ls -lh /etc/cron*# 用戶級定時任務
for?user?in?$(cut -f1 -d: /etc/passwd);?do?crontab -u?$user?-l 2>/dev/null;?done
7.檢查啟動項
# 檢查rc.local
cat /etc/rc.local# 檢查profile和bashrc
grep -r?"啟動"?/etc/profile /etc/bashrc /etc/profile.d/ ~/.bashrc ~/.bash_profile
通過以上系統化的排查,就基本可以掌握一臺新 CentOS 服務器上安裝的所有重要應用和服務。
建議:
1)先通過rpm/yum查看包管理系統記錄
2)檢查運行中的服務和監聽端口
3)查看常見安裝目錄
4)檢查各種啟動項和定時任務
養成這種系統化的排查習慣,可以幫助我們快速熟悉任何新接手的Linux服務器環境。