eRacks Systems Tech Blog

Open Source Experts Since 1999

There are many Open Source DNS server services for Linux systems. Here we’ll discuss about installing and configuring one of the most popular DNS server services among them known as “Bind9”. We’ll use another most popular Debian based Linux server operating system distributed by Canonical which is Ubuntu 16.04 LTS Server edition.

Other good DNS implementations include the native OpenBSD DNS implementation, as well as Dan Bernstein’s tinyDNS (AKA djbdns), but these are topics for future articles. (We use djbdns on OpenBSD, internally).

Successfully installing and configuring Bind9 Server service on Ubuntu 16.04 LTS server edition require several steps. For better understanding we’ll divide the total process into two main steps as ‘Basic installs’ and ‘Securing the DNS Server’ service. Each main category could be divided into several additional steps.

Basic Installing Steps:

  1. Install fresh Ubuntu 16.04 LTS Server OS on a server.
  2. Preparing the Ubuntu 16.04 LTS Server OS for installing Bind9 DNS Server Service.
  3. Install Bind9 DNS Server Service and configure Caching-only name server.
  4. Install and configure Primary DNS server or Master DNS server.
  5. Bind9 Post installation Configurations for successful service run on Ubuntu Server.
  6. Install and configure Secondary DNS server or Slave DNS server.

Securing Bind9 DNS Server Service:

  1. Configure SPF record for securing mail server under Bind9 DNS service.
  2. Configure DKIM record for securing mail server under Bind9 DNS service.
  3. Configure DNSSEC signing on Bind9 DNS Server Services.
  4. Configure DMARC Record for securing mail server under Bind9 DNS service.

For this tutorial we’ll use ‘eracks.com’ as domain and local IP address for demo and real time configurations (tested) behind the NAT network. The global & dedicated Systems could be configured just by replacing with your own domain and real IP assigned from your ISP. If you need further assistance please contact our eRacks Systems’ experts. Also, you could buy securely configured “DNS Server” as your requirements from eRacks SystemsshowRoom without any hassle. For your requirement please checkout.

For configuring DNS Servers we’ll use private IP from 192.168.88.0/24 network block where the usable Host IP Range is: 192.168.88.1 – 192.168.88.254; and Subnet Mask: 255.255.255.0. Our Router/NAT-gateway IP address is already configured as 192.168.88.1.

IP Address Block:	192.168.88.0/24
Usable Host IP Range:	192.168.88.1 - 192.168.88.254
Broadcast Address:	192.168.88.255
Total Number of Hosts:	256
Number of Usable Hosts:	254
Subnet Mask:	255.255.255.0
Wildcard Mask:	0.0.0.255
Options Primary/Master DNS Server Secondary/Slave DNS Server Client/Host Server
Host Name dnsmaster dnsslave hostserver
Domain eracks.com eracks.com eracks.com
IP Address IPv4: 192.168.88.17
IPv6: ::8817
IPv4: 192.168.88.250
IPv6: ::8250
IPv4: 192.168.88.17
IPv6: ::8221
FQDN dnsmaster.eracks.com dnsslave.eracks.com hostserver.eracks.com

Enough talk – Let’s see how it’s done!

 

eRacks/DNS


Get your Own Open Source DNS Server as pre-configured as ‘plug & Play’ from eRacks Systems’ ShowRoom.

 

 

 

Step 1: Install fresh Ubuntu 16.04 LTS Server OS on a server.

For learn how to install a fresh copy of Ubuntu 16.04 LTS Server OS on a server system visit this link.

Step 2: Preparing the Ubuntu 16.04 LTS Server OS for installing Bind9 DNS Server Service.

After installing, login the server directly or using SSH tunnel with IP address with user with root privileges.

The login screen will look like this;

 

Then run the following command and press enter and your given password to update the system.

administrator@ubuntu:~$ sudo apt-get update

 

For avoiding “sudo” command, we’ll configure the server as ‘root’ user. To do so, type the following command and press enter.

administrator@ubuntu:~$ sudo -s

 

Once the Update and Upgrade are done as root user, we need to edit the network interface for setting up the static IP address for the system with the following command;

root@ubuntu:~$ nano /etc/network/interfaces

Here On the popped-up screen find # The primary network interface and replace the beneath lines with the following;

# Static Primary Network Interface IPv4 Address
# Required for IPv4 (A) Records
auto eth0
	iface eth0 inet static
	address 192.168.88.17
	netmask 255.255.255.0
	network 192.168.88.0
	broadcast 192.168.88.255
	gateway 192.168.88.1
	dns-nameservers 8.8.8.8 8.8.4.4
	dns-domain eracks.com
# Optional Static IPv6 Address for Primary Network Interface
# Required for IPv6 (AAAA) Records
iface eth0 inet6 static	
	address fe80::215:5dff:fe58:6500
	netmask 65
	gateway fe80::2a3b:82ff:fe74:58f6

 

Once it is done, press Ctl + X to exit and Press ‘Y’ then Enter button to save the changes.

 

Next, we need to set up the hostname for this server. Thus, Run the following command to edit the host name;

