[Last Call] Learn about multicloud storage options and how to improve your company's cloud strategy. Register Now

x

Unix OS

32K

Solutions

18K

Contributors

Unix is a multitasking, multi-user computer operating system originally developed in 1969 at Bell Labs. Today, it is a modern OS with many commercial flavors and licensees, including FreeBSD, Hewlett-Packard’s UX, IBM AIX and Apple Mac OS-X. Apart from its command-line interface, most UNIX variations support the standardized X Window System for GUIs, with the exception of the Mac OS, which uses a proprietary system.

Share tech news, updates, or what's on your mind.

Sign up to Post

Every server (virtual or physical) needs a console: and the console can be provided through hardware directly connected, software for remote connections, local connections, through a KVM, etc.

This document explains the different types of consoles, their advantages and disadvantages.
4
 
LVL 12

Expert Comment

by:DLeaver
Comment Utility
Marked as Good article, nice to have all the vendor information in one place.

I would add that the IBM Flex System Manager (FSM) is now being phased out and being replaced with the Lenovo XClarity virtual appliance.  Any existing FSM customers are entitled to the XClarity upgrade.
0
 
LVL 10

Author Comment

by:Carlos Ijalba
Comment Utility
Thanks DLeaver,

And thank you for the info regarding FSM, it's good to know and a great addition to the article.
0
Industry Leaders: We Want Your Opinion!
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Why Shell Scripting?
Shell scripting is a powerful method of accessing UNIX systems and it is very flexible. Shell scripts are required when we want to execute a sequence of commands in Unix flavored operating systems. “Shell” is the command line interpreter and “Script” refers to combination of sequence of commands in single file to perform desired action just like batch files in DOS. You can initiate the shell script from command line by specifying the name of shell script. This saves lot of time as we can automate the tasks and can take inputs from user and send output on screen or email too.

Getting started with Shell Scripting
Before we move on to actual shell scripting here are things you should know
  1. Using text editors like vi or vim editors
  2. Basic commands
There are different types of shells available like bash, bourne, korn, C shell etc. I am making use of bash shell in my examples.

Permissions Required
Before you begin check that you have execute permissions on file. You can give permissions by using chmod command.

Writing a Shell script
Let us create a basic script to print todays date. Steps are:
  • Open the file to write a script using vi
    vi MyFirstScript.sh
  • Write your code in this file to accomplish some task
  • Save the file
You can execute now with below command
./MyFirstScript.sh

Example:
vi MyFirstScript.sh
#!/bin/bash
echo "This is my Shell Script"
echo "Todays Date is"
date "+%m/%d/%y"

Open in new window

0
 
LVL 18

Expert Comment

by:Simon
Comment Utility
Re "Using text editors like vi or vim editors"
- While these editors have advanced features, they also have a learning curve. For getting started I far prefer nano or pico, which are freely available if not already built-in.

To get to know the commands, refer to the manual pages for each command:
 man [command name]

..or Google them.
0
 
LVL 10

Expert Comment

by:Carlos Ijalba
Comment Utility
@SimonAdept, while using nano or pico maybe easier to learn, that will be all very nice in Linux, however try to use those editors in AIX, Solaris, HP-UX, OpenServer, UnixWare...

vi/vim are king for UNIX multiOS.
0

FreeBSD on EC2


FreeBSD is a robust Unix-like operating system that has been around for many years. FreeBSD is available on Amazon EC2 through Amazon Machine Images (AMIs) provided by FreeBSD developer and security officer Colin Percival. Percival’s list of AMIs for multiple versions of FreeBSD and Amazon regions can be found here. The AMIs come installed with the GENERIC kernel, plus options to enable XEN support (XEN support allows FreeBSD to run on EC2).

However, the GENERIC kernel does not include support for PF (Packet Filter) with Alternative Queuing (ALTQ).  PF is the packet filtering system ported from OpenBSD.  It provides a system for filtering, normalizing, and conditioning TCP/IP traffic.  PF is also capable of doing Network Address Translation (NAT).  It’s an alternative to using IPFW or IPFILTER in FreeBSD.  ALTQ provides Quality of Service (QoS) mechanisms, such as the capability for bandwidth control and packet prioritization.  This article will explain how to configure, build, and install a custom kernel with PF+ALTQ built-in.  

Note that this article focuses on FreeBSD on EC2. While you should be able to follow these steps for other architectures, keep in mind that you may have to tweak a few things. For example, if you see references to ‘amd64’, you may have to alter commands to fit your own architecture. 

