linux系统日志文件的分析和管理

一、inode与inode表

linux系统中的每一个文件都有文件对应的文件数据 ,文件数据包括元数据(文件的属性信息) 与实际数据,元数据 存放在indoe表中。

  • 文件数据包括元信息与实际数据。
  • 文件存储在硬盘上,硬盘最小存储单位是扇区,每个扇区存储512字节连续的八个扇区组成了一个block块,是文件存取的最小单位,操作系统在读取硬盘的时候,就是一个block块,一个block块的读取(八个扇区一读,也就是4k一读)

1. inode(索引节点)

  • 中文译名为"索引节点",也叫 i 节点
  • 用于存储文件元信息

2 inode表:

文件系统中的一种数据结构,用于存储关于文件和目录的元数据信息。每个文件或目录在文件系统中都有一个对应的 inode

文件数据包括实际数据与元信息(类似文件属性)。文件数据存储在block块中,存储文件元信息(比如文件的创建者、创建日期、文件大小、文件权限等)的区域就叫做inode表。 一个文件必须占用一个inode至少占用一个block(这也是du和ls命令查看的区别)

每一个inode表记录对应的保存了以下信息:

  1. inode number 节点号
  2. 文件类型
  3. 权限
  4. UID
  5. GID
  6. 链接数(指向这个文件名路径名称个数)
  7. 该文件的大小和不同的时间戳
  8. 指向磁盘上文件的数据块指针
  9. 有关文件的其他数据

inode不包含文件名。文件名是存放在目录文件夹当中的。Linux 系统中一切皆文件,因此目录也是一种文件。

每个inode都有一个号码,操作系统用inode号码来识别不同的文件。Linux系统内部不使用文件名,而使用inode号码来识别文件。对于系统来说,文件名只是inode号码便于识别的别称,文件名和inode号码是一一对应关系,每个inode号码对应一个或多个文件名,inode号是在分区时被固定分配多少个的,所以是可以被消耗完的,当查看磁盘空间有剩余却创建不了文件时,有可能是文件过多inode号被用完,这时find ./ -empty 可以查找空文件并删除,另外并不是i

当用户在Linux系统中试图访问一个文件时,系统会先根据文件名去查找它对应的inode号码:通过inode号码,获取inode信息;根据inode信息,看该用户是否具有访问这个文件的权限;如果有,就指向相对应的数据block,并读取数据。

在同一文件系统中inode是唯一的。在不同文件系统中inode可能会一样

inode 表中存储了诸如文件大小、文件权限、文件所有者、文件创建时间、文件修改时间等元数据信息。它还包含了指向实际文件数据的指针,可以快速定位和访问文件的内容

当文件系统创建一个新文件时,会为该文件分配一个唯一的 inode 号,并在 inode 表中创建一个对应的记录。这个 inode 号可以用来标识并访问该文件。

通过使用 inode 表,文件系统可以高效地管理文件和目录,而不需要依赖文件名来进行查找和定位。这种基于 inode 的文件系统在许多操作系统中广泛使用,包括 Linux 中的 ext 文件系统家族。

总结起来,inode 表是文件系统中的一个数据结构,用于存储文件和目录的元数据信息,以及指向文件数据的指针,使得文件系统可以高效地管理和访问文件。

PS:

2.1 如何查看inode号

命令:

查看文件名对应的inode号码

  1. ls -i 文件名/目录(是目录时必须是绝对路径)

查看文件inode信息中的inode号码

  1. stat 文件名

补充:du -i可以查看文件系统的inode号

2.命令和inode号之间的关系

cp 命令:

  • 分配一个空闲的inode号,在inode表中生成新条目
  • 在目录中创建一个目录项,将名称与inode编号关联
  • 拷贝数据生成新的文件

mv命令:

  • 如果mv命令的目标和源在同一设备,

    不影响inode表(除时间戳)或磁盘上的数据位置;

    系统会删除旧的目录对应关系,新建目录对应关系。

rm 命令:

  • 硬链接数递减,从而释放的inode号可以被重用
  • 把数据块放在空闲列表中
  • 删除目录项
  • 数据实际上不会马上被删除,但当另一个文件使用数据块时将被覆盖

