apt-get upgrade 不考虑手动构建和安装的软件包

apt-get upgrade 不考虑手动构建和安装的软件包

由于我对某些软件包应用了自定义补丁,因此我尝试了以下操作:

apt-get upgrade显示要升级的软件包时,我使用 apt-get source 下载源,应用我的补丁,重建,安装(使用dpkg -i)。然后安装最新版本。但即使在 apt-get update 之后,我手动构建并使用 dpkg 安装的软件包仍会显示在升级中,因此会再次被覆盖。

我该如何修复它?

答案1

对于遇到同样问题的其他人来说,这更像是一个临时通知,直到有更聪明的人可以帮助解决问题。

在我的构建脚本中我输入

VERSION=$(grep -R "Version: " | grep .dsc | head -1 | awk '{print $2}')
NEW_NUMBER=$((${VERSION: -1} + 1))
NEW_VERSION=$(echo $VERSION | sed "s/ubuntu${VERSION: -1}/ubuntu$NEW_NUMBER/")
grep -rl $VERSION | xargs sed -i "s/$VERSION/$NEW_VERSION/g"

紧接着apt-get source <package-name>

这会将软件包版本的最后一个数字更改为下一个更高的数字(例如ubuntu2将变为ubuntu3)。

此解决方法在这里有效。

快速复制方法: 确保你尝试使用的软件包已完全升级。现在,当你执行以下操作时:

cd /tmp
apt-get -b source <package>
sudo dpkg -i *.deb

并检查您是否会看到 apt-get 显示您的软件包已升级。

相关内容