Posts Tagged ‘Linux’

linux.conf.au 2012 – Day 2 (Tuesday)

Wednesday, January 18th, 2012

This week I’m at linux.conf.au, the southern hemisphere’s premier open-source conference. This year it is being held in Ballarat, about an hour’s travel from Melbourne. I’ll be documenting the trip and conference as much as I can given the limits of my enthusiasm and awakeness.

Tuesday 17th January:

Bruce Peren's Keynote

Bruce Peren's Keynote

Day 2 was full of a lot more great talks. First up in the morning was Bruce Peren’s keynote address. He talked a lot about trying harder to maintain the ideals we’ve worked for in the past. He says the fights we fought in the past, using our moral high-ground to our advantage, we might not win now because we have business groups (like Ubuntu and Redhat) speaking on our behalf… and businesses always have to put profit first.

After morning tea I saw two great kernel-related talks, the first by Jonathan Corbet and the second by Mathew Garrett. Jonathan basically gave a rundown of the Linux kernel development work that has happened over the last year, including the release of Linux 3.0 and for the first time ever, a kernel release having less source code in it than the last one (due to some cleanup work). Mathew Garrett gave a really impassioned talk on the good and evil of EFI. From what I gathered, the runtime services stuff offered by EFI is a great idea with a half-arsed implementation. On the other hand, the secure boot offered by EFI threatens to make open-source deployment to normal users a right pain in the arse… if it is possible at all. That’s a bit of a worry.

Greg Banks' "This Old Code"

Greg Banks' "This Old Code"

After lunch I watched a talk by Greg Banks (who works for Opera) on renovating old source code to get it up to scratch with modern systems. His examples came from the Cyrus IMAP server, and there was a heap of great tidbits of information there. The second talk after lunch was given by Robert Mibus from Internode, about how they are implementing reverse IPv6 DNS mappings for their customer. With a possible 4TB of mappings for each customer, they have to generate them on the fly… but no existing DNS server did this. So they wrote their own. One thing I was very interested in, being an Internode customer, is that I can request to get IPv6 reverse mappings delegated to my own DNS servers; something I have already put in a request for.

More trainspotting!

More trainspotting!

The second last talk for the day was about moving large amounts of data and essential services from one datacenter to another with no loss of downtime… an impressive feat! Given by a team from Mozilla, it detailed how they prepared for and moved thir crash reporting system from San Jose to Pheonix. The last talk I saw was given by Sarah Novotny about caching databases, and how the many caches on a system can sometimes work against each other. It covered performance benchmarking and monitoring as well, just to make sure everything is running fine.

Dinner this evening was at the Irish Murphy’s we visited the night before. While a bit unadventurous, I was with a group who hadn’t been there before, and the food was still quite excellent. I was happy. On the way back to the hotel I got to do a bit of train spotting as well, which made me quite happy. :D

30 Days of Geek #9: What OS/distribution do you run?

Tuesday, November 9th, 2010

I’ve decided to partake in Jethro Carr’s 30 Days of Geek challenge, so I’ll be writing a post a day on my geekiness for an entire month! You can find all the posts in one spot here.

My workstation runs Windows 7 Home Premium x64. The primary reason for running Windows instead of Linux is that running Windows allows me to use Outlook. Yes, Outlook is just that good. I used to do a lot of computer gaming too, which was better on Windows. Since I’ve stopped doing that (because I only have a laptop now) that’s not so much of a reason.

I run the Home Premium version of Windows simply because it came pre-installed on the laptop, and I saw no reason to upgrade. I would have upgraded to the 64-bit version had it not been pre-installed, however.

Unfortunately for all my Linux-fan friends, I don’t think Linux is the best workstation operating system for my needs. It just doesn’t fit so neatly into my mental work flow, and it gets along horribly with the other Windows machines in my house. Samba is the devil, basically.

On the other hand, I always use UNIX-based operating systems on servers. Wouldn’t dream of anything else (unless I had to create a Windows domain controller). On the servers I’ve set up, I’ve always used Debian GNU/Linux. It’s the most stable operating system I’ve ever come across, and that’s what counts. It also happens to be free software, but that’s less of a consideration for me.

The best thing about UNIX-based operating systems is not the operating system itself though, it’s the application software available for them. The best web servers all run on UNIX. Ditto for software development tools, typesetting software, text editors, command-line shells, the list goes on. Everything except for Outlook, basically. :P

A lot of the time then, you’ll find me sitting on my Windows-based laptop, with an SSH client open connected into my server so I can take advantage of all those nice tools. Firefox, Outlook, PuTTY, Pidgin… what more could a man need?

