Show navigation

Beginner's Guide to Debian Etch

Wednesday 11th April 2007

Introduction

Debian is one of the most common distributions in the world. With a possible total of twenty one CDs, it is also one of the biggest. As you may have gathered from the fact that this guide exists, Debian is not the easiest distribution. However, anybody that is relatively competent with computers should be able to use Debian (after all, I am!). This is not a guide to every detail of Debian Etch - instead, it aims to get you going, so you can start tinkering away!

When you go onto the Debian website, you will find three possible versions you can install. At any point, there are three main choices: stable, testing and unstable. Stable is regularly released, with the packages staying the same throughout that particular release, apart from security updates. This is best if you want the versions of packages to be consistent and, unsurprisingly, if you want absolute stability. The current version is 4.0, otherwise known as Etch.

Next up is testing. This next version is named Lenny, and the packages within are regularly updated, and should be relatively stable - I use packages from testing, and my system never seems to crash! However, on occasion, especially after a release of stable, you can find serious bugs in testing. Finally, we have unstable, which is always called Sid. In case you didn't realise, these are all characters from Toy Story, with Sid being the 'unstable' kid next door. This guide focuses on Debian Etch, but much of it should be applicable to later versions and unstable versions.

To give you an idea of which of the three versions is best for you, knowing the relationship between the versions helps. New and updated packages are put into unstable. Once they have been there for a given amount of time, and have few enough bugs, they are moved into testing. They stay here until the next update of the package, or just before a new stable release. Before a new stable release, testing is frozen, and a bug fixing frenzy ensues. This results in the release of a new version, most recently Etch.

Getting Started

Before we get going, there are a few things we need to do. The first is to make sure you have enough free space for Debian (or that you're happy to destroy a partition or two). I personally try and make sure that Debian has at least 10GB, although it's perfectly possible to run it on less.

Once you've found a spot for Debian, you need to start downloading Debian. At this point, you may start panicking about downloading twenty one CDs. Panic not! You only need the first CD to install Debian. This contains the most common packages, while the rest can be grabbed from the web. You can also download a CD for both stable and testing that contains only the basic packages (called netinst), and grabs the rest of the packages from the web during installation. It doesn't really make much difference which CD (or DVD) you choose if you're just installing it onto a desktop - you'll have to download the packages at some point. If you have a slow network connection, you might want to download the entire first CD now, rather than netinst - you can stop and start ordinary downloads, but its more difficult to do so during an installation.

If you're just downloading the first CD, you have the extra option of CDs designed for KDE and XFCE - if you don't know what this means, then don't worry about it - the ordinary first CD will be fine.

Once you've picked your CD (or DVD) and burnt it, you can begin. Stick the CD in the drive, reboot and make sure your CD drive is the first in the boot order. You should be presented with a black screen with a Debian logo, and the prompt:

Press F1 for help, or ENTER to boot:

At this point, we can choose between a text installer, or a graphical installer. If you want the good ol' text installer, just hit enter, otherwise type installgui and then hit enter. This guide assumes you're using the text installer, but the graphical installer is virtually identical.

Basic Installation

Next you should be asked:

Choose a language:

I use English, so, oddly enough, I select English. (Just for future reference - use the arrow keys and Tab to move around, the Enter key for when you need to select one item, and the space bar for when you need to select items from a list, in similar fashion to tick boxes). Next is our location; the screen should say:

Based on your language, you are probably located in one of these countries or regions.

Choose a country, territory or area:

That's the United Kingdom for me - so far, fairly easy! Next is the keyboard layout, with the screen stating:

Keymap to use:

Again, a relatively simple choice. The installer will suggest the one that makes the most sense, so it selected British English for me. After some loading, we have some network configuration. It will try and use DHCP automatically - if it fails, you can set up the network manually. If DHCP is successful, but you still want to set up the network manually, then hit Tab until <Go Back> is selected, and hit Enter. From this screen, you can then manually set the network settings.

The next screen should read:

Please enter the hostname for this system.

The hostname is a single word that identifies your system to the network. If you don't know what your hostname should be, consult your network administrator. If you are setting up your own home network, you can make something up here.

See? Fairly sensible advice. I went for the wonderfully original name of penguin - I hope you can come up with something better! Following this is the domain selection - on a home network, it doesn't really matter what you put here. Of course, if you do have a domain, then now's the time to tell Debian! Next is the disk partitioning - the screen should read:

The installer can guide you through partitioning a disk (using different standard schemes) or, if you prefer, you can do it manually. With guided partitioning you will still have a chance later to review and customise the results.

If you choose guided partitioning for an entire disk, you will next be asked which disk should be used.

Now you can decide where to install Debian. Due to my already full disk, I have the choice of manual editing or erasing my entire hard disk. If you have some free space, you should also get the choice of using the free space. If you didn't choose manual editing, you should be guided through the process. The main two ways I normally install a system is either to lump it all into a single big partition, or with a separate /home partition. The result is, if you decide to reinstall, you can keep anything specific to users. This includes any files in a user's directory, and any user-specific settings. If you're still not sure, then having all the files on one partition is fine.

Next, you should be shown how the installer has distributed the space. You can change it around, although the installer tends to decide the spaces quite sensibly. I often leave far too much space for the root filesystem - about 10GB. This is to make sure I don't run out of room, especially since I barely use any in my home directory, but less than that is still plenty.

You can play around the different partitions - once you're happy, you can hit Finish partitioning and write changes to disk and you should get a screen that starts:

If you continue, the changes listed below will be written to the disks. Otherwise, you will be able to make further changes manually.

WARNING: This will destroy all data on any partitions you have removed as well as on the partitions that are going to be formatted.

That's your last chance to go back! Once you select Yes, you can wave goodbye to whatever was on your hard disk (assuming you're formatting over another installation).

