Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Beginning Ubuntu Linux - From Novice To Professional (2006)

.pdf
Скачиваний:
71
Добавлен:
17.08.2013
Размер:
25.54 Mб
Скачать

408

C H A P T E R 2 8 R U N N I N G M I C R O S O F T O F F I C E U N D E R U B U N T U

Running the Office programs is a matter of navigating to the /home/<username>/c/Program Files/Microsoft Office/Office folder and running the executables via Wine. For example, to run Microsoft Word on my system, I typed:

wine /home/keir/c/Program Files/Microsoft Office/WINWORD.EXE

To run Excel, you can type EXCEL.EXE. PowerPoint is POWERPNT.EXE, Access is MSACCESS.EXE, and Outlook is OUTLOOK.EXE. Don’t forget that these must be typed in uppercase, because uppercase and lowercase matters in Linux. Figure 28-3 shows an example of running Word under Ubuntu.

Figure 28-3. It’s entirely possible to run Microsoft Word under Ubuntu. Just add a little Wine!

Alternatively, you can easily create desktop shortcuts for your Office programs. See Chapter 10 for details on creating shortcuts.

Aside from being a subdirectory within it, the dummy C:\ drive is entirely separate from your main file system, which is to say that no Windows programs will ever be installed outside this subdirectory. This should give you some peace of mind when it comes to threats from viruses and worms. In theory at least, only the files in this directory will be affected should you pick up an infection. (The Wine developers have theorized that a Windows virus running under Wine could infect your main system, but it would have to be created with knowledge that it might be running under Wine, and no such viruses have yet been found.)

C H A P T E R 2 8 R U N N I N G M I C R O S O F T O F F I C E U N D E R U B U N T U

409

Note I experienced a few weird bugs when running some Office programs. For example, the text in the Office Assistant dialog boxes didn’t appear. I also found that the clipboard didn’t work correctly when two or more Office applications were running (it seemed fine with just one application). You might encounter similar problems, but you should find that the key functions work.

Installing Other Windows Programs

A lot of Windows applications will install and work under Wine. Installing them is usually a matter of typing this:

wine <installer_name.exe>

