百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

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

ahcoder 2025-05-09 16:38 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服务器环境。

相关推荐

如何在 Linux 中使用 which 命令?

在Linux的江湖中,每天都有成千上万的命令被执行。当你在终端输入python时,系统可能同时存在Python2.7和Python3.10;当你运行java命令时,可能意外调用了非预期的版本。这时...

linux CentOS检查见后门程序的shell

#CentOS检查后门程序的Shell脚本以下是一个用于检查CentOS系统中潜在后门程序的BashShell脚本,包含多项安全检查:```bash#!/bin/bash#检查后门...

Linux磁盘满了-服务器不打日志df&rm

大家好,我是「Bigder」、今天再说一个有意思的命令「df」,也是踩过坑的、怎么看磁盘占用情况?「df-h」命令用来显示磁盘占用率,截图里面可用是:17G、被使用11%,Use%达到100应用系统...

Linux写脚本经常用到的测试命令(linux硬件测试脚本)

介绍一个Linux写脚本经常用到的测试命令testtest命令用于检查文件类型和比较值。Test用于条件执行。一、test常用于1.文件属性比较2.执行字符串比较3.基本的算术比较二、关系运算符...

Linux History命令:如何显示命令执行的日期和时间

在Linux系统中,history命令是一个简单却强大的工具,它允许用户查看和重用之前执行过的命令。然而,默认情况下,history命令的输出仅显示命令的序号和内容,并不包含命令执行的日期和时间。这对...

判断Linux服务器架构是32位/64位

作为一个Unix系统的新手用户,我可以怎么判断我的Unix服务器安装的是32位或者64位的操作系统呢?你可以使用如下的命令来获取关于Unix内核和CPU架构的信息。getconf命令:显示机器硬件...

linux服务器被黑快速排查(linux服务器被ddos攻击记录日志)

已更新:windows服务器被黑快速排查一般来说linux系统服务器被黑比较少,若怀疑服务器被黑了,可通过下述方法快速排查。下面是小梁的一些总结,可供大家参考。如有问题,欢迎大家在评论区留言交流。感谢...

linux系统磁盘IO性能检测教程(linux磁盘io性能指标)

Linux系统中检测磁盘IO性能的教程在Linux系统中,监控和优化磁盘IO性能对系统的稳定性和效率至关重要,尤其是在高负载环境中。通过使用合适的工具,您可以检测系统的读写速度、IO等待时间以及每个进...

Linux系统Shell脚本语言之循环及判断语句

摘要:在日常工作中或多或少都会接触到shell脚本,可以说会shell脚本是一位后端维护及开发的基本功。shell是一种编程语言,而学习一门编程语言语法,最基本的无外乎就是语言中的数据类型定义,for...

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

作为运维人员或开发者,当接手一台新的Linux服务器时,第一要务就是摸清系统上已经安装部署了哪些应用和服务。本文将以CentOS7为例,详细介绍如何系统地排查已安装的应用和服务,包括它们的安装方...

Linux服务器中毒?教你一步步精准判断和快速处置!

在当今网络安全威胁日益严峻的环境下,Linux虽然以其安全性著称,但也并非“刀枪不入”。许多黑客利用服务器漏洞、弱口令、过期软件等方式,渗透并植入恶意代码。一旦服务器被攻陷,可能导致数据泄露、资源...

Linux-如何区分不同文件类型(linux怎么区分文件类型)

理解Linux一切皆文件的理念,掌握Linux下区分不同文件类型的多种方法(包括:通过颜色、用过文件类型字符、通过file命令及通过stat命令等方法)1.通过观察颜色可以最直观在命令行模式下区分不...

在Linux中输入一行命令后究竟发生了什么?

Linux,这个开源的操作系统巨人,以其强大的命令行界面而闻名。无论你是初学者还是经验丰富的系统管理员,理解在Linux终端输入一条命令并按下回车后发生的事情,都是掌握Linux核心的关键。从表面上看...

如何在 Linux 上设置和管理 VPN?

在Linux上设置和管理VPN是一个相对直接的过程,但需要一些基本的系统管理知识。这里,我们将探讨如何使用OpenVPN这个流行的VPN软件来实现这一目标。1.了解VPN的基本概念VPN,即虚拟私人...

从按下电源到登录界面!Linux启动全流程深度拆解,运维人必看

你要是用过Linux系统,肯定知道开机的时候,不是按个电源键,等着屏幕亮起来那么简单。背后的操作可复杂了,就像一场精心安排的大合唱,每个部分都在该出声的时候出声。今天,咱就来好好讲讲Linux...