假设您正在运行一个服务器,并且您不想从 Stable (Lenny) 升级到 Testing (Squeeze) 以安装一两个必需的软件包。
仅安装来自测试的某些软件包的最佳方法是什么?
我希望能够查看与要升级的程序包关联的脚本/触发器,以便我可以判断它是否会导致 Web 服务器重新启动。我找不到一个 aptitude 选项来向我展示(或 apt/dpkg);我能得到的最好的是内容(文件)。是否有一些我错过的模拟/详细/内容开关组合会显示这一点?
此外,如果某个包导致发生某些事情(例如服务重启),而我现在不想发生这种情况,是否有办法在不运行部分或全部脚本的情况下安装该包?
我经常知道我需要的命令行程序的名称,但我不知道提供该程序的包的名称。如何找到包含我需要的程序的包的名称?在基于 RPM 的系统上,他们可以whatprovides选择rpm -q --whatprovides /usr/X11R6/bin/xclock找到正确的软件包。基于 Debian 的系统有类似的东西吗?
在 CentOS 上存在yum versionlock选项,您可以在其中将软件包锁定到特定版本,因此它永远不会升级到那个版本。
我愿意
puppet-server-2.7.19-1
puppet-2.7.19-1
Run Code Online (Sandbox Code Playgroud)
停留在 2.7,从未升级到 3.0。Puppet Labs 已经发布了 3.0 并将其放入稳定的 repo 中,因此 2.7 将升级到 3.0,这不向后兼容。
Ubuntu 有类似的东西yum versionlock吗?
我在 Ubuntu 11.04 版本上有 postfix 电子邮件服务器。我使用以下命令升级了已安装的软件包
sudo aptitude update && sudo aptitude safe-upgrade
Run Code Online (Sandbox Code Playgroud)
一旦我更新了这些包,我就无法从我的客户端机器连接我的电子邮件。所以我使用 telnet 测试了我的 postfix 服务器。
telnet mail.mydomain.com 25
Run Code Online (Sandbox Code Playgroud)
我得到了上述命令的以下结果。
Trying 127.0.0.1...
Connected to mail.mydomain.com.
Escape character is '^]'.
Run Code Online (Sandbox Code Playgroud)
我对这个 postfix 服务器很陌生。我不明白我的 postfix 服务器是否损坏了?为什么我在更新包后无法连接我的电子邮件?
在 Debian 或其衍生产品之一中,如何列出我从 lenny-backports 安装的所有软件包?
我想出的最接近的是:
aptitude search ~i~Alenny-backports
Run Code Online (Sandbox Code Playgroud)
但是,即使当前安装的版本不是来自 backports的版本,它也会列出在 backports 中存在版本的所有已安装软件包。我只想列出当前安装的版本来自 backports 的包(或者,不列出 lenny,如果这样更容易的话)。
干杯
在 debian 中创建“虚拟包”的最简单方法是什么?
我的问题:我已经从源代码编译/安装了 mysql,现在需要告诉其他包已经安装了 mysql(否则他们也会尝试安装 mysql...)。我搜索了互联网,但没有找到这个问题的快速答案。
是否有一个简单的命令告诉 aptitude 安装某些东西,但排除特定的必需库/依赖项(如 mysql)。这将是解决问题的另一种方法。
当我尝试安装或更新任何软件包时,我得到:
Untrusted packages could compromise your system's security.
You should only proceed with the installation if you are certain that
this is what you want to do.
我强烈怀疑这与我在更新时遇到的错误有关:
$ sudo aptitude update
Get: 1 http://ftp.us.debian.org wheezy InRelease [208 kB]
Get: 2 http://debian.lcs.mit.edu wheezy InRelease [208 kB]
Ign http://ftp.us.debian.org wheezy InRelease
Hit http://ftp.us.debian.org wheezy/main amd64 Packages/DiffIndex
Hit http://ftp.us.debian.org wheezy/contrib amd64 Packages/DiffIndex
Hit http://ftp.us.debian.org wheezy/non-free amd64 Packages/DiffIndex
Hit http://ftp.us.debian.org wheezy/contrib Translation-en
Hit http://ftp.us.debian.org wheezy/main Translation-en
Hit http://ftp.us.debian.org wheezy/non-free Translation-en
Get: 3 http://debian.lcs.mit.edu …Run Code Online (Sandbox Code Playgroud) 我有一个脚本可以下载和替换 Debian 压缩中的内核头文件。
function fixHeaders(){
#Replace the kernel headers from OVH with standard kernel headers...
aptitude -y install linux-image-2.6.32-5-amd64
sed s/'GRUB_DEFAULT=0'/'GRUB_DEFAULT=1'/g
update-grub
echo "Rebooting the machine. Run this script again after reboot and choose option 2."
sleep 1
reboot
}
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是,在 aptitude 下载软件包后,它会将脚本放入文本 gui 并询问用户一堆问题。有什么办法可以跳过这个或在适当的时间发送选项卡/输入来为所有答案选择“确定”?