Saturday Jun 17, 2006

My Ubuntu install notes

update: 2006-06-17

I've been telling people how much better Ubuntu is compared to Fedora Core, I've been asked to share my notes with them. I decided the best way to do that was make a blog entry. Here are my notes (experiences) related to installing Ubuntu 5.10 on my Acer Ferrari 3400 laptop. I'll try to keep it updated as I update my system.

  • Basic Installation:

    • download cdrom image:

      Downloaded the install CDROM image from the ubuntu download page. I burnt the ISO image using my iMac.

    • boot from cdrom:

      I inserted the CDROM and started the install process, accepting all the defaults. The screen went blank while it tried to start the GUI. I re-started the install manually, setting the boot process with the option to disable the GUI:

      boot: linux debian-installer/framebuffer=false
    • perform the install:

      I did a normal install. I was VERY (compared to my other Linux distro install experiences) impressed by the default simplistic install. Once the install started, it only asked me a few questions. Basically it wanted to know my Fullname, login, password. After that it quitely ran the install. Ejected the CDROM, rebooted and continued the install via the Internet ... The Network is the Computer.

      This install experience came close to my "out of the box" experience with my new iMac ... take it out of the box, plug it in, give it your name and it's done. Have you seen the latest Apple Mac commercials, there's a great one about "out of the box".

      For good or bad ... the install Ubbuntu gave me was a little lean. It's like a Solaris "End-User" load. If all you want is a Web Browser (FireFox), Email (Evolution) and office productivity tools (OpenOffice 2.x) then you're done. Since I do a little more with my system, I had to do a little post-install work.

    • post-install:

      Ubuntu has another interesting feature built-in that makes it act like a Mac OS X system ... use of sudo. The default user that was created during install has sudo rights to run "root" commands. This is fine, but there are times when I want to run as root. I issued this command to reset roots password:

            $ sudo passwd root
            Password: (enter your non-root user password)
            Enter new UNIX password:    (enter new password for root)
            Retype new UNIX password:   (re-enter new password for root)
            passwd: password updated successfully
            $ su - root
            Password: (enter root password)

      By default, GDM does not allow "root" to login. If you want to allow root, follow these steps. From the Main Menu -> System -> Administration launch the Login Screen Setup utility. Or, from the command line enter:

            $ sudo gdmsetup
            # gdmsetup

      Go to the Security Tab and Check the boxes:

            Allow root to login with GDM
            Allow root to login remotely with GDM
  • Extra Packages:

    • Some Assembly Required:

      Linux doesn't have a 100% dynamic kernel (like Solaris does), so if you want to use certain applications like VMware Workstation and the Cisco VPN client, there's some assembly required You'll need to add these packages:

            # apt-get install build-essential
            # apt-get install linux-headers-386
    • Software Development:

      I need to support my open source project Print Directory so I need a few more packages:

            # apt-get install autoconf
            (autoconf also gets m4)
            # apt-get install ncurses-developer

      I also download other open source projects that will need the autoconf, m4 utilities.

    • NFS:

      I like to use NFS. I have a file server at home (Solaris 10) where I store lots of stuff. I also do daily rsync's to it for backups. You'll need these packages to access an NFS server. I also wanted the automounter. Optional: I added the NFS server capabilities, just in case.

            # apt-get install nfs-client   
            # apt-get install autofs
            --- optional: if you want to be an NFS server ---
            # apt-get install nfs-kernel-server

      You'll need to setup your automount maps. For /etc/auto.master uncomment/add:

            /net /etc/
    • SSH:

      I can't remember, but my notes show that I added ssh. I would have thought/hoped that this would have been part of the base install. You can check to see if the package is there:

            # apt-cache showpkg ssh

      If it's not installed, I highly suggest that you add it:

            # apt-get install ssh
    • MySQL:

      I use MySQL as the Repository for the Sun Java System Identity Manager. I added the MySQL 4.1 package:

            # apt-get install mysql-server-4.1

      After installing the package I had to make sure MySQL was running and set the "root" password for MySQL.

            # /etc/init.d/mysql [start|stop|restart|reload|force-reload]
            # mysqladmin -u root password password

      The Sun Java System Identity Manager also needs the MySQL JDBC driver. I downloaded it saved it for later use.

    • Misc:

      Every list of Things has to have a "misc" category. Here are few packages that I added for various reasons. Some I needed, others I plan on working with when I get more time:

            --- CVS ---
            # apt-get install cvs
            --- ndis to get my wireless card working ---
            # apt-get install ndiswrapper-source
            # apt-get install ndiswrapper-utils
            # apt-get install ndisgtk
            --- user-mode (non-kernel) VPN Client ---
            # apt-get install vpnc
            --- telnet daemon, yes ... i know ssh is better ---
            # apt-get install telnetd
            --- remotely access ubuntu with GUI ---
            # apt-get install vncserver
            # apt-get install twm
            --- need to install RedHat packages (rpm) ---
            # apt-get install rpm
            --- I like the gkrellm monitoring tool ---
            # apt-get install gkrellm
            # apt-get install gkrellm-common
            --- ant ---
            # apt-get install ant
  • Third Party Applications:

    • Java:

      I do a lot of Java work. The install comes with a Java distro:

             /usr/bin/java -version
             java version "1.4.2"
             gij (GNU libgcj) version 4.0.2 20050808 (prerelease) (Ubuntu 4.0.1-4ubuntu9)

      I had some issues with this so I downloaded and installed the Sun Java SDKs (version 1.4.2 and 1.5). I installed them in /usr as:


      I created a symbolic link called /usr/java and had it reference one of these two Java SDKs.

            # ln -s /usr/jdk1.5.0_07 /usr/java

      Setup the symblic link for the Java plugin that FireFox needs:

            # cd /usr/lib/mozilla-firefox/plugins
            # ln -s /usr/java/jre/plugin/i386/ns7/ .
    • NetBeans:

      I use the NetBeans IDE (version 5.0 and 5.5Beta). Note: Before you try to install these, add the following package:

            # apt-get install libstdc++2.10-glibc2.2
    • Realplayer

      Get the Realplayer for Linux. Save the install binary RealPlayer10GOLD.bin to a temporary location. Open a terminal and change to the directory. Run the install file.

    • Apache Tomcat:

      I downloaded and installed two different versions of Tomcat version 5.0.x and 5.5.x. I run the 5.0.x release with the Java 1.4.2 VM and the 5.5.x release with the Java 5.0 VM. I add this line to my file:

               JAVA_OPTS="-server -Xms128M -Xmx128M -Xmn50m -XX:PermSize=64m -XX:MaxPermSize=64m " 

    • Cisco VPN Client:

      I use this VPN to remotely connect to Sun. I installed the vpnclient-linux- package:

            unpack vpnclient-linux-
            run vpn_install
            manually start  /etc/init.d/vpnclient_init start -or- reboot
            setup Profiles in /etc/CiscoSystemsVPNClient/Profiles/
    • Skype:

      The Skype website said to add this (below) line to /etc/apt/sources.list

         deb stable non-free

      Then run these commands:

         # apt-get update 
         # apt-get install skype 
    • StarOffice 8:

      Yes, I know, Ubuntu comes with OpenOffice 2.x (which work fine). I wanted to also have StarOffice 8. The installer uses RPM's. If you have not added the RPM package to Ubuntu, see above. Also, if you've not added any RPM's before these, you might need to issue these commands:

         # mkdir /var/lib/rpm
         # rpm --initdb

      Run the normal StarOffice installer. Note: I had to make sure that the installer used one of the Java VM's that I installed, not the GNU VM that Ubuntu installed.

    • Fonts:

      I needed some TrueType fonts (Arial, etc) to support some documents. I have a collection of TrueType font files. Create a directory to hold the fonts:

         # mkdir /usr/share/fonts/truetype/my-fonts

      Copy the fonts ino this directory. Then set the permissions. Run the mkfontdir command.

         # cd /usr/share/fonts/truetype/my-fonts
         # chown root.root \*.ttf
         # chmod 644 \*.ttf
         # mkfontdir

      You need to edit the fonts.cache-1 file that's above the directory you put the fonts in. Add this line to the end. Then run the fc-cache command.

         # vi /usr/share/fonts/truetype/fonts.cache-1
         (append: "sun-serif-fonts" 0 ".dir")
         # fc-cache
  • Configuring Display: (external video output)

    NOTE: This is probably specific to my system, settings these values on other systems may effect your display(s). The default installation configured my system to support more resolution options that what I wanted. You can re-configure the package to change the supported resolutions:

       # pkg-reconfigure -phigh xserver-xorg

    I added support for these resolutions: 1400x1050, 1280x1024, 1024x768, 800x600, 640x480

    To make my system dual-display on the laptop and out the video port, for giving presentations, I had to make the following edits to /etc/X11/xorg.conf. I had to add these lines ...

       Option     "MonitorLayout" "LVDS,CRT"
       Option     "MergedFB"     "true"        # [<bool>]
       Option     "CRT2Position" "Clone"       # [<str>]
       Option     "CRT2HSync" "60-60"          # [<str>]
       Option     "CRT2VRefresh" "60-75"       # [<str>]
       Option     "MetaModes" "1400x1050-1400x1050 1280x1024-1280x1024 1024x768-1024x768"
       Option     "AccelMethod" "exa"
       VendorName  "ATI Technologies Inc"
       BoardName   "RV350 [Mobility Radeon 9600 M10]"   

    to this Section:

       Section "Device"
            Identifier      "ATI Technologies, Inc. Radeon Mobility 9600/9700 M10/M11 (RV350 NP)"
            Driver          "ati"
            BusID           "PCI:1:0:0"
  • User Interface:

    • Remote X displaying:

      By default, the installation does not allow remote X applications to be displayed on the desktop. This feature can be disabled by editing /etc/X11/gdm/gdm.conf. Search for the setting called DisallowTCP. It may be commented out. Uncomment it and change the value from:



    • Themes:

      I try to make my Linux system look as much lke Mac OS X as possible. I downloaded and installed themes from's Metacity Themes page. I installed these themes:

    • GConf editor:

      Being a Mac OS X fan, I like my Window buttons to "look like" the Mac OS config. This is an easy change with Metacity. Start the Configuration Editor from the System Tools Menu, from the command-line run gconf-editor. Locate the following setting in the navigation tree:

            apps -> metacity -> general -> window button order

      To make Metacity place the window buttons in the same location as on MacOS set the value to:

    • gDesklets:

      I wanted to try the desklets stuff but the default install only added the gdesklets package. I had to add the following package to get the actual desklets:

         # apt-get install gdesklets-data

      I tried configuring some gdesklets. I want the icon/toolbar across the bottom of my screen like my Mac has. After setting it up, I get a grey background. I tried setting the transparancy values but still no luck. I turned them off for now. Maybe someone else has figured out this transparancy issue.

  • Useful Commands:

    • Package Management:

      There are a few useful commands that might make your life easier when dealing with Ubuntu/Debian packages:

            apt-get install
            apt-get check
            apt-cache pkgnames
            apt-cache show (pkgname)
            apt-cache showpkg (pkgname)
            apt-cache search (regex)
            apt-cache dump

