我正在寻找一种方法让 yum 只安装给定包的依赖项,比如 --prepare-for-install 选项,这样我就可以拍摄准备好的系统的快照并使用不同的选项测试 rpm 设置或重建将自己打包在一个干净的系统上,而不必依赖 rpm 卸载,也不必每次都下载依赖项。
我有一个 Perl 应用程序,它需要很多依赖项,我需要在众多服务器上部署这些依赖项
我想制作一个自动快速安装该 Perl 应用程序的脚本。
为了更快,我想使用我的包管理器安装我的大部分依赖项,而不是使用 CPAN 安装它们
有没有办法从 perl 模块列表中自动确定是否有 debian 包?如果有,安装包,如果没有从 CPAN 安装 Perl 模块?
我尝试使用 Debian Wheezy 在我的 VDS 上安装 nodejs 和 npm 包。但不是为了编译源代码,而且由于懒惰,我在 Internet 上找到了包含 jessie 源代码并从中安装的说明。
安装没有完成,我什至没有在我的系统中获得 nodejs 和 npm。但是现在我的语言环境设置中有这个问题:
# locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=ru_RU.UTF-8
....
Run Code Online (Sandbox Code Playgroud)
我从源列表中删除了 jessie souce。然后更新和升级系统。当我尝试重新安装语言环境时,我收到此错误,因此 jessie 的一些tailes 仍然存在:
# apt-get install --reinstall locales
Reading package lists... Done
Building dependency tree
Reading state information... Done …Run Code Online (Sandbox Code Playgroud) 如果我查看服务的属性,我可以看到“依赖项”选项卡,但我无法将其他服务分配给此选项卡。
我有两个在启动时启动的服务,一个服务器和一个数据库。服务器取决于数据库 - 如果数据库尚未启动,则服务器无法工作。(但是,它实际上作为服务失败,因此我无法使用“恢复”选项卡。)
如何使第二个服务依赖于第一个服务,以便它们始终以正确的顺序启动?
我在 EC2 微型盒子上运行 amazon linux。最近我跑sudo yum update --security了,希望它能修补 Heartbleed。不幸的是,我在更新过程中内存不足,一些软件包没有成功打补丁。我试图重新启动,然后运行解决这个问题sudo yum clean,然后sudo yum update如图所示下方引擎收录,但将相关的问题仍然存在。
我怎样才能在不进一步破坏任何东西的情况下解决这个问题?
这是 yum 输出的一个片段:
Error: initscripts conflicts with util-linux-ng-2.17.2-13.17.amzn1.i686
Error: initscripts conflicts with util-linux-ng-2.17.2-13.17.amzn1.x86_64
Error: Package: glibc-devel-2.12-1.107.43.amzn1.x86_64 (@amzn-main)
Requires: glibc-headers = 2.12-1.107.43.amzn1
Removing: glibc-headers-2.12-1.107.43.amzn1.x86_64 (@amzn-main)
glibc-headers = 2.12-1.107.43.amzn1
Updated By: glibc-headers-2.17-36.81.amzn1.x86_64 (amzn-updates)
glibc-headers = 2.17-36.81.amzn1
Available: glibc-headers-2.17-36.80.amzn1.x86_64 (amzn-main)
glibc-headers = 2.17-36.80.amzn1
Run Code Online (Sandbox Code Playgroud)
这是完整的控制台日志:http : //sebsauvage.net/paste/? e0f7235450f97bae#qq6QKe/ Co+jR2T4FXfGo4w2H8aw7xZkE4z+iZXdMpQ8=
我正在尝试为 USB DAQ 盒安装驱动程序,这很烦人,我必须自己编译。我相信我已经成功了——我有两个 .ko 文件:
-rw-r--r-- 1 root root 45271 2010-03-18 21:24 advdrv_core.ko
-rw-r--r-- 1 root root 24312 2010-03-18 21:24 usb4761.ko
Run Code Online (Sandbox Code Playgroud)
我能够在第一个上运行 insmod 没有任何意外,但是当我尝试第二个时,我收到了大量消息:
kernel: [686782.106547] usb4761: no symbol version for adv_process_info_check_event
kernel: [686782.106555] usb4761: Unknown symbol adv_process_info_check_event
kernel: [686782.106691] usb4761: no symbol version for advdrv_unregister_driver
kernel: [686782.106695] usb4761: Unknown symbol advdrv_unregister_driver
Run Code Online (Sandbox Code Playgroud)
但是,advdrv_core.ko 提供了这些符号。我的内核似乎确实在内存中存储了它们:
# cat /proc/kallsyms | grep advdrv_unregister_driver
f8d88504 r __ksymtab_advdrv_unregister_driver [advdrv_core]
f8d888d2 r __kstrtab_advdrv_unregister_driver [advdrv_core]
f8d885a4 r __kcrctab_advdrv_unregister_driver [advdrv_core]
086eb8fb a __crc_advdrv_unregister_driver …Run Code Online (Sandbox Code Playgroud) 我希望在服务 nginx 之后创建文件“运行”,但如果文件运行发生更改,我也想通知服务 nginx。通知意味着它在 nginx 之前运行。
用例如下。我们使用 dj bernsteins daemontools 来管理 nginx。由于我们需要执行一些步骤(创建 /etc/service,添加运行文件..),我们构建了一个定义的类型来执行这些操作。现在我们不希望我们的 nginx 模块与 daemontools 模块有任何连接,这就是我们不想订阅 daemontools 文件的原因。订阅也将扭转依赖循环。我正在寻找类似的东西,只有在模块 nginx 完全完成时才运行模块。
class { daemontools:
file {'run':
require => Service[nginx],
notify => Service[nginx]; # <<< this wont do :(
}
}
class { nginx:
service { 'nginx': }
}
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
托马斯
我在docker 容器中运行gitlab,它将其依赖项(MySQL、Redis、Mailserver)很好地分离到单独的 docker 容器中。运行它们不是问题,我以相反的顺序启动它们:首先是依赖项,而不是 gitlab 本身。
有时我必须重新启动 docker 主机。目前我通过 ssh 进入 docker 主机并手动重启容器。有没有更好的方法呢?就像只是告诉一些服务启动 gitlab 容器,然后它会先启动它的依赖项?我知道我可以为每个 docker 容器创建单独的 init 脚本,但这不是我想要的。
dependencies ×10
yum ×2
amazon-ec2 ×1
automation ×1
debian ×1
docker ×1
installation ×1
linux ×1
localization ×1
node.js ×1
perl ×1
puppet ×1
rpm ×1
service ×1
startup ×1
ubuntu ×1
windows ×1
windows-7 ×1