Hi Bill.
I tried installing the ITIGmfi package you sent, and it asks questions
which are package specific (response script).
The only way pkgadd will work with the DDU the way we want it to for all
packages (completely non-interactive) is to use the "-n" option to
pkgadd. If -n is specified and interaction is required, pkgadd will
just fail.
The admin script can make pkgadd become less interactive, and so less
likely to fail. But we need to be careful what we put in the admin
script. (See admin(4).) Here is a modified list from below. It is
approximate; I've made guesses at some of these parameters. Let me
know if these work, or if you have more input about these.
mail=
Add to admin file. Don't mail anything when a package is added, as mail
is not relevant in the installer environments.
instance=unique
This prevents overwriting existing packages, which is good. Since the
DDU is to install packages which haven't already been installed, this
can protect against installing an incorrect package.
partial=nocheck
This checks for previous partial installation of the package. We would
want to overwrite a previous partial package with a usable complete one,
so ignore if a partial installation already exists.
runlevel=nocheck
Don't check the run level, since the current run level that is active is
the only one which will be relevant for the installer (which is the main
reason for installing the package). Nothing to lose by trying it.
idepend=nocheck
Ignore if the package being installed has unmet dependencies, since this
is an SVR4 package being installed in a pkg(5) environment. There will
likely be false "unmet dependencies" since the files upon which the
package is dependent are coming from pkg(5) packages.
space=nocheck
Don't do a space check.
setuid=nocheck
Don't check for executables which have their setuid or setgid bit set.
Install them properly as the package dictates.
conflict=quit
The package being installed should be the driver plus maybe a few files
specific to that driver. There should be no other files in the
package. If there are and they would overwrite files in the image, that
would seem to be a problem.
action=nocheck
Don't check if action scripts in the package contain security impact.
networktimeout=60
Not necessary. Default is already 60 sec.
networkretries=3
Not necessary. Default is 5.
authentication=nocheck
Do not check datastream package signature. (Not sure.)
keystore=/var/sadm/security
I think this can be left in, but not sure if it is needed since
authentication is not being checked.
proxy=
Not sure whether the need for a proxy is dependent on the network. I
need to check on this. If not needed, it can be deleted.
basedir=default
Leave this in. It is in the default admin file, and pkgadd -R works as
expected. Without it, installer can prompt for it, causing the
(non-interactive) install to fail.
Delete the "rdepend" entry from the admin file, as it is irrelevant to
adding of packages.
Thanks,
Jack
On 09/09/09 23:52, Bill Yan wrote:
> Hi Jack,
>
> Thanks for your email. Actually I already used the admin file, but I
> found it can't handle all the situations.
>
> For example, in the attachment, there is a request script for
> interactive request. I have to use the following code for the auto
> install to be successful:
>
> /usr/sbin/pkgadd -a admin_file -d . ITIGmfi >>eof
>
> y
>
> y
>
> y
> eof
>
> I use 'y' and carriage return as the input for questions in the
> request scripts.
>
> Of course, I will test this code for all the 3rd party drivers in the
> current DB. But please let me know if you have better solution. Thanks.
>
> Regards,
> Bill
>
>
> Jack Schwartz ???:
>
>> In the link I sent, this is the important part:
>>
>> cat << \ADMIN_EOF > $ADMIN_FILE
>> mail=
>> instance=unique
>> partial=nocheck
>> runlevel=nocheck
>> idepend=nocheck
>> rdepend=nocheck
>> space=nocheck
>> setuid=nocheck
>> conflict=nocheck
>> action=nocheck
>> networktimeout=60
>> networkretries=3
>> authentication=quit
>> keystore=/var/sadm/security
>> proxy=
>> basedir=default
>> ADMIN_EOF
>>
>>
>> ....
>> ....
>> /usr/sbin/pkgadd -n -a ${ADMIN_FILE} ....
>>
>>
>>
>> /bin/rm ${ADMIN_FILE}
>>
>>
>>
>