Setting up a Home Server on (almost) nothing

Friday, March 20th, 2009

There are any number of reasons you might want to set up a home server. Serving a website for cheap may be it. You might want to compile software, or backup your files onto another computer for safe-keeping. Whatever the reason, here’s how to do it.

Assuming you already have an Internet connection, it’s surprisingly easy. First, you’ll need a computer. For a server destined for a single user, you don’t need a lot of processing power (or a lot of RAM). This makes the whole process a lot easier.

The first place I would look is the local computer shop (preferably one that repairs computers). Ask them if they have any spare old computers you could have. Most would be willing to palm off any old computers they have lying around from upgrades (usually their customers don’t want the old computers back) for either free or a very low price. I used to work at a computer store as a technician. We had old computers lying around everywhere. Most of them were working fine. They may not give you the hard drive, but you can pick up one of those for cheap as well.

If you have a friend of family member working in a larger company (especially in an IT department), asking them for a computer might be fruitful. Most larger companies replace all their computers every 3 or 4 years, and as such usually have quite a few old ones lying around doing nothing. You can get amazingly good systems (usually with no faults or blemishes to be seen) if you ask around.

The next place to look would be a tip (or dump) shop. These are places (usually run by charities or co-operatives) that scavenge off the tip face and then sell what they find for incredibly low prices. You might think that all you’ll end up with is a 386 computer that’s been lying in bacon fat for the last month, but you’d be wrong. It’s amazing what people through away. My entire sound system (including high quality (albeit aged) speakers, amplifier, tuner and so on) was picked up at a tip shop for less than $20. All working perfectly.

The final place I would suggest looking for cheap computers (or the missing parts you weren’t able to find from a computer shop or tip shop) is eBay. You’ll be looking for incredibly cheap postage on the items (on computer cases this is a killer), so limit the search to places nearby that allow picking up the item. Don’t get carried away with bidding high for the ‘perfect’ server. Used computers are a dime a dozen on eBay, especially if you live in a more populated city.

Once you have a computer, it’s time to start installing some software on it. For this, you’ll need a monitor, a keyboard, a mouse, and an Internet connection. Once the base software is installed you’ll no longer need the keyboard, mouse or monitor, so you can borrow these from your main computer temporarily if you have to.

First though, you’ll need to get your hands on the software. The up side is that it’s all free. The down side is that there is no support line (though there are thousands upon thousands of sites where you can ask for help from other users). You’ve probably heard of an operating system called Linux (more formally known as GNU/Linux). Server environments are where it shines.

There are hundreds upon hundreds of Linux distributions (collections of standard software packaged up in a particular way). Each one has its own advantages and disadvantages, and I won’t dictate to you which is the best to use for a particular use. That said, there are a few that are worth your first attention. Names such as Fedora, SUSE, Debian and Ubuntu are well-known, and have been around for a decade or more (and as such, can be assumed to not be going anywhere anytime soon). If all you’re going to use your server for is storing files, a particular distribution (technically a different operating system, but the difference for most practical purposes is nil) called FreeNAS pops up. Check this out if all you want is to store files and nothing else.

The installation of most Linux distributions works thus (check the particular distribution’s website for details):

  1. Download an image (known as an ISO) of the operating system installer.
  2. Burn the image to a CD using image-burning software. For Windows, one I particularly like is called IsoRecorder.
  3. Insert the disc into the drive on the server, and turn on or restart the server (whichever is applicable).
  4. The disc will take a few minutes to start up, and after that just follow the instructions on the screen. Note that during the installation process the machine will probably want to configure network access. It’s best to already have the server connected to your modem or router before the installer starts.

After the installer is finished, you’ll end up with a bare server, ready for more software and configuration to take place. Read the manual of the distribution for details, but in general you’ll want to install some or all of the following software:

  • SSH. I recommend installing this so you can access the server remotely over the Internet. Port 22.
  • Apache or Lighttpd. These are web servers. Only install one of them. Port 80.
  • Samba. File sharing with Windows machines.

Note that I’ve listed these things called ‘ports’ in the list above. Why is this? These are configuration changes you’ll need to make to your router in order to let the Internet traffic see your server. If you’re confused, Google ‘port forwarding’ and the model number of your router for instructions.

You’ll also want to set up something called Dynamic DNS, which you can do at dyndns.org. This allows you to use a name to access your server (such as example.dyndns.org) instead of a dynamically changing IP address (such as 218.214.200.21, which can change every 24 hours or so).

There’s a lot to read and understand here, but once you’ve set all this up, it’s likely you’ll have a much greater understanding of how computers, computer networks, and the Internet all work. Oh, and you have a home server.