“ifconfig”无法直接更新网络驱动,它是用于配置网络接口(如查看IP、启用/禁用接口)的工具。更新网络驱动需通过卸载旧驱动、安装新驱动、加载驱动等步骤完成。以下是Ubuntu系统更新网络驱动的详细流程:
使用以下命令查看网卡硬件信息,明确需要更新驱动的网卡型号(如Realtek、Intel、Broadcom等):
lspci | grep -i net # 查看PCIe网卡型号
lsusb # 查看USB网卡型号(若有)
示例输出:02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)。
驱动编译需要内核头文件和编译工具,执行以下命令安装:
sudo apt update
sudo apt install build-essential linux-headers-$(uname -r) # 安装编译工具和内核头文件
若系统已自动安装旧驱动,需先卸载以避免冲突。通过ethtool查看当前驱动名称:
ethtool -i <网卡名> # 如eth0、ens33(用ifconfig -a查看网卡名)
示例输出:driver: r8169(表示当前驱动为r8169)。
卸载旧驱动:
sudo modprobe -r <驱动名> # 如sudo modprobe -r r8169
根据网卡型号前往制造商官网下载Linux版驱动(优先选择.tar.gz或.tar.bz2格式的源码包):
解压驱动包并进入源码目录,执行以下命令:
tar -xzvf <驱动包名>.tar.gz # 解压(如tar -xzvf r8168-8.050.02.tar.gz)
cd <驱动目录> # 进入解压后的目录(如cd r8168-8.050.02)
sudo make # 编译驱动
sudo make install # 安装驱动到系统目录
安装完成后,使用modprobe命令加载新驱动:
sudo modprobe <驱动名> # 如sudo modprobe r8168(驱动名通常与目录名一致)
lsmod | grep <驱动名> # 如lsmod | grep r8168(若输出包含驱动名,则加载成功)
ethtool -i <网卡名> # 如ethtool -i eth0(查看“driver”字段是否为新驱动名)
为确保驱动在开机时自动加载,重启系统:
sudo reboot
sudo apt install <驱动包>安装),若仓库中没有再手动安装。