root@ubuntu:~$ nano /etc/hostname

On the popped up screen replace the existing default host name “Ubuntu 16.04 LTS” with “dnsmaster” (since we’ll be setting the hostname as “dnsmaster“) then Press control + X to exit. And Press ‘Y’ then Enter button to save the changes. And then Run the following command to edit the hosts file;

Replace the existing with the following host record entries with the following;

root@ubuntu:~$ nano /etc/hosts

The entries will look like this;

Once done, press control + X to exit and Press ‘Y’ then Enter button to save the changes and reboot your system with the “reboot” command.

 

After rebooting and login to the server we’ll see that the default host name “ubuntu” is replaced with hostname “dnsmaster”. To get assure we could check the hostname and FQDN with the following commands respectively;

root@dnsmaster:~$ hostname
root@dnsmaster:~$ hostname -f

Once these are done the system is ready for installing the Bind9 DNS Server Service. And we could proceed to the next steps.

Note:We’ll login as as root user from the start.

 

Step3: Install Bind9 DNS Server Service and configure Caching-only name server.

Before installing ‘Bind9’ DNS Server on this server we need to make sure all the packages are up to date. So, we’ll update and upgrade all the apt packages with following command;

root@dnsmaster:~$ apt-get update && apt-get upgrade

 

Once the Update and Upgrade are done, we’ll install the ‘Bind9’ Packages with the following command;

root@dnsmaster:~$ apt-get install bind9

The screen will pop up for your permission for using additional disk space. For approval, press “Y” and then Enter button for installing the packages. The installation process will take a few whiles.

 

When the installation is done the system is ready for configuring Caching-only name server with Bind9 DNS Server service package. For configuring Caching-only name server run the following command.

root@dnsmaster:~$ nano /etc/bind/named.conf.options

 

On the popped-up screen find & uncomment the forwarders & set the forwarders as follows with google public DNS IP address & or with your ISP’s DNS IP address.

The entries will look like this

 

Next, press control + X to exit and Press ‘Y’ then Enter button to save the changes. And restart the Bind9 DNS Service with the following command.

root@dnsmaster:~$ systemctl restart bind9.service

 

For testing the Caching-only name server we need to run the dig command as follows;

root@dnsmaster:~$ dig google.com

If everything is okay, the command will dig up the following records;

Step4: Install and configure Primary DNS server or Master DNS server.

Before proceeding further, first we need to make sure the Ubuntu server is up-to-date. We could make sure by running the following commands;

root@dnsmaster:~$ apt-get update && apt-get upgrade

 

Before configuring Primary Name Server with Bind9, we could verify all the required packages are installed by running the following command;

root@dnsmaster:~$ apt-get install bind9 bind9utils bind9-doc

 

Once it is done, we are ready to configure our Primary Name Server with Bind9 on Ubuntu 16.04 LTS Server. And All configuration files be will be available under /etc/bind/ directory. To do so, we need to edit ‘named.conf.local’ file first, and make entry for our domain zone.

So, we’ll run the following command line for setting up our domain’s forward look up zone.

root@dnsmaster:~$ nano /etc/bind/named.conf.local

 

Then make the following entries for Forward Look Up Zone

// ### Forward Look Up Zone
zone "eracks.com" {
	type master;
	file "/etc/bind/forward.eracks.com";
	allow-transfer {none;};
	};

 

Reverse, look up zone is also recorded here. So, we’ll add the reverse look up zone with the first there part of the IP address in reverse way by ending with “.in-addr.arpa”. The zone name it’ll look like “88.168.192.in-addr.arpa” this. So, we’ll add the following records beneath the forward look up zone as well as following;

// ### Reverse Look Up Zone
zone "88.168.192.in-addr.arpa" {
	type master;
	file "/etc/bind/reverse.eracks.com";
	allow-transfer {none;};
	};

These entries will look like this;

 

Then we need to save the file and exit.

 

We’ve identified forward lookup zone via “file “/etc/bind/forward.eracks.com”;” and reverse lookup zone via “file “/etc/bind/reverse.eracks.com”;” on the “named.conf.local” file. Therefore, we need to create those two-database files for use as forward & reverse lookup zone under “/etc/bind/” directory.

For “forward.eracks.com” database, we’ll copy the existing “db.local” database file that is created as default with Binid9 installation under ‘/etc/bind/’ directory. To, do so we’ll run the following command;

root@dnsmaster:~$ cp /etc/bind/db.local /etc/bind/forward.eracks.com

Then we’ll edit the newly copied database file with the following command;

root@dnsmaster:~$ nano /etc/bind/forward.eracks.com

Then make the following entries for the database records;

; ###########################################################################
; ### ******************************************************************* ###
; ##### Forward Look Up Zone Data Files For eRacks.Com Domain ###############
; ###########################################################################
$TTL    3600
$ORIGIN eracks.com.
@	IN	SOA	dnsmaster.eracks.com.	root.eracks.com. (
								2018110111	;	Serial
										4800	;	Refresh
										360	;	Retry
									2419200	;	Expire
										7200 )	;	Negative Cache TTL
