debian - 在 dist-upgrade 期间如何禁止 apt 删除某些包?

标签 debian apt

有什么方法可以禁止 apt (apt-get) 在 dist 升级期间删除特定的包,但允许它升级/降级?

最佳答案

我尝试了一个使用 equiv 的解决方案:

创建一个如下所示的控制文件:

Section: misc
Priority: optional
Standards-Version: 3.9.2

Package: my-dummy-essential
Depends: emacs, kdenlive, firefox, kde-plasma-desktop, task-kde-desktop, task-french-kde-desktop, mypaint, keepassxc, tmux, zsh, openssh-client
Prerm: my-prerm
Description: just a package that refuse to be unistalled

Depends 行应该包含您要保护的包的列表,

prerm 行引用了一个脚本(这里命名为 my-prerm):

#!/bin/sh -e
    
if [ "$1" != remove ]; then
    exit 0
fi
    
echo "are you sure about removing your essential package? (y/N)"
read i
if [ "x$i" = "xy" ]; then
   exit 0
fi
    
false

这个想法是这个 prerm 脚本将失败(除非您接受删除包),并且这将阻止删除包及其依赖。

关于debian - 在 dist-upgrade 期间如何禁止 apt 删除某些包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40800577/

相关文章:

nginx - 编译nginx失败: undefined reference to `SSL_get0_alpn_selected' and `SSL_CTX_set_alpn_select_cb'

networking - docker 连接(101 : Network is unreachable)

makefile - 试图覆盖 `/var/backups/infodir.bak' ,它也在包 x 中

linux - 我如何在 Linux 中撤消这些步骤

java - 带 APT 的 Eclipse 编译器

apt - 为什么 BitBake 生成的操作系统上缺少/var/lib/dpkg/status?

r - 可以将RStudio(IDE NOT服务器)配置为使用远程R设置吗?

debian - 如何恢复 ufw 命令?

java - 用Java解压压缩的ubuntu lz4文件

caching - 如何缓存Travis CI中已通过 `apt-get`安装的软件包?