代码之家  ›  专栏  ›  技术社区  ›  Chaim Geretz

不断开链接的pkgad原型文件

  •  0
  • Chaim Geretz  · 技术社区  · 16 年前

    如何创建一个在安装软件包时不会断开软链接的Solaris软件包?

    3 回复  |  直到 14 年前
        1
  •  0
  •   Kenster marc_s    15 年前

    您可以使用原型文件中的类字段有条件地安装东西。例如:

    d none /foo 0775 $USER $GROUP
    d createbar /bar 0775 $USER $GROUP
    

    通常会创建目录/foo,因为“none”是默认类。另一方面,只有当安装程序设置为在“createbar”类中安装内容时,才会创建/bar。

    要安装的初始类集设置在 pkginfo 文件。您可以在 request 或 checkinstall 脚本。其思想是让其中一个脚本执行一些检查,以决定是否安装可选组件,然后适当地更改类。例如:

    # Create /bar unless it already exists as a symlink
    if [ ! -L /bar ]
    then
        echo "CLASSES=${CLASSES} createbar"
    fi
    

    如果这个答案不能满足你的需要,也许你可以更好地描述一下你想做什么。

        2
  •  0
  •   jlliagre    16 年前

    这些符号链接是包原型文件的一部分吗? 如果是,它们是如何定义的?

        3
  •  0
  •   alanc    14 年前

    断开链接是什么意思?我可以想到链接可能发生的一些事情:

    1. 用文件覆盖符号链接
    2. 用目录覆盖符号链接
    3. 将文件放入symlink指向的目录中(例如,安装到/opt/foo/bar中,/opt/foo是symlink)

    如果你澄清你的问题会有帮助的。

    然而,无论在哪种情况下, class action scripts 如果您想以一种特殊的方式处理包中的某些文件,那么您可能需要查看这些文件。

    在原型文件中,您需要为一个文件分配一个类名,在另一个包中,您需要提供一个脚本来处理这个类。你可以看看 CSWcswclassutils ,一个提供了许多类操作示例的包。您将创建一个提供类操作脚本的类似包,并将包中的脚本与特殊文件一起使用。