当前位置: 首页 > news >正文

记一次博客险些火葬场事件

仅作记录

服务器重建日期2023/10/13

起因

脑抽突然想给甲骨文的ARM升级一下系统,上一次做系统是在21年初刚开机的时候,当时用的是Debian10 aarch64,内核还是4.9.10的史前版本,没经住Debian12和6.1.0内核的诱惑。

结果不出意外的出意外了,由于我升级前偷懒没有执行apt update,在更新依赖时直接把动态链接库整的No such file了,此时包括sshd/sulogin全部不可用,这导致了我完全无法登录到服务器,以及MySQL/Nginx等服务全线宕机

处理过程

前期尝试

首先我尝试使用Oracle Cloud Shell登录服务器,这个功能其实就是网页版的VNC窗口,很惊喜的是,VNC窗口显示正常,甚至到了登录的步骤

但随之而来的问题也出现了,由于动态链接库丢失,login的认证无法进行,此时无论我输入什么都无法验证密码

后续尝试进入Grub进入单用户模式,但是无论我如何操作,仍然无法绕过动态链接库丢失的报错,此时的apt/dpkg完全不可用,无法进行修复。

虽然可以在另一个AMD实例里挂载硬盘来进行文件操作,但问题是我也不知道apt到底给我更新炸了多少依赖。

无奈之下,我开始尝试重建服务器。

重建服务器

由于Oracle不提供直接的服务器重建功能,而ARM服务器目前的免费配额可以说删了就别想再开出来,所以我开始寻找如何通过挂载硬盘的方式重建

首先,创建一个AMD的实例,步骤很简单,这里就不再说了。

待AMD实例创建完成后,将ARM实例关机。并分离ARM实例的引导卷。别慌,关机并不会损失配额,后续再开机就行了

分离引导卷成功后,将引导卷挂载到AMD实例上

附加完成后会有提示需要登录到服务器上执行命令,直接复制并执行给出的挂载命令即可

在挂载引导盘完成后,直接开始重做引导

下载救砖包到/root文件夹

cd /root && wget -cO debian.sdb.gz https://github.com/MIKU-N/OracleBackup/raw/main/dabian.sdb.gz?download=

开始dd引导盘(注意引导盘路径,通常为这个,有可能有变化,以自身为准)

gzip -dc /root/debian.sdb.gz | dd of=/dev/sdb

等待dd完成后,执行分离引导盘的命令

分离引导盘完成后,将引导盘重新挂载回ARM实例上并开机

通常来说,此时会正常开机,如卡Grub则需要格式化引导盘后再dd

如正常开机,则输入用户名root/密码10086.fit

这个镜像为Debian10,后续升级我直接使用了另一个dd脚本

wget --no-check-certificate -qO InstallNET.sh 'https://raw.githubusercontent.com/leitbogioro/Tools/master/Linux_reinstall/InstallNET.sh' && chmod a+x InstallNET.sh
bash InstallNET.sh -debian

之后就是自动化的开始重装最新的debian12了,在等待了十来分钟后成功完成,非常轻松

重建环境

在我完成对系统的重建后,我发现一个严重的问题,我设置的自动备份在两个月前莫名出了问题,导致我最近的数据库/网站备份在两个月之前。

不过还好,在我dd之前我将整个数据库和网站包括数据全部打包上传了,然后我发现我忘记了我两年前装的什么数据库了……

幸亏打包了数据库本体,否则真是有数据都恢复不了

最终破案是MariaDB10.5,后面就是经典的数据恢复环节

历时一天半的时间完美恢复了博客数据并重新上线

参考资料

  • 甲骨文DD重装系统及失联救砖教程_甲骨文重装系统-CSDN博客
  • 甲骨文 ARM 的恢复包之 Debian 10 救砖包 - (10086.fit)
--- **原文链接:** [Rain's Blog](https://blog.im.ci/study-notes/linux-notes/1154/)
http://www.jsqmd.com/news/327571/

相关文章:

  • HarmonyOS 应用开发环境搭建与 DevEco Studio 配置
  • Nginx 反向代理配置 React 前端与 Python 后端
  • [嵌入式系统-183]:运动控制的插补是什么意思?
  • 2026毕业生必备:免费降AI方法+降AI工具,这套组合拳教你如何有效降AI
  • 寒假集训3——栈
  • Debian12安装RTL8156B USB网卡及DKMS驱动的探究
  • Java计算机毕设之基于JavaWeb的原色蛋糕商城的设计与实现基于Java+Springboot+Vue+elememt甜品屋蛋糕商城系统设计和实现(完整前后端代码+说明文档+LW,调试定制等)
  • 2026年免费降AI工具红黑榜:哪些是智商税?哪些是真神器?
  • 嘉立创EDA常用快捷键汇总
  • Java计算机毕设之基于BS的小区家政服务预约平台的设计与实现基于Java实现的家政预约平台系统设计与实现(完整前后端代码+说明文档+LW,调试定制等)
  • 【计算机毕业设计案例】基于BS的小区家政服务预约平台基于springboot+Java家政预约平台的设计与实现(程序+文档+讲解+定制)
  • BUUCTF刷题MISC[二] (33-36)
  • 【毕业设计】基于BS的小区家政服务预约平台的设计与实现(源码+文档+远程调试,全bao定制等)
  • 收入写RAFT算法(一)Leader选举
  • SQLite数据库
  • 【计算机毕业设计案例】网上蛋糕商城web项目的设计与实现基于JavaWeb的原色蛋糕商城的设计与实现(程序+文档+讲解+定制)
  • 计算机Java毕设实战-基于springboo+vue的旅游自驾游攻略方案分享系统基于Java的自驾游攻略查询系统的设计与实现【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 【计算机毕业设计案例】基于Java的自驾游攻略查询系统的设计与实现酒店信息查询、客房与门票预订、预定取消、个性化旅游线路规划(程序+文档+讲解+定制)
  • vue3-openlayers 演示项目
  • 计算机Java毕设实战-基于Java网上蛋糕商城系统设计与实现基于JavaWeb的原色蛋糕商城的设计与实现【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • preparation
  • 【课程设计/毕业设计】基于Web的自驾游旅游攻略网站设计与实现基于Java的自驾游攻略查询系统的设计与实现【附源码、数据库、万字文档】
  • Nginx1.25 编译最新ngx_brotli问题记录
  • vue3-openlayers基础知识简介
  • 颠覆传统编程:MonkeyCode AI 让 AI 成为工程级研发的核心角色
  • AI应用架构师的创新思维:用伦理与治理塑造负责任的AI格局
  • 深入解析JDK1.8 HashMap优化之道
  • Docker-Compose限制容器CPU/内存使用小记
  • 大数据预处理:自动化数据增强技术解析
  • Java毕设项目:基于springboot+BS构架的失物招领系统设计与实现(源码+文档,讲解、调试运行,定制等)