;
@	IN	NS	dnsmaster.eracks.com.
@	IN	NS	dnsslave.eracks.com.
@	IN	AAAA	::8817
@	IN	A	192.168.88.17
; ################################
; NameServer Records
; ###########################################################################
dnsmaster.eracks.com.	IN	A	192.168.88.17
dnsmaster.eracks.com.	IN	AAAA	::8817
dnsslave.eracks.com.	IN	A	192.168.88.250
dnsslave.eracks.com.	IN	AAAA	::8250
; ################################
; Other Host Records
; ###########################################################################
hostserver.eracks.com.	IN	A	192.168.88.221
hostserver.eracks.com.	IN	AAAA	::8221
;

 

It’ll look like this;

 

Next for “reverse.eracks.com” database, we’ll copy the existing “db.127” database file that is created as default with Binid9 installation under ‘/etc/bind/’ directory as well. So, we’ll run the following command;

root@dnsmaster:~$ cp /etc/bind/db.127 /etc/bind/reverse.eracks.com

And edit using the following command

root@dnsmaster:~$ nano /etc/bind/reverse.eracks.com

Entries for the database are follows

; ###########################################################################
; ### ******************************************************************* ###
; ##### Reverse Look Up Zone Data Files For eRacks.Com Domain ###############
; ###########################################################################
$TTL    3600
@	IN	SOA	dnsmaster.eracks.com.	root.eracks.com. (
								2018110111	;	Serial
										4800	;	Refresh
										360	;	Retry
									2419200	;	Expire
										7200 )	;	Negative Cache TTL
;
@	IN	NS	dnsmaster.eracks.com.
@	IN	NS	dnsslave.eracks.com.
; ################################
; NameServer Records
; ###########################################################################
17.88.168.192.in-addr.arpa.	IN	PTR	dnsmaster.eracks.com.
250.88.168.192.in-addr.arpa.	IN	PTR	dnsslave.eracks.com.
; ################################
; Other Host Records
; ###########################################################################
221.88.168.192.in-addr.arpa.	IN	PTR	hostserver.eracks.com.
;

Once it is done, we’ll save the file and exit.

It’ll look like this;

 

After that, we’ll restart the bind9 DNS Server Service with the following command.

root@dnsmaster:~$ systemctl restart bind9.service
root@dnsmaster:~$ service bind9 status

Note: We should be careful that all the records that finishes with letter (other than IP addresses), we need to add full-stop (“.”) at their end point to declare it is finished. Else, the bind9 will show an error.

 

For instant checkup, we need to set the resolver with nameserver as localhost IP 127.0.0.1 using following command;

root@dnsmaster:~$ nano /etc/resolv.conf

 

And at the beginning of the name server lists we need to add the following line, then save and exit.

nameserver 127.0.0.1

 

For checkup we’ll use the “dig” command for specific host record like following

root@dnsmaster:~$ dig eracks.com

 

The command will dig up the host records from the local DNS Server as follow

 

If the configuration is correct then the above command will not show any error. or if there is any error, we need to look at log file and troubleshoot the error. For detail about bind9 troubleshooting on Ubuntu Server please visit Ubuntu’s official “DNS Troubleshooting Page” or contact eRacks Systems’ expertise for the help.

 

Step 6: Bind9 Post installation Configurations for successful service run on Ubuntu Server.

When, the bind9 shows no error, we need to set the post installation configuration for Bind9 DNS Server Service to run successfully on Ubuntu Server. To do so, we’ll run these following commands for give appropriate access permission to the Bind9 Server Service and Allow through Ubuntu Firewall (ufw).At first, we’ll enable the bind9 DNS Server Service at the system start up with the following command. So that the Bind9 always starts automatically after the system reboot.

root@dnsmaster:~$ systemctl enable bind9.service

 

Then for the access permission for Bind9 on ubuntu server, we’ll run the following commands;

root@dnsmaster:~$ chmod -R 755 /etc/bind
root@dnsmaster:~$ chown -R bind:bind /etc/bind

 

We’ll also configure the Ubuntu firewall in order to allow Bind9 through Ubuntu firewall (ufw). For configuring ufw we’ll run the following commands one by one.

root@dnsmaster:~$ ufw app list
root@dnsmaster:~$ ufw allow “Bind9”
root@dnsmaster:~$ ufw reload
root@dnsmaster:~$ ufw status
root@dnsmaster:~$ ufw status verbose

 

Then we’ll restart both servives Bind9 and the ufw with the following commands;

root@dnsmaster:~$ systemctl restart bind9.service
root@dnsmaster:~$ systemctl restart service.service

 

We could always restart and check status of the Bind9 DNS Server Service with following command.

root@dnsmaster:~$ service bind9 restart
root@dnsmaster:~$ service bind9 status

 

If everything is alright, the Bind9 status report will show no error. Beside, we could always visit this MxToolbox website for more detail reports and troubleshooting by entering the domain.

May 8th, 2018

Posted In: How-To, Linux, Open Source, servers

Tags: , , ,

