I have two test machines having solaris 10. I have shared a location which have a package on machine1 and mounted that location onto machine2 as below.
Now, when i am trying to install that package which is in /tmp/test on machine2 by providing installation directory as /tmp/test, the following warning message is being displayed.
WARNING: /tmp/test/<pkg_file1> <not present on Read Only file system> (for each file of the package)
But at the last it is showing, instllation of pkg was successful. And that package is added to installed package list.
please tell me why these error messages are coming. and how can i abort my package installation by changing "request" script.
---------- Post updated 12-27-12 at 11:47 AM ---------- Previous update was 12-26-12 at 05:53 PM ----------
Are you trying to install the package in a zone?
What package are you trying to install?
Did you try to install it from a local filesystem not from nfs?
Maybe
While installing the package it asks for "installation directory". If you provided any directory in local file system, there is no problem with the installation.
If you entered a directory which is a mount point of a shared location on another machine, it is giving that error.
Is it related to zones(using mount point as installation directory)? I have no idea about Solaris zones.
Hi GP81,
Thanks for your explanation by taking an example.
I have shared and mounted the directory as you done in the above. But still I am getting that error
"WARNING : <not present on Read Only file system>"
I am unable to create a temporary file in that mount point. May be because of this, am i still getting that error?
I have small doubt regarding installation of <CSWcommon>.
you have installed CSWcommon on hostB by specifying the mountpoint /tmp/test as installation directory. But why CSWcommon was added to installed package list on hostA instead of hostB.
Could you please clarify me on this? I think, we are using that location for only storage of files like DVD or CD-ROM.
hostA: # ls -ld /home1/pkg/test
hostA: # share | grep test
hostB: # mount | grep test
In my exampe I use 'pkginfo -R', so the path of packages install directory is redefined.
If I would uninstall package, I can use 'pkgrm -R' on both sides and it will work. As you can see, after installation there is 'var' directory in /hime1/pkg/test, which stores information about CSWcommon. When I use
hostA# ls -ld /home1/pkg/test
drwxr-xr-x 3 root root 512 Jun 2 14:25 /home1/pkg/test
hostA# share | grep test
- /home1/pkg/test root=hostB ""
hostB# mount | grep test
/tmp/test on hostA:/home1/pkg/test remote/read/write/setuid/devices/xattr/dev=46c000a on Thu Jan 3 14:12:02 2013
I assume that you execute touch command as a root on hostB.
Try change permission on /home1/pkg/test to 777 and then execute touch command on hostB.
If this allow you to create file, then check the UID and GID of this file. I think it will be 'nobody'.
You can use option anon with share, but this is insecure solution.
share -o anon=0 /home1/pkg/test
If user can't be authenticated, then files are created with UID 0. It should work even if directory has 755 rights.
If above didn't help, then maybe there are some problems with authentication in version 4.
Try remount on hostB with this option:
hostB: # mount -F nfs -o vers=3 hostA:/home1/pkg/test /tmp/test