As I mentioned earlier, the Wine database (http://appdb.winehq.org) often details the best way to get Windows software working. Very nearly every mainstream Windows program can be made to work, although it may take a little extra effort. If there’s a program that doesn’t work, you can suggest it to the developers. The site contains a list of the top 25 programs that don’t work, but which people would like to see up and running under Wine.

In my tests, I managed to use Wine to install the popular WinZip archiving application, as well as the Winamp Lite audio software and Adobe Photoshop 6. Figure 28-4 shows each up and running.

Figure 28-3. Although it sometimes takes a bit of effort, virtually any Windows application can be made to run under Ubuntu.

410

C H A P T E R 2 8 R U N N I N G M I C R O S O F T O F F I C E U N D E R U B U N T U

Summary

In this chapter, we looked at how you can use the Wine project to install and run various Windows programs under Ubuntu, including Microsoft Office. Because using Wine is not without problems, we looked at how it should be configured, and then walked through the steps needed to install Microsoft Office 2000. Then you saw how to install other Windows programs.

In Part 7 of the book, starting with the next chapter, we look at the techniques you need to know to keep your Ubuntu system running smoothly. Chapter 29 explains how to install Linux software.

P A R T 7

■ ■ ■

Keeping Your

System Running

C H A P T E R 2 9

■ ■ ■

Installing Software

One of the fun aspects of running any operating system is the ability to expand it—to add in new software over time to improve your workflow or just for entertainment value.

Linux is blessed in this regard, because tens of thousands of software titles are available to meet just about every need. However, if you’ve tracked down the ideal software title, there’s just one barrier to overcome: actually installing it on your system.

Installing software under Ubuntu isn’t the same as with Windows. Users are afforded a lot more power over what happens to their system, but this comes at the expense of needing to take a little time to understand the terminology and techniques.

In this chapter, you’ll learn the basics of software installation under Ubuntu. Then we’ll take a closer look at how the Synaptic Package Manager works. Next, you’ll learn how to install software from the command prompt. Finally, we’ll cover installing from source.

Software Installation Basics

Installing programs on Windows is relatively easy. If you wish to use the Winamp media player, for example, you can browse to the web site, download the installer .exe file, and install the software. Although you might not realize it, a lot of work goes into making this seemingly simple task possible. Once the original software has been created by the programmers, it must be made into a form that you, the end user, can use.

The first thing to happen is that the software is compiled. This is the process of turning the source code created by programmers into an actual file (or set of files) that can be used on a daily basis. On most systems, compiling source code involves a lot of number crunching. This takes time—whole days, in some cases.

Once the program files have been compiled, there needs to be a way they can be installed on various systems and easily transported across the Internet. This is where packaging comes into the equation. Programs usually consist of many files. To make each program file individually available would present the risk of some getting lost or corrupted, and the program wouldn’t work. Therefore, the files are usually combined into a single archive file, or package. In addition, third-party system files are added to ensure compatibility on all computers and an extra program, called an installer, is added so that users can quickly get the files onto their system.

All of this means that, to be able to install a program like Winamp on Windows, you just need to download the installer .exe file and run it once. No more work is necessary.

Linux is a little more involved, largely because it never assumes that users want their environment to be simplistic and with limited options. However, most Linux distributions still embrace the paradigm of packaging installation files.

413

414

C H A P T E R 2 9 I N S T A L L I N G S O F T W A R E

Formats of Linux Installation Files

If you visit the web site of a particular Linux application, you may find that the application is available to download in a number of different formats. The program will almost certainly be available as source code—the original listing that the developer created. It might also be available as a binary, or as a package file.

Note Linux isn’t the only operating system for which open-source programs are created and used. There are open-source projects for both Windows and Apple Macintosh, many of which are hosted at the http:// sourceforge.net web site. Many other less widely used operating systems also rely on open-source software to a greater or lesser extent.

Here are the formats by which Linux software is normally distributed:

Source code: Programmers write their software in various programming languages, such as C and C++, and the code that results is known as source code. To make source code usable, it must be compiled into a binary file. Because the cornerstone of the Linux philosophy is the sharing of source code, you’ll almost always find the source code of a program available at the developer’s web site. You can then download and compile this on your own system (or, if you’re so inclined, study the source code to further your understanding). Although compiling source code isn’t very hard to do, it’s more convenient to download either a binary version of the program or a package.

Binary files: You might find ready-made binary files are available at the developer’s web site. In other words, the programmer has, as a service to users of the program, compiled the source code so that it’s ready for use as soon as it’s downloaded. Sometimes, binary files come with scripts to help you install them. However, in most cases, you simply place the files in a convenient location on your hard disk, and then run them from there.

Note In both the case of source code and binary files, the files usually come in a tarball, which is a single archive file containing other files. A tarball isn’t by definition compressed, but usually the bzip2 or gzip tool is used to shrink the file to ease transportation across the Internet.

Self-installing binaries: Some larger programs are made available as self-installing binary files. This comes very close to the way Windows works because, when the file is executed, a GUI-based wizard takes you through installation. If you download OpenOffice.org from the official web site (www.openoffice.org), for example, you’ll end up with a single 80MB+ file, which you then simply run from the command line to install the program.

Package files: In many cases, you’ll find that a package file of the program is available. In this case, someone has compiled the software files and put them altogether in a single, easily transportable file. Ubuntu package files end with .deb file extensions, but other Linux distributions use other package formats, such as RPM (Red Hat Package Manager). The software that oversees packages is called a package manager.

C H A P T E R 2 9 I N S T A L L I N G S O F T W A R E

415

Note As a blanket rule, an installation package created for one distribution won’t be compatible with another. It’s possible to use a program called alien under Ubuntu, which aims to convert packages between distributions and different package formats, but this should be done as a last resort. The first resort it to obtain a package specifically designed for your Linux distribution.

Packages Explained

Of all the formats for Linux installation files, packages are by far the most common and popular. This is because a well-implemented package-management system is able to install programs, upgrade them, and uninstall them, all with just a few keystrokes or clicks of the mouse. This approach vastly reduces the amount of work required to get new software onto your system.

The package-management system used under Ubuntu is borrowed from the Debian Project, where it was never given a proper name. Most people refer to it simply as the Debian packagemanagement system. Ubuntu relies on packages in order to install software, and the Ubuntu CD contains hundreds of them, as shown in Figure 29-1.

Figure 9-1. There are many packages under Ubuntu.

It’s important to understand what a package actually is and what it contains. With Windows, an installation .exe file is effectively a piece of software combined with an archive of files. When you run the executable, it triggers a small program within the executable that then unpacks the contents of the file and installs them to the hard disk.

416

C H A P T E R 2 9 I N S T A L L I N G S O F T W A R E

In contrast, Debian packages (.deb files) merely contain the program files, along with a handful of configuration files to ensure the software is both installed and set up correctly. Debian package files are useless without the various pieces of software that are used to manipulate them and that constitute the Debian package-management system.

This approach has a number of benefits. The package-management software builds its own database, so it knows exactly which programs are installed at any one time. It also keeps tracks of version numbers. This gives users much more control over the software on their system.

It also means that if a program starts to act strangely, its configuration files can simply be refreshed using the package manager. There’s no need to uninstall and then reinstall the software, as is so often the case with Windows programs.

SOFTWARE VERSIONS

Because most Linux software is open source, a curious thing happens when it comes to software versions. Rather than there being just one “official” version of a program, such as with most Windows software (where you must download the official version of the file), many individuals and organizations take the source code, compile it, and make their own package files available for others to use.

For example, virtually all the software installed with Ubuntu has been compiled by Ubuntu developers. This means it can be quite different from what's “officially” available at the programmer’s web site. In some cases, the source code is tweaked, so that notorious bugs are fixed, or a different look and feel applied to the software, so it integrates with the distribution. Often, the configuration files are changed so that the software works properly under Ubuntu, such as integrating with other software packages.

The programmer behind the software doesn’t mind when such things happen, because this way of working is part and parcel of open-source software. In fact, the programmer is likely to encourage such tweaking.

Because of this, the first place to look if you want any additional software is not the developer’s web site, but the Ubuntu online software repositories. This way, you’ll get an officially sanctioned Ubuntu release that will fit in with the rest of your system and won’t require much, if any, additional work to get it up and running.

Dependency Management

In addition to actually installing programs, a vital component of package-management software is taking care of dependencies. Put simply, the package manager must ensure that if you install a piece of software, any software it relies on to work properly is either already present on the system or is installed at the same time.

Sometimes, the software you want to install might rely on other programs on your system, but more often, the dependencies take the form of system libraries.

It helps if you realize that not all packages contain software that you, as a user, will use directly. Some packages contain nothing but library files, which are shared pieces of code that are equivalent to .dll files under Windows. The key library on an Ubuntu system is the GNU C Library, without which the Linux kernel couldn’t function, and this is provided by the libc6 package. But practically every program has its own needs when it comes to library files, and these requirements must be handled by the package manager.

C H A P T E R 2 9 I N S T A L L I N G S O F T W A R E

417

Note One reason why Windows installation files are often so large is that they typically come with all the system files they need in case those files are not already present on the system. Windows isn’t alone in this regard; installation files for the Apple Macintosh are similar.

Dependency management, sometimes referred to as dependency resolution, is a key feature of the Debian package-management system. You might already have seen this in action: when you mark a program for installation in the Synaptic Package Manager, you may be informed that additional packages need to be installed. If you refuse this request, the program will be deselected. The package manager simply won’t let you install a piece of software unless you let it take care of the dependencies. There’s no point in letting you install the software because it probably won’t work.

But dependency management doesn’t just mean adding in packages that a piece of software needs. It might also mean removing packages already present on your system. This might happen if other packages are incompatible with the software you want to install, something that’s referred to as package conflict resolution. In addition, sometimes you might want to remove a package that other packages rely on, a situation known as reverse dependency. In such a case, the package manager either prevents you from removing that software or removes the reverse-dependency packages, too.

Note You can see what dependencies a package has by right-clicking its entry in the Synaptic Package Manager, clicking Properties, and then clicking the Dependencies tab.

APT and Package Repositories

Installing, removing, and otherwise manipulating packages under Ubuntu is handled by the dpkg software. However, dpkg is not too capable when it comes to managing dependency resolution. It’s a fairly basic program whose primary function is to handle the minutiae of software installation, such as getting programs on and off the system.

Because of this, the Advanced Packaging Tool (APT) was created. If you use APT to install a piece of software, you’ll be told about any dependencies it needs. Not only that, but the required packages will be automatically added to the list of software that’s to be installed.

Note The Synaptic Package Manager is simply a GUI front-end for the APT system. You can see this clearly when you’re installing or removing a package. In the Apply Changes dialog box that appears after software has downloaded, click Terminal, and you’ll see the output of various APT commands.

APT is able to automatically install the extra software because it’s built on the principle of software repositories. These repositories are collections of software arranged into libraries from which you, as a user, can retrieve what you want. Whereas dpkg is used to install files