欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > 如何快速摸清一个LINUX服务器的系统应用的部署情况和正在运行的服务

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

2025/6/12 22:46:04 来源:https://blog.csdn.net/bjzhang75/article/details/148501515  浏览:    关键词:如何快速摸清一个LINUX服务器的系统应用的部署情况和正在运行的服务

文章目录

  • 1.查看系统基本信息
  • 2.检查系统已安装的软件包
    • 2.1 RPM包管理查询
    • 2.2YUM查询
  • 3.检查运行中的服务
    • 3.1系统服务管理(Systemd)
    • 3.2检查网络服务
  • 4.检查常见的应用安装位置
    • 4.1标准目录检查
    • 4.2检查Web服务
    • 4.3检查数据库服务
  • 5.检查其他安装方式
    • 5.1手动编译安装
    • 5.2容器化应用
    • 5.3其他包管理器
  • 6.检查定时任务
  • 7.检查启动项

作为运维人员或开发者,当接手一台新的 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服务器环境。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词