3.文件的三条时间戳(元数据中的一部分)

  • 最近访问atime(access time):最后一次访问文件的时间(使用echo追加内容不会变,因为没有打开文件)
  • 最近更改mtime(modify):最后一次更改文件内容的时间。更改完内容之后,ctime也会改变
  • 最近改动ctime(change time):最后一次改变文件元信息(文件或目录属性)的时间。改变后,mtime不变

4.目录

目录是个特殊文件,目录文件的内容保存了此目录中文件的列表及inode number对应关系,目录文件本身的大小,是根据所含目录项统计的,不是目录内所有子文件的大小总和

文件引用说起来是两个方式:

一个是 inode号

另一个是通过文件名来引用一个文件,但Linux系统内部不使用文件名,而使用inode号码来识别文件,对于系统来说,文件名只是inode号码便于识别的别称,所以实际上就是一个,通过inode号,对用户来说是两种

一个目录是目录下的文件名和文件inode号之间的映射

目录文件的结构非常简单,就是一系列目录项(dirent)的列表。每个目录项,由两部分组成:所包含文件的文件名以及该文件名对应的inode号码

5.备份与恢复(xfs类型)

备份分为两种

  1. 全量备份:将文件内容进行备份
  2. 增量备份:将文件新加入的内容,全量备份以外的内容备份

在使用xfs文件系统的系统中,可以通过安装 xfsdumpxfsrestore工具进行备份

列举xfsdump

安装命令:

yum install -y xfsdump

xfsdump 按照inode 顺序备份一个 xfs 文件系统。xfsdump 的备份级别有两种:

  1. 0 表示完全备份
  2. 1-9 表示增量 备份

xfsdump 的备份级别默认为 0

使用 xfsdump 时,需要注意以下的几个限制:

  1. 只能备份已挂载的文件系统
  2. 必须使用root权限才能操作
  3. 只能备份xfs文件系统
  4. 备份后的数据只能用xfsrestore解析
  5. 不能备份两个相同uuid号的文件系统(blkid查看)

备份命令:xfsdump 选项

选项 说明
-f 指定备份文件目录
-L 指定标签 session label
-M 指定设备标签 media label
-s 备份单个文件

二、日志

内核及系统日志由系统服务 rsyslog统一管理,根据其主配置文件 /etc/rsyslog.conf

Linux 操作系统本身和大部分服务器程序的日志文件都默认放在目录/var/log/

1.日志的功能及其分类

1.1日志的功能

记录系统、程序运行中发生的各种事件,当系统出现故障时,通过阅读日志,有助于诊断和解决系统故障。

1.2、日志文件的分类

  1. 内核及系统日志:由系统服务rsyslog统一进行管理,日志格式基本相似,其主配置文件是 /etc/rsyslog.conf

  2. 用户日志:记录系统用户登录及退出系统的相关信息

  3. 程序日志:由各种应用程序独立管理的日志文件,记录格式不统一

    • Web服务:/var/log/httpd/  access_logerror_log
    • 代理服务:/var/log/squid  access.logcache.log
    • FTP服务:/var/log/xferlog

2.常见的日志文件及其保存位置

日志文件一般默认位于:/var/log 目录下

日志文件位置 日志文件说明
/var/log/messages内核和公共日志 它是核心系统日志文件,其中包含了系统启动时的引导信息,以及系统运行时的其他状态消息。I/O 错误、网络错误和其他系统错误都会记录到此文件中。其他信息,比如某个人的身份切换为 root,已及用户自定义安装软件的日志,也会在这里列出。
/var/log/cron 计划任务日志 记录与系统定时任务相关的曰志
/var/log/dmesg 系统引导日志 记录了系统在开机时内核自检的信息,也可以使用dmesg命令直接查看内核自检信息
/var/log/maillog 邮件日志 记录邮件信息的曰志
用户日志
/var/log/lastlog 记录系统中所有用户最后一次的登录时间的曰志。这个文件也是二进制文件.不能直接用Vi 查看。而要使用lastlog命令查看
/var/log/secure 记录验证和授权方面的倍息,只要涉及账户和密码的程序都会记录,比如系统的登录、ssh的登录、su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中
/var/log/wtmp 永久记录所有用户的登陆、注销信息,同时记录系统的启动、重启、关机事件。同样,这个文件也是二进制文件.不能直接用Vi查看,而要使用last命令查看
/var/tun/ulmp 记录当前已经登录的用户的信息。这个文件会随着用户的登录和注销而不断变化,只记录当前登录用户的信息。同样,这个文件不能直接用Vi查看,而要使用w、who、users等命令查看

