RHEL 8.1/CentOS 8 安装后无wifi 问题解决办法

摘要本文介绍我在笔记本电脑上安装RHEL 8.1/CentOS 8 后无wifi 问题的解决办法以及RHEL 8.1 使用初体验。
更新:最近在同一台笔记本上又试着安装了CentOS8,遇到了相同问题,安装完毕无法进行Wifi连接,解决办法也很相向,只是文件名和参数略有差别。下文里单独标出CentOS 8的操作。


问题:以Minimum或server方式安装完RHEL8.1/CentOS 8后,无法进行wifi连接。
办法: 多番搜索后,发现是少安装了1个NetworkManger-wifi的模块,因此只要安装它就可以。

最近试用了一下Red Hat Enterprise Linux (RHEL) 8.1版本,简单记录一下操作,毕竟它自己网页上就写着"The most developer-friendly Linux ever."

首先声明这个不是免费的,一年$349起价,不过可以以developer的名义免费申请一个一年self support的subscription,然后就可以免费下载它的ISO文件并安装了。这个self support意思直观明了,就是自己负责,Red Hat不提供任何技术支持。申请的时候需要创建1个Red Hat账号,如果你不想被它的sales person 打扰的话,还是选个不常用的邮箱吧。我现在就不断接到他们的邮件。

安装后wifi无法使用问题

安装比较简单,下载完ISO文件后用它创建1个启动U盘。设置电脑从U盘启动即可。如果使用wifi连接并且安装选项设置为无GUI,那么安装的时候最好先在图形界面里设置好wifi连接,这样可避免安装后在命令行里设置wifi的麻烦。

我选的是minimal安装(server安装也是同样问题,我试过了),安装完后重启傻眼了,没有wifi连接,刚开始以为是因为电脑比较旧,wifi驱动没有装上?可安装的时候明明已经设置好了wifi并连接上了,说明这个版本是带网卡驱动的。运行nmtui, connection里保存了安装时设置好的的wifi连接信息,但是activate connection里就没有wifi这一项了。多番搜索后,发现是少安装了1个NetworkManger-wifi的模块,因此只要安装它就可以了怎么安装?现在无法联网,自然无法连接到Red Hat Repo上去。这真是个先有蛋还是先有鸡的哲学问题 🙂 估计Red Hat的开发者们预设所有server都默认使用cable连接吧,wifi的很小众,所以就没有把它加进去?

不过想想既然安装时能识别wifi,那么U盘上就肯定有这相应的模块了,于是搜索了一下怎样设置使用USB上的repo,果然搜到了。How to Setup Local Yum/DNF Repository on RHEL 8 Server Using DVD or ISO File:
https://www.linuxtechi.com/setup-local-yum-dnf-repository-rhel-8/

参照这个网页,修改相应的文件路径。我的U盘现在标识为sdb,所以需要执行如下几步(root用户)。一下的各步骤操作如无特别说明, 对REHL 8.1和CentOS 8 都适用。

  • 挂载U盘到/opt路径下: mount /dev/sdb /opt
  • copy /opt下的media.repo 到/etc/yum.repos.d/, 可以起个别的名字,比如rhel8.repo, centos8.repo等。
  • [RHEL 8]编辑此文件,添加两个repo,分别使用/opt下面的BaseOS和AppStream文件夹,注意修改路径 (更新:从CentOS 8 来看,只添加BaseOS应该就够了,只是手头没有机器,不方便验证了)
  • [CentOS 8] 编辑此文件,添加1个repo,使用/opt下面的BaseOS。
  • [CentOS 8] 因为CentOS8安装完毕后/etc/yu.repos.d/文件夹下面已经有一些repo了,而这些额外的repo需要先屏蔽掉,如下图所示,把AppStream,Base和Extra这三个都重命名一下 (我加了个.bak),暂时不用这些repo。如果不这么做,接下来还是会报无法连接的错误。
  • 清除dnf cache: dnf clean all 这样下一次执行dnf命令就会刷新repo list
  • dnf repolist 就会显示新加入的两个local repo了。
  • 安装NetworkManager-wifi: dnf install NetworkManager-wifi
  • 重新加载NetworkManger: systemctl restart NetworkManger,至此wifi就可以连接上了。
  • [CentOS 8] 因外上面操作中暂时屏蔽了三个Repo,要记得还原回它们的名字,同时删除上面手动添加的那个USB repo文件,这样才可以正常使用 CentOS 8.
  • nano 也在这个base repo里,所以可以也在这里安装,我习惯了用它,感觉还是比vi好操作一些。

注册和订阅

因为Red Hat不是免费的,所以刚安装完Repo是空的,无法安装任何软件,必须要注册机器并提交相应订阅后才可以访问该订阅所对应的Repo。上面虽然给出了可以用USB源安装文件来作为local repo, 但是那些软件被限制在发布此ISO时的版本,无法获取及时更新,对于server来说存在很大安全隐患。官方给出了相关注册信息,https://access.redhat.com/solutions/253273。 注册并订阅后就可以从更新后的Repo里下载软件了。不过免费的Self Support 订阅只有1年,1年后就无法再访问这些Repo。所以对于个人使用,还是使用它的社区版本Centos吧,那个免费而且LTS版本可以支持10年。