程序员求职经验分享与学习资料整理平台

网站首页 > 文章精选 正文

如何快速摸清LINUX系统的应用部署情况和正在运行的服务

balukai 2025-05-08 16:43:57 文章精选 4 ℃

作为运维人员或开发者,当接手一台新的 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)检查各种启动项和定时任务

5)最后考虑容器化等新型部署方式

养成这种系统化的排查习惯,可以帮助我们快速熟悉任何新接手的Linux服务器环境。

Tags:

最近发表
标签列表