Leave a Comment

What is a Rack?

Racks are frame structures designed for mounting standard 19″ rack-mount equipment-servers, switches, routers, UPS systems, audio/video-regardless of vendor. They provide rack equipment organization, security and cable management while enabling airflow. There are two basic types: rack enclosures (also called rack cabinets) and open-frame racks.

Where are Racks used?

  • Server rooms and data centers
  • Audio/video installations
  • Closets housing telecommunications equipment
  • Industrial environments such as a factory floor

What type of rack do you require?

Floor Standing

Wall Mount

Rack Enclosure Open Frame Rack Enclosure Open Frame
 FS-racks

If access control and equipment protection are important to you, we recommend a Rack Enclosure

 OF-racks

If you simply need an economical way to organize IT equipment, we suggest an Open-Frame Rack.

 RE-racks

Wall Mount Racks are ideal for securely housing IT equipment in classrooms or sites with limited floor space.

 WOF-racks

In small but secure locations, a wall mount open frame rack provides excellent airflow and easy access to wiring.

What size of rack do you need?

1U-measurement

The height of a rack, and the height of equipment in it, is expressed in “rack units” (a rack unit is 1.75 inches, or 44.45mm). The actual height of a 42U rack is therefore 42 x 1.75 = 73.5 inches. A 2U server would occupy two of the available 42 rack units.

Be sure to make an accurate assessment of the amount of rack space you currently need, and allow for future growth.

Rack Depth

Determine the maximum rack depth required to mount your equipment in a floor-standing or wall-mount rack enclosure cabinet.

 

Floor-Standing Rack Depth Designations
Rack Depth (in.) Ideal for…
Shallow 27 A/V equipment, limited space
Mid-depth 31 Limited space
Standard 37 Servers
Deep 42 Extra cables, improved airflow
Wall-Mount Rack Depth Designations
Rack Depth (in.) Ideal for…
Patch-depth < 16 Patch panels
Switch-depth 16 – 23.99 Switches
UPS-depth 24 – 31.99 UPS systems
Server-depth > 32 Servers

Can the rack handle the weight of your equipment?

rack_w
Racks have a weight limit. Make sure that the capacity of the rack is greater than the total weight of the equipment being mounted.

Do you need any special features?

PCI-Compliance

pci

The Payment Card Industry (PCI) Data Security Standard requires that all companies that process, store or transmit credit card information maintain a secure environment.

Shock Pallet Packaging

spp

Shock Pallet models feature additional reinforcement and shock-absorbing material for safely re-shipping loaded racks to remote sites.

 

Expansion

exp

Expansion models can be bayed together easily to form rows, which is ideal for hot-aisle/cold-aisle cooling techniques.

 

 

Disassembled Shipping

ds

Racks ship fully assembled for easy installation. However, sometimes doorways or tight spaces cannot accommodate fully assembled racks, so knockdown models ship disassembled for easier transportation.

Heat Removal

heat

Thermal Duct Rack Enclosures directly connect to a facility’s exhaust system to remove hot air not only from the rack but from the entire room.

 

 

Co-Location

co-location

Some data center sites host multiple users in a single Rack Cabinet. Co-location models have two separate compartments to allow secure access to the correct users.

 

Extra Width

extra_width

In addition to extended-depth models, extra-wide models provide extra space for cables and improved airflow.

 

TAA-Compliance

ta

GSA schedule purchases and other government contracts require products that comply with the Trade Agreement Act (TAA).

 

Seismic Protection

sessmic

Seismic Enclosures have a rugged welded construction and are tested to Seismic Zone 4 standards, making them ideal for sites that are earthquake-prone or are subject to regular vibration, such as an airport or factory.

 

 

Cable Management & Accessories

cable_mgmt

Shelves, mounting rails, stabilization, cooling, patch panels, hardware kits, casters, and more enable custom installations to accommodate any space limitation or expansion requirement.

 

 

If you are in need of a rack cabinet, enclosure, or open-frame rack, or
have any questions, or just need advice on your installation, please do
not hesitate to contact us at info@eracks.com, or use our contact form at: https://eracks.com/contact/

May 23rd, 2016

Posted In: How-To

Leave a Comment

cloudThis is what we’ve been saying for years now – that the best path to the cloud is to:

  1. Own your core / foundation infrastructure and hardware, at least one server worth, and
  2. Architect it properly with DRY DevOps best-practices and repeatability, to scale into the cloud as needed to meet spot demand

Here’s the reference:

The Hybrid Cloud Helps Midsize Companies CompeteThis e-book is based on insights and recommendations by the Ventana Research, benchmark research report, “Business Technology Insights: Six Key Trends in Optimizing IT for Competitive Advantage.”

Source: The Hybrid Cloud Helps Midsize Companies Compete: Networkworld White Paper

December 23rd, 2015

Posted In: How-To, servers, Uncategorized

Tags: , , ,

Leave a Comment

Zenbook with beverage - IMG_20131019_231446531Minty Zenbook

I am typing this on a nifty new eRacks/ZENBOOK13, with Linux Mint15 installed.

