Yet another HR friendly document

Without even known it, thanks to my LPIC-1, I’m also a Novell Certified Linux Administrator.

El Sicario Room 164 – Charles Bowden interview

Yet another Charles Bowden interview the world needs to know about. This time it’s about the El Sicario Room 164 book/film.

DNS Server update

I just realized that the D root DNS name server updated its IPV4 earlier this year, luckily the old is continuing to work until June, which is probably the reason why I didn’t noticed the change. So if you’re crazy enough like me to run your own DNS server for your home network (Windows DNS server does not count), instead of using your ISP’s, Google’s or OpenDNS DNS services, then update your hints file with D.ROOT-SERVERS.NET new IPv4 IP address.

D.ROOT-SERVERS.NET. 3600000 A 199.7.91.13

Ruby 2.0 stable has been released!

I’ve been so busy lately that I’ve completely missed the news last week regarding Ruby 2.0 stable release.

Unlike the 1.8 to 1.9 upgrade, 1.9 is compatible with 2.0. So this time around it’s going to be easier for people continue to make the world a much better place using Ruby.

Happy Ruby hacking.

This Is My Neighborhood

I stumbled across an interesting indie film about a community non-profit organization thats bringing a glimmer of hope to the homeland. Being raised and living in Santa Ana practically all my life, it’s nice to see cooperative community in my home city that not only makes our community a much better place, but society in general.

One interesting thing that caught my attention was if I wouldn’t known, this film would actually be a perfect political ad for David Benavides (current City Council member), for what his done in the community.

Neil deGrasse Tyson is officially my favorite scientist

Ubuntu Phone

It’s hard to believe it was over five years ago when Google first announced Android and how exicited I was about it back then. (See http://www.rubyninja.org/2007/11/24/test/) Now, I really can’t say that about the recently announced Ubuntu phone made by Canonical. It’s really interesting to see how Canonical is attempting to deploy a unified user experience that will consist of their Desktop Operating System of course, TV and phone. Which is very Apple like if you ask me. However the fact that their isn’t a public release of an Ubuntu phone not anytime soon, an Ubuntu phone this point in time will be far behind iOS and Android; ie stability, applications, etc..

Thus said, you bet I will be buying an Ubuntu phone soon after its available.

New Year’s resolutions

The following are my 2013 New Year resolutions in no particular order:

  1. Lose the weight I gained in 2012.
  2. Write an Android app (using native SDK).
  3. Write something useful in Python.
  4. Visit the dentist (my teeth are not rotting, btw)
  5. Complete my Linux Professional Institute Level-2 Certification (for fucks sake).
  6. Become a Red Hat Certified Engineer.
  7. Learn Moose in Perl.
  8. Become MySQL certified.
  9. Learn how to cook.
  10. Learn Nginx.

Setting up a Linux computer to act as a DHCP and PXE server

Unlike DNS, at least with BIND. Setting up a Linux machine to act as a DHCP server is a really simple process. Just like with DNS, running your own DHCP server using a Linux machine gives you even more control over your network. One thing that I really like about running my own DHCP server is the ability to assign static IP addresses to clients based on their NIC’s mac address. Another benefit of running my own DHCP server is the ability to easy install Linux systems via PXE.

 

For my network, I used Debian Squeeze as the host OS and ISC’s DHCP as the DHCP server software.

 

Installation:

apt-get install isc-dhcp-server tftpd-hpa

 

PXE Boot configuration:
mkdir -p /srv/tftp/
chown .nogroup /srv/tftp/
mkdir /srv/tftp/pxelinux.cfg
cd /srv/tftp

Download the Debian netbook files:

wget //ftp.us.debian.org/debian/dists/squeeze/main/installer-amd64/current/images/netboot/netboot.tar.gz
tar -xvf netboot.tar.gz

With the netboot files, I only used the pxelinux.0 and vesamenu.c32. pxelinux.0 is needed for the actual PXE boot, and vesamenu.c32  is used to list the menu of any system that will be available via PXE boot (optional).

(Debian PXE boot environment setup)

mkdir -p /srv/tftp/debian/squeeze/amd64
cd /srv/tftp/debian/squeeze/amd64
wget http://ftp.us.debian.org/debian/dists/squeeze/main/installer-amd64/current/images/netboot/debian-installer/amd64/initrd.gz
wget http://ftp.us.debian.org/debian/dists/squeeze/main/installer-amd64/current/images/netboot/debian-installer/amd64/linux

(CentOS PXE boot environment setup)

mkdir -p /srv/tftp/centos/6.3
cd /srv/tftp/centos/6.3
wget http://mirrors.usc.edu/pub/linux/distributions/centos/6.3/os/x86_64/images/pxeboot/vmlinuz
wget http://mirrors.usc.edu/pub/linux/distributions/centos/6.3/os/x86_64/images/pxeboot/initrd.img

 

Create the following file, /srv/tftp/pxelinux.cfg/default :

DEFAULT vesamenu.c32

LABEL squeeze_amd64_install
kernel debian/squeeze/amd64/linux
append vga=normal initrd=debian/squeeze/amd64/initrd.gz –
LABEL squeeze_amd64_linux
kernel debian/squeeze/amd64/linux
append vga=normal initrd=debian/squeeze/amd64/initrd.gz –

LABEL squeeze_amd64_expert
kernel debian/squeeze/amd64/linux
append priority=low vga=normal initrd=debian/squeeze/amd64/initrd.gz –

LABEL squeeze_amd64_rescue
kernel debian/squeeze/amd64/linux
append vga=normal initrd=debian/squeeze/amd64/initrd.gz rescue/enable=true –

LABEL centos_amd64_install
kernel centos/6.3/vmlinuz
append initrd=centos/pxe/initrd.img

PROMPT 1
TIMEOUT 0

 

TFTP configuration:
Edit file /etc/default/tftpd-hpa:

RUN_DAEMON="yes"
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftp"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"

Restart tftpd: /etc/init.d/tftpd-hpa restart

 

Example DHCP Configuration:

(Assumes 192.168.1.1 is the gatewway and 192.168.1.2 is the dhcp server)

subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.120 192.168.1.254;
filename "pxelinux.0";
next-server 192.168.1.2;
option routers 192.168.1.1;
}

 

Example fixed address assignment:

host ubuntuvm01 {
hardware ethernet 08:00:27:11:5f:b8;
fixed-address 192.168.1.119;
}

 

pxe

pxe_gui

I needed a good laugh

“If you’re stupid enough to totally ignore reliability just to get benchmarks, I’d suggest you pipe your data to /dev/null, it will be very fast…”