Bootstrap

Fedora启动在图标“f”后黑屏问题修复

最近给一朋友修复了一个Fedora系统不能进入的问题,场景如下:
环境:Fedora 20,64位,具体的内核忘记了;
问题:Fedora启动在图标“f”后黑屏,不能进入登录界面,也不能进入tty(命令界面,也就是ctrl+shift+F2~F7)。
      朋友说他卸载了一些软件后,系统就出现该问题,那问题的入口就在卸载的操作上了。yum (dnf)带有历史记录功能,可以查看过往的事务,重做、回滚这些事务。Fedora 20以后的系统软件管理工具都推荐用dnf,在20里还是用yum管理,也有dnf。分析原因是他卸载Xorg相关的一些库,我们虽然可以查找到这些库对应哪些软件,但一个个重装工程量大,所以可以撤销原来的删除操作,yum自带这样的功能。

由于环境不一样,以下操作我在Fedora 24下模拟操作,以软件kmplayer.x86_64为例展示相关操作。
解决方法如下:

1.进入单用户模式

  • 在GRUB引导界面找到相应的入口,按“e”进入编辑界面;
  • 在编辑界面中,在“linux /vmlinuz.....”行(一般倒数第二行)中的“rhgb quiet”前加入“single”;
  • 按“ctrl + x”,即可进入单用户模式;
  • Ferora 20会提示输入root密码。

此次修改只是一次的,重启后就还原了。

2.进入单用户模式后,查看yum操作历史记录

以下是测试操作,具体的操作按具体的场景。在安装操作时注意网络连接。

[root@zoro ~]# dnf search kmplayer
上次元数据过期检查:0:51:36 前,执行于 Tue Jul 24 09:27:00 2018。
======================== N/S 匹配:kmplayer =================
kmplayer.x86_64 : A simple front-end for MPlayer/FFMpeg/Phonon
[root@zoro ~]# dnf install kmplayer.x86_64
........


[root@zoro ~]# dnf history 
ID     | 命令行                   | 日期和时间       | 操作           | 更改   
-------------------------------------------------------------------------------
    55 | install kmplayer.x86_64  | 2018-07-24 10:21 | Install        |   33  <
    54 | install mysql-utilities. | 2017-02-03 23:29 | Install        |    2 > 
    53 | install flash-plugin     | 2016-12-11 10:55 | Install        |    1   
    52 | install adobe-source-lib | 2016-12-11 10:48 | Install        |    3   
    51 | install http://linuxdown | 2016-12-11 10:46 | Install        |    1   
    50 | update                   | 2016-12-09 19:23 | I, U           |  139 EE
    49 | install parallel.noarch  | 2016-12-08 23:00 | Install        |    1   
    48 | install bluefish         | 2016-11-23 22:52 | Install        |    3   
    47 | install google-chrome-st | 2016-11-23 22:43 | Install        |  112 EE
    46 | update                   | 2016-11-23 22:04 | I, O, U        |  746 *<
........

[root@zoro ~]# dnf remove kmplayer
依赖关系解决。
==========================================================================
 Package                         架构          版本                                       仓库             大小
==========================================================================
移除:
 OpenEXR-libs   x86_64        2.2.0-5.fc24    @fedora         3.0 M
........

[root@zoro ~]# dnf history 
ID     | 命令行                   | 日期和时间       | 操作           | 更改   
-------------------------------------------------------------------------------
    56 | remove kmplayer          | 2018-07-24 10:27 | Erase          |   33 EE
    55 | install kmplayer.x86_64  | 2018-07-24 10:21 | Install        |   33  <
    54 | install mysql-utilities. | 2017-02-03 23:29 | Install        |    2 > 
    53 | install flash-plugin     | 2016-12-11 10:55 | Install        |    1   
    52 | install adobe-source-lib | 2016-12-11 10:48 | Install        |    3   
    51 | install http://linuxdown | 2016-12-11 10:46 | Install        |    1   
    50 | update                   | 2016-12-09 19:23 | I, U           |  139 EE
........

      可见是安装删上面kmplayer的记录,可以根据命令行、日期和时间、操作定位具体的操作。下面撤销删除操作:

[root@zoro ~]# dnf history undo 56
上次元数据过期检查:0:16:56 前,执行于 Tue Jul 24 15:28:38 2018。
Undoing transaction 56, from Tue Jul 24 10:27:09 2018
    删除 OpenEXR-libs-2.2.0-5.fc24.x86_64                                @fedora
    删除 attica-0.4.2-9.fc24.x86_64                                      @fedora
    删除 breeze-icon-theme-5.33.0-1.fc24.noarch                          @updates
    删除 docbook-dtds-1.0-65.fc24.noarch                                 @fedora
    删除 docbook-style-xsl-1.78.1-5.fc24.noarch                          @fedora
........

[root@zoro ~]# dnf history 
ID     | 命令行                   | 日期和时间       | 操作           | 更改   
-------------------------------------------------------------------------------
    57 | history undo 56          | 2018-07-24 15:54 | Install        |   33   
    56 | remove kmplayer          | 2018-07-24 10:27 | Erase          |   33 EE
    55 | install kmplayer.x86_64  | 2018-07-24 10:21 | Install        |   33  <
    54 | install mysql-utilities. | 2017-02-03 23:29 | Install        |    2 > 
........

执行kmplayer如下:

      可见kmpalyer已经装好。可见在卸载一个软件时,不知道其依赖的库,用命令撤销操作最合适了。上述命令中的dnf也可以换成yum,如“yum history”、“yum history undo 56”等,只是Fedora 20后yum会映射成dnf,20前的不影响。undo后面可跟多个ID,如“dnf history undo 2 3”。

       针对黑屏问题,根据软件的操作和时间确定是哪几个ID,然后在做撤销操作。这样就把一个系统“f”黑屏问题修复了,当然这只是针对软件误删情况,导致黑屏也可能是环境变量出错、文件误删等。

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;