我是系统管理的新手,我正在帮助管理学生组的服务器。我想知道,当您升级软件包并且配置文件发生更改时,最佳实践是什么。我一直在寻找差异,然后通常只保留旧版本,除非看起来有一些重要的东西要添加,否则手动将配置文件与 kdiff3 合并,但是有没有更好的方法来做到这一点?
另外,我必须自己备份旧文件还是 dpkg 自动备份?我有时会注意到某些目录中的 .old 文件用于旧版本的配置文件。
这个问题很复杂,因为我是这个组的新手,我不知道为什么会有一些变化,但如果有疑问,我一直在推迟现有版本。
顺便说一下,我想要一些特殊性。例如,当 dpkg 提示你整个 Y/N/I/O/D/etc 事情时,你会怎么做?您是备份旧文件,安装新文件,然后合并,还是在遇到 ncurses 提示时有更好的方法来合并文件?
我遵循了在 Ubuntu 服务器中启用自动升级的文档,但它根本没有真正更新任何内容。
我的 /etc/apt/apt.conf.d/50unattended-upgrades 看起来几乎像默认值。
// Automatically upgrade packages from these (origin, archive) pairs
Unattended-Upgrade::Allowed-Origins {
"Ubuntu karmic-security";
"Ubuntu karmic-updates";
};
// List of packages to not update
Unattended-Upgrade::Package-Blacklist {
// "vim";
// "libc6";
// "libc6-dev";
// "libc6-i686";
};
// Send email to this address for problems or packages upgrades
// If empty or unset then no email is sent, make sure that you
// have a working mail setup on your system. The package …Run Code Online (Sandbox Code Playgroud) 我在 ubuntu 10.04 (lucid) 上安装了 libjpeg62 和 imagemagick。
使用 gif 运行识别命令有效,但使用 jpeg 运行它会产生以下错误:
identify: no decode delegate for this image format `stream,13307,0.jpg' @ error/constitute.c/ReadImage/532.
Run Code Online (Sandbox Code Playgroud)
有谁知道如何解决这一问题?谢谢!
我已经有一个包 B 并且想要安装一个新的包 A。安装想要修改 B,但我不希望这种情况发生。
我需要安装包A。
它依赖于包 B 并且要求是 (>2.0)。
我已经在我的系统中安装了 2.1 版的 B,所以我当前的设置已经满足了依赖关系。
但是 Debian 存储库中有一个新版本 (2.2) 的 B 包,我不想要它,因为它与其他东西冲突。
所以,当我安装 A 包时,apt 也会尝试升级 B。
如何禁用依赖项的升级或指示显式依赖项版本而无需编辑包?
我已阅读如何让 apt-get 忽略某些依赖项?,但这对我没有帮助。在那里的问题中,依赖关系 (B) 根本不应该由存储库管理器处理。在我的情况下,存储库管理器已经处理了依赖项并且应该继续这样做,只是不在这个特定的操作中。
重开审稿人:请看victorgp的评论,这本来应该是答案。
我看到 dpkg 有一个包的“提供”字段。
$ apt-cache show vim-tiny | grep Provides
Provides: editor
$
Run Code Online (Sandbox Code Playgroud)
我怎么知道哪些软件包提供了“编辑器”?
我们通过使用 reprepro 创建的自定义 debian apt 存储库分发我们的软件。(免责声明:我不是设置这个的发布工程师;他不再和我们在一起。)
我们有四个存储库:unstable --> lab --> alpha --> prod
我们已经完成了一个reprepro pull lab将所有不稳定更新拉到实验室的工作。问题是我们现在不想将所有这些更新推送到 alpha - 所以我们需要取消拉到实验室。
在 reprepro 中处理此问题的标准方法是在对它们进行更改之前创建存储库的快照。我们之前的 RE 设置的脚本自 2009 年以来没有制作任何快照。
我一直无法找到任何其他方法来“解开”实验室回购。本地文档中的“恢复”文件谈到了从损坏的“packages.db”中恢复。这似乎是我们想要做的,但是手动回滚对 Releases 和 Packages 文件的更改,然后按照说明从 diss 目录重新创建 packages.db 似乎不起作用。(我得到空的 Packages 文件。)
我们还有什么可以做的吗?
我有以下固定设置:
Package: linux-image-amd64
Pin: release a=wheezy-backports
Pin-Priority: 1001
Package: *
Pin: release a=wheezy-backports
Pin-Priority: 499
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
$ sudo apt-get install linux-image-amd64
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: …Run Code Online (Sandbox Code Playgroud) 我有一个运行 Ubuntu 14.04 并带有自动安全更新的瘦 VPS。它用大量内核更新填满了 /boot 分区。我正在尝试删除旧的,但我遇到了“未满足的”依赖项错误,要求我在继续之前修复另一个包。不幸的是,未满足的依赖项想要将新内核安装到 100% 已满的分区。
$ sudo apt-get remove [an old linux-image* package]
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
linux-image-extra-3.13.0-88-generic : Depends: linux-image-3.13.0-88-generic but it is not going to be installed
linux-image-generic : Depends: linux-image-3.13.0-88-generic but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or …Run Code Online (Sandbox Code Playgroud) 以下命令现在失败(EET 时区 14:16):
docker run debian:buster apt-get update
Run Code Online (Sandbox Code Playgroud)
错误是:
$ docker run debian:buster apt-get update
Get:2 http://deb.debian.org/debian buster InRelease [122 kB]
Get:1 http://security-cdn.debian.org/debian-security buster/updates InRelease [65.4 kB]
Get:3 http://deb.debian.org/debian buster-updates InRelease [49.3 kB]
Err:2 http://deb.debian.org/debian buster InRelease
At least one invalid signature was encountered.
Err:3 http://deb.debian.org/debian buster-updates InRelease
At least one invalid signature was encountered.
Err:1 http://security-cdn.debian.org/debian-security buster/updates InRelease
At least one invalid signature was encountered.
Reading package lists...
W: GPG error: http://deb.debian.org/debian buster InRelease: At least one invalid signature …Run Code Online (Sandbox Code Playgroud) 我试图理解为什么我无法apt-get update从 docker 容器内运行debian:latest或ubuntu:latest.
ping 8.8.8.8从容器内或其他地址ping google.com从容器内或其他域apt-get update如果我用以下命令启动容器就可以了--network hostapt-get updatebridge如果容器连接到默认网络或任何其他用户定义的网络且适配器设置为桥接,则不起作用apt-get update将超时:
root@66230c3e7572:/# apt update
Err:1 http://deb.debian.org/debian buster InRelease
Connection failed [IP: 199.232.138.132 80]
Err:2 http://security.debian.org/debian-security buster/updates InRelease
Connection failed [IP: 151.101.194.132 80]
Err:3 http://deb.debian.org/debian buster-updates InRelease
Connection failed [IP: 199.232.138.132 80]
Reading package lists... Done
Building dependency tree
Reading state information... Done
All packages are up to date. …Run Code Online (Sandbox Code Playgroud) apt ×10
debian ×6
ubuntu ×5
dependencies ×2
docker ×1
dpkg ×1
imagemagick ×1
networking ×1
packages ×1
pinning ×1
repository ×1
upgrade ×1