我对 openqrm 包有问题。
如何删除它?
root@wl183004:/# apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0B of additional disk space will be used.
Do you want to continue [Y/n]?
Setting up openqrm (4.6-ubuntu1) ...
.: 33: Can't open /usr/share/openqrm/etc/openqrm-server.conf
dpkg: error processing openqrm (--configure):
subprocess installed post-installation script returned error exit status 2
Errors were encountered …Run Code Online (Sandbox Code Playgroud) 我试图找出使用来自本地源 deb 文件的 puppet 更新/升级 deb 包的正确方法。我当前的配置看起来像这样......
class adobe-air-2-0-4 {
file { "/opt/air-debs":
ensure => directory
}
file { "/opt/air-debs/adobeair-2.0.4.deb":
owner => root,
group => root,
mode => 644,
ensure => present,
source => "puppet://puppet/adobe-air-2-0-4/adobeair-2.0.4.deb"
}
package { "adobeair":
provider => dpkg,
ensure => installed,
source => "/opt/air-debs/adobeair-2.0.4.deb"
}
}
Run Code Online (Sandbox Code Playgroud)
我首先将 deb 文件复制到客户端计算机,然后使用“package”,提供程序设置为“dpkg”。这有效,我安装了正确的版本。
我的问题是将来更新此软件包的正确方法是什么。我可以简单地更改源文件,puppet 会知道它是一个不同的版本并更新这个包吗?puppet 如何确定它安装的软件包版本与源 deb 文件的版本?
我对 puppet 还很陌生,所以如果您对我现有的配置有任何改进建议,我们将不胜感激。
我想在 CentOS 上重新安装一个软件包并从头开始。在 Debian 中,我可以做一个apt-get purge foo,它会删除 foo 的所有配置文件。yum remove foo不会删除配置文件。有什么办法可以apt-get purge foo使用yum吗?
我正在运行 Ubuntu,并且安装了一个 deb 文件。我以前制作过 deb 包,所以我知道有一个 debian 更改日志 (debchange)。无论如何,是否可以查看我已安装的任何软件包的 debian 更改日志?假设我无权访问此包的 deb 源文件,并且我没有可用的 deb 文件。如果需要,我可以安装额外的软件包。
我的 Ubuntu 服务器空间不足,所以我执行此命令以节省空间
sudo rm -rf /var/cache/apt/archives
Run Code Online (Sandbox Code Playgroud)
但是,现在尝试使用 apt 执行操作时,出现以下错误:
E: Could not open lock file /var/cache/apt/archives/lock - open (2 No such file or directory)
E: Unable to lock the download directory
Run Code Online (Sandbox Code Playgroud)
还有像
Archive directory /var/cache/apt/archives/partial is missing.
Run Code Online (Sandbox Code Playgroud)
显然我已经删除了一些目录结构。有没有办法做一个apt-get rebuild-var-tree或类似的?
我的公司网络中有一组 CentOS 服务器。出于安全原因,大多数服务器没有通用的出站互联网访问权限,除非这是服务器的核心功能要求。
当我需要更新软件包时,这会带来挑战。对于 yum 存储库,我目前从 Internet 镜像所有需要的存储库,并使镜像在 Intranet 内可用。我在我们的五个环境中保存每个 repo 的副本:dev、QA、staging 和两个生产数据中心。
我目前不解决特定于语言的包存储库。当服务器需要从 rubygems、PyPI、PECL、CPAN 或 npm 进行更新时,它们必须获得临时出站互联网访问权限以获取包。我被要求开始镜像 rubygems 和 PyPI,其余的可能会跟进。
所有这些都很笨拙,而且效果不佳。我想用一个环境中的单个缓存代理和其他环境中的四个菊花链代理替换它,以消除完整镜像的复杂性和磁盘开销。此外:
我最初正在研究反向代理,而 Varnish 似乎是唯一一种允许我在代理中内部解析 302 重定向的代理。但是,免费版 Varnish 不支持 HTTPS 后端。我现在正在评估 Squid 作为转发代理选项。
这似乎应该是企业网络中一个相对普遍的问题,但我很难找到其他人如何解决这个问题的例子。有没有人实施过类似的东西,或者对如何最好地这样做有想法?
谢谢!
您可能知道,默认情况下,当您在基于 Debian 或 Ubuntu 的系统上安装软件包时,如果软件包包含服务,则通常会在您安装软件包时启用并自动启动该服务。
这对我来说是个问题。
我发现自己需要管理用于构建 LXC 容器的模板。有几个容器,每个容器对应一个 Debian 或 Ubuntu 版本。(也有基于 Red Hat 的容器,但它们在这里不相关。)
/var/lib/libvirt/filesystems/debian6_template
/var/lib/libvirt/filesystems/debian7_template
/var/lib/libvirt/filesystems/ubuntu1004_template
/var/lib/libvirt/filesystems/ubuntu1204_template
Run Code Online (Sandbox Code Playgroud)
偶尔我会发现模板缺少包或需要一些其他更改,因此我将 chroot 到它们以安装包。不幸的是,当我这样做时,我最终会运行该软件包的服务的多个副本!
例如,我发现模板没有 syslog 守护进程,所以我安装了一个:
for template in /var/lib/libvirt/filesystems/{debian,ubuntu}*_template; do
chroot $template apt-get install rsyslog
done
Run Code Online (Sandbox Code Playgroud)
并迅速结束了运行的 rsyslog 的四个副本。更不用说exim4的两个副本了。哎呀!
我在某处读到(虽然我现在找不到了)它不应该在 chroot 中运行时启动服务,但这显然不会在这里发生。
一个潜在可行的讨厌的 hack要求临时替换实际启动服务的各种命令,例如start-stop-daemon和initctl,尽管这比我真正想做的工作要多得多。如果我别无选择,虽然...
这里的理想解决方案是让基于 Debian 的系统停止做这种废话,但如果失败,可能是apt-get?
如果不清楚,如果可能的话,我真的希望在模板之外保留与管理模板相关的任何内容。
Alpine Linuxapk用作它的包管理器,它的安装程序文件是.apk……就像 Android 文件一样。
这些有什么关系吗?如果是,如何?
如果不是,APK 代表什么(Alpine PacKage?),为什么他们为他们的包管理器选择相同的名称,因为这听起来可能令人困惑?网络上没有关于经理姓名的信息。