Update FreeBSD Source

1
Attention: This article will no longer be maintained. If you have any questions, please feel free to mail me. jgh@FreeBSD.org
Please see http://www.freebsd.org/doc/en_US.ISO8859-1/articles/freebsd-update-server/ for the updated article. It is available in other languages, as well.

Jason Helfman (jgh@FreeBSD.org)

FreeBSD is a registered trademark of the FreeBSD Foundation.

Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this document, and the FreeBSD Project was aware of the trademark claim, the designations have been followed by the “™” or the “®” symbol.

Intel, Celeron, EtherExpress, i386, i486, Itanium, Pentium, and Xeon are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

AMD, Am486, Am5X86, AMD Athlon, AMD Duron, AMD Opteron, AMD-K6, Athlon, Élan, Opteron, and PCnet are trademarks of Advanced Micro Devices, Inc.


This article describes building an internal FreeBSD Update Server. The freebsd-update-server software is written by Colin Percival (cperciva@FreeBSD.org); current Security Officer of FreeBSD. For users that think it is convenient to update their systems against an Official Update Server, building their own FreeBSD Update Server
9
 
LVL 6

Author Comment

by:jghelfman40
Comment Utility
Here is a note about the article from Colin Percival, author of freebsd-update-server software, regarding this article:
http://www.daemonology.net/blog/2011-02-22-freebsd-update-build-howto.html
0
 
LVL 60

Expert Comment

by:Kevin Cross
Comment Utility
Thank you for keeping this content up-to-date and relevant, Jason.  Additionally, congratulations on recognition and repost at freebsd.org.
0
Java performance on Solaris - Managing CPUs

There are various resource controls in operating system which directly/indirectly influence the performance of application. one of the most important resource controls is "CPU".  

In a multithreaded environment where multiple threads are fighting for the CPU cycles, which in turn are the causes for things like switch context, thread migration and thereby causing latency. Assigning critical process or thread within a process to a set of dedicated CPU's improves the performance of the given application. It is because the set of dedicated CPU's is not shared by any other application. I have also observed that not only the process or application but critical thread within the process or application if it is bind to a CPU then that too improves performance.


Background
Post Solaris 10 when a user thread is created, LWP (light weight process) is simultaneously created which maps user thread to kernel thread. Light weight process is a layer between user thread and kernel thread. LWP is present because user thread cannot directly interact with kernel thread. A program will create a set of these processes running on Solaris and in turn consuming (competing for, waiting for) resources.

Performance is potentially a huge issue and beyond the scope of this Article. You can read more about performance via a lot of different sites, and a reasonable place to start is : …
0
Using libpcap/Jpcap to capture and send packets on Solaris version (10/11)