Friday May 20, 2005

Updating my Open Source project

I updated my Print Directory (pd) project page today.  I added a contribution section to the webpage which includes value-added utilities, updates, and pre-packaged distributions.   If you have a chance, take a look at my open source project, I'd like to know what you think.  There are links to Print Directory under the "Project" section of the "Links" on my (this) blog page.

Creating this project under has been a great experience.  I started writing the "pd" utility before I came to Sun, Jan 1991.   I started writing it while I was working for Prime Computer (Computervision).  The Prime system's used an operation system called PRIMOS, it had a directory listing utility called LD.  My first exposure to UNIX was with SunOS 3.x on systems manufactured by Computervision (they had an OEM license to make Sun systems, I think the only one).  Using any new OS is challenging, you might know what you want to do but you don't know how to get there.  One big thing that frustrated me was UNIX's ls command.  I was use to PRIMOS's LD command.  It would (by default) display the full pathname of the directory being listed, tell you the number of FILES, show the FILES, tell you the number of SUB-DIRECTORIES and then show the SUB-DIRECTORIES.  It was visually very easy to tell which entries, in the current directory, where files (you could edit, view or execute) versus the sub-directories (which you could list).  I can't begin to tell you how many times I tried to "more" or "cat" a sub-directory or tried to "cd" to a regular file.  I suffered with this problem for a little while until I got use to adding the various options to "ls", which would somehow flag the non-regular files, making it easier (just a little) to "pick-out" the sub-directories.  This helped but I still wasn't happy ... I missed PRIMOS's LD command.