3.日志文件的格式

日志文件的格式包含以下 4 列:

  • 事件产生的时间(什么时候)
  • 产生事件的服务器的主机名
  • 产生事件的服务名或程序名(做了什么)
  • 事件的具体信息 (谁)

简单说就是谁在什么主机上,在什么时候,做了什么

4.内核及公共消息日志

内核及大多数系统消息被记录到公共日志文件/var/log/messages 中,而其他一些程序消息被记录到各自独立的日志文件中,此外日志消息还能够记录到特定的存储设备中,或者直接发送给指定用户。

对于rsyslog 服务统一管理的大部分日志文件,使用的日志记录格式基本上是相同的(详见3.日志文件的格式)

由系统服务 rsyslog 统一管理,根据其主配置文件 /etc/rsyslog.conf。

  • 软件包:rsyslog-8.24.0-12.el7.x86_64 (可使用 rpm -q 命令查看)
  • 主要程序:/sbin/rsyslogd
  • 配置文件:/etc/rsyslog.conf (可使用 rpm -qc 命令查看)

5.用户日志分析

保存了用户登录、退出系统等相关信息:

  • /var/log/lastlog:最近都用户登录事件。二进制文件,使用 lastlog命令查看。
  • /var/log/secure:与用户验证有关的安全性事件。
  • /var/log/wtmp:用户登录、注销,及系统开、关机事件。二进制文件,使用 last 命令查看。
  • /var/run/utmp:当前登录的每个用户的详细信息。二进制文件,使用w、who、users等命令查看。

5.1 users 查询最近三次登录的用户信息

users 命令只是简单地输出当前登录的用户名称,每个显示的用户名对应一个登录会话。 如果一个用户有不止一个登录会话,那他的用户名将显示与其相同的次数。

5.2 who 查看当前登录的用户、终端、登录时间、IP地址

who命令用于报告当前登录到系统中的每个用户的信息。使用该命令,系统管理员可

以查看当前系统存在哪些不合法用户,从而对其进行审计和处理。who 的默认输出包括用

户名、终端类型、登录日期及远程主机

5.3 w 查看当前登录的用户、终端、IP地址、登录时间、占用CPU的情况、进程等

w 命令用于显示当前系统中的每个用户及其所运行的进程信息,比 users、who 命令的 输出内容要丰富一些。

各字段:

  • USER:登录的用户名。
  • TTY:用户当前所使用的终端。
  • FROM:登录用户的IP地址或主机名。
  • LOGIN@:登录时间。
  • IDLE:用户在终端处于空闲状态的时间。
  • JCPU:用户所有进程的累计CPU时间。
  • PCPU:当前正在运行的进程的CPU时间。
  • WHAT:用户正在做的事情(命令或程序的简短描述)

5.4 last 读取 /var/log/wtmp 文件,显示登录系统的用户信息

last 命令用于查询成功登录到系统的用户记录,最近的登录情况将显示在最前面。通过 last 命令可以及时掌握 Linux 主机的登录情况,若发现未经授权的用户登录过,则表示当前 主机可能已被入侵。

各字段:

  • root 登录的用户名
  • pts/0 用户所使用的终端。
  • 2023-07-31 02:29 登录时间和日期。
  • 192.168.2.103 登录用户的IP地址或主机名。

5.5 lastb 读取 /var/log/btmp 文件,显示登入系统失败的用户信息

lastb 命令用于查询登录失败的用户记录,如登录的用户名错误、密码不正确等情况都将记录在案。登录失败的情况属于安全事件,因为这表示可能有人在尝试猜解你的密码。除 了使用 lastb 命令查看以外,也可以直接从安全日志文件/var/log/secure 中获得相关信息。

6.程序日志分析

程序日志:由各种应用程序独立管理的日志文件,记录格式不统一

  • Web服务:/var/log/httpd/  access_logerror_log
  • 代理服务:/var/log/squid  access.logcache.log
  • FTP服务:/var/log/xferlog

一般查看文本使用grep过滤命令,awksed等文本过滤、格式化编辑工具,分析日志使用WebalizerAwstats等专用日志分析工具

三、系统日志管理

1. sysklogd 系统日志服务

