在升级我的Linux发行版之前,我想升级我的所有包--但是,我想坚持我当前的MySQL版本(5.6)。
我知道你可以拿着这个包裹,就像这样:
sudo aptitude hold package_name在运行sudo apt-get upgrade时,列出了以下MySQL包:
mysql-客户端-5.6 mysql-客户端-核心-5.6 mysql-通用mysql-5.6 mysql服务器-5.6 mysql-服务器-核心-5.6
我可以将它们作为参数传递给hold命令吗?还是有更简单的方法阻止我的MySQL升级?
注意:我在VM中工作,所以我不能使用GUI,只有终端。
好的,我试过了,是的,您可以将所有的包传递给hold命令,它们将被排除在升级之外。
我仍然不确定只保存这些包是否足够防止MySQL升级(也许其他特定于MySQL的包也应该保留?)。例如,下面的命令将包含许多名为"mysql“的包,我不知道它们是否相关:
sudo aptitude mysql-*发布于 2017-04-27 16:16:35
看来你已经找到答案了。但是,您询问了另一个编辑。
我仍然不确定只保存这些包是否足够防止MySQL升级(也许其他特定于MySQL的包也应该保留?)。
答案是否定的。如果您持有其他包所依赖的核心包,则不需要保存每个包。例如,mysql-server、mysql-client包依赖于mysql--据我所知(据我所知)--因此,只保留这个包就足够了。
一般来说,aptitude比apt更聪明,它应该能够理解你想要的东西。
为了验证答案,我实际上使用libgtk-3-0包运行了一个测试,它是几乎所有gtk-3应用程序的核心包。我有3.18的版本。然后,我启用了一个提供版本3.20的存储库。nautilus依赖于这个包,回购也提供了更高版本的nautilus。
当尝试使用aptitude upgrade -s (-s for模拟)时,它列出了要更新的包。nautilus不在那里,因为libgtk-3-0不会更新新版本所要求的内容。
另一种选择是通过在/etc/apt/preferences.d目录中创建文件来固定包,这提供了更多的选项和灵活性。这在简单的情况下是不需要的,但不影响知道:) 钉钉法
https://askubuntu.com/questions/909600
复制相似问题