网站首页 > 文章精选 正文
作为运维人员或开发者,当接手一台新的 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服务器环境。
猜你喜欢
- 2025-05-08 深入理解受控组件、非受控组件(受控和非受控的区别)
- 2025-05-08 安装Dify源码并修改前端发布(源码安装是什么意思)
- 2025-05-08 前端工程师都会遇到的nodejs常见问题和解决方案复盘
- 2025-05-08 RAGFlow:深度文档理解的RAG引擎、大海捞针测试、API集成业务!
- 2025-05-08 Win11和Win10专业版永久激活密钥详细步骤?
- 2025-05-08 微信小程序入门1(微信小程序入门与实践)
- 2025-05-08 树莓派基础安装(树莓派安装zsh)
- 2025-05-08 项目中使用 husky 格式化代码和校验 commit 信息
- 2025-05-08 Node.js 原生支持 TypeScript?开发者需要了解的一切
- 2025-05-08 Nodejs安装、配置与快速入门(nodejs安装步骤)
- 最近发表
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 计算机网络的拓扑结构是指() (45)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)
- mysql数据库面试题 (57)