After its finished mauling your disk, you'll be asked to set a password for the root user.

You need to set a password for 'root', the system administrative account. A malicious or unqualified user with root access can have disastrous results, so you should take care to choose a root password that is not easy to guess. It should not be a word found in dictionaries, or a word that could be easily associated with you.

A good password will contain a mixture of letters, numbers and punctuation and should be changed at regular intervals.

All of which is excellent advice! The root user is similar to the Adminstrator of Windows systems, so remembering this password is rather critical! You'll be asked to enter it twice just in case you made any typos the first time round.

Now the installer will ask:

Full name for the new user:

This could be Joe Bloggs, or Miss Flobadob, or whatever takes your fancy - the computer doesn't really mind if you don't use your real name or every middle name you have. You'll then be asked to:

Enter a username for your account:

This should be something fairly simple and easy to remember since you'll be using it every time you want to use the computer (at least under that account). You're then asked for another password, and to confirm it.

Installation of the base system follows. The next thing the installer asks of you is:

A network mirror can be used to supplement the software that is included on the CD-ROM. This may also make newer versions of software available.

If you are installing from a netinst CD and you choose not to use a mirror, you will end up with only a very minimal base system.

Use a network mirror?

Unless you are completely devoid of an Internet connection, then a response of Yes here is highly recommended - this not only gives you access to massive array of packages, but it also ensures that packages are up-to-date. The next page states:

Debian archive mirror country:

The preceding paragraph says all that needs to be said - for me, the choice is United Kingdom, and ftp.uk.debian.org at the next screen (Debian archive mirror).

Next up, the installer displays:

If you need to use a HTTP proxy to access the outside world, etner the proxy information here. Otherwise, leave this blank.

Home networks tend not to have proxy servers, so you'll probably want to leave it blank. If you're doing this in an office, a school, or similar, then you'll need to ask nicely for the proxy information if you don't already have it.

Next up is whether or not you want to take part in the package usage survey. The choice is yours - it doesn't really make any difference to your experience of Debian.

Then, you should get:

At the moment, only the core of the system is installed. To tune the system to your needs, you can choose to install one or more of the following predefined collections of software.

Choose software to install:

