我正在尝试在 Solaris 上以非交互方式执行 pkgadd。不知何故pkgadd -d /home/mypackage -n
不起作用。在阅读手册页时,我发现我可以使用管理文件禁用交互。所以我遵循了指南这里。当我尝试运行
pkgadd -d /home/mypackage -a /home/admin
它时仍然提示用户输入。
*我在/home/创建管理文件
这是显示:
The following packages are available:
1 mypackage mypackage
(all) 4.4.0
Select package (s) you wish to process (or 'all' to process all packages). (default: all) [?,??,q]:
谷歌然后引导我到这地点。通过改进一点,我设法让它用命令运行pkgadd -d /home/mypackage -a /home/admin 'all'
既然 pkgadd 可以完成,我认为 pkgrm 也应该是相同的。所以我尝试了pkgrm -a /home/admin mypackage
。
然后出现提示。
The following package is currently installed:
mypackage mypackage
(all) 4.4.0
Do you want to remove this package? [y,n,?,q]
然后我想也许这和 pkgadd 是同样的问题。所以我尝试了pkgrm -a /home/admin 'y' mypackage
。相反,它给了我一个错误。
pkgrm: ERROR: no package associated with <y>
我到底应该通过什么才能以非交互方式执行 pkgrm 。我应该在管理文件中添加另一个参数吗?如果有的话,参数是什么?这是我尝试使用的参数:
remove=nocheck
removal=nocheck
confirm=nocheck
所有这些尝试都会导致WARNING: unknown admin parameter
这是我使用的管理文件:
mail=
instance=nocheck
partial=nocheck
runlevel=nocheck
idepend=nocheck
space=nocheck
setuid=nocheck
conflict=nocheck
authentication=nocheck
action=nocheck
rscriptalt=root
bsedir=default
我使用的是 Solaris 10 i386
答案1
发现了提示这里。我尝试应用该命令-n
并且它有效!命令最终应该是pkgrm -n -a /export/home/admin mypackage
答案2
要删除包而不要求依赖项,如果没问题的话,可以包含
rdepend=nocheck
在管理文件中。