From: Zardus_at_nbwrpg.com
Date: Tue 26 Feb 2002 - 01:29:43 GMT
On Mon, 25 Feb 2002, Patrick LeBoutillier wrote:
> Hi,
>
> I have a few vservers that are unified. When installing a Perl module in one
> of the vservers, I get an error which I can reproduce with the following
> simpler command.
>
> [root_at_devweb DateManip-5.40]# echo toto >>
> /usr/lib/perl5/5.6.0/i386-linux/perllocal.pod
> bash: /usr/lib/perl5/5.6.0/i386-linux/perllocal.pod: Permission denied
>
> The file is as follows:
> [root_at_devweb DateManip-5.40]# ls -l
> /usr/lib/perl5/5.6.0/i386-linux/perllocal.pod
> -rw-r--r-- 8 root root 218 Mar 23 2001
> /usr/lib/perl5/5.6.0/i386-linux/perllocal.pod
>
> I am logged on as root but can't seem to append to the specified file. But
> if I open the file and save it with vi, then the problem goes away.
>
> Anyone have a clue?
I think that when you unify a vserver, it sets the immutable tag on the
hard links, which prevent them being used to modify the file, but allows
for that hard link to be unlinked so that you could replace the file. If I
understand correctly, when you're trying to append to the file, the
immutable tag is rearing up and preventing you from editing, but when you
save the file with vi, vi unlinks the file and writes another file (now
a real file without the immutable tag) in its place, taking the problem
away.
If I understand the unification proccess correctly, the above should be
accurate.
- Yan