我偶尔会丢失我的配置文件“/etc/mysql/my.cnf”,并想恢复它。该文件属于mysql-common某些重要功能所需要的包,所以我不能只是purge && install它:依赖项也将被卸载(或者如果我可以暂时忽略它们,它们将无法工作)。
有没有办法在不ar取消包文件的情况下从包中恢复配置文件?
dpkg-reconfigure mysql-common 没有恢复它。
我有一个 Ubuntu 8.04 LTS 服务器。有几个包分别是“忍住了”(“以下更新已存回”),当我做的apt-get upgrade。我的理解是我可以apt-get dist-upgrade升级这些软件包,但我有一些担忧:
如果我这样做dist-upgrade,我会从 8.04 升级到更高版本(我猜是 8.10)吗?如果是这样,8.04 成为“长期支持”(LTS)的意义何在?
这是一个“危险”的过程吗?我假设包被保留,因为它们依赖于新包。是dist-upgrade简单地拉取新软件包并进行相当简单的升级,还是有需要注意的问题?
我是一个 *.deb 人,在管理 rpm 时我感到很不舒服。
我已经习惯了跑apt-get upgrade在我的基于Debian的服务器为“正常”的升级,并apt-get dist-upgrade为使内核升级或允许新的大包版本进行升级。
在我管理的 CentOS 服务器中,我希望有一个类似的功能,但是 man yum 似乎没有提供这种行为。之间的差异yum update,并yum upgrade似乎不是我要找的。
到目前为止,我最好的方法是在 中添加和删除以下设置/etc/yum.conf:
exclude=kernel*
Run Code Online (Sandbox Code Playgroud)
必须有更好的方法。欢迎提出任何建议。
编辑:
yum 的手册页对它们的描述和--obsoletes标志对我来说有点神秘。因此,让我改写我从中了解到的内容:我是否必须理解yum update不会安装新内核,因为这意味着将当前内核标记为过时?我可以假设yum upgrade与 相同或几乎相同apt-get dist-upgrade吗?
编辑 2
我最喜欢的apt-get upgrade是它告诉我保留哪些包,以便我可以采取相应的行动;使用apt-get dist-upgrade或使用显式apt-get install package.
因此,经过深思熟虑,此时我最好的方法是:禁用yum.conf 中的过时设置(如 Steven Pritchard 在他的回答中所述)并首先运行yum update。安装完所有更新后,再运行一次yum update --obsoletes以检查保留了哪些软件包并根据其结果采取行动。
那行得通吗?
我正在尝试为新服务器编写配置脚本,第一步是安装一系列必需的软件包,例如 MySQL、phpMyAdmin 等。apt-get install但是,当 dpkg 尝试配置它们时,它会要求您提供几个选项,例如 MySQL 根密码、phpMyAdmin 密码、要使用的服务器等。
由于我可能会将这个脚本传递给不太可能阅读提示的同事,并且我希望简单地启动它并离开,我想知道如何传递一系列“默认”答案/值以供使用。这可能包括在命令行上传递的用户名/密码/其他动态值。
——
我意识到在脚本中使用密码是一个安全问题,但我愿意忽略它,特别是在安装包的更一般意义上,这是一个答案所暗示的。
在 GUI 工具中,您可以获得包含安全更新的包列表。这可以在 Debian 或 Ubuntu 的命令行上完成吗?
通常我可能会使用“apt-get upgrade”来显示正在升级的内容,但我想知道哪些是安全更新。
我想查看哪些软件包可用于更新/升级而不实际更改任何文件,因为有些软件包我不想更新。那么是否可以在例外情况下进行 apt-get update 。
这个星期五我看到我在运行时由于某种原因有2个被阻止的包apt-get upgrade,所以我很自然地做了任何没有经验的系统管理员都会做的事情并卸载了这些包,希望我可以简单地重新安装它们并解决问题。
我不知道,我只是让情况变得更糟。当我尝试重新安装时openjdk-8-jre-headless,我得到了这个:
$ apt-get install openjdk-8-jre-headless
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
openjdk-8-jre-headless : Depends: ca-certificates-java …Run Code Online (Sandbox Code Playgroud) 作为一个具体的例子,我希望能够使用一个未安装的特定工具(比如 nslookup),并且能够在以下失败时告诉我需要安装哪个包:
apt-get install nslookup
E: Unable to locate package nslookup
Run Code Online (Sandbox Code Playgroud)
显然,我可以通过 google 找到特定包 (dnsutils) 的答案,但我想知道如何自己找到它。
所以我安装了mailutils(apt-get install mailutils),当我做了一个漂亮的小设置屏幕时,会弹出并开始问我问题。我想我在获得需要配置的所有数据之前就搞砸了并取消了。无论如何,我如何让它重新运行该安装脚本?
PBI
我正在运行 Ubuntu,并且安装了一个 deb 文件。我以前制作过 deb 包,所以我知道有一个 debian 更改日志 (debchange)。无论如何,是否可以查看我已安装的任何软件包的 debian 更改日志?假设我无权访问此包的 deb 源文件,并且我没有可用的 deb 文件。如果需要,我可以安装额外的软件包。