(K)Ubuntu 23.10下防止*.list源文件被覆盖及GeoGebra源文件异常覆盖问题咨询
(K)Ubuntu 23.10下防止*.list源文件被覆盖及GeoGebra源文件异常覆盖问题咨询
嘿,我来帮你拆解这个问题,从原因到解决方案一步步说清楚:
一、为啥geogebra.list会被自动覆盖?
最常见的原因是GeoGebra的deb安装包自带了维护脚本(比如postinst脚本),每次你更新GeoGebra软件的时候,这个脚本会自动重置源文件,把它恢复成官方默认的无签名验证格式。这是因为官方包的维护脚本还没适配你手动修改的带signed-by的安全源格式,所以每次升级都会“还原”回去。
二、如何在不降低安全等级的前提下阻止覆盖?
你要求密钥只用于这个特定PPA,这个需求很合理,下面的方法完全满足:
先确认密钥配置已经到位
你已经设置了signed-by=/usr/share/keyrings/geogebra.gpg,先确保这个密钥文件确实存在且是官方的GeoGebra密钥,避免后续出问题。用
dpkg-divert拦截维护脚本的修改
这个命令可以把系统默认的源文件路径“转移”,让GeoGebra的维护脚本找不到它,自然就没法覆盖了:sudo dpkg-divert --rename --add /etc/apt/sources.list.d/geogebra.list执行后,原来的
geogebra.list会被自动重命名为geogebra.list.distrib,之后你手动创建的geogebra.list就不会被包脚本修改了——因为脚本只会去默认路径找文件,而默认路径已经被“转移”走了。确保自定义源文件的权限正确
执行下面的命令让APT能正常读取你的自定义源文件:sudo chmod 644 /etc/apt/sources.list.d/geogebra.list后续检查小提示
每次系统大版本升级或者GeoGebra做重大更新后,建议检查一下geogebra.list的内容是否正常,避免出现意外情况。
备注:内容来源于stack exchange,提问作者Bruni
相关产品推荐
相关产品推荐