CentOS 5 之前版本采用的日志管理系统服务

  • syslogd: system application 记录应用日志
  • klogd: linux kernel 记录内核日志

事件记录格式:

日期时间 主机 进程[pid]: 事件内容

C/S架构:

通过TCP或UDP协议的服务完成日志记录传送,将分布在不同主机的日志实现集中管理

2.rsyslog 系统日志服务

rsyslog是CentOS 6以后版本的系统管理服务:它提供了高性能,出色的安全性和模块化设计。尽管rsyslog最初是常规的syslogd,但发展成为一种瑞士军刀式的记录工具,能够接受来自各种来源的输入,并将其转换,然后输出到不同的目的地。

当应用有限的处理时,RSYSLOG每秒可以将超过一百万的消息传递到本地目的地。即使在远程的目的地和更精细的处理中,性能通常也被认为是惊人的"。

官网:www.rsyslog.com/

2.1 rsyslog的特性

  • 多线程
  • UDP, TCP, SSL, TLS, RELP
  • MySQL, PGSQL, Oracle实现日志存储
  • 强大的过滤器,可实现过滤记录日志信息中任意部分
  • 自定义输出格式 可以日志
  • 适用于企业级

2.2 查看rsyslog的详细信息

vbnet 复制代码
 [root@localhost ~]#rpm -qi rsyslog 
 Name        : rsyslog
 Version     : 8.24.0
 Release     : 12.el7
 Architecture: x86_64
 Install Date: 2021年08月06日 星期五 20时59分53秒
 Group       : System Environment/Daemons
 Size        : 2001814
 License     : (GPLv3+ and ASL 2.0)
 Signature   : RSA/SHA256, 2017年08月11日 星期五 03时43分05秒, Key ID 24c6a8a7f4a80eb5
 Source RPM  : rsyslog-8.24.0-12.el7.src.rpm
 Build Date  : 2017年08月07日 星期一 08时56分12秒
 Build Host  : c1bm.rdu2.centos.org
 Relocations : (not relocatable)
 Packager    : CentOS BuildSystem <http://bugs.centos.org>
 Vendor      : CentOS
 URL         : http://www.rsyslog.com/
 Summary     : Enhanced system logging and kernel message trapping daemon
 Description :
 Rsyslog is an enhanced, multi-threaded syslog daemon. It supports MySQL,
 syslog/TCP, RFC 3195, permitted sender lists, filtering on any message part,
 and fine grain output format control. It is compatible with stock sysklogd
 and can be used as a drop-in replacement. Rsyslog is simple to set up, with
 advanced features suitable for enterprise-class, encryption-protected syslog
 relay chains.
​

2.3 ELK

ELK:由Elasticsearch,Logstash,Kibana三个软件组成

  • 非关系型分布式数据库基于apache软件基金会jakarta项目组的项目lucene
  • Elasticsearch是个开源分布式搜索引擎,可以处理大规模日志数据,比如:NginxTomcat系统日志等功能
  • Logstash对日志进行收集、分析,过滤,并将其存储供以后使用
  • Kibana 可以提供的日志分析友好的 Web 界面

3.rsyslog管理

3.1 rsyslog 系统日志术语

  • facility:设施,从功能或程序上对日志进行归类
perl 复制代码
#内置分类
auth(验证), authpriv, cron(定时任务), daemon,ftp,kern, lpr, mail, news, security(auth), user, uucp, syslog
#自定义的分类
local0-local7
  • Priority 优先级别,从低到高排序
scss 复制代码
debug, info, notice, warn(warning), err(error), crit(critical), alert, emerg(panic)

还可以通过 man 3 syslogman logger查看帮助:

sql 复制代码
[root@centos8 ~]#yum -y install man-pages
[root@centos8 ~]#man 3 syslog
level
       This  determines  the  importance  of the message.  The levels are, in order of decreasing impor‐
       tance:
​
       LOG_EMERG      system is unusable
​
       LOG_ALERT      action must be taken immediately
​
       LOG_CRIT       critical conditions
​
       LOG_ERR        error conditions
​
       LOG_WARNING    warning conditions
​
       LOG_NOTICE     normal, but significant, condition
​
       LOG_INFO       informational message
​
       LOG_DEBUG      debug-level message
​

3.2 日志的等级

在 Linux 内核中,根据日志消息的重要程度不同,将其分为不同 的优先级别(数字等级越小,优先级越高,消息越重要)