This is a slightly newer rev of the very pretty Asus Zenbook line, with twin 128GB SSD modules installed in a small carrier which screws into the standard 2.5″ HD space (it could also be replaced or upgraded with one of our standard HD/SSD choices, here: http://eracks.com/products/laptops/ZENBOOK13/)

This post will walk you through what we had to do for the installation, with the details.

Installation Cookbook

  1. Boot to an Ubuntu 13.04 install disk. (13.10 should work, or Ubuntustudio works too, that’s what I used).  For some reason, the Mint installer doesn’t install the default EFI boot choice properly, so you have to start with Ubuntu, then replace it with Mint. Read on.
  2. Using gparted (fdisk could work, too), delete the partition tables on /dev/sda and /dev/sdb, and replace the GPT-based partition tables with with msdos-type partition tables.
  3. Install Ubuntu on the 1st of the two SSDs. Don’t worry about the 2nd disk (_yet_).  Be sure to check the “Install with LVM” box after you select the default “Erase and install…”.
  4. Reboot into Ubuntu, and note the partitions cerated.
  5. Boot into a Mint 15 Install disk.
  6. Install Mint15 into the same partition structure – in other words, do NOT select the default “erase and install…” , but rather the “Something else” choice, and tell it to put the root partition on the same partition you noted in step 4.
  7. Install rEFInd (http://www.rodsbooks.com/refind/) from a rEFInd install disk, that you downloaded and burned from there. (I used v0.74). Be sure to install it in the /boot/efi partition (typically /dev/sda2) created earlier. The reason to install rEFInd, is it’s an invaluable tool to use to boot from any EFI-capable location on your computer, and will be used later on.  I put mine in EFI\refind\refind_x64.efi
  8. Be sure to also copy shell64.efi into /boot/efi/EFI/tools/, so rEFInd can find it, and show you the EFI Shell choice & icon.
  9. Boot from rEFInd.
  10. Choose the EFI shell.
  11. Using the bcfg command, (help -v bcfg is your friend!), list the boot choices, and verify that “ubuntu” is there.
  12. Add “mint” as a boot choice, pointing to EFI\linuxmint\grub64.efi – mimic the way the “ubuntu” boot choice is done.
  13. Reboot into the boot menu (hold Esc down during the Asus logo) and verify that “mint” and “rEFInd” are there.
  14. Test them both out – rEFInd should also give other interesting choices you can try out.
  15. You should be able to launch Mint from either the “Mint” choice in the Asus boot (holding Esc), or from the Mint choice in rEFInd.
  16. Optionally, you can add the 2nd SSD (mentioned in step 3) to the main volume using LVM, to use the full 256GB.

That’s it!

Wrap and Beverage

I must say, this is a BEAUTIFUL machine – I want one myself!

Between the FullHD display, and being roughly the same thickness and sizeas the magazines I often carry into any given bar / restaurant here in Los Gatos, this is a joy compared to my regular 1920×1080 Asus laptop..

…And it beats the heck out of a tablet..

…And the battery life seems great, it barely made a dent in the hour or so I spent surfing with it while drinking my beverage of choice at one of the local establishments here.

…And did I mention it’s screaming fast, with the i7 CPU and 10GB RAM?!

Bon Appetit,

j

 

 

October 20th, 2013

Posted In: How-To, Laptop cookbooks, New products, News, Open Source, Products, ubuntu

Tags: , , , , , , , ,

5 Comments

EDIT: Binary modules have now also been provided for 7.4, 8.1 and 8.0.  The instructions below should apply to all three, with the exception that you’ll want to download either mps-bin-7.4.tar.gzmps-bin-8.1.tar.gz or mps-bin-8.0.tar.gz.

Unfortunately, the mps driver, which supports LSI Logic’s 6Gbps series of RAID controllers, didn’t make it into the FreeBSD kernel until after 8.2-RELEASE.  As a result, FreeBSD users who require this driver are forced to either install 8-STABLE — which, despite the name, is a development branch — or pull the driver’s source code from 8-STABLE and build it on FreeBSD 8.2-RELEASE.  Since we recently needed to use the mps driver and had to stick with a production-ready release, we opted for the second option.  Along the way, we decided to bundle up the driver’s source to make the task easier for those who don’t want to install a development branch, and to pre-compile binary modules for those who wish to install 8.2-RELEASE directly to the hardware RAID array.

If you have a separate hard drive for the operating system that’s not on a 6Gbps LSI controller and simply use the hardware RAID for additional storage, you can do a normal install of FreeBSD 8.2-RELEASE to the hard drive, boot into the new system and perform the following steps:

1) Download mps.tar.gz
2) Extract it, cd to the ‘mps’ directory and type make && make install
3) Edit /boot/loader.conf and add the following line at the end: mps_load="YES"
4) Reboot (or type kldload mps.ko without rebooting)

If instead you want to install 8.2-RELEASE directly to an array on your 6Gbps LSI controller, a few extra steps are required.

