Archive for the 'linux' Category
The concept of root
Looking through various access control systems, it is interesting to see the different concepts and features. The concept of root, a user with all privileges inalienably granted to it. So let’s have a look at how this works for Windows, Linux and Joomla!’s upcoming 1.6 version.
Read more
A virtual thought for the day
Last Friday I spent half an hour inside one of our smaller server rooms to fix our development VMWare ESX box. Its called development because its a Dell box and it takes a good five minutes for it to get past the BIOS and SCSI controller load screens. That was the first and last Dell server I think we bought. However what had happened is that the powered had failed the day before and even though we managed to take the machine down, I think the UPS serving that server room had failed after the backup generator also failed which meant that the machine didn’t go down cleanly. However when it came back up it ended up failing and unable to find a root partition. I’ve broken enough Linux boxes to recognize the error and realize the solution is really simple, just fix up the fstab which is all I did and magically the box started working properly. But this lead me to an interesting thought.
Consider an all Microsoft shop who had never considered Linux before but wanted to virtualise their products. The best product to do this from what I can tell is the VMWare ESX platform which is really a small Linux hypervisor and then their own management tools underneath. The aim is that the end user never has to see the Linux back end they only see the graphical tools for Windows like Virtual Control Centre or the web based interfaces. This leads me to the funny thought that a pure MS shop that had perhaps sworn off Linux might be deploying ESX because it is the best option out there (MS hasn’t brought out their solution yet, thats waiting on their Longhorn Server product), an entire Microsoft world virtualized under Linux.
It makes you wonder where the world is heading.
No comments64-bit Hell and Eclipse
For many years now I’ve had an AMD box that was capable of running 64-bit. I wouldn’t say I’m an early adopter, it just happened to be capable of 64-bit and it didn’t bother me if it was a feature or not. At the time I tried out the 64-bit builds of Linux and Windows, found Windows woefully equipped to handle 64-bit and Linux a bit better (having all of the source code to recompile and fix things on a new word size does help things).
Fast forward to today and I have (again) a AMD AthlonX2 64-bit box now on my desk and I’m running SLED10 64-bit. To be honest I’m doing better than Helpdesk who has a similar test box and have been trying to get 64-bit Windows XP up and running on the machine. They’re still hunting for drivers for the thing and keep complaining they have to go halfway across the internet to get things. For myself I’ve only downloaded one driver for the ATI graphics card on it, more to get dual head mode working on the graphics card. So I’m up and running and I’m not really noticing any issues with applications. Everything I’ve thrown at this box has been handled perfectly, until I decided to upgrade Eclipse. Eclipse is a strange beast and the build I have is a 32-bit build. It worked fine by default, however the Java version that I have on my desktop is rather ancient (1.4.2, thank you SuSE). This meant that some things didn’t want to work properly. I tried to upgrade to the IBM provided 1.5 release which wanted to be 64-bit. Which is fine, until you realize that the Eclipse build has a 32-bit SWT support layer. Try again! So I ended up downloading the 32bit Linux Java off the Sun website and installing it. That got me up and running with 1.6 and Eclipse started and almost got me to where I wanted to be. Then Eclipse hanged itself. Eclipse does this from time to time, so I just let it sit there and do what ever it
does and it came good. I have a feeling its trying to go to the internet or some other network resource which is taking its sweet time to respond, or for the internet, being blocked by a firewall somewhere.So this brings to light an issue with any system that indulges in dynamic linking. One of the issues here was Eclipse’s SWT library being 32-bit (there are 64-bit builds so that is fixable though I know not how) and at one point using a 64-bit build of Java. Funnily enough this isn’t as big an issue on my platform of choice, Mac OS X. As I pointed out in a Slashdot comment Apple has done a great job of shifting architectures for their operating system and let alone the 32-bit/64-bit transition. They’ve had to move from their original Motorolla m68k powered machines to PowerPC based machines and now from PowerPC on to Intel, and they’ve used emulation both times swapping from the m68k to PPC and then from PPC to Intel to make the transition lighter, and utilizing “Universal Binaries” similar to the “fat binaries” they used previously to get things up and running. The only other element of note is providing the “Classic” interface to ease the transition from the nanokernel that powered Mac OS 9 and earlier to OS X’s new XNU microkernel. The system is in effect emulating a Classic machine, though it isn’t complete. Though of most note Apple announced the toolchain to make the PPC to Intel switch all possible ahead of time and integrated it directly into their primary developer tool, XCode.Perhaps this is why Apple’s transitions are so much smoother than that of either Microsoft or Linux.
Fun with Subversion and Apache
I’ve been having some issues with getting my Subversion repository to play nicely. For some reason it started to randomly attempt to point to a repository called “error” which puzzled me a bit. A mailing list entry has set me up with a solution (http://svn.haxx.se/users/archive-2004-06/1312.shtml) and it appears looking around a bit further and a few other people have had the issue as well. The basic problem is that somewhere the system is throwing an error, it appears a 500 which is an Internal Server Error. But this doesn’t seem to be the base cause since I feel this is actually being generated internally for some reason and bounced around. It happens that the reason why its bouncing here is because of an error directive somewhere is causing an error page to be looked for, and since by default we’re pointing to our errors being at /error, which Subversion tries to find a repository for because “SVNParentPath” is set with the Location set to the root (e.g. “
So the solution from the above as to add a redirect to another virtual host on the server:
RedirectMatch permanent ^/error http://pasamio.com/error
Another solution is to rewrite the ErrorDocument to make it return strings instead of page:
ErrorDocument 400 "400 HTTP BAD REQUEST" ErrorDocument 401 "401 HTTP UNAUTHORIZED" ErrorDocument 403 "403 HTTP FORBIDDEN" ErrorDocument 404 "404 HTTP NOT FOUND" ErrorDocument 405 "405 HTTP METHOD NOT ALLOWED" ErrorDocument 408 "408 HTTP REQUEST TIME OUT" ErrorDocument 410 "410 HTTP GONE" ErrorDocument 411 "411 HTTP LENGTH REQUIRED" ErrorDocument 412 "412 HTTP PRECONDITION FAILED" ErrorDocument 413 "413 HTTP REQUEST ENTITY TOO LARGE" ErrorDocument 414 "414 HTTP REQUEST URI TOO LARGE" ErrorDocument 415 "415 HTTP SERVICE UNAVAILABLE" ErrorDocument 500 "500 HTTP INTERNAL SERVER ERROR" ErrorDocument 501 "501 HTTP NOT IMPLEMENTED" ErrorDocument 502 "502 HTTP BAD GATEWAY" ErrorDocument 503 "503 HTTP SERVICE UNAVAILABLE" ErrorDocument 506 "506 HTTP VARIANT ALSO VARIES"
This also fixes the problems, though in a few more lines. This is perhaps the better solution as it wipes out the old ErrorDocument directives that were giving us some troubles and returns a straight string. The next simplest solution is of course to move the Subversion “SVNParentPath” from the root to its own path underneath the root, which is the solution that most people seem to go in for doing.
No commentsIndexing and Application Launching
Last night I was doing some work and I wanted to do some more research and knew that I had some files on the subject already on my hard drive, but I wanted to see what else was out there. As it happened Google didn’t really turn up much interesting beyond the obligatory Wikipedia article, but Google Desktop Search turned up a direct link to one of my local resources. Doing so saved me from using Spotlight to do the same thing. But that isn’t the only app indexing my hard drive, Quicksilver (my preferred app launcher) also runs in the background check the hard drive for new and interesting files that it can index and add to its database so that when I search for an application all I need to do is type its name and hit enter.
So my Mac has three different indexing tools: Google Desktop Search, Spotlight and Quicksilver. This is in contrast to my work PC (Windows XP) which has Google Desktop Search and Windows Indexing Service (which does poorly on large itemsets such as the contents of your hard drive…most of the useful items I find using this tool is not what I wanted originally but something else thrown up in the list for some reason, completely irrelevant, but interesting to read. There is another tool I use, RockIt Launcher, which is a Quicksilver equivalent for Windows except its catalog is limited in scope and usefulness, plus it has to be manually reindexed.
Linux by comparison seems quite poor, really only having Beagle desktop search, but that would discount the other options available. For example I do a few things differently on this platform: I launch terminals using my function keys (alt-f5 to f12 is bound to local and remote terminals (via ssh)) which means I get access to those applications. alt-f2 brings up the Linux equivalent of the ‘run’ dialog, except with completion. This is my equivalent for Quicksilver as I usually know the app name (as with quicksilver) to launch it. The last app launch/search is the deskbar I have on my lower panel, which has a list of commands run through it (could be desktop search, dictionary or app launch) so I can click that to quickly get to applications or type in the text box to get feature almost identical to Quicksilver. The last app launch point is my ‘drawers’. These are little panels that extend down with Quick Launch icons. They’re grouped so if I’m doing a particular task I know which drawer to go to so that I can launch multiple similar applictions. iIts also handy for eclipse, which has the same name but is three different installs.
So for me, my main use of search is application launching and occaisionally going to find the file I want. Mac has lead the way on the desktop, Google provides another awesome solution, Beagle is very nicely integrated into GNOME and now that Vista has (finally) shipped a few months ago it has search built in. So finally everything is getting indexed, making things easier to find for those of us who have too much information.
2 comments