Loading... # 引言 termux中的mesa新版本引入了SVE特性,但是设备不支持SVE导致`llvmpipe`无法正常运行,但是我有习惯让软件包保持最新,为了保持mesa相关的软件包不被更新,可以通过一些命令使其保持固有版本。 这里提出了几点需要组织更新的理由: * 某个驱动版本和硬件兼容性更好; * 某些软件的新版本存在 Bug; * 自己编译安装了某个软件,怕被 apt 覆盖。 # apt-mark方案 Debian 或 Ubuntu 系统的用户 ## 阻止更新: ```bash sudo apt-mark hold <包名> ``` ## 取消阻止 ```bash sudo apt-mark unhold <包名> ``` ## 示例 ```bash u0_a258@localhost ~ apt-mark hold firefox firefox set on hold. u0_a258@localhost ~ apt-mark unhold firefox Canceled hold on firefox. ``` ## 查看被阻止更新的包 ```bash u0_a258@localhost ~ apt-mark showhold mesa mesa-dev mesa-vulkan-icd-freedreno mesa-vulkan-icd-swrast ``` # Redhat发行版 CentOS / RHEL / AlmaLinux ## 全局排除 编辑 yum/dnf 配置文件: ```bash sudo nano /etc/yum.conf ``` 添加或修改如下内容: ```bash exclude=kernel* firefox ``` > 说明:可以使用通配符 `*`,多个包用空格分隔。 保存后,`yum update` 或 `dnf upgrade` 将不会升级这些包。 ## 针对某个 repo 排除 编辑特定的 repo 文件,例如: ```bash sudo nano /etc/yum.repos.d/epel.repo ``` 在 `[epel]` 段内添加: ```bash exclude=somepackage* ``` # 结语 建议定期检查锁定状态,避免忘记解锁影响长期更新。更新未必是坏事。 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