You can choose whatever you like from this list, but if you're just installing a normal desktop machine then the default of 'Desktop environment' and 'Standard system' should be fine. If you want to be more specific about the desktop software you install, then you can just install 'Standard system', but be warned - this will leave you with very little installed, such as no graphical interface. Whatever you choose, the installer will then go off and... install. The only configuration message with the default two selections I received was to pick resolutions for my monitor - if you're using the text installer, don't forget to use the spacebar to select or deselect any option. To finish off:

Install the GRUB boot loader to the master boot record?

The message beforehand will vary as to whether you have another operating system on the system. If you do have another operating system, it should be listed. If it isn't, then you might want to stop here since you won't be able to get back into the operating system easily. Otherwise, hit Yes, and the installation will continue. You'll be asked to take your CD out, which you don't really need to do if you just change the boot order so that it boots from the hard disk rather than the CD drive. The next thing that should happen is... a reboot!

Hooray! The installation should now be finished. You can log in using the username you provided beforehand. Remember: don't log in as root - you should never log in as root. Instead, at a prompt such as the one provided once you log in, type su. You'll then be asked for a password, which is the root password you gave earlier. This effectively turns you into root - never do things as root that you could do as a normal user, such as browse the internet or chat online. In other words, you should only be root if you need to be - if you can do the task as an ordinary user, then its generally best to be an ordinary user! This improves security, and also reduces the chance of accidentally obliterating your entire system! To turn back into a normal user, simply type exit. Type exit again to logout.

Using a console/terminal

This section is aimed at those unfamiliar with using a console or terminal - if that's not you, feel free to skip ahead.

If you didn't install a desktop environment, you'll end up with a console. You can find an equivalent within a desktop environment by looking for any package called Terminal. Using a console is relatively straightforward. To become root, you just use the command su, which will then ask for the root password. To run a program, assuming that it doesn't need a graphical environment, then you just type the name of the program. For instance, if I want to run Lynx (not installed by default), a text-only web browser, then I just type the command lynx. After the program name, you can sometimes add extra details, such as the name of a file you want to open. Exactly how this works varies between programs. To find out more on how to use a particular program, you can type man programname.

Normally, if you end up with a console whereas you usually use a graphical environment, then chances are something has gone wrong. In these cases, you normally want a text editor. Although there are plenty of options here, the easiest is arguably nano. You can edit any text file by typing nano path/to/textfile.

In a console or terminal, you'll find your current directory to the left of the blinking cursor. To change directory, just type cd directory, replacing directory with the directory you want to visit. You can also type the absolute path of a directory if you wish. For instance, let's say that the console is currently in /home/user, and there's a subdirectory called foobar. I can either change to foobar by typing cd foobar, or cd /home/user/foobar. To go back up a directory, you can either type cd .. (where .. represents the directory above), or, in this case, cd /home/user. If we wanted to go from /home/user to /etc, we can either type cd ../../etc or cd /etc. Clearly, there are times when it easier to use relative paths, and times when it is easier to use absolute paths.

When specifying paths, you can use the Tab key to speed things up a bit. Let's say you're typing the name of a file or directory. Once you've typed the first few characters, if those first few characters are unique, then hitting tab will autocomplete the name for you. If those first few characters aren't unique, hitting the Tab key twice will show all the possibilities.

To view the contents of the current directory, just type ls. This will display all files and directories, with the directories in blue. To get more detailed information, type ls -l. This tells you about permissions, the owner, the group, the size and the last time the file was modified.

Users can belong to any number of groups. The string for permissions is drwxrwxrwx, with any letter being replaced with a dash. The initial d normally tells you whether its a directory. If its just a file, it'll be a dash instead. Certain types of files have another first letter, but we don't need to worry about those right now. r stands for read, w for write and x for executable. The first rwx refers to the owner, the second to members of the group and the third to everybody else. This should become clearer with some examples.

So, if a file has permissions -rwx------, this means that the owner can read write and execute the file, but neither members of the group of the file nor anybody else can even read the file, let alone write to or execute it.

-r--r--r-- means that anybody can read it, but nobody can write to it or execute it.

-rwxr--r-- means that anybody can read it, but only the owner can write and execute it.

-rwxr-xr-- means that the owner can read, write and execute it, members of the group can read and execute it, and everybody else can only read it.