First, download mps-bin.tar.gz, extract it by typing tar -zvxf mps-bin.tar.gz and place the contents on some form of removable media mountable by FreeBSD.  A USB thumb drive, a floppy disk or a CD will suffice (though, a CD would be an awful waste of space… :))

Second, make sure to download the FreeBSD DVD and not the CD.  We will require the live filesystem that’s contained only on the larger DVD.  Once the installer is running, choose your language as usual, then select “Fixit” instead of the usual installation method.  Choose the CDROM/DVD option.

Figure 1: Select 'Fixit' instead of an installation method

Figure 2: Select 'CDROM/DVD'

Figure 3: The 'Fixit' Prompt

Now, insert your removable media.  For our example, we’ll assume a USB thumb drive with a device node on /dev/da0.

Before continuing, let me first warn you that the ordinary mount command will most likely not work.  Usually, mount will determine the filesystem type and automatically call the appropriate binary.  However, the way the live filesystem is setup, this doesn’t work — or at least, it didn’t work on my machine.  So instead, you’ll want to call the command for your filesystem type directly.  If it’s a CD, that command will be mount_cd9660.  If you’re using a USB thumb drive with a FAT32 filesystem on it (as we will be in our example), the command will be mount_msdosfs.

Assuming our example with the USB thumb drive, you’ll issue the following commands:

#mount_msdosfs /dev/da0 /mnt
#cd /mnt/mps-bin/i386 for 32-bit (or #cd /mnt/mps-bin/amd64 for 64-bit)
#kldload ./mps.ko
#exit

At this point, you’ll be returned to the FreeBSD installer.  Make sure to re-insert the DVD, then continue with the installation as usual.  Once the installation is complete, don’t reboot!  If you do, you won’t be able to start up FreeBSD, as we still have to install our kernel module and tell the boot loader to load it on boot.

So, now that the installation is finished, re-insert the DVD and return to the Fixit prompt.  Once again, choose the ‘CDROM/DVD’ option.  Assuming our USB thumb drive on /dev/da0 from before — the commands you use will differ based on the media you choose — type the following commands:

#mount_msdosfs /dev/da0 /mnt
#cd /mnt/mps-bin/i386 for 32-bit (or #cd /mnt/mps-bin/amd64 for 64-bit)
#./install.sh

If all goes well, the shell script will terminate without any output.  Incidentally, it’s worth mentioning that the newly installed root filesystem is mounted on / when you enter the Fixit environment after installation.  Now that we have the kernel module installed, we just need to tell FreeBSD to load it on boot.  To do so, we just have one last command:

#echo 'mps_load="YES"' >> /boot/loader.conf

That’s it!  Just unmount your media and exit the Fixit prompt.

#umount /mnt
#exit

At this point, you can exit the installer as usual and reboot. Once the system starts, you should find yourself face to face with a shiny new instance of FreeBSD 🙂

August 10th, 2011

Posted In: FreeBSD, How-To, Open Source

Tags: , , , , , , , , , , , , , , , , , , , , ,

7 Comments

If you’re a student like I am, you know how important it is to save money. Some students are too busy with their studies to work at all, and those who can are usually only able to do so part-time. And, like books and tuition, software is a significant source of financial burden to the average student. While it’s true that student licensed versions of software are significantly discounted, popular titles such as Microsoft Office will still cost you somewhere in the ballpark of $130. And of course, that’s only if you don’t intend to use the software for anything other than your academic or personal endeavours. If you utilize the same applications on the job, you’ll find that you’re no longer eligible for student licenses, and suddenly you’ll discover that $130 magically turns into $300.

Fortunately, the current digital climate is rife with free software alternatives, which have the potential to save students (or parents!) hundreds of dollars.

The Operating System

Let’s start with the most fundamental bundle of software, the operating system (hereby abbreviated as OS.) The OS is what sits between the hardware and the user’s applications. Some examples are Microsoft Windows and Mac OS X.

For many students, purchasing an OS will be a non-issue, as most computers come with one pre-installed. For those in this category, most of the software mentioned below will run on both Windows and Mac. That being said, there are also a significant number of people who need to include an OS in their financial plans. Perhaps you purchased your computer used and without software. Or, maybe the OS on your machine is old and needs to be upgraded. You could have even assembled your own computer, as many hobbyists do.

