Lnx*_*lck 18
APT(高级打包工具)是 Ubuntu 用来管理系统上安装的所有软件的系统。它允许您将软件包“固定”到某个版本,这样当您运行更新管理器时它不会被更新。
要固定您的内核包,首先您必须确定您的内核是什么版本。一种方法是在系统 > 管理中打开 Synaptic Package Manager。
在快速搜索文本字段中输入“linux-generic”并按回车键。
记下“已安装版本”列中列出的数字。我们将在下一步中使用它。
接下来,我们需要编辑文件 /etc/apt/preferences.conf 。按 Alt+F2 打开它以调出运行应用程序窗口并输入:
gksudo gedit /etc/apt/preferences
Run Code Online (Sandbox Code Playgroud)
这将打开一个 gedit 窗口。窗口很可能是空白的,除非您以前玩过 APT。
在窗口中,输入以下内容,用您在 Synaptic Package Manager 中找到的版本号替换版本号。
Package: linux-generic linux-headers-generic linux-image-generic linux-restricted-modules-generic
Pin: version <insert version here>
Pin-Priority: 1001
Run Code Online (Sandbox Code Playgroud)
保存文件并关闭 gedit。如果您打开更新管理器,您应该会看到 Linux 内核更新现在已隐藏!
记住上面内核的包名。
打开终端并运行:
sudo -s
Run Code Online (Sandbox Code Playgroud)
并击中enter。
输入您的 sudo 密码:
echo kernel_package_name hold | dpkg --set-selections
Run Code Online (Sandbox Code Playgroud)
替换kernel_package_name
为您要固定的内核的名称。
现在运行:
sudo apt-get update && sudo apt-get upgrade
Run Code Online (Sandbox Code Playgroud)
打开终端
sudo -s
echo kernel_package install | dpkg --set-selections
Run Code Online (Sandbox Code Playgroud)
将 kernel_package 替换为您要固定的包。
现在运行:
sudo apt-get update && sudo apt-get upgrade
Run Code Online (Sandbox Code Playgroud)
您尝试做的事情称为固定。我在上面提供给您的资源提供了完成手头任务所需要做的事情的要点。
小智 16
在一行中是:
echo $(dpkg -l "*$(uname -r)*" | grep image | awk '{print $2}') hold | dpkg --set-selections
Run Code Online (Sandbox Code Playgroud)
这会将内核的映像状态从安装设置为保持,从而阻止更新。
小智 8
Christoph 的 one-liner 没有考虑额外的包(例如 linux-image-extra-3.13.0-45-generic)。而是使用这个:
for i in $(dpkg -l "*$(uname -r)*" | grep image | awk '{print $2}'); 做回声 $i 持有 | dpkg --set-selections; 完毕
归档时间: |
|
查看次数: |
40918 次 |
最近记录: |