Ubuntu误删libaudit.so.1 导致系统无法正常使用、崩溃

误删libaudit.so.1 导致ubuntu无法正常使用

Ubuntu 系统因为 libaudit.so.1 被删除,现在很多关键命令都无法执行,包括 sudosumountsystemctl,这是因为 audit 库是很多系统组件运行的底层依赖。普通方式安装或修复现在都不能用,所以我们需要用手动方式恢复库

方法:用救援模式或 Live ISO 恢复(推荐)

  1. 关闭虚拟机。

  2. 挂载 Ubuntu Live ISO(和原ubuntu 系统同版本最好,比如 ubuntu-24.04.3-desktop-amd64.iso)。

  3. VMware 的虚拟机选项 - 设置 - CD/DVD - 使用ISO映像文件,找出与原系统同一版本映像。

  1. 启动虚拟机并选择安装选项

启动虚拟机,选择 Try and Install ubuntu(安装 Ubuntu Server)。

  1. 进入救援模式

在安装界面加载 or 语言选择界面 ,按 Ctrl + Alt + F2Ctrl + Alt + F3,切换到命令行控制台。在控制台中,你将进入一个最小的 shell 环境,可以执行修复操作。

bash 复制代码
# 若显示以下内容,则表示已经进入了Live/Rescue shell 环境,可以在这里修复系统
ubuntu login:

接下来就是标准的挂载 +chroot+ 重新安装库流程

bash 复制代码
ubuntu login: ubuntu
Password:   ← 直接回车
sudo -i  # 登陆后,切换到 root
# 现在应该看到 # 提示符,表示已经是 root
  1. 挂载原系统分区

    • 使用以下命令查看磁盘分区:
    bash 复制代码
    # 先查看磁盘分区
    lsblk
    • 找到你的 Ubuntu 根分区,例如 /dev/sda2(大小一般最大),记住这个名字。
    bash 复制代码
    # 假设你的根分区是 /dev/sda2,执行以下命令挂载
    # 由于`libaudit.so.1` 被删除,sudo可能会失效,去掉sudo 即可。
    mkdir /mnt/fixroot
    mount /dev/sda2 /mnt/fixroot
    • 挂载必要的虚拟文件系统,以便 chroot 能正常工作:
    bash 复制代码
    mount --bind /dev /mnt/fixroot/dev
    mount --bind /proc /mnt/fixroot/proc
    mount --bind /sys /mnt/fixroot/sys
  2. 进入 chroot 环境

  • 执行以下命令进入 chroot 环境:
bash 复制代码
sudo chroot /mnt/fixroot # 在 chroot 环境中,可以像在原系统中一样执行命令。
  1. 重新安装缺失的库

    • 现在是在 Live / Rescue ISO 下的环境 , 网络可能没有自动启用,或者没有正确配置 DNSchroot 内也会继承当前网络,如果网络不通,apt-get update 会失败。
    bash 复制代码
    # 先在 Live 系统中测试网络
    ping -c 4 8.8.8.8 # 如果能 ping 通,说明网络可达。
    # 测试 DNS:
    ping -c 4 archive.ubuntu.com
    # 如果能 ping IP 但 ping 域名不通,说明是 DNS 问题, 临时使用 Google DNS
    echo "nameserver 8.8.8.8" > /etc/resolv.conf
    # 然后再尝试 apt-get update, 成功通过。
    
    # 更新软件源和包列表:
    apt-get update
    # 若软件源更新失败,可能是
    # 重新安装 libaudit1 和 libauparse0:
    apt-get install --reinstall libaudit1 libauparse0
    # 更新动态链接库缓存:
    ldconfig
    # 检查库文件是否恢复:
    ls -l /lib/x86_64-linux-gnu/libaudit.so.1*
  2. 退出 chroot 并卸载分区

bash 复制代码
exit
umount /mnt/fixroot/dev
umount /mnt/fixroot/proc
umount /mnt/fixroot/sys
umount /mnt/fixroot
  1. 重启系统
bash 复制代码
reboot
# 记得在 VMware 设置里拔掉 ISO 或调整启动顺序,否则会重新进入安装界面。
  1. 若重启后进入GRUB菜单,说明 libaudit.so.1 已经恢复,系统可以启动了,但现在进入了 Recovery Menu
  • 手动进入:开机时按住 ShiftEsc(具体取决于 BIOS / UEFI

  • 进入 GRUB 菜单 → Advanced options for Ubuntu

  • 选择带 (recovery mode) 的项

先启用网络(可选,但有助于修复包):在 Recovery Menu 选择 network → 会启用网络,完成后返回菜单。

修复包(可选,但安全):选择 dpkg → 系统会检查并尝试修复损坏的包。

正常启动系统:选择 resume → 系统会像正常启动一样进入 Ubuntu 登录界面。

相关推荐
k***825138 分钟前
Ubuntu介绍、与centos的区别、基于VMware安装Ubuntu Server 22.04、配置远程连接、安装jdk+Tomcat
java·ubuntu·centos
愚戏师43 分钟前
Python3 多线程
linux·运维·服务器·python
n***33351 小时前
linux redis简单操作
linux·运维·redis
h***59331 小时前
使用Canal将MySQL数据同步到ES(Linux)
linux·mysql·elasticsearch
HIT_Weston2 小时前
44、【Ubuntu】【Gitlab】拉出内网 Web 服务:http.server 分析(一)
前端·ubuntu·gitlab
xu_yule2 小时前
网络和Linux网络-5(应用层)HTTP协议(方法+报头+状态码)
linux·网络·网络协议·http
lhyzws2 小时前
CENTOS上的网络安全工具(三十二) Portainer Kafka-Clickhouse部署(1)
linux·kafka·centos
q***04634 小时前
Linux环境下Tomcat的安装与配置详细指南
linux·运维·tomcat
BD_Marathon4 小时前
【Zookeeper】监听器原理
linux·分布式·zookeeper
稚辉君.MCA_P8_Java4 小时前
Gemini永久会员 快速排序(Quick Sort) 基于分治思想的高效排序算法
java·linux·数据结构·spring·排序算法