It’s true that students can purchase Microsoft Windows at a discount of 30-60% off, but why would you do that when you can get your OS for free? Over the last few years, a veritable cornicopia of easy-to-use free software-based OSes have emerged, the most popular, and in my opinion, the easiest to install and use, being Ubuntu (http://www.ubuntu.com/). For the more technically inclined and perpetually curious, there are a slew of other Linux distributions, as well as the *BSD family of OSes — FreeBSD (http://www.freebsd.org/), NetBSD (http://www.netbsd.org/), OpenBSD (http://www.openbsd.org), PC BSD (http://www.pcbsd.org/) and Dragonfly BSD (http://www.dragonflybsd.org) — and Sun’s OpenSolaris (http://www.opensolaris.org/).

In reality, we do still live in a Windows world, so you may find yourself in a position where you have to use a program that only runs on Windows. Luckily, there’s a very mature and very complete open source implementation of the Windows API that’s been actively developed since 1993 called WINE (http://www.winehq.org/) You simply install WINE through the point-and-click interface provided by your OS and install your Windows applications on top of it. Many will run out of the box, and others will run with a minimal amount of tweaking.

Office Productivity

As mentioned earlier, a student copy of Microsoft Office will cost roughly $130, and in some cases, students won’t even qualify for the student license, making the product much more expensive. So then, simply by installing a single free software replacement, you’ve literally saved hundreds. There’s a fantastic open source alternative called OpenOffice (http://www.openoffice.org/), a spin-off from Sun Microsystems, Inc. The download is a little large (over 100MB), but the price tag is worth it (it’s free), and OpenOffice really is a solid application capable of doing anything Office can. It includes components that replace Word, Excel, Powerpoint and Access, as well as additional components for drawing and for editing HTML documents.

In addition, you’ll find Scribus (http://www.scribus.net/) for desktop publishing and the creation of professional quality PDFs and Dia (http://live.gnome.org/Dia) for drawing diagrams, roughly like Microsoft Visio.

Multimedia

Of course, no college-ready system is complete without the ability to play movies and music! Fortunately, open source has you covered there as well. With Totem (http://projects.gnome.org/totem/) and Xine (http://www.xine-project.org/), playing your videos on Linux is a snap (Windows and Mac users of course have their own respective built-in players and don’t have to worry about this.) As well, there are applications like Banshee (http://www.banshee-project.org/) that do a great job of managing your music (it also plays videos.)

You’ll also more than likely be managing a great deal of pictures. For editing them, you’ll find the GIMP (http://www.gimp.org/), which is very similiar to Adobe’s Photoshop, and for browsing and managing your pictures there’s F-Spot (http://f-spot.org/).

You’ll only run into a couple of hitches when dealing with multimedia on an open source OS. The first is that you won’t be able to play many Windows Media files. Fortunately, this can remedied by purchasing the Fluendo Windows Media Playback Bundle (http://www.fluendo.com/shop/product/windows-media-playback-bundle/). True, it’s not free, but for $20 it’s a small price to pay compared to all the hundreds of dollars you’ll be saving on everything else, and if you can live without Windows Media, you can save yourself the expense. The second is that technically, according to the controversial Digital Millenium Copyright Act (http://www.copyright.gov/legislation/dmca.pdf), you’re in a legal predicament if you install software to decrypt your DVDs. More than likely nobody’s going to care, and the software to do so is readily available and in common widespread use, but if you choose to play your DVDs on an open source OS you should first take the time to thoroughly understand where you stand from a legal perspective. [Ed. note: there are fully licensed DVD players available for Linux, but even so, legal scholars now feel that this area of the DMCA has not yet been fully tested in court, but recent precendents suggest that if it were, in the end, that Fair Use doctrine would win out in the end over the DMCA – Ed.]

A Plethora of Other Goodies

Depending on your field of study, you’ll find many other professional-quality free and open source applications that are outside the scope of this blog that will save you even more money. Just google around. You’ll find all sorts of amazing applications, all of them free.

Conclusion

Fellow students, let loose the shackles of expensive proprietary software and embrace the freedom of open source. Not only will you save hundreds of dollars, you’ll be drawn into a community of users and developers that are passionate about writing and supporting software. Once you get used to using free software alternatives like these one from https://www.sodapdf.com/pdf-editor/, you’ll wonder how you ever got by without it.

Here at eRacks, we specialize in providing users of all kinds with open source solutions to meet their needs. So contact us today, and ask us how we can help you save money and get even more out of your academic experience!

April 20th, 2009

Posted In: How-To, multimedia, Open Source, Reviews, ubuntu

Tags: , , , ,

Leave a Comment

I will relate a recent battle I had with a laptop that uses the Prism54 wireless chipset and runs Fedora 10. For quite some time, I could not get it to connect to a WPA protected network. With an open network, it would connect just fine. I didn’t bother with WEP. I wanted to find out what was causing it to fail with WPA.

This is an older eRacks CENTRINO laptop (Pentium M 1.6ghz, 1GB RAM and an 80GB hard drive.) This post will also hopefully help anyone else who has a laptop with the Prism54 chipset (mine specifically is a PrismGT mini-pci card.) Note that Prism54 is also available in PCI and USB wireless devices.

At first, I thought it might be a problem with the GNOME NetworkManager.  So, I tried other methods of connecting, such as using the command line (for iwconfig/ifconfig), wicd, Wireless Assistant and WiFi Radar. Some of these seem to work better than others, but again, none would allow me to connect to my WPA protected network at home. Thus, it was time to dig deeper.

After some sifting through forum posts, blogs, and bugzilla, I finally came across something that might help. Apparently, the prism54 drivers have several different modules that are loaded. For some reason, there is a module (prism54), which might be an older version of the complete set, and then there are other separate ones: p54common, p54pci and p54usb. So in my case, it was loading prism54, p54common, and p54pci. According to what I have read, the prism54 module causes conflicts with the newer p54common and p54pci set. The suggestion for now is to add prism54 to the module blacklist, located in /etc/modprobe.d/blacklist. You add the following entry at the bottom:

blacklist prism54

Once I did this and restarted networking, I could connect to my WPA-protected network using the default GNOME NetworkManager. All is well again in WiFi land.

Hopefully, this little jaunt with prism54 will be able to help someone else.

March 13th, 2009

Posted In: How-To, Laptop cookbooks

Tags: , , , , ,

One Comment

This article is geared toward eRacks customers who have a desktop or laptop system, i.e. a personal workstation.  It is not intended to serve as a guide for customers wishing to upgrade a server.

With the above in mind, for those who use Linux on  such a machine, your choice of distributions that cater to this niche is growing nicely.  You have the “Big Boys” such as Ubuntu, Fedora, Mandriva or OpenSUSE, as well as a host of more specialized distributions, the main focus of most being on user friendliness and “up-to-dateness.”  What this usually leads to is a faster upgrade cycle than what you would typically find on a server oriented distro such as Debian (stable), RedHat Enterprise, SuSE Enterprise or CentOS.

I myself have been tracking RedHat (including Fedora) since version 5.0, doing a mix of upgrades and fresh installs.  I have also kept up with Ubuntu since 6.04, and have had similar experiences with it.  I have found that one way of making regular upgrades easier is to keep a separate /home partition.  This way, you have a choice of an upgrade or a fresh install, without losing valuable data.

My experience, and that of many other salty seasoned Linux gurus, is that upgrading from a previous version tends to be a bit messier and usually takes longer to do than a fresh install.  This can be true, especially if you use third party repositories, if you install software not maintained by your distro package manager (DEB or RPM) or if you do a lot of tweaking.  Doing so may leave you looking at a broken system when the upgrade finishes.  For this reason, it is usually more desirable to do a clean installation and install your third party applications afterward.

How then to keep from losing your data?  Many system admins would suggest the multiple partition method, which has been used on servers a lot, yet not so much on the desktop.  The multiple partition method can have advantages and disadvantages, but since hard drives are so big these days, many of the disadvantages are no longer prevalent.

While most modern desktop distros have a default partitioning scheme that gives you just a swap partition (usually about 2x the amount of RAM, or physical memory) and a large root partition for everything else, most server configurations have multiple partitions for directories like /usr or /var, which can have many advantages.  For example: if you wanted to have /usr mounted as read-only to prevent unauthorized system-wide software installs, if you wanted to keep /boot separate for a RAID array or if you wanted to keep /var and /tmp separate to avoid corrupting the core system files; these are all examples of why one might want to make use of multiple partitions.  In this case, however, the partitioning must be very carefully planned according to the intended use of the server, what programs need to be installed, how many users will be logging in, etc.

Luckily, there is a happy medium that works well for desktops, and that is to use a swap partition with 2x the amount of RAM, a root partition for your operating system and a very large /home partition for all your data.  When you do a fresh install, all you have to do is make sure you don’t format /home, and your data will be safe across installations.  If you want to save any system-wide tweaks, you will, of course, also have to backup important configuration files and check them against their replacements, making changes where necessary.

In my case, I have a 120GB hard drive for Linux, which makes use of the following partition scheme:
20GB /
75GB /home
1GB /swap
14GB “other” (at times it has a Gentoo install, other times it has FreeBSD, depends on my mood…)

I have found through experience that this setup works well.

When I do an OS update, such as my recent one to Fedora 9, I usually backup important configuration files to /home, do a fresh install and finally install any third party programs I need.

In the past, when upgrading systems without doing a fresh install, things for me have tended to get rather wonky.  However, I have recently tried upgrading Ubuntu, and I must say that the recently improved Upgrade Manager, a graphical front end to the apt-get dist-upgrade functionality, is a nice touch.  It allows you to upgrade to the next version of Ubuntu, while still allowing you to run your system so you can go about your business as it downloads and installs all the packages.  When it’s done, you simply reboot, and voila, new version!  Upgrades on Fedora, by contrast, are still usually done by the tried and true method of booting the install disk and running the upgrade procedure.  Fedora does have the capability to do upgrades using the yum package manager, but that functionality isn’t as mature as apt-get dist-upgrade, and thus is not for the faint of heart.

So now, what if you have an existing Linux installation utilizing only a single partition and you want to do a fresh install while keeping your data safe?

Of course, you could just back your data up to a large external hard drive, but not everyone has one at their disposal.  In this case, what you could try is resizing your root partition, create a new partition for /home and copy your personal data to it before starting the upgrade.  Then, just run through the installation as usual.  This is, of course, only if you have enough space to resize.  If not, you may still require an external drive, at least temporarily, to copy your data to before starting the installer.

If you want to make use of multiple partitions on a new eRacks system purchase, just ask for it during your order.  This way, your system will be ready when the next OS update rolls around!

Matt

June 27th, 2008

Posted In: How-To, Laptop cookbooks, Upgrades

Tags: , , ,

Leave a Comment