如何恢复 /lib/modules/4.4.0-116-generic/kernel/drivers/usb/serial/usbserial.ko?

如何恢复 /lib/modules/4.4.0-116-generic/kernel/drivers/usb/serial/usbserial.ko?

我在 Ubuntu 14.04 上意外覆盖了 /lib/modules/4.4.0-116-generic/kernel/drivers/usb/serial/usbserial.ko。我该如何恢复它?

答案1

只需重新安装包含该文件的包即可。

要查找包中包含的内容/lib/modules/4.4.0-116-generic/kernel/drivers/usb/serial/usbserial.ko,请运行:

dpkg -S /lib/modules/4.4.0-116-generic/kernel/drivers/usb/serial/usbserial.ko

这应该输出(就你的情况而言):

linux-image-4.4.0-116-generic: /lib/modules/4.4.0-116-generic/kernel/drivers/usb/serial/usbserial.ko

只需重新安装该包:

sudo apt-get install --reinstall linux-image-4.4.0-116-generic

如果这不能解决问题:

sudo apt-get purge linux-image-4.4.0-116-generic
sudo apt-get install linux-image-4.4.0-116-generic

答案2

由于安装似乎没有帮助,我想您可以尝试手动下载内核,提取文件,然后手动复制文件。

下载内核到/tmp目录:

cd /tmp
apt download linux-image-extra-4.4.0-116-generic

接下来,从下载的文件中提取文件.deb

ar -x linux-image-extra-4.4.0-116-generic_4.4.0-116.140_amd64.deb

现在,提取data.tar.gz内容:

tar xvf data.tar.gz

现在您应该能够将丢失的文件复制回您的文件夹。

sudo cp /tmp/lib/modules/4.4.0-116-generic/kernel/drivers/usb/serial/usbserial.ko /lib/modules/4.4.0-116-generic/kernel/drivers/usb/serial/

感谢@Olorin,在您下载内核文件后,使用一个很酷的字符串命令dpkg-deb来提取一个文件并将其放入指定文件夹:

dpkg-deb --fsys-tarfile linux-image-extra-4.4.0-116-generic_4.4.0-116.140_amd64.deb | sudo tar xv ./lib/modules/4.4.0-116-generic/kernel/drivers/usb/serial/usbserial.ko -C /

然后清理你的/tmp文件夹或者重新启动将清理它:

希望这可以帮助!

相关内容