This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Fwd: Problem at while installing at post install stage


On 5/1/06, Jay Abel <jabel@flex.com> wrote:
I had this same problem, and I think it is caused by a file/directory
permissions problem where setup doesn't have write access to the
/etc/profile.d directory.  Sometimes on XP Home, file access permissions
can be horribly mangled by attempting to share a directory.  On XP Pro,
you are allowed to mess up the permissions yourself ;-)

I have XP Pro, and I use an account that are of administrator group.


[random but possibly useful aside: While there is no way I know of to
create groups in XP Home, you can restore group membership to the
'users' group by disabling and then re-enabling administrator privileges
from the control panel by temporarily switching the account type to
"limited" and then back again.  Apparently, if you only belong to
administrators, you can sometimes cat an access violation when a
file/directory group is 'users'.  Recent patches to windows seem to have
fixed this.]

In general, chmod and chown work as expected if you have ntsec in your
CYGWIN environment variable.  For really difficult problems, getfacl and
setfacl can be used, but if you don't understand what these do, NOT
using them is your best course of action.

umm, I rather not mess up with ACL anymore. I've once messed up with a windows' cacls and got whole partition with lots of important data locking me from accessing at all.

** PLEASE don't just recursively set the permissions on the whole cygwin
tree.  You will be fixing this for years otherwise. **

But you can (and probably should) change the owner and group (this you
can do recursively) on /bin, /usr/bin, /etc to SYSTEM:Administrators,
unless you checked "only for me" on setup.exe, and then shame on you for
not taking the hint provided in the install screen.  Be sure you are in
an account that is a member of the Administrators group when you update.
Be sure that others have +x permission on directories /bin and /usr/bin.
You may also want to set chmod g+s in each top level directory so that
any files created will also be created with 'Administrators' group
ownership.

** DO NOT chmod g+s recursively, this will not only affect directories
but will set the setuid bit on executables, and while this may not do
anything at the moment, it is almost certainly not something you want to
do. **

You may find it easier to rename your old cygwin directory, reboot the
machine, and reinstall cygwin from scratch.  Then you can carefully copy
any files you modified in the old cygwin tree to the new one, checking
permissions and file ownership as you go.

Well, I've tried reinstalling it, but the scripts still won't finish.


Once permissions get messed up it is a *lot* of work to track down the
hundreds of subtle problems this creates, nor is it always obvious what
the correct settings should be.  Sometimes, for example, programs refuse
to run because the security settings are TOO permissive (xhost, sshd).
I am not aware of any magic-bullet script to fix this, but perhaps
someone else on the list has something.



Several people have suggested that it is unwise to run in an
administrator account for your daily activities.  They are right, of
course, from a security standpoint, but this is difficult (not
impossible, just difficult) to do.  The best suggestion I've seen is to
create an account called 'root' with administrator privileges, and log
into this account when you first install cygwin (for everyone) and/or
subsequently update cygwin.  Running this way may limit accidental
damage.



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


On 5/1/06, Eric Blake <ebb9@byu.net> wrote:

Are you sure it is hung and not just taking a long time to execute?

I'm sure it is not long running scripts, I waited for some of the process for more than one hour, while registering and realizing what address sent to the mailing list (cause I use digested version, cygwin-digest@... won't accept mails).

And some scripts that is once hanging, can sometime finish succesfully
if I restart the installer, some though, persist even after multiple
restarting.

>> One of the hang scripts is 00ash.sh

That tries to install /bin/sh.  Are you running any cygwin processes at
the time you are using setup.exe?

I'm aware that if I run Cygwin they may block files I use, so clearly I don't run any Cygwin process (unless there is some hidden process that may not be closed by Cygwin that I don't know)

Note: some scripts that also hang:
gcc-mingw-ada.sh -- Resolved by restarting
gcc-mingw-gdc.sh -- Resolved by restarting
glib-devel.sh -- File extension is renamed
gtk+-devel.sh -- File extension is renamed

Configuration of install: Default + Devel

I'm anticipating if I added some other package, there might be other
hang scripts, as one of the install config I originally use was Full
package, and that full package has more unrunning scripts.

>> In the end, I renamed the hanging scripts. Is this OK?  Is there a way
>> to manually run the script? Outside Cygwin interface (by windows
>> interface) since currently Cygwin shell, bash, etc is inaccesible.

Sure - they are just scripts in /etc/postinstall, setup.exe renames them
to *.sh.done when it has run them, so scripts still named *.sh have not
been run.


Is there some really critical scripts that clearly would make something goes wrong if not run? I just want to be sure. I'm preventing it to run by renaming scripts into: *.sh.undone and also backing up the files so I can know which scripts have problem quickly.

Also, following these directions:
> Problem reports:       http://cygwin.com/problems.html

and including the output of 'cygcheck -svr' as a text attachment, will
help us see if there are any other problems you should fix first.


cygcheck -svr being run from Command Prompt, is attached as attachment.



PS: Sorry, Eric a copy of the mail seems to go personally to you by mistake, I originally want to send to the mailing list, don't know why perhaps by things here and there, one of them is send only to you. I resend this mail again to the mailing list. I've just realized it when I got today's digest hours later, and don't see my post. My mistake.

Attachment: cygout.txt
Description: Text document

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]