我想检查我系统上的所有软件包都在哪些许可证下运行。
似乎此信息位于 /usr/share/doc/package/copyright
然而,这个文件似乎没有任何标准格式,我一直在手动完成它以记录许可证。是否有另一种方法可以通过 dpkg-query 之类的方式获取此信息?
我们目前正在对运行 CentOS 的服务器进行 PCI 合规性评估。
我们收到了很多关于建议修复的“严重”问题。解决问题的建议主要是将软件包更新到最新版本。我认为合理的建议,直到我运行“sudo yum update”,然后再次运行该扫描,令人沮丧的是问题并没有消失。
我与我们的托管服务提供商(它是一个专用服务器)进行了交谈,他们说虽然版本是最新的,但它会有各种补丁来修复已知的安全问题。
他们建议为软件包运行更改日志命令,然后针对扫描中标记的每个严重问题提出申诉。所以我去为第一个问题创建一个上诉,它要求提供软件包的版本、补丁级别以及我认为我们可以免除的原因。
那么,在 CentOS 中,显示每个已安装软件包的版本号和补丁级别的最简单方法是什么?
我需要用一个自定义的包替换一个包,它有自己的名字(foo-origpackage)。为了允许将其用作替代品,我将这Provides: origpackage一行添加到控制文件中。apt-cache show foo-origpackage列出“提供”条目就好了。但是,当我想根据 origpackage 安装文件时,它会失败(“未安装软件包 origpackage”)。
我缺少的“真实”包和虚拟包之间有什么区别吗?
编辑:
准确地说,我要替换的是用于 Squeeze 的 xen-utils-common。我的 tao-xen-utils-common 有以下control文件:
来源:tao-xen-utils-common 部分:内核 优先级:可选 维护者:Creshal <administration@tao.at> 构建依赖:debhelper 标准版本:3.8.0 主页:http://tao.at 包:tao-xen-utils-common 架构:全部 依赖:gawk、lsb-base、udev、xenstore-utils、tao-firewall 提供:xen-utils-common 冲突:xen-utils-common 替换:xen-utils-common 说明:Xen 管理工具——常用文件(修改) 管理通过 Xen 虚拟化的系统的用户空间工具 机监视器。 修改为与 TAO 防火墙一起使用。
但是,安装 xen-utils-4.0 失败:
foo@bar# apt-cache showpkg tao-xen-utils-common
包:tao-xen-utils-common
版本:
4.0.0-1tao1 (/var/lib/apt/lists/repo.tao.at_dists_stable_main_binary-amd64_Packages) (/var/lib/dpkg/status)
描述语言:
文件:/var/lib/apt/lists/repo.tao.at_dists_stable_main_binary-amd64_Packages
MD5:7c2503f563fca13b33b4eb3cbcb3c129
反向取决于:
tao-防火墙,tao-xen-utils-common
tao-防火墙,tao-xen-utils-common
依赖项:
4.0.0-1tao1 - gawk (0 (null)) lsb-base (0 (null)) udev (0 (null)) xenstore-utils (0 (null)) tao-firewall (0 (null)) … 语境:
我们有多个自定义添加的 yum 存储库(在 CentOS 6 上),我们的用户定期通过 yum 安装各种/任意软件以进行测试。
我们有一个可在多个存储库中使用的包。它在两个不同的存储库中命名为完全相同的东西,称为 Y 和 Z,但包不相同。两个存储库都用于其他东西/安装,但有问题的包应该只从存储库 Y 安装。
我试过的:
当我手动安装有问题的软件包时,我排除/包含 repos 以确保我获得正确的版本。但是,普通用户 a) 忘记这样做,并且 b) 有时会安装依赖于相关软件包的其他软件包,并且作为依赖项安装过程的一部分,它是从错误的存储库中安装的。
题:
有什么方法可以配置 yum 的默认值,以说“如果包 X 可从多个来源获得,则更喜欢/坚持来源 Y 而非来源 Z?”
我的目标是不必改变yum install我们用户目前拥有的正常流程;他们应该仍然能够使用最简单的语法安装任意软件。只是特定的包(手动安装或作为依赖安装的一部分)应该只允许来自某些存储库。
我正在使用 Debian 8 (jessie) 附带的 docker 映像。我正在尝试将 curl 包从 7.38 升级到最新的 (7.58)。
运行apt-cache showpkg curl显示 7.38 是最新版本,但 curl 是 7.58 ( http://www.linuxfromscratch.org/blfs/view/8.2/basicnet/curl.html )
我还检查了 Debian 软件包网站,看起来 7.38 是最新的。https://packages.debian.org/jessie/curl
有没有办法将我系统上的 curl 7.38 升级到最新版本?
我正在使用 ubuntu 9.10 运行服务器。
我正在尝试为我们的 wordpress 博客联系表单启用验证码支持,并且说明说我需要“验证 PHP 是否已编译GD 支持和Freetype 支持”
我怎样才能验证这一点?
此处的其他信息:http : //wordpress.org/support/topic/323395
-M
我想知道哪些 Centos 存储库提供了各种软件包。某处有目录吗?我试着用谷歌搜索它并没有找到任何东西。
我有两个 Web 服务器,一个生产 Web 服务器和一个备份 Web 服务器。
在rpm -qa两台服务器上运行 a 后,我注意到一些包差异。
似乎有人yum update在过去的某个时间在生产服务器上运行了一个,但没有在备份 Web 服务器上运行它。
我想在备份 Web 服务器上安装一些非常具体的软件包。
例如 : yum install bind-libs-9.8.2-0.17.rc1.el6_4.5.x86_64
如果我运行yum install bind-libs-9.8.2-0.17.rc1.el6_4.5.x86_64它似乎试图找到匹配的最新包,而不是我想要的特定包。
...
---> Package bind-utils.x86_64 32:9.8.2-0.17.rc1.el6_4.4 will be updated
---> Package bind-utils.x86_64 32:9.8.2-0.17.rc1.el6_4.6 will be an update
...
======================================================================================
Package Arch Version Repository Size
======================================================================================
Updating for dependencies:
bind-libs x86_64 32:9.8.2-0.17.rc1.el6_4.6 updates 878 k
...
Run Code Online (Sandbox Code Playgroud)
有没有办法只安装我想要的包而不安装更新的包?
我想检查我服务器上的所有二进制文件
dpkg -e <path_to_deb_package> <destination>
Run Code Online (Sandbox Code Playgroud)
(例如,rkhunter 可以在进行 probupdate 时对原件进行此检查)
如何使用一个脚本检查所有包?
我有一个 docker 容器,运行非常裸的 debian 版本。有了这个,我必须先在外部安装 systemd。为此,我有一个运行安装的 docker 容器,然后将其提交到一个映像,然后从该映像运行 systemd。当我 bash 进入容器时,在文件系统的任何地方都找不到 machinectl,并且 machined 似乎没有运行。我需要安装特定的软件包吗?或者由于我一开始就在容器中,是否无法进行机加工?我承认容器中的容器是不受欢迎的,但这个容器的目的是运行与 systemd-machined 接口的测试。
重现步骤:
docker run --privileged --cidfile=/tmp/cidfile debian:stretch bash -c 'apt-get update && apt-get install -y build-essential git dbus libsystemd-dev libpam-systemd'
docker commit `cat /tmp/cidfile` deb-machined-test
rm /tmp/cidfile
docker run -d --cidfile=/tmp/cidfile --privileged deb-machined-test /bin/systemd --system
Run Code Online (Sandbox Code Playgroud)