To change the owner of a file, just type chown user path/to/file; to change the group use chgrp group path/to/file. Changing permissions means entering chmod permissions path/to/file, but replacing permissions is not so easy. Firstly, you need to specify who you're going to affect - the owner, the group, everybody else, or any combination of the three. This is represented by u, g, and o respectively. Then, you need to decide whether you're adding permissions, which means a plus sign, or taking permissions away, which means a minus sign. Finally, you need decide whether you're changing r, w, x, or any combination.

For instance, chmod ug+rx foobar would change the permissions of the file foobar such that both the owner and the members of the group could read and execute the file. All other permissions i.e. the permissions that affect their ability to write to the file, and the permissions affecting everybody else, are unchanged.

Anything specific to a user is located in /home/username/, which is the location you'll start in whenever you log in. This tends to mean that, as an ordinary user, you can't write anything outside of your home directory. If you need to do so for whatever reason, you'll need to become root.

Please note that, under GNU/Linux, every single file and directory is located within the root directory, known as / [a forward slash].This includes anything located on a hard drive, CDs being accessed, USB sticks - these are all mounted somewhere in /. Mounting is a different concept to Windows, and you don't really need to know it if you're going to be using a graphical desktop environment.

Mounting

If you're interested in mounting, the process is reasonably simple. If you're not interested, then you can just skip ahead to Installing Packages. To access any new filesystem, such as that on a CD, it must be mounted onto the existing filesystem using the mount. Desktop environments can generally do this for you, or make the process much easier. If you type man mount, you can find a rather good explanation of it all. As a reduced version, to mount anything, you need to use the command mount -t type device dir, where type is the filesystem type, device is the path to whatever you happen to mounting, and dir is the directory where you want it to be mounted.

Let's say we're mounting a USB stick, formatted with the filesystem FAT32 (vfat). We would insert the memory stick, and then type, as root, something along the lines of mount -t vfat /dev/sda1 /mnt/usb. You might need to create the directory /mnt/usb by typing mkdir /mnt/usb. All being well, we can then access the contents of the memory stick by going to /mnt/usb.

Of course, this raises the question of: what is /dev/sda1? Devices under Linux are located in /dev. Each physical device, such as SATA drives and USB sticks, following the naming pattern sda, sdb, sdc, and so forth. Each partition on a device is represented by a number - the first partition on sda is sda1, the second is sda2, and so forth. To view the partitions of your hard drive, you can type, as root, fdisk -l. If you've just stuck a USB device in, chances are it'll be the final sd device. So, for instance, if you have sda, sdb and sdc showing when you type fdisk -l, sdc is probably your USB device. Then, make sure you're mounting the right partition (usually the first), and off you go!

For fixed devices, such as CD and DVD drives, such mount points are defined in /etc/fstab. The crucial point is that this means you can just type mount /media/cdrom or similar, and the disc will mount itself.

Naturally, there's plenty more to be said about mounting, but that goes far beyond the scope of this guide.

Installing Packages

Debian installs packages using a very useful program called apt. By typing apt-get install program1 program2 (and so on), apt will automatically work out what other packages are required to install the programs selected. Before we start installing packages, you can take a look at /etc/apt/sources.list. The easiest way to do this is to become root by typing su (to configure apt requires root privileges), and then nano /etc/apt/sources.list. If you supplied the CD, there should be a line that starts:

