Chouyu

chouyu_31


The ravings of a sane person.

Sometimes filled with information.


Previous Entry Add to Memories Share Next Entry
Windows file permission and indexing service hell...
Chouyu
chouyu_31
At some point in a person's life, if they are using a multi-user operating system, they will come into some sort of file permissions hell. Linux, Mac, and other Unix-like operating systems usually have "sudo", which allows you to momentarily tell the system, "To hell with this file permissions bunk, do what I say!" If I remember correctly, Windows 2000 and later had a similar kind of thing, "Run as Administrator", which when used properly, is very effective.

Since getting my most recent computer (Core 2 Quad 2.4 ghz, 4Gb ram, Geforce 8800 GTS 512mb, ...), and moving everything that has ever been on any computer I owned to this one beast (which is faster than all other machines I've ever owned, combined), I discovered a new file permission hell that I've never experienced before. I couldn't even list the contents of directories, never mind moving, deleting, or otherwise mangling them.

Ultimately the problem came down to ownership. Each computer sets up a UUID for the system, and each user (even if they have the same username) gets a different sub-domain id. Since I'd pushed no less than 5 different Windows installations' worth of data (2x Win2k, 3x WinXP) to this one box, spelunking around and re-organizing stuff usually resulted in various prompts of "are you sure you want to elevate your permissions to do this?" in Windows 7. Run as Administrator did not help. If only I had chown...


If you're a random internet surfer, please be aware that the following procedures may reset the modified date/time on your files. If you care about those dates/times, don't do this. Ready?

1. Right-click on whatever ancestral folder you want to alter ownership on (I did this on the root of my data drive), and hit Properties.
2. Go to the "Security" tab, and click the "Advanced" button down on the right.
3. Now the "Owner" tab, then the "Edit" button down on the bottom.
4. Pick yourself as the owner, and check the box that says "Replace owner on subcontainers and objects".
5. Now hit the Ok button, and confirm everything as necessary. In a few minutes, you will have solved your ownership dilemma.
6. Close those properties dialogs.


Now with that problem solved, what about the background Windows Indexing stuff? What? You disabled Windows Indexing Service in Windows 7 you say? Yes and no. There is a successor called "Windows Search", and that thing will touch any file you haven't explicitly disabled. Removing the Indexer was *supposed* to stop it, but it doesn't. And if you remove Windows Search, you can't even search through file names. If you want full-text indexing, by all means, keep it. Me? I find "instant" file searching terribly unnecessary (never mind basically broken with most of these systems). Also, the files I want to full-text search are only a few megs, and I touch them repeatedly with 'ack' (it's like grep, only with all of the good options already selected... it's only issue is that it's written in perl :P ).

1. Go to the root of you drive again, right-click on any (relatively small) folder, select Properties.
2. Hit the "Advanced" button. Notice that "Allow files in this folder to have contents indexed in addtion to file properties"? Toggle it, just to make a change.
3. Hit ok twice.
4. It should pop up with a dialog that asks if you want to apply it to that folder, or all subfolders and files too. Say Ok to that too.
5. You may need to give it administrator privileges, and you may need to "Ignore All" for permissions issues.
6. When it gets done, select every folder in the root of your drive, right-click, Properties.
7. Advanced button again, then make sure that the "Allow files in this folder..." checkbox is unchecked.
8. Hit Ok twice, tell it to apply it to everything, confirm for admin privileges as necessary, and ignore anything that you don't have permission to do.


At this point, most of my friends will probably follow up with, "Josiah, you're still using Windows?" Easily 95% of my time at a computer is spent in my editor PyPE or a browser (99% of my browser time is in Chrome). My editor works better in Windows than on Linux (it is atrocious on OS X), and Chrome on Windows is faster than any browser anywhere else*. Sure, I develop for Linux, but that's what a VM is for (VirtualBox FTW). Throw in NATTed internet, Samba over a second host-only connection, and configuring git to ignore any 'chmod a+x' equivalent changes, and I get the best of both worlds: my primary tools work amazing, and my dev environment can run exactly what our servers run without altering my personal workflow.

* I had a former coworker who benchmarked browsers one time and found that Chrome in Windows XP inside a VirtualBox VM was faster than any browser on the host OS X Core2 Duo laptop, or on the faster Core2 Quad Linux desktop.

I also do weekly snapshots of my dev environment so if a stray system update hoses everything, I spend about 15 minutes troubleshooting, and if that fails, I quick backup my home directory, hit the "go back to a previous snapshot" button, and restore the home directory. What about Windows 7 choking you say? Not an issue. I reboot every 2 months to pick up 2 months worth of Windows patches, even with a standby/wakeup cycle twice a day. I did that for a year and a half on Windows XP too.

For those using other systems effectively, I'm very happy for you. For me, Windows Host + Linux VM is the right answer. I hope you can understand :)
Tags:

VirtualBox is pathetic

(Anonymous)

2010-07-21 06:15 pm (UTC)

"Once the ad ends you'll be returned to your LiveJournal experience" dear lord...

OMG you're still using Virtualbox? It is no comparison with VMWare and Parallel. Give these products a try, their player versions are free and once you try them, you'll never go back to Virtualbox again. I promise.

Re: VirtualBox is pathetic

chouyu_31

2010-07-21 11:22 pm (UTC)

You've complained before about reading this blog at LJ. Every article is syndicated out via RSS, which is readable in Google Reader, and is available in Facebook. You don't need to come here to read it, and comments can go to Facebook or email.


I've used both Parallels and VMWare in the past. Parallels has a 2 week trial on their product, which is not nearly enough to trial it seriously. Running some benchmarks, maybe, but not using the product full-time. I remember leaving VMWare because their client licensing BS had issues on Win2k and XP back in 2005.

Also, I've had bad experiences with shared folders on all three virtualization products, so my current workflow requires both a host-only connection and a NAT connection. I know that Parallels doesn't support that configuration (Chris ran into the issue himself when trying Parallels on Mac). VMWare does support it, but unless it has significantly improved it's performance in the last 6 months, it's still a little slower or about comparable to Virtualbox: http://stackoverflow.com/questions/630179/benchmark-vmware-vs-virtualbox and http://www.ilsistemista.net/index.php/virtualization/1-virtual-machines-performance-comparison.html

Unless you can show me apples-to-apples benchmarks proving that VirtualBox is significantly slower than VMWare and/or Parallels, I am hesitant to switch - VirtualBox works for me, has everything I need, and costs me zero to maintain.

Is there something in particular that VirtualBox falls behind in for you? Maybe it's a particular setup where VirtualBox isn't comparable, you were using Mac host and Windows guest, right?