Library used:
1.      Libpcap (http://www.tcpdump.org) Version 1.2
2.      Jpcap(http://netresearch.ics.uci.edu/kfujii/Jpcap/doc/index.html) Version 0.6
Prerequisite:
1.      GCC
2.      Make

Notes:

1. Verify if these software’s are installed by writing #gcc and #make at the command prompt.
2.  See appendix to install these software.
Libpcap (version 1.2)

Installation
Download libpcap-1.2.0.tar.gz from http://www.tcpdump.org/#latest-release 
# gunzip libpcap-1.2.0rc1.tar.gz

Open in new window

# tar xf libpcap-1.2.0rc1.tar

Open in new window

# cd libpcap-1.2.0

Open in new window

Configure it for your OS, few files will be generated
# ./configure  

Open in new window


Specific to Solaris 11 - Start

This section (Marked in italcs) can be skipped if OS is solaris 10.
In case of Solaris 11 the configuration doesn’t work properly so do the following.

1.      config.h
Replace the following line
/* define if you have a cloning BPF device */
#define HAVE_CLONING_BPF 1
With
/* define if you have a cloning BPF device */
/* #undef HAVE_CLONING_BPF */
Replace the following line
/* #undef HAVE_DLPI_PASSIVE */
With
#define HAVE_DLPI_PASSIVE 1

Replace the following line
/* Define to 1 if you have the <netpacket/packet.h> header file. */
#define HAVE_NETPACKET_PACKET_H 1
With
/* Define to 1 if you have the <netpacket/packet.h> header file. */
/* #undef
0
 
LVL 3

Author Comment

by:Santosh Bhushan
Comment Utility
There were lots of questions floating around in various forums revolving around installation of libpcap / jpcap. The software is well documented for OS like Linux and windows, but no documentation for solaris and the Google was not enough so here is my attempt to provide installation guide for both libpcap and jpcap on solaris in particular.

In this article which is Part 1 is an installation guide with few exercise. In Part 2 of this article i will discuss Ethernet frame, packet capture/send over Ethernet with examples

Please feel free to ask any questions based on this article or in general issues regarding libpcap/jpcap. I would also appreciate comments by subject area experts in these software.  
0
I promised to write further about my project, and here I am.  First, I needed to setup the Primary Server.  You can read how in this article: Setup FreeBSD Server with full HDD encryption.  Then I had to insert a second Power source as you can read in the article: Use a Compaq 200 Watt Power Supply (PSU) as a second power source to power 9 hard disks in my system (5x IDE and 4x Sata).

Now I am finally ready to setup my beast!

Note: The following sequence will destroy all your files on your harddisk.  Take extreme care with any =thing that might destroy data.  You have been warned!!

1. Connect all the harddrives and a CD-ROM drive

Connect all the harddrives and a CD-ROM drive to your system, startup the system and boot from the FreeBSD 8.1 DVD.

2. Choose standard

Choose a standard installation, and the choose user from the menu.

3. Configure your Boot Harddisk

Configure your BOOT harddrive, the name is usually: ad0, Make a slice of 12 GB. If your boot harddisk is over 40GB, you can change this value to a higher one, but don't use all the space in one slice.

4. Quit and make the mount points

Choose {Q} uit and choose OK to make the mount points. An example:

ad0s1a - / - 2000MB - UFS2 - Y 
ad0s1b - swap - 1000MB - SWAP -  
ad0s1d - /var - 2000MB - UFS2+S - Y 
ad0s1e - /tmp - 1000MB - UFS2+S -  Y
ad0s1f - /usr - Rest - UFS2+S -  Y

Open in new window

If you have a bigger hdd, use the following:

ad0s1a - / - 5000MB - UFS2 - Y 
ad0s1b - swap - 2000MB - SWAP -  
ad0s1d - /var - 5000MB - UFS2+S - Y 
ad0s1e - /tmp - 1000MB - UFS2+S -  Y
ad0s1f - /usr - Rest - UFS2+S -  Y

Open in new window

5. Choose BootMgr

Choose {Q}uit and choose Boot Manager (Other than this will give me errors)

Choose {OK}

6. Ports Collection

Say yes if FreeBSD asks to install the ports collection, choose to install from CD/DVD (The one you inserted in your cdrom-drive).

A Picture of my Monster:
My Monster of loch ness with 5x IDE and 4x Sata Hdd

7. Sure to write partitions?

0
 
LVL 8

Author Comment

by:dmeeren
Comment Utility
I had several errors:
Mar 12 11:57:21 BSD03 kernel: xl0: transmission error: 90
Mar 12 11:57:21 BSD03 kernel: xl0: tx underrun, increasing tx start threshold to 120 bytes

Open in new window


After that my system rebooted, after fiddling around with drivers, it appeared to be an IRQ problem. I Solved this problem by swapping the VGA card with the NIC card from PCI Slot.
0
Introduction
Regular patching is part of a system administrator's tasks. However, many patches require that the system be in single-user mode before they can be installed. A cluster patch in particular can take quite a while to apply if the machine is slow.
Recently, I used the Live Upgrade tools in the Solaris OS to successfully apply the latest patch cluster to a machine running the Solaris 9 OS, without bringing the machine into single-user mode.


Preparation
Before you can do live patching, you need an extra boot disk. I used an 18 Gbyte disk for this test. Also, the following necessary packages and patch revisions need to be installed on the system:
a) Required packages for the Solaris 9 release:
  SUNWadmap
  SUNWlur
  SUNWluu
b) Patches needed for the Solaris 9 OS of SPARC Platforms.


Procedure
The machine I'm using has a 72 Gbyte internal disk with the Solaris 9 OS installed on it.
The current partition table on the 72 Gbyte disk is:

  Filesystem kbytes used avail capacity Mounted on
   /dev/dsk/c5t0d0s0 6559565 92604 6401366 2% /
   /dev/dsk/c5t0d0s1 1988887 799593 1129628 42% /usr
   /proc 0 0 0 0% /proc
   fd 0 0 0 0% /dev/fd
   mnttab 0 0 0 0% /etc/mnttab
   /dev/dsk/c5t0d0s4 10086988 846725 9139394 9% /var
   swap 7081544 32 7081512 1% /var/run
   /dev/dsk/c5t0d0s5 20174761 5315024 14657990 27% /opt


I'm using another 18 Gbyte disk for installing the new boot environment and patching.
The new partition table on the 18 …
2
I have been running these systems for a few years now and I am just very happy with them.   I just wanted to share the manual that I have created for upgrades and other things.  Oooh yes! FreeBSD makes me happy (as a server), no maintenance and I always use the hardware I do not need anymore.

Important:
I want to point out that al actions below will destroy all your data on your hard drive, you have been warned!
I have used this manual on FreeBSD 6.2 and now I am rewriting it for FreeBSD 8.1 -- there are some slight changes.   The original of this article is in Dutch, so please forgive me for translation problems.  Okay! Enough mumbo-Jumbo!  Let's start this 100+ steps manual.

A word from the FreeBSD hood
My BSD02 Server is a big tower from 1995 (modified, of course) with a motherboard: Compaq: Compaq Deskpro EN (933 Mhz). My dad taught me to use the saw on metal, and the power drill.

The first time I encountered to following error:
Fatal trap 12: page fault while in kernel mode
fault virtual adress      = 0x1
fault code                = supervisor read, page not present
instruction pointer       = 0x20:0xc06a6b14
stack pointer             = 0x28:0xcbf3b670
frame pointer             = 0x28:0xcbf3b670
code segment              = base 0x0, limit 0xfffff, type 0x1b
                          = DPL 0, pres 1, def32 1, gran 1
processor eflags          = interrupt enabled, resume, IOPL = 0
current process           = 2 (g_event)

Open in new window

1
 
LVL 62

Expert Comment

by:gheist
Comment Utility
10+
Other bootloaders want you to set up active partition in fdisk.


*
v9 would prefer GPT
0
Installing FreeBSD…

FreeBSD is a darling of an operating system. The stability and usability make it a clear choice for servers and desktops (for the cunning). Savvy?  The Ports collection makes available every popular FOSS application and package. Solid security and stable development keep the bad guys and gals out. There is something to be said for security through obscurity. If FreeBSD is not secure enough, there is OpenBSD, Unix for the practically paranoid.

I will detail how to install a base server, using FreeBSD. Like it's name implies, FreeBSD doesn't cost a penny -- just download disc 1, or the DVD and burn it to optical media if you choose. Also boxed sets along with books are available from the FreeBSD Mall. I already have my set…

The minimum requirements for FreeBSD are spartan. One would be hard-pressed to find a machine FreeBSD didn't run on, successfully. My minimums for a base server for workgroup or small LAN.

RAM = 512MB (The more, the merrier)
CPU = Pentium 4 or better
HDD = 80GB (Depending on use)
CD/DVD drive, NIC, keyboard (mouse is optional…)

Boot your computer from the optical drive, with FreeBSD Disc 1 inserted. A FreeBSD splash screen will appear:
Fig1-1Select the region of the world you or the computer are located.
Fig1-2
Sysinstall, the FreeBSD install/configure program, will prompt, asking which type of install is going…
1
What does it mean to be "Always On"?
LVL 4
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

My previous tech tip, Installing the Solaris OS From the Flash Archive On a Tape, discussed installing the Solaris Operating System from a tape archive.  In that case, the server has to be booted from a installation CD or DVD and the server is not available for use during the installation.

In this tech tip, I'd like to show how to install a Solaris flash archive onto a server dynamically. Using this method, the server is available all the time during the installation.

Note: This tech tip shows an example of upgrading from the Solaris 8 release to the Solaris 9 9/04 OS.  It is possible that a similar procedure would work for other versions of the Solaris OS.
In the following example, I used the Solaris Live Upgrade command line.

The server was running the Solaris 8 OS, and I wanted to use Solaris Live Upgrade software to install the Solaris 9 OS onto a spare disk.  Instead of cloning the Solaris 8 OS onto a spare disk and using Solaris Live Upgrade software to upgrade to the Solaris 9 OS, I used a Solaris 9 flash archive on the local disk. The archive includes other third-party software and configurations.

The server I used in this example was a Sun Fire V440 Server with four 72-Gbyte internal disks. The Solaris 8 OS was installed on the first disk, with the following layout:

# df -k
Filesystem          

Open in new window

1
This tech tip describes how to install the Solaris Operating System from a tape backup that was created using the Solaris flash archive utility. I have used this procedure on the Solaris 8 and 9 OS, and it shoudl also work well on the Solaris 10 release.  

[step=""]Ed Note: This is for Solaris (Sparc platform), since the Solaris x86 has different behaviour.
[/step]In the following example, I installed the Solaris OS from a previous backup on a tape, which was created using the Solaris flash archive utility. I booted a Sun Fire V440 server from the Solaris DVD. After the system went through the normal steps, I selected DEC VT100 as my terminal for command-line installation, as shown below.

Note: The Solaris installation program is divided into a series of short sections that prompt you to provide information for the installation. At the end of each section, you can review and change your selections before continuing. While navigating the menus, the mouse cannot be used. If your keyboard does not have function keys, or if your function keys do not respond, press ESC. The legend at the bottom of the screen will change to show the keys to use for navigation.
What type of terminal are you using?
 1) ANSI Standard CRT
 2) DEC VT52
 3) DEC VT100
 4) Heathkit 19
 5) Lear Siegler ADM31
 6) PC Console
 7) Sun Command Tool
 8) Sun Workstation
 9) Televideo 910
 10) Televideo 925
 11) Wyse Model 50
 12) X Terminal Emulator (xterms)
 13) Other
Type the number of your 

Open in new window

0
When you do backups in the Solaris Operating System, the file system must be inactive. Otherwise, the output may be inconsistent. A file system is inactive when it's unmounted or it's write-locked by the operating system. Although the fssnap utility in the Solaris OS can do an online backup, it will fail if the file system can't be write-locked.
Solaris Volume Manager software, on the other hand, can be used as a "bridge" to transfer the data of a file system across to another partition on the fly. Then, the data can be backed up at any time.
Here's an example using the file system /test:
# df -k /test
Filesystem                  kbytes    used   avail capacity  Mounted on
/dev/dsk/c0t2d1s3    50700783 39746386 10530839    80%    /test

Open in new window

First, you'll create a metadevice named d101 on the /test file system when it's mounted.
# metainit -f d101 1 1 c0t2d1s3

Open in new window

Now it's time to initialize a one-way mirror metadevice named, for example, d100, with the submirror d101 that you've already created:
# metainit d100 -m d101
# metastat d100
d100: Mirror
    Submirror 0: d101
      State: Okay
    Pass: 1
    Read option: roundrobin (default)
    Write option: parallel (default)
    Size: 102961152 blocks

d101: Submirror of d100
    State: Okay
    Size: 102961152 blocks
    Stripe 0:
        Device              Start Block  Dbase State        Hot Spare
        c0t2d1s3                   0     No    Okay

Open in new window

And you'll create another metadevice d102 on the new location c0t2d1s7. The size of the new partition should be the same as d101:
 
# metainit d102 1 1 c0t2d1s7
d102: Concat/Stripe is setup

# metastat d102
d102: Concat/Stripe
    Size: 102975488 blocks
    Stripe 0:
        Device              Start Block  Dbase
        c0t2d1s7                   0     No

Open in new window

When you add the metadevice d102 as the second submirror to d100, resynchronization will automatically take place:
# metattach d100 d102

Open in new window

After the resynchronization has completed successfully, you should get the following two-way mirrors that indicate that the file system is ready to be backed up:

Open in new window

0
Let's say you need to move the data of a file system from one partition to another. This generally involves dismounting the file system, backing it up to tapes, and restoring it to a new partition. You may also copy the file system from one place to another while it is unmounted. This process could take a significant amount of time for a large file system, and it will impact the use of the system.
To move a file system to a different partition on the fly, you can use Solaris Volume Manager software. If you don't need to expand the file system, you don't even have to mount it as a metadevice. In the end, you only need to dismount the file system, and mount it onto the new partition. All the processes can be executed in the background while the file system is still in use.
You can swap to the new partition at any time. This can reduce system downtime in many cases. Let's use the /home file system as an example:
# df -k /home

/dev/dsk/c0t2d1s3 50700783 39746386 10530839 80% /home

Open in new window

First, on top of this physical mount point of the /home file system, create a metadevice named d101. Remember, the /home file system is still mounted.
# metainit -f d101 1 1 c0t2d1s3

Open in new window

Next, you need to initialize a one-way mirror metadevice, d100, with the submirror d101 you have created.
# metainit d100 -m d101
# metastat d100

d100: Mirror
    Submirror 0: d101
      State: Okay
    Pass: 1
    Read option: roundrobin (default)
    Write option: parallel 

Open in new window

2
In tuning file systems on the Solaris Operating System, changing some parameters of a file system usually destroys the data on it.
For instance, changing the cache segment block size in the volume of a T3 requires that you delete the existing volume, which destroys the data on it. After that it could take a significant amount of time for the volume to be reinitialized if you've got a large amount of disk space. In addition, you may need to change the segment size of a logical unit number (LUN) in a Redundant Array of Inexpensive Disks (RAID) box, which requires deleting the existing LUN, and so on. Even if you're changing the parameter of a metadevice, or renaming the metadevice, you'll need to unmount the file system.
How do I dynamically change the parameters of a file system without destroying the data on it?
You can do this with Solaris Volume Manager software, which is delivered as an integral part of the Solaris 9 OS. In earlier versions of the Solaris OS, it was called Solstice DiskSuite software or Online: DiskSuite software.
First, the file system has to be created and mounted as a one-way mirror metadevice such as d100, which contends with d101 as its submirror in this example:
   # metastat d100
   d100: Mirror
       Submirror 0: d101
         State: Okay
       Pass: 1
       Read option: roundrobin (default)
       Write option: parallel (default)
       Size: 10261520 blocks

   d101: Submirror of d100
       State: Okay
       Size: 10261520 

Open in new window

0
A metadevice consists of one or more devices (slices). It can be expanded by adding slices. Then, it can be grown to fill a larger space while the file system is in use.

However, not all UNIX file systems (UFS) can be expanded this way. The concatenation is good only for small random I/O and for even I/O distribution. On the other hand, striping is advantageous for large sequential I/O and for uneven I/O distribution, because striping will increase performance by accessing data in parallel.
Note: If you wish to expand a file system to be a single striped metadevice, you can't do it on the fly. You have to dismount the file system, then copy or "move" over to a new partition.

How to Expand a File System With a Single Stripe, On the Fly

First, the file system has to be created and mounted as a one-way mirror metadevice; as in this example, with d80 mounted by /opt:
   # metastat d80
   d80: Mirror
       Submirror 0: d81
         State: Okay
       Pass: 1
       Read option: roundrobin (default)
       Write option: parallel (default)
       Size: 10261520 blocks

   d81: Submirror of d80
       State: Okay
       Size: 10261520 blocks
       Stripe 0: (interlace: 32 blocks)
           Device              Start Block  Dbase State        Hot Spare
           c1t12d0s0                  0     No    Okay
           c1t13d0s0               1520     No    Okay
           c1t14d0s0               1520     No    Okay
           c1t15d0s0               1520     No    Okay

Open in new window

Next, use the metattach command to dynamically concatenate a new slice, /dev/dsk/c0t1d0s1, to the end of the existing submirror of d80, d81:

Open in new window

1
Hello fellow BSD lovers,
I've created a patch process for patching openjdk6 for BSD (FreeBSD specifically), although I tried to keep all BSD versions in mind when creating my patch.

Welcome to OpenJDK6 on BSD

First let me start with a little background on why I choose to port openjdk6, and then I'll discuss the process I took to do it.  I work for Experts Exchange recently we decided to move from Linux to FreeBSD.  This decision came after a comprehensive test involving Linux, FreeBSD, and Solaris 10.  FreeBSD blew the others away doubling the performance of Linux and outperforming Solaris 10 by a significant margin as well.  We have come across several issues with the port java/jdk16, including lack of jmap functionality to track down memory errors and instability running the CMS garbage collector with a heap over 2G.  I created the a patch to bring jmap functionality to java/jdk16.  My next task was to begin hardening the VM, however it hardly makes sense to work on java/jdk16, because it's missing lots of bugs fixes from sun.  openjdk7 looked like the next choice to try and I compiled it up and gave it a try, however a third party library/software I was using didn't work and upon talking with terracotta developers they had no plans to support openjdk7 in the future.  I researched what exactly openjdk6 was and decided to give it a try.


How did I perform the Port

I started by duplicating jdk6 to bsd-port6.  Then I take the difference between jdk7 and bsd-port …
1

Unix OS

32K

Solutions

18K

Contributors

Unix is a multitasking, multi-user computer operating system originally developed in 1969 at Bell Labs. Today, it is a modern OS with many commercial flavors and licensees, including FreeBSD, Hewlett-Packard’s UX, IBM AIX and Apple Mac OS-X. Apart from its command-line interface, most UNIX variations support the standardized X Window System for GUIs, with the exception of the Mac OS, which uses a proprietary system.