deb cdrom:[Debian GNU/Linux...

This means that apt searches for packages from the CD-ROM. If you don't want to use the CD anymore, and just grab the packages from the web instead, you should place a # at the start of this line to comment it out. If you didn't add a network mirror during the installation, you can now add another line so that we can get packages from the internet. The Debian website has a a long list of mirrors. Since I am in Britain, I would add this line below the CD-ROM:

deb ftp://ftp.uk.debian.org/debian/ etch main contrib non-free

This line is fairly simple. The address is just that: the address for the packages. The next word refers to the version of Debian - you should make it match the version of Debian you have installed e.g. stable, testing, unstable. You can also refer directly to the codename of the version i.e. etch, lenny and sid respectively. Note that using the version or codename does make a difference, but only when a new stable version is released. Imagine you're using testing, the codename of which is currently lenny. If you've specified lenny in sources.list, then when lenny turns into stable, you'll now have a stable Debian system, rather than testing. However, if you've specified testing in sources.list, you'll stick with testing and move onto whatever the codename of the next release is.

The next three words refer to the various groups of packages - main, contrib and non-free. I would add all three so that you get the full range of packages, although you may wish to omit contrib and non-free. contrib contains packages that are deemed free by Debian, but rely on non-free software. non-free is software that can be distributed by Debian, but is not considered free by Debian.

Now that we have added the line, we can exit by pressing Control and X, choosing to save when asked. Next, we want to update apt by typing apt-get update. Apt will then fetch the package list from the new source. If it produces an error, make sure you have not made any errors within /etc/apt/sources.list.

So, what do we want to install? Well, if you didn't install a desktop environment, the interface is still fairly sparse. If you did choose to install a desktop environment, feel free to skip ahead to What Packages?. Most people would want something beyond a command line, so we should try getting a graphical interface. The package we want is xorg, so, as root, type apt-get install xorg. X will prove to be very useful - it is the package that allows you to draw things on the screen besides text. After grabbing the packages, the installation process will ask you to pick your resolutions - don't forget to use the spacebar to select or deselect any option.

Next, we want something to draw - a desktop environment. There are three main selections here: KDE, GNOME, or XFCE. If you're not sure which to choose, then I prefer GNOME, and this is what is installed by default, although they're all perfectly usable. Going into the differences between them is way beyond If you want to use GNOME, type apt-get install gnome-core gdm. This installs the very basics of GNOME - you can install more of the GNOME components by typing apt-get install gnome gdm instead. Similarly, you can use apt to install kde or kde-core along with kdm. If you're using XFCE, then you'll want gdm and xfce4. Next, you'll be asked which window manager you want to use. Just select the one you just installed, whether it is kdm or gdm. You may also be asked some more questions, depending on what you installed - it should be fairly easy to answer the questions since the spiel beforehand is often very useful. If in doubt, use the defaults.

If you want to reconfigure a package i.e. get asked the same questions when you installed the package the first time round, then, as root, type the command dpkg-reconfigure packagename.

Finally, we want to start up our new graphical interface - type /etc/init.d/gdm start or /etc/init.d/kdm start, and you should be presented with a logon screen. Type in your username and password, and you should be flying! You can use the terminal to install more applications - see the next page for a list of just some of the thousands of packages you can install.

What Packages?

In Debian, there are thousands of package, from games to office suites. The list that follows includes some that I have used - of course, I highly recommend you try different packages to see which you like. One of the key points of Debian is freedom, so you have a huge range of packages to try - you can search using apt-cache search wordstosearchfor, or on the Debian website. You can read a quick manual on each package by typing man packagename. Good luck, and have fun!

Note that there are alternatives to Apt for package management within Debian. Synaptic provides a nice GUI frontend to Apt, and lets you do virtually anything Apt lets you do.

Also, if you wanted to install more of those installation options, such as Desktop environment or Web server, then type tasksel as root in a terminal, and from here you can pick and choose.

If you download individual packages, then you must always make sure dependencies are satisfied before trying to install the package i.e. used apt, or another suitable method, to make sure that the required packages are installed.

If you have downloaded a Debian package, rather than letting apt do the hard work, then they need to be installed using dpkg. Debian compatible packages end in .deb. To install one of the packages, type, as root, dpkg -i path/to/package.deb. Before you do this, however, you should make sure that you have satisfied any dependencies listed. If you try installing the package before satisfying the dependencies, then dpkg will complain at you. After that, you should run apt-get -f install in order to fix the dependencies.

You may also come across packages that end with .rpm. These are packages that are not designed for use with Debian. If possible, it is best to find either a Debian repository with these packages in, or to find a package designed for Debian. Failing this, you can try and convert the package to a Debian format by installing the alien package, and then typing: alien path/to/package.rpm. If successful, you can then install the package the usual way i.e. by typing dpkg -i path/to/convertedpackage.deb. Since these packages weren't designed for Debian originally, this process is not always perfect, so use alien at you own risk - you have been warned!

Finally, you may come across packages that are not designed for any particular distribution. If the file ends in .bin, then you can install it using the command path/to/package.bin. You can install these files without being root, but you will be the only user able to use the program. Generally, it is preferred to run the installation as root, and, when asked, to put any files somewhere in /usr/local/. For instance, you can download a .bin for SeaMonkey. When it asks for an installation directory, /usr/local/SeaMonkey might be a good idea.

Alternatively, another brand of distribution-independent packaging is programs that work without any installation - you just download a tarball (similar to a Zip file, ends in .tar. Might end in .tar.gz or similar if it has been compressed) and extract the contents to an appropriate directory. Again, if you want the contents to be available to all, a directory within /usr/local is the place to put it.

If you're feeling adventurous, you can compile a program yourself. Instructions can vary between packages, so be sure to read any instructions provided.

Multimedia

In order to be able to read the full range of media files out there requires some codecs that are not free, and are also not included in the official Debian repositories. Firstly, you'll need to add this line to /etc/sources.list:

deb http://www.debian-multimedia.org/ etch main

Feel free to replace etch with whatever is necessary, as explained previously. Next, you'll want two packages: w32codecs and libavformatcvs51. After installing these with your package manager of choice, you should be able to read almost any multimedia file through players such as totem-xine or mplayer.

Mounting in a GUI

If you want access things such as CDs and USB sticks while in a GUI, you have two main choices. The first is to let the system deal with it and automount everything that gets connected - in other words, you stick a device in, and you can access virtually straight away.

In GNOME, this is achieved by installing gnome-volume-manager. You can also use this in KDE, although it means pulling in GNOME dependencies - a problem if you're concerned about hard drive space and perhaps memory consumption.

You can also mount the devices when you want - the easiest way to do this in GNOME is to make sure you have hal and gnome-applets installed. Then, right-click on a panel (I normally choose the top one owing to the fact that there's little on it by default) and choose 'Add to Panel...'. Find and add the entry called 'Disk Mounter'. Now, every time a device is inserted, whether it be CD, DVD or USB device, it should pop up as an icon in the applet. Just click the icon and hit 'Mount device' (where device is whatever has been inserted) and voila! You can open the device from the same menu. Once you're done, you can unmount/eject the device from the same menu.

Printers

Adding printers is fairly straightforward. First of all, you'll need cupsys installed, and probably also foomatic-db, foomatic-filters-ppds and foomatic-filters to get the full range of drivers. If you're running GNOME or KDE, then you should have configuration utilities already installed in order to install printers - GNOME's is included in gnome-cups-manager. The steps to install a printer from within these utilities is straightforward enough, so there's little need for an explanation here. Alternatively, you can use a web interface by going into a web browser, and entering localhost:631 as the address in order to edit the settings.

Note, however, that support on Debian, and Linux generally, depends greatly on the printer manufacturer. HP generally has excellent support with the packages hpijs, hpijs-ppds and hplip, but others may not be so well supported. A good place to check for support is linuxprinting.org.

Networking

To be able to see and access other machines on the network, in particular those running Windows or Samba, then you'll need to make sure that the packages smbclient and samba-common are already installed. Now, you have three main choices:

The first is to use a file browser, such as Nautilus or Konqueror, to access the shares. Thunar, XFCE's file manager, does not yet have this ability.

If in GNOME, then hit 'Places' on the panel, and then 'Network Servers'. From here, you should be able to see all of the Windows machines. From within Nautilus, open the 'Go' menu, and then select 'Network' to get the same screen.

If using Konqueror, then use the 'Go' menu and select 'Network Folders'. You then want to select 'Samba Shares' to view all of the Windows and Samba shares on the network.

With Windows machines, you'll generally be asked for a username and password. However, if anonymous browsing is allowed, but you want to be a specific user (for instance, some shares may only be viewable by certain users), as frequently occurs when accessing Samba shares hosted on a Linux machine, then you need to add a couple of steps. Firstly, navigate to the machine you want, so that you're viewing all of the shares.

If you're using Nautilus, hit Ctrl+L, so that you can see the current address. It should be in the format smb://nameofmachine. To login a specific user, change this to smb://user@nameofmachine, replacing user and nameofmachine with your username and the name of the machine respectively. You'll then get a prompt asking for a password, which, once entered, should allow you to browse that machine as the user specified.

If you're using Konqueror, then change the location from smb://nameofmachine to smb://user:password@nameofmachine. Of course, showing your password in this manner isn't terribly secure (meaning that somebody could just look over your shoulder), so if you do use Konqueror, you might want to consider an alternative method of accessing shares.

The second choice is to use LinNeighborhood (packagename linneighborhood). This will allow you to browse all of the shares on the network. If you want to access a machine as a specific user, rather than anonymously, then just right-click that machine and hit 'Scan as user'. Then, pick the share you want to access, double-click it (or right-click and select 'mount'), enter a username/password if necessary, and hit 'Mount'. Then, you should be able to access the share from wherever you mounted it - the default is /home/user/mnt/MACHINENAME/sharename, although of course you can change this at your leisure.

The final method is to mount it yourself. To do this, just use the command smbmount //machine/share /path/to/mount/point, or smbmount //machine/share /path/to/mount/point -o username=username if you need to use a username/password. Once you've finished, you can unmount the share by typing smbumount /path/to/share.

To set up shares, you still need Samba installed. From here, you have two main choices - install and setup a package called swat (not covered here), or use the utilities of the desktop environment.

In GNOME, you'll need the package gnome-system-tools to be installed. Then, go to the Desktop menu, and find Shared Folders within Administration. In KDE, make sure is installed. From the KDE menu, choose the Settings entry under Actions, followed by Internet & Network, and finally File Sharing. This package also provides the entry Samba under the same menu, allowing you to configure more than just what files are shared.

For a similar utility in GNOME, try gsambad.

Graphics drivers

If you want to use nVidia graphics drivers, then the Debian wiki has an excellent page on installing nVidia drivers. However, it is a bit lengthy, so here's the short and sweet version if you just want to get your 3D effects working. Note that this asssumes you are using a stock kernel i.e. a kernel just downloaded from Debian repositories. If you don't know what this means, that probably means that you are using a stock kernel, and don't need to worry about it!

The following should be done as root, since you are making changes to the system. The following also assumes that nothing will go wrong. If, at any point, anything does goes wrong, then the wiki page should be the first place to look.

  1. apt-get install module-assistant gcc nvidia-kernel-common (Install module-assistant, gcc and nvidia-kernel-common)
  2. m-a update
  3. m-a prepare
  4. m-a a-i nvidia, or m-a a-i nvidia-kernel-legacy-source if you need legacy drivers
  5. apt-get install nvidia-glx
  6. apt-get install nvidia-xconfig
  7. nvidia-xconfig, and say Yes when asked if you want update the configuration files for X
  8. Restart X, normally using the command /etc/init.d/gdm restart for gdm or /etc/init.d/kdm restart. If you're not sure how to do this, a simple reboot of the computer will have the same effect. You can also hit Ctrl+Alt+Backspace, although this isn't as 'nice'.

That's it! If, at any point, nVidia drivers or the kernel gets updated, then you will need to run the steps involving module assistant again.

Disabling the speaker

One last hint - if you don't want your PC to keep making that beeping noise (from your system speaker, not the sound card), then you can fortunately get rid of it. Unfortunately, the way you're supposed to do it doesn't work at the moment (you should just be able to add the line blacklist pcspkr in /etc/modprobe.d/blacklist), so we'll have to find an alternative. The method I've used, even though its not very nice and shouldn't really be done this way, is just to get rid of the pcspkr driver itself. So, as root, simply type the command mv /lib/modules/$(uname -r)/kernel/drivers/input/misc/pcspkr.ko /root/. This moves the driver from its proper location to root's home directory - moving it is a safer bet than just deleting it just in case you want it back. In case you're wondering, the $(uname -r) bit inserts the name of the kernel you're using, such as 2.6.18-3-k7.

Useful Links