我在 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
文件夹或者重新启动将清理它:
希望这可以帮助!