使用以下命令,我可以列出所有已安装的内核包:
$ dpkg -l | grep linux-image
通过以下命令,我可以获得当前使用的内核版本:
$ uname -r
然而,我的需求只是在终端中显示当前加载的内核对应的 Debian 软件包名称。
由于多个包名称可能具有相同的版本,因此很难使用前面的命令唯一地标识特定的内核。
那么...您有办法获取当前内核的包名称吗?
答案1
用这个:
$ dpkg --get-selections | grep -o "^linux-image-$(uname -r)"
linux-image-3.13.0-32-generic
或者
$ dpkg -l | grep -o "linux-image-$(uname -r)"
linux-image-3.13.0-32-generic
编辑:如果您有同一内核版本的多个版本,请运行以下bash
脚本:
#!/bin/bash
rel="$(uname -r)"
ver="$(uname -v)"
current="${rel%-*}.${ver:1:2}"
echo "$(dpkg -l | grep -Po "linux-image-${rel}(?=\s+${current})")"