I decided to solve this problem myself with the help of a compiler.  After figuring out which system calls and library functions gave me what  I needed, I had my PRIMOS LD for UNIX.  One problem ... I couldn't use "ld", UNIX already had that two-letter command taken.  Some other trivial utility called the link-editor was named "ld".  The PRIMOS "LD" command became the UNIX "pd" command:

# pd

/   54 Entries.

13 Files.

.ICEauthority       .TTauthority        .Xauthority         .bash_history
.bashrc             .dtprofile          .esd_auth           .fonts.cache-1
.gtkrc-1.2-gnome2   .mysql_history      .profile            .recently-used

41 Directories.

.Trash              .dt                 .gconf              .gconfd
.gnome              .gnome2             .gnome2_private     .gstreamer-0.8
.idmgr              .java               .mcc                .metacity
.mozilla            .nautilus           .sunw               .vnc
Desktop             Documents           TT_DB               bin
boot                cdrom               dev                 devices
etc                 export              home                kernel
lib                 lost+found          mnt                 net
opt                 platform            proc                sbin
system              tmp                 usr                 var

There's a lot more options and features in "pd", please download the package or look at the manpage which has more output examples.

I wish I had contributed this utility to the community a long time ago.  The feedback has been great.  I got input from co-workers on how to improve the build / distribution process (I had to learn more about autoconf and automake).  The community keeps me updated on which platforms they're running the utility on.  I recently got contributions and references from people that are posting pre-compiled distributions.

I encourage everyone to consider either starting a open source project or at least contributing to one.  You'll get a good felling when you contribute and it's always a great learning experience.

Scott Fehrman


« July 2016

No bookmarks in folder


No bookmarks in folder

Ref. Material

No bookmarks in folder