linux – 某处有chroot构建脚本吗?

我即将开发一个小脚本来收集chroot-jail的信息.

在我的情况下,这看起来(乍一看)非常简单:
该应用程序具有干净的rpm-install,并且几乎将所有文件安装到/ opt的子目录中.

我的想法是:

>查找所有二进制文件
>检查他们的库依赖项
>将结果记录到列表中
>在启动应用程序之前,将该列表的rsync同步到chroot-target-directory中

现在我想知道 – 是否有任何脚本已经做了这样的工作(perl / bash / python)?

到目前为止,我发现只有单一应用程序的专用解决方案(如sftp-chroot).

虽然无所谓(imho) – 操作系统是CentOS 5 x86_64当前的次要版本和补丁级别.

rpm -ql是恕我直言,不够通用,因为它只涵盖基于rpm的发行版.上面提到的“干净安装”只是提到软件的文件不是分布在整个文件系统中的.所以我的出发点是 – 目前 – 一个发现/ opt /目录/ …几乎可以在任何系统上工作(甚至不是Linux).

解决方法

我建议创建一个模板chroot并安装你想要的所有软件包,就像它是普通的操作系统一样.之后,您可以使用典型工具(更新脚本,包管理器等)管理chroot,并将更新rsync到使用该模板构建的每个chroot中.

这种方法有一些优点.一些两个大的是你可以使用熟悉的工具管理模板(没有奇怪的箍来跳过升级你的chroot),如果你有一个chroot由于某种原因无法更新(说它需要一些特定版本package)你可以将它从rsync升级过程中排除并独立管理,就像它是一个独立的机器一样,将包标记为“保持”或等效,这样它就不会被踩到.

您的里程(和实施要求)可能会有所不同……

相关文章

Linux中的ARP防火墙主要用于防御ARP欺骗攻击,其效果取决于多...
insmod和modprobe加-f参数导致Invalid module format错误 这...
将ArchLinux安装到U盘 几个月前入门Arch的时候上网搜了不少安...
1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...