等级名称 说 明 级别
debug (LOG_DEBUG) 一般的调试信息说明 7
info (LOG_INFO) 基本的通知信息 6
notice (LOG_NOTICE) 普通信息,但是有一定的重要性 5
warning(LOG_WARNING) 警吿信息,但是还不会影响到服务或系统的运行 4
error(LOG_ERR) 错误信息, 一般达到err等级的信息已经可以影响到服务成系统的运行了 3
crit (LOG_CRIT) 临界状况信思,比err等级还要严® 2
alert (LOG_ALERT) 状态信息,比crit等级还要严重,必须立即采取行动 1
emerg (LOG_EMERG) 疼痛等级信息,系统已经无法使用了 0

补充四条特殊

  • * 代表所有日志等级。比如,"authpriv.*"代表amhpriv认证信息服务产生的日志,所有的日志等级都记录
  • none:没有级别,即不记录
  • PRIORITY:指定级别(含)以上的所有级别
  • =PRIORITY:仅记录指定级别的日志信息

3.3 日志的服务名称

什么服务 的日志

服务名称 说 明
auth(LOG AUTH) 安全和认证相关消息 (不推荐使用authpriv替代)
authpriv(LOG_AUTHPRIV) 安全和认证相关消息(私有的)
cron (LOG_CRON) 系统定时任务cront和at产生的日志
daemon (LOG_DAEMON) 与各个守护进程相关的曰志
ftp (LOG_FTP) ftp守护进程产生的曰志
kern(LOG_KERN) 内核产生的曰志(不是用户进程产生的)
Iocal0-local7 (LOG_LOCAL0-7) 为本地使用预留的服务
lpr (LOG_LPR) 打印产生的日志
mail (LOG_MAIL) 邮件收发信息
news (LOG_NEWS) 与新闻服务器相关的日志
syslog (LOG_SYSLOG) 存syslogd服务产生的曰志信息(虽然服务名称己经改为reyslogd,但是很多配罝依然沿用了 syslogd服务的,所以这里并没有修改服务名称)
user (LOG_USER) 用户等级类别的日志信息
uucp (LOG_UUCP> uucp子系统的日志信息,uucp是早期Linux系统进行数据传递的协议,后来 也常用在新闻组服务中

3.4 rsyslog相关文件

  • 程序包:rsyslog
  • 主程序:/usr/sbin/rsyslogd
  • CentOS 6:/etc/rc.d/init.d/rsyslog {start|stop|restart|status}
  • CentOS7和CentOS8:/usr/lib/systemd/system/rsyslog.service
  • 配置文件:/etc/rsyslog.conf/etc/rsyslog.d/*.conf
  • 库文件: /lib64/rsyslog/*.so

3.5 rsyslog的配置文件格式

rsyslog的配置文件是/etc/rsyslog.conf,它由三部分组成:

  • MODULES:相关模块配置
  • GLOBAL DIRECTIVES:全局配置
  • RULES:日志记录相关的规则配置

RULES配置格式:

java 复制代码
facility.priority; 
#分类      优先级
​
​
*: 所有级别
none:没有级别,即不记录
PRIORITY:指定级别(含)以上的所有级别
=PRIORITY:仅记录指定级别的日志信息
​
文件路径:通常在/var/log/,文件路径前的-表示异步写入
用户:将日志事件通知给指定的用户,* 表示登录的所有用户
日志服务器:@host,把日志送往至指定的远程UDP日志服务器 @@host 将日志发送到远程TCP日志服务器
管道: | COMMAND,转发给其它命令处理

3.6 将ssh服务的日志单独设置

3.7 网络日志(远程日志)

csharp 复制代码
//日志服务器
[root@localhost ~]#vim /etc/rsyslog.conf 
....
# Provides TCP syslog reception 
$ModLoad imtcp
$InputTCPServerRun 514
//打开19 20行的配置
....
[root@localhost ~]#systemctl restart rsyslog.service 
[root@localhost ~]#ss -ntap|grep 514    //查看514端口
LISTEN     0      25           *:514                      *:*                   users:(("rsyslogd",pid=2015,fd=3))
LISTEN     0      25          :::514                     :::*                   users:(("rsyslogd",pid=2015,fd=4))
​
//服务器1
[root@localhost ~]#vim /etc/rsyslog.conf
.....
# Provides TCP syslog reception 
$ModLoad imtcp
$InputTCPServerRun 514
//打开19.20行配置
.....
# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none                /var/log/messages
*.info;mail.none;authpriv.none;cron.none                @@192.168.1.10
//设置日志发送到哪台服务器
.....
[root@localhost ~]#systemctl restart rsyslog.service 
[root@localhost ~]#ss -ntap|grep 514   //查看514端口
LISTEN     0      25           *:514                      *:*                   users:(("rsyslogd",pid=34126,fd=3))
ESTAB      0      0      192.168.1.13:36508              192.168.1.10:514                 users:(("rsyslogd",pid=34126,fd=9))
LISTEN     0      25          :::514                     :::*                   users:(("rsyslogd",pid=34126,fd=4))
[root@localhost ~]#logger "genshin is the best game in the world"
//向日志服务器发送日志
​
​
//日志服务器
[root@localhost ~]#tailf /var/log/messages 
Jul 31 19:00:01 localhost systemd: Started Session 2 of user root.
Jul 31 19:00:01 localhost systemd: Starting Session 2 of user root.
Jul 31 19:01:01 localhost systemd: Started Session 3 of user root.
Jul 31 19:01:01 localhost systemd: Starting Session 3 of user root.
Jul 31 19:01:59 localhost systemd: Stopping System Logging Service...
Jul 31 19:01:59 localhost rsyslogd: [origin software="rsyslogd" swVersion="8.24.0" x-pid="31808" x-info="http://www.rsyslog.com"] exiting on signal 15.
Jul 31 19:01:59 localhost systemd: Starting System Logging Service...
Jul 31 19:01:59 localhost rsyslogd: [origin software="rsyslogd" swVersion="8.24.0" x-pid="34126" x-info="http://www.rsyslog.com"] start
Jul 31 19:01:59 localhost systemd: Started System Logging Service.
Jul 31 19:03:06 localhost root: genshin is the best game in the world
"http://www.rsyslog.com"] exiting on signal 15.
Jul 31 19:01:59 localhost systemd: Starting System Logging Service...
Jul 31 19:01:59 localhost rsyslogd: [origin software="rsyslogd" swVersion="8.24.0" x-pid="34126" x-info="http://www.rsyslog.com"] start
Jul 31 19:01:59 localhost systemd: Started System Logging Service.
Jul 31 19:03:06 localhost root: genshin is the best game in the world
​
//最后一行显示了服务器1发送来的日志
​

3.8 journalct 日志管理工具

CentOS 7 以后版,利用Systemd 统一管理所有 Unit 的启动日志。带来的好处就是,可以只用journalctl一个命令,查看所有日志(内核日志和应用日志)

配置文件存放于:/etc/systemd/journald.conf

命令格式journalctl 选项

常用选项

  • -u 仅显示特定系统服务或单元的日志消息
  • -b 仅显示特定引导过程的日志消息
  • -p 仅显示特定优先级的日志消息
  • -n 显示指定行数的日志消息
  • -f 实时跟踪日志,持续显示新的日志消息
  • --since= 和 --until=: 仅显示指定时间范围内的日志消息。
相关推荐
Komorebi.py4 分钟前
【Linux】-学习笔记03
linux·笔记·学习
dessler35 分钟前
云计算&虚拟化-kvm创建网桥(bridge)
linux·运维·云计算
YRr YRr37 分钟前
Ubuntu20.04 解决一段时间后键盘卡死的问题 ubuntu
linux·数据库·ubuntu
醇氧2 小时前
ab (Apache Bench)的使用
linux·学习·centos·apache
moneyxjj3 小时前
Linux各种解压命令汇总
linux·运维·服务器
白白♛~3 小时前
网络管理之---3种网络模式配置
linux·服务器·网络
GOTXX3 小时前
NAT、代理服务与内网穿透技术全解析
linux·网络·人工智能·计算机网络·智能路由器
脱了格子衬衫3 小时前
使用源码编译安装 Tomcat
linux·tomcat
陈yanyu4 小时前
Linux - 弯路系列3:安装和编译libvirt-4.5.0及虚拟网卡virbr0(virbr0-nic)创建
linux·运维·服务器
feng68_4 小时前
Linux编辑/etc/fstab文件不当,不使用快照;进入救援模式
linux