Ubuntu installation
Ubuntu
Ubuntu is a popular Linux distribution, best suited for desktop computers. It is based on Debian, therefore the packaging (*.deb) works rather well.
This page so far is by no means a configuration and installation guide, but it contains some extra information. Daniel K. Schneider decided to put some of his installation notes in this wiki, so he won't loose them. Feel encouraged to add stuff :)
Installation documentation
The best short guide I found (including Nvidia):
If you are looking for an other practical, short and excellent installation guide (and that includes how to add non-free software):
The Ubuntu site also has a lot of useful information (though sometimes a bit lengthy):
This wiki also has some interesting information
Ubuntu 10 8.04 LTS installation start in a nutshell
Step 1: get it
Download site
Decide what version you want. Basically there are 4 options for a desktop machine: 32 vs. 64 bit machines and normal vs. alternative distribution.
- 32 bit (most machines, also some third-party software may only run 32bits). Two subchoices:
- ubuntu-8.04.1-desktop-i386.iso (this is your "normal" choice)
- ubuntu-8.04.1-alternate-i386.iso
- 64 bit (more expensive desktop machines)
- ubuntu-8.04.1-desktop-amd64.iso (also includes Xeon etc. processors)
- ubuntu-8.04.1-alternate-amd64.iso
Finally, there exist also vendor-packaged images that include additional goodies, e.g. graphics card drivers. E.g.
- DELL: ubuntu-8.04.1-dell-reinstall.iso
- Edubuntu: Download Edubuntu
The image you will download is an ISO ready to burn CD image (so you need a program to do this). Read burn the image.
- Memory errors and stupideness
I spent about a weekend burning various CD's (32bit normal, alternate, 64bit) because I thought first that downloaded ISO images were damaged during burning and then that my hardware couldn't handle it. Got SQUASHFS and other decompression errors.
That was a weekend lost. I simply had to replace the RAM. It was slightly defective (after all, the days before I did use my system, though I had some Firefox and Thunderbird crashes. Never occured to me to test the RAM. Bad RAM if intensively used such as in the install process will make it fail. PERIOD.
So if you insert a CD for testing and returns errors, do it again. If the file is not the same, then blame your RAM. Basically you can ignore the "burning horrors" below, unless you really have problem with downloading or burning. Just make sure to burn at relatively low speed....
- Burning horrors
It is likely that you might download a bad image (see step 3). Make sure that your image is correct with How to MD5SUM. E.g. if you download to a Unix machine, type something like:
md5sum ubuntu-8.04.1-desktop-i386.iso
This file name may change of course. The output should be a single line which you can match again the magic number, e.g.
c69e34e92d5402d1b87e6babc739f774
for the ubuntu-8.04.1-desktop-i386.iso image. These is an official list (if you don't trust your mirror).
Anyhow, if Ubuntu is happy (see also step 3) you don't need to worry about this.
Also to download, you may avoid using a browser, there exist FTP mirrors. Alternatively you can use a program like wget if you do this from a unix machine. Copy the download link from the appropriate mirror and type e.g.
wget --no-cache http://releases.ubuntu.com/hardy/ubuntu-8.04.1-desktop-i386.iso
or (better) from a trusted mirror:
wget --no-cache http://mirror.switch.ch/ftp/mirror/ubuntu-cdimage/hardy/ubuntu-8.04.1-desktop-i386.iso
Now burning is another painful issue (see step three). I took the simple default CD version from some ubuntu mirror and first used infra recorder on a Windows machine to burn the image (Menu Actions -> Burn Image..). Despite setting it to low burn speed it didn't work (i.e. failed the test in the Ubuntu installation). So I took another laptop and burned with Roxio. After 3 attempts (enabling all options like checking, very long file names, etc. it did seem to work at first (test passed). But during the install (some SQUASHFS error) and with a second test it failed again. So you actually may have two problems: CD is bad or the installation program (i.e. the SQUASHFS program) has a problem
Frustrating as experience. In any case set burning speed to something that is really low" (like 4 or 8), but never maxium !
If your CD seems to be ok and installation fails you first should check your RAM. Only then go for another install (e.g. download the fat DVD total ubuntu-only reinstall DVD ISO from DELL or the alternative CD from Ubuntu.
- Finally, make sure to have an Internet number ready if you use your machine at work.
Step 2: save some stuff in your old ubuntu install
(if you have one, else skip).
If you mount foreign file systems
- /etc/fstab
If you have a special video setup
- /etc/X11/xorg.conf
....
If you don't have your home on a different partition make a gtar archive tar zcf archiveXX.tgs directory
- save all homes (I don't keep any real data on my personal machine, but you may later retrieve some config files or navigator bookmarks.)
- You also may save /usr/local (but it's better to reinstall !)
Step 3: Format or repartition if you plan to continue using windows
- I don't want windows on this machine (erased it sometimes)
- You also may consider reformatting the hard disk (you can do this during the install process)
- If do want Windows, you may consider sharing a partition and this is a bit tricky (see docs elsewhere).
Step 4: Boot the PC with the CD and enter installation
- You may have to hit F12 or F2 (watch!) when the machine wakes up, select the CD-Rom Drive
- You then must select a language (English for example)
- You also should define your location and keyboard. Hit the F2 and F3 buttons at the bottom of the screen.
- You also should check the integrity of the CD. Bad files can be a total showstopper ! I suspect that errors can have two reasons: A bad CD (sometimes), damaged RAM, or some hardware incompatibility (bad trouble for you).
- Do not "try" Ubuntu without change unless you are afraid that Ubuntu is not compatible with your hardware. If your decision is made click on "Install Ubuntu"
... then wait a bit ... if nothing happens, it can mean that your RAM is damaged, your CD is bad or that your PC can not handle it.
Step 5: Try other versions if needed
Give up on the desktop version, if the installation fails after 2 half days or so. Take the alternative version. The interface is uglier, has less functionality, but it let's you repartition and format at early stage and make some more technical choices.
The problem is that you then have to install things more manually which is not really difficult but requires some reading...
Step 6: Make life a bit easier
In Ubuntu a desktop user can't seem to log in as root. It never asked me for a password during install. I must be root, since entering "sudo" plus a password for every command drives me crazy. The trick is simple:
sudo su
Then type:
passwd ... now you have root password :)
Installing a desktop from the alternate no-desktop distribution
So I finally got ubuntu-8.04.1-alternate-amd64.iso and wind up in a root terminal after boot.
Some stuff is alread on the CD. First thing you want is the X11 system and a desktop. Reinsert the same CD and type the following. However I suggest taking this rather from an Ubuntu mirror (see packages)
apt-get install ubuntu-desktop /etc/init.d/gdm start
Then
startx
Then you can use the GUI to define you as user and configure the network.
Next thing is to select repositories. The easiest way is to use the "synaptic package manager" that can be found in the System->Administration menu. The click on "Settings->Repositories" and select either the fastest or one you trust. In the same software sources panel, you also may tick most checkboxes. Alternatively, edit the configuration file in /etc/apt.
Then you have to upgrade. That also was quite a nightmare, since apparently my (now that new) hardware was not fully compatible....
One thing that seems to be needed if you have the server version is:
apt-get install linux-restricted-modules-server
NFS
It's a bad idea to keep your files on your personal PC. Since we have sun servers with daily backup I just mount partitions via NFS. This may not be included.
apt-get install nfs-common
mkdir /mnt/YYY
then edit /etc/fstab and enter line(s) like this
XXX.unige.ch:/export/home /mnt/YYY nfs defaults 0 0
Then mount these
mount -a
Displays
Most Linux distribution's installer (at least the free ones) can't handle some slightly more fancy hardware automatically
Usually you have to do two things
- Find and install a driver for your graphics card
- Hand edit the /etc/X11/xorg.conf file.
- Also read Ubuntu Twinview Monitors with an NVidia Graphics Card (T. Fitzgerald/3/2007)
Example Nvidia FX + 2 digital monitors
By Daniel K. Schneider. I have a Quadro FX 3450 card, a 24 and a 20 monitors. This is an executive summary. Find better explanation on Google or in the
- The easy way (Ubuntu 8.01 Hardy)
If you have a GUI running (the default Ubuntu desktop)
- Menu System->Administration->Hardware drivers
- Enable the driver (this will download the nvidia-glx-new package
- Reboot
Then:
- Menu: System->Preferences
- Screen resolution (works with a 1920x1200 screen)
Then add your second monitor if you got one:
- Read Nvidia Multi Monitors first
- Install the nvidia settings tool, in a terminal type this (or get via the synaptic)
sudo apt-get nvidia-settings
Then use this tool to configure
- Menu System->Administration->Nvidia X Server settings
I do not want the default twin view, i.e. I want to be able to switch to a different workspace in one screen and keep the current one. So I went for two different screens
- XServer Display Configuration:
- Click on 'configure... and select twin view
- Than play with the options until it looks good
Hit apply and if required CTRL-ALT BACKSPACE to restart the XServer.
- I noticed that at some point it couldn't overwrite the /etc/X11/xorg.conf file. Look at the preview and then copy paste , i.e. open an editor under root :)
Anyhow this is a start, but some manual tweeking seems to be necessary
Warning:
- this tool will append to the current xorg file by default. I.e. you may several conflicting definitions if you don't watch out.
- On the other hand if you don't append, your keyboard definition is gone, i.e. you have to know how to type US style. Make backups !!
See below for tweaking and repairing ...
- The hard way
Depending on the day (if it's rainy or sunny or the particular Ubuntu version) installing an Nvidia driver can be an absolute nightmare. If things fail, it is probably a good idea to:
- Make a copy of your /etc/X11/xorg.conf file
- Remove everything that has to do with Nvidia
- E.g. even drastic and dangerous apt-get remove nvidia*
- it also can mean to remove manually files and other stuff (see various forums)
- Also the machine needs to completely halted at some point and be restarted in recovery mode (Hit ESC when linux starts loading)
- Make sure you can get a terminal (local or remote)
- Make sure you have another machine nearby, e.g. Windows with a putty (ssh client) installed.
- Hit ctrl-alt-F5 to enter a terminal mode or see above.
- Avoid removing power (reset) ... this can damage files, try ctrl-alt-delete first (or a halt from a remote terminal)
- Log files
- Look at the log files, in particular /var/log/Xorg.0.log and search for "(EE)".
- It's likely that your keyboard won't work. E.g. if you use special characters in your password you must know the layout of the US keyboard. That can be fixed again in the xorg.conf file.
- X also remembers stuff in your personal home directory and there are logs too.
Anyhow, if by miracle, things go well, here is the rough procedure:
(0) Make sure you got a nvidia card, type:
lspci | grep -i nvidia
(1) You need to download the Nvidia driver.
- Either from Nvidia. E.g. file NVIDIA-Linux-x86-1.0-9755-pkg1.run
- Or via apt (a package manager), this is the better solution if it works:
sudo apt-get install nvidia-glx-new
.. or maybe nvidia-glx (the older version)
(2) Save the xorg.conf file
cp /etc/X11/xorg.conf /etc/X11/xorg.conf.save1
(3 - manual install) Install the driver (in case you got it from Nvidia only !)
sh NVIDIA-Linux-x86-1.0-9755-pkg1.run
(4) Run the X server configurator (but make sure you have a copy of your old xorg.conf file !!) nvidia-xconfig
There exist options which are described in the man page. Type
man nvidia-xconfig
(5) The result won't do it, but it's a start. You have to hand-edit and merge information from the old xorg.conf.save1 file !!!
You also can try to install the nvidia graphics control panel
apt-get install nvidia-settings
and run the config. utily (on the desktop) gksu nvidia-settings
A particular nasty bug in the installation script is the name of the driver. If you use the ubuntu distribution, the driver's name may be "nv" and not nvidia. Remember this when your system wants to boot into low resolution mode.
E.g. At some point I had this (I am minimalist and hate configuration work, so I stop when it works). I.e. if you want a single display for both monitors (you can drag stuff from monitor to the other) you only need to define one screen and one monitor. So, below there may some not used or even slightly harmful stuff (e.g. I have to check refresh rates).
Section "ServerLayout" Identifier "Default Layout" Screen "Screen0" 0 0 InputDevice "Generic Keyboard" InputDevice "Configured Mouse" InputDevice "stylus" "SendCoreEvents" InputDevice "cursor" "SendCoreEvents" InputDevice "eraser" "SendCoreEvents" EndSection Section "Files" # path to defoma fonts FontPath "/usr/share/X11/fonts/misc" FontPath "/usr/share/X11/fonts/cyrillic" FontPath "/usr/share/X11/fonts/100dpi/:unscaled" FontPath "/usr/share/X11/fonts/75dpi/:unscaled" FontPath "/usr/share/X11/fonts/Type1" FontPath "/usr/share/X11/fonts/100dpi" FontPath "/usr/share/X11/fonts/75dpi" FontPath "/usr/share/fonts/X11/misc" FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType" EndSection Section "Module" Load "i2c" Load "bitmap" Load "ddc" Load "extmod" Load "freetype" Load "glx" Load "int10" Load "type1" Load "vbe" EndSection Section "InputDevice" Identifier "Generic Keyboard" Driver "kbd" Option "CoreKeyboard" Option "XkbRules" "xorg" Option "XkbModel" "pc105" Option "XkbLayout" "ch" Option "XkbOptions" "lv3:ralt_switch" Option "XkbVariant" "fr" EndSection Section "InputDevice" Identifier "Configured Mouse" Driver "mouse" Option "CorePointer" Option "Device" "/dev/input/mice" Option "Protocol" "ExplorerPS/2" Option "ZAxisMapping" "4 5" Option "Emulate3Buttons" "true" EndSection Section "InputDevice" # /dev/input/event # for USB Identifier "stylus" Driver "wacom" Option "Device" "/dev/wacom" # Change to Option "Type" "stylus" Option "ForceDevice" "ISDV4" # Tablet PC ONLY EndSection Section "InputDevice" # /dev/input/event # for USB Identifier "eraser" Driver "wacom" Option "Device" "/dev/wacom" # Change to Option "Type" "eraser" Option "ForceDevice" "ISDV4" # Tablet PC ONLY EndSection Section "InputDevice" # /dev/input/event # for USB Identifier "cursor" Driver "wacom" Option "Device" "/dev/wacom" # Change to Option "Type" "cursor" Option "ForceDevice" "ISDV4" # Tablet PC ONLY EndSection Section "Monitor" Identifier "Monitor0" HorizSync 28.0 - 51.0 VertRefresh 43.0 - 60.0 Option "DPMS" EndSection Section "Monitor" Identifier "Monitor1" HorizSync 28.0 - 51.0 VertRefresh 43.0 - 60.0 Option "DPMS" EndSection Section "Device" Identifier "NVIDIA Corporation NV41 [Quadro FX 3450/4000 SDI]" Driver "nvidia" Option "DPMS" #DKS (5 lignes) Option "TwinView" "Yes" Option "TwinViewOrientation" "LeftOf" Option "SecondMonitorVertRefresh" "56-76" Option "SecondMonitorHorizSync" "31-80" Option "MetaModes" "1920x1200,1600x1200; 1920x1200,NULL" EndSection Section "Screen" Identifier "Screen0" Device "NVIDIA Corporation NV41 [Quadro FX 3450/4000 SDI]" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Viewport 0 0 Depth 24 Modes "1920x1200" "1600x1200" EndSubSection # not really needed, but some games may want this SubSection "Display" Viewport 0 0 Depth 16 Modes "1920x1200" "1600x1200" EndSubSection EndSection Section "Screen" Identifier "Screen1" Device "NVIDIA Corporation NV41 [Quadro FX 3450/4000 SDI]" Monitor "Monitor1" DefaultDepth 24 SubSection "Display" Depth 24 Modes "1600x1200" "1280x1024" "1024x768" "800x600" "640x480" EndSubSection EndSection
Make sure that there are no syntax errors, and that you have and empty line at the end of this file.
Hot keys for the brave
So your GUI is stuck ....
To open a console terminal (no GUI):
CTRL-ALT F1 ... same for F2 to F6 (so you can have 6 different terminals)
To go back to the desktop:
CTRL-ALT F7
To see boot system messages
CTRL-ALT F8
To restart the X server (your GUI)
CTRL-ALT BACKSPACE
Packages
Basically, an end-user can do all this stuff with a GUI tool, i.e. the synaptic package administrator. However it is good to know a few command line things for 2 reasons:
- You may have damaged your desktop when trying to install a new video driver
- It's sometimes faster. In particular when you see on some website that this and this package should be installed in this and that order ...
A list of command-line stuff (you must be root or add "sudo" in front of each). Sometimes there are equivalent commands for agt-get and aptitude. See the apt howto at Debian.
- To fix the ubuntu archive mirrors
(if you can, you can also do this from the desktop package manager) Edit /etc/apt/sources.list
You should at least have:
deb http://archive.ubuntu.com/ubuntu/ hardy main universe multiverse restricted deb http://archive.ubuntu.com/ubuntu/ hardy-updates main universe multiverse restricted
... but the it's better to use a nearby mirror, e.g. for Switzerland:
deb http://mirror.switch.ch/ftp/mirror/ubuntu/ (... same for the rest ...)
To check if there are any partially installed packages. It will try to complete these installations.
dpkg --configure -a
To find a package XXX
aptitude search XXX
- Cleaning and such
To detect and fix dependency problems
aptitude -f install
To remove packages from the local cache
apt-get clean
To update the package list
aptitude update
To reinstall a package XXX that seems to be broken
apt-get --reinstall install XXX
- Upgrading
To upgrade conservatively
aptitude safe-upgrade
To upgrade with a an message showing packages
apt-get -u upgrade
To upgrade to a new release
apt-get -u dist-upgrade
- Removing
To really remove package XXXX
apt-get --purge remove XXXX
If a package doesn't want to go (e.g. something went wrong during install, e.g. a decompression error and a crash in the middle of the install) and an installer (or you) wants it go, look for the package in /var/lib/dpkg/status and make it install ok installed Followed by:
apt-get remove --purge XXXX apt-get update apt-get dist-upgrade (or whatever you planned to install)
Printers
Printers don't necessarily work automatically either:
A good bet is to use this application:
Before you do so, it is like that you need a a PPD file (a file that defines properties of your postscript printer). Get it from:
Example Infotec
Example for Infotec ISC 1032 (A low end color copy and printer machine)
- Look at the entry:
- Get the PPD file (and copy it anywhere) ** http://openprinting.org/foomatic-db/db/source/PPD/Infotec/PS/Infotec-ISC1032_PS.ppd
- Then, start http://localhost:631/admin in your browser and when asked upload the PPD file
- Finally configure the printer (e.g. define paper size, trays and stuff).
- If CUPs printing doesn't work, use "HP JeDirect" and port 9100.
X Windows
We run a few sun servers and I prefer to run emacs (gui) on a remote machine instead of mounting all these file systems. Also I prefer to have a root terminal open instead of typing 'sudo' all the time. If you want allow for this:
- Reconfigure the window manager (gdm)
- Edit /etc/gdm/gdm.conf and change:
DisallowTCP=true
- Then, you'll need to restart your X session (Ctrl + Alt + Backspace)
- Allow remote hosts to connect
- Then you can allow certain hosts to connect e.g. to allow root on your own machine type
xhost + localhost
- To allow somebody on a different machine, type:
xhost + xxx.yyy.zzz
- It's important not to to type 'xhost +'. Since anyone may then connect to your screen. However, type xhost + something is boring, so it's more practical to edit /etc/X0.hosts. Just put the names or ip numbers of authorized machines there.
- If it doesn't work
You can install nmap to scan ports (X is on 6000).
- If you don't have nmap:
sudo apt-get install nmap
- Then type (as user):
nmap -v -A localhost
In some cases you may have to define the display of your machine on your client machine. On your client machine type something like:
export DISPLAY=xxx.yyy.zzz:0
or
setenv DISPLAY xxx.yyy.zzz:0
Or more practical, log into the the client machine like this:
ssh -XY
Java
By default Ubuntu comes with some Java 1.4 compatible version that is free. For some applications though, you need Java 5 or 6 from Sun
- Read this: https://help.ubuntu.com/community/Java
- Summary: You can get Sun Java as Ubuntu package, if you have multiverse enabled.
- You also then should consider making the Sun version the default (also explained in the above doc).
Sound
Sound may not work either.
- Install all the ALSA stuff (e.g. via the synaptic package manager)
- Then test with Menu System->Preferences-Sound
- Then set the right default volume with Menu Applications->Sound and Video->ALSA Mixer GUID (in particular PCM ! It may be as simple as that ...)
Sound trouble ?
If sound doesn't work search the Ubuntu forums: http://ubuntuforums.org/. A particular good overview posting was:
To list you sound hardware, type:
aplay -l
If there are none, type:
lspci -v
... and search through the list until you find something like:
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 01)
This means that you do have a sound card, but that the drivers or something else is missing....
Anyhow it may take some time (between a few minutes and a few days) to find a solution. Often, the only thing you'd have to do is to add a line to /etc/modprobe.d/alsa-base (needs root permissions). I have for my DELL/Sigmatel:
options snd-hda-intel model=ref
Then, reboot !
Note: To list all drivers on your machine, type:
lsmod
If I understand right, drivers are kernel modules.
Non-standard software
Some organization maintain their own Debian/Ubuntu package servers.
Mediabuntu
Read this:
Skype
E.g. to install Skype, you could
- Add the Skype repository like this in the Synaptic Package Manager (through settings->Repositories->Third-Party Software)
deb http://download.skype.com/linux/repos/debian/ stable non-free
- Reload or update the package information and search for "skype"
- Install the skype package.
Opinions
Add yours ...
DKS
- Daniel K. Schneider uses Ubuntu since March 2007, because he got fed up with Mandriva updates not working correctly. I hate all OS's (Unix, Mac, Win) but prefer to work on Unix because it's fairly stable and appropriate for what I do. I also do have Windows machines (a Dell XP II and Acer tablet PC) for doing stuff that needs Win. (E.g. wordprocessing with Framemaker, X3D, Games). Our servers (e.g. for this wiki) run under Solaris. More difficult to install, but reliable on the other hand.
- Indeed (it's now August 2007 and I went through a major upgrade) I find that Ubuntu and its packaging system is far more robust. Though I once failed with a non supported package, i.e. Cinelerra that I got from another site. It installed, but crashed on start. Have to try again at some point.
- Other remarks: The official Ubunto Gnu Emacs installation is the "Leim" version, i.e. it can be used to edit UTF-8 text (I am writing my wiki entries with this).
Links
(there are many others)
- Official
- http://www.ubuntu.com/ (home page)
- https://help.ubuntu.com/ (help pages)
- http://ubuntuforums.org/
- Other