我尝试安装GFORTRAN_7
,f29
因为我需要libfortran.so.4
一个程序。
我做了什么
我找到了 rmp 文件 ( libgfortran4-7.3.1-alt9.x86_64.rpm
),下载并尝试安装它。我必须安装一些额外的软件包。第一个是,libgcc1-8.3.1-alt5.x86_64.rpm
但是当我尝试安装它时,我遇到了依赖问题。然后我尝试使用命令提取内容rpm2cpio
。lib64
创建了一个名为的文件夹,并在其中libgcc_s.so.1
保存了文件。
我手动复制了这个文件,/usr/lib64
然后发生了混乱!笔记本电脑立即重新启动,几秒钟内就会出现登录页面(通常重新启动大约需要 20 秒)。我登录后,图形出现了一个奇怪的问题。
在那之前我一直在使用 cinammon (导航位于屏幕顶部),突然底部出现了另一个与 cinammon 不同的导航栏。几分钟后,我的 cinammon 崩溃了,并弹出一个窗口询问我是否现在要重新启动 cinammon。我选择“否”,然后我无法再在笔记本电脑上执行任何操作。所以我手动关闭了笔记本电脑。
发生了什么
当我尝试重新打开它时,它没有启动。相反,我有以下关于 aBad RIP value
和 a 的错误Kernel Panic
我尝试在已安装的以前的 Fedora 版本中以救援模式启动,但遇到了同样的问题。
然后我创建了一个实时f30
USB,从那里我可以访问这些文件。
我重新启动,然后出现类似的错误,但在这种情况下更短
在另一次重新启动中,错误与第一次类似
尝试调试
从实时 USB 中,我尝试通过键入来查看日志中的错误journalctl -r -p err
,但我不确定它是否读取正确的日志(即我f29
安装的日志)。
我不知道是否相关,但我尝试查看 rpm 的日志文件,以便为您提供更多详细信息,并且我注意到目录中/var/lib/rpm/
存在今天创建的以下文件。时间可能不正确,但我报告它以防万一它很重要。
-rw-r--r--. 1 root root 311296 Aug 8 04:48 __db.001
-rw-r--r--. 1 root root 90112 Aug 8 04:48 __db.002
-rw-r--r--. 1 root root 1318912 Aug 8 04:48 __db.003
我也看了一下/var/log/messages
,有一个关于该libgcc_s.so.1
文件的条目。
8 月 8 日 10:51:33 pcen35240 tracker-extract[14686]:/usr/libexec/tracker-extract:加载共享库时出错:libgcc_s.so.1:无法打开共享对象文件:没有这样的文件或目录
不过我可以看到该文件
[liveuser@localhost-live b0276d9d-2767-4839-9085-9cc2c27e68ca]$ ls -lhtr lib/libgcc_s.so.1
lrwxrwxrwx. 1 root root 24 Feb 23 15:10 lib/libgcc_s.so.1 -> libgcc_s-8-20190223.so.1
[liveuser@localhost-live b0276d9d-2767-4839-9085-9cc2c27e68ca]$ ls -lhtr lib64/libgcc_s.so.1
lrwxrwxrwx. 1 root root 24 Feb 23 15:27 lib64/libgcc_s.so.1 -> libgcc_s-8-20190223.so.1
[liveuser@localhost-live b0276d9d-2767-4839-9085-9cc2c27e68ca]$ ls -lhtr usr/lib64/libgcc_s.so.1
lrwxrwxrwx. 1 root root 24 Feb 23 15:27 usr/lib64/libgcc_s.so.1 -> libgcc_s-8-20190223.so.1
[liveuser@localhost-live b0276d9d-2767-4839-9085-9cc2c27e68ca]$ ls -lhtr usr/lib/libgcc_s.so.1
lrwxrwxrwx. 1 root root 24 Feb 23 15:10 usr/lib/libgcc_s.so.1 -> libgcc_s-8-20190223.so.1
[liveuser@localhost-live b0276d9d-2767-4839-9085-9cc2c27e68ca]
我已经在这个问题之前粘贴了这个文件的一部分,以防有人有线索(完整的文件可以在这里找到https://cernbox.cern.ch/index.php/s/vpi89mDmzgli0Lq)
关于如何解决这个问题的任何想法,最好不需要从头开始安装操作系统?
*请注意,目前我只能通过f30
实时 USB 访问我的系统。
答案1
/usr/lib64
您需要在(可能还有其他地方)重新安装损坏/覆盖的库文件。
- 正如您已经完成的那样,从 USB 启动实时系统。
- 假设挂载损坏的根文件系统,位于
/mnt/fedora
。 - 识别损坏的文件(或使用
ls
,或记住您覆盖了哪些文件)。 - 识别这些文件的包名称 - 至少,这包括
libgcc
. - 在路径中重新安装它们
/mnt/fedora
:yum --installroot=/mnt/fedora reinstall libgcc
(...)