Tuesday, May 30, 2006

Fedora Core 5 - Pirut (Software Package Manager)

Well today I was preparing some materials for a workshop tomorrow. And I was googling around to find out how to use Fedora Core 5's gui Package Manager. The unfortunate thing was that we were unable to connect the laptops we prepared to the school's network. Meaning, NO INTERNET ACCESS! So fine, we thought we can just install packages from the discs.

But therein lies Fedora Core 5's quirk. It's software package manager, aka 'pirut' only retrieves software through online repositories! So whenever I tried to use the gui package manager, it just threw me some error which did not even tell me the problem. So googling around, thanks to several forums, I found out that the problem was this strange characteristic of pirut. So how to fix this? Googled again, but only one blog talked about getting it fixed, but did not exactly state how. There was also another website that gave quite detailed steps, but again, it was apparently not tested yet. So fine, I had to just mess around, with only a few hours to go. In the end, this is what I came up with. I hope it helps anyone else who has this problem.

1. Create a directory to hold the rpms.(I put mine in /tmp)
# mkdir -p /tmp/RPMS

2. Change directory to the repository folder
# cd /tmp/RPMS

3. Create directories to temporarily mount the discs
# mkdir disc1 disc2 disc3 disc4 disc5

4. Insert disc 1 and mount it
# mount -r -o loop /dev/hdb disc1

5. Copy the RPMS from the mounted directory(disc1) to our current directory
# cp disc1/Fedora/RPMS/* .

6. Copy comps.xml as well
# cp disc1/repodata/comps.xml .

ok, here you gotta wait a while

Basically you do steps 4 and 5 again until all the 5 discs are done if you wish to install packages from all 5 discs.

7. Once you are done, unmount and remove the files.
# umount disc1 disc2 disc3 disc4 disc5
# rmdir disc1 disc2 disc3 disc4 disc5

8. Now to create the repository metadata
# rpm -Uvh createrepo*
# createrepo -g comps.xml .

9. Edit yum.conf
#vi /etc/yum.conf

10. Add in the below lines and save your changes. (NOTE: You can actually add it in the yum.repos.d as well if you wish)
[testing]
name=testing the repos
baseurl=file:///tmp/RPMS
gpgcheck=0

11. Now you have to disable the repositories that point to an online source for the package manager to run properly.
# cd /etc/yum.repos.d
# ls
(You should see something like the below. Those are the default repository files)

12. To disable the repositories, set enabled=0 in the .repo files
# vi fedora-core.repo

13. Do the same for the rest of the .repo files

14. On your desktop, try the Add/Remove Software package manager again.

It should work now.

The above could not have been done without some reference from http://www.city-fan.org/tips/YumRepoFromImages
They also have an excellent tutorial for copying iso from DVDs

Monday, May 22, 2006

Obsfucated nick

Okay, here's an attempt at obsfucating my nick :p Tried to post it on perl monks, but still not sure what was going on, the post apparently is stored in there, but not published?? Oh well, anyway here's my code, meant to run in commandline :D

perl -e "$c=1;foreach $l(a..z){if($c==13||$c==1||$c==9||$c==5){push(@m,$l);}elsif($c==7){push(@m, $l);push(@m,$l);}$c++;}($b,$f,$h,$h,$j,$n )=(shift(@m),shift(@m),shift(@m),shift(@m),shift(@m),shift(@m));@m=();
push(@m,$n,$b,$h,$h,$j,$f);print @m;"

Sunday, May 21, 2006

Open Office Deployments

http://wiki.services.openoffice.org/wiki/Major_OpenOffice.org_Deployments

The above link tracks public information on major Open Office deployments! This is cool, if every instituition who actually deployed it add to this site, then we can see how far Open Office has spread! And, I am glad to see Singapore's Ministry of Defence in the list!

Thursday, May 18, 2006

Java classpath settings

A funny thing in class today. Well the students were supposed to run some java code with the good old command prompt for the first time, but some had problems running the 'java' and 'javac' commands. Of course they could just do something like:

C:\java_stuffs> javac -cp . MyClass.java
C:\java_stuffs> java -cp . MyClass

But there's no reason why after setting the classpath/path, it still don't work. In some instances, I set either one, it works. So it's just weird. Anyway, below is what I did:

1. Open up 'Control Panel'
2. Double click on 'Systems'
3. Select the 'Advanced' tab
4. Click on 'Environment Variables'
5. Look for 'PATH' under 'System Variables' as can be seen in the image below.


6. Edit the 'PATH' variable but don't delete whatever that may be inside!
7. Move your mouse cursor all the way to the end of the text that you see in 'PATH' and paste your java path at the end. It should look something like this: ';C:\j2sdk1.4.2_07\bin'

There have been occasions where I needed to add a '.' to my PATH, something like this: '.;C:\j2sdk1.4.2_07\bin'
And yet there are times when I have to do the above steps but instead of using the PATH variable, I use the CLASSPATH. (Sometimes I have to create it as it is missing.)

Sunday, May 14, 2006

Setting up of svn

This is a post from another blog, did this some time ago.. but perhaps I should do some proper documentation..

Well over here at my instituition, the open source group here managed to get a nice server for ourselves, and lucky me got an account. Someone of course set up the server and stuff. It was set up using Centos, which is essentially RedHat. xen was set up inside, so we essentially had 3 virtual machines inside one! How cool is that?

Anyway so I had one of those virtual machines to mess around with. Of course I was suppose to do some serious work on it. I was supposed to set up a repository, namely subversion. So I set up 2 repositories for the security group to make use of for their projects. To check in and check out, there are a few ways. The painful way is to remotely ssh to the server, which I don't think they want to go into that. Hence, the easy way is to use tortoisesvn. But of course they will still have to rtfm. Tortoisesvn is really nice visually and quite easy to use.

To browse the repository, I've actually set up Trac which is a pretty nice project management tool. Initially was confused with the setup and it was quite a pain to setup because of the many dependencies it had on other modules. But once done, it runs pretty smoothly and quite easy to manage using the trac-admin tool.

So of course, the access and authorisation rights have to be set somewhere, and most of it was done in the httpd.conf file of apache. Further fine grained access rights was set with the svn.

Friday, May 05, 2006

http://opensource.mit.edu/