linux magazine uk 12

Page 1



COMMENT

General Contacts General Enquiries Fax Subscriptions Email Enquiries Letters

01625 855169 01625 855071 www.linux-magazine.co.uk subs@linux-magazine.co.uk edit@linux-magazine.co.uk letters@linux-magazine.co.uk

Editor

John Southern jsouthern@linux-magazine.co.uk

CD Editor

Richard Smedley rsmedley@linux-magazine.co.uk

Contributors

Alison Davis, Dean Wilson, Colin Murphy, Alison Raouf, Richard Smedley, Kim Hawtin, Richard Ibbotson

International Editors

Harald Milz hmilz@linux-magazin.de Hans-Georg Esser hgesser@linux-user.de Ulrich Wolf uwolf@linux-magazin.de

International Contributors

Fionn Behrens, Simon Budig, Mirko Dölle, Thomas Drilling, Thorsten Fischer, Bjorn Ganslandt, Georg Greve, Frank Haubenschild, Patricia Jung, Jan Kleinert, Christian Perle, Alexander Roehrl, Stefan Schmiedl, Tim Schürman, Stephanie Teufel, Marianne Wachholz, Carsten Zerbst

Design

Renate Ettenberger vero-design, Tym Leckey

Production

Bernadette Taylor, Stefanie Huber

Operations Manager

Pam Shore

Advertising

01625 855169 Carl Jackson Sales Manager cjackson@linux-magazine.co.uk Linda Henry Account Manager lhenry@linux-magazine.co.uk Verlagsbüro Ohm-Schmidt Osmund@Ohm-Schmidt.de

Publishing Publishing Director

Robin Wilkinson rwilkinson@linux-magazine.co.uk Subscriptions and back issues 01625 850565 Annual Subscription Rate (12 issues) UK: £44.91. Europe (inc Eire) : £73.88 Rest the World: £85.52 Back issues (UK) £6.25

Distributors

COMAG, Tavistock Road, West Drayton, Middlesex England UB7 7QE

Print

R. Oldenbourg

Linux Magazine is published monthly by Linux New Media UK Ltd, Europa House, Adlington Park, Macclesfield, Cheshire, England, SK10 4NP. Company registered in England. Copyright and Trademarks (c) 2001 Linux New Media UK Ltd

INTRO

CURRENT ISSUES

THE QUIET REVOLUTION The world of Linux development often seems, from the outside at least, to be populated by small, committed companies, who are essentially doing their own thing. However, if you scratch beneath the surface just a little, you’ll find that some major business interests are lending their support. Hewlett-Packard is working with Linux – it’s busy spending a fair amount of money on Linux development. The current project of assessing Linux on its Jornada handhelds and the release of the printer drivers demonstrates the multinational’s presence. IBM on the other hand seems to be even more proactive, but very quiet about its achievements. When earlier this year IBM announced that it would spend $1 billion on Linux, a lot of the industry said that it would not amount to much. Since then, IBM have carried on as normal for a multinational. It announced partnerships with RedHat, SuSE and TurboLinux. Then all seemed to go quiet. Behind the scenes, IBM continues with its own path. Differing divisions from within support, or actively work on, Linux. Mandrake is supported by the Via Voice team, Caldera by the xSeries team. Even Debian is supported at

various levels; slowly releasing code to the open community and providing community access to mainframes for developers. IBM has now decided to attack the financial markets with Linux. Venezuela’s Banco Mercantil with 375 branches is running SuSE on a s/390, replacing the previous 30 NT server farm. So many divisions within these multinationals and yet they do not shout about their achievements. Why don’t they make their own distributions? They have the staff and resources to do so. They could easily promote it and with such power could soon be the dominant Linux distributor. Yet they don’t. Maybe it is that they have don’t want to risk money. More probable is that they see Linux as a community and so are willing to support and submit code while making sure they are not seen to take over. They benefit with Linux support for their ranges while we benefit form the code releases. It’s a nice world.

John Southern, Editor

No material may be reproduced in any form whatsoever in whole or in part without the written permission of the publishers. It is assumed that all correspondence sent, for example, letters, e-mails, faxes, photographs, articles, drawings, are supplied for publication or license to third parties on a non-exclusive worldwide basis by Linux New Media unless otherwise stated in writing. ISSN 14715678 Linux is a trademark of Linus Torvalds Linux New Media UK Ltd is a division of Linux New Media AG, Munich, Germany Disclaimer Whilst every care has been taken in the content of the magazine, the publishers cannot be held responsible for the accuracy of the information contained within it or any consequences arising from the use of it. The use of the CD provided with the magazine or any material providied on it is at your own risk. The CD is comprehensively checked for any viruses or errors before reproduction. Technical Support Readers can write in with technical queries which may be answered in the magazine in a future issue, however Linux Magazine is unable to directly provide technical help or support services either written or verbal.

We pride ourselves on the origins of our magazine which come from the very start of the Linux revolution. We have been involved with Linux market for six years now through our sister European-based titles Linux Magazine (aimed at professionals) and Linux User (for hobbyists), and through seminars, conferences and events. By purchasing this magazine you are joining an information network that enjoys the benefit of all the knowledge and technical expertise of all the major Linux professionals and enthusiasts. No other UK Linux magazine can offer that pedigree or such close links with the Linux Community. We're not simply reporting on the Linux and open source movement - we're part of it. 12 · 2001 LINUX MAGAZINE 3


NEWS

SuSE provides all-round firewall protection

SuSE Linux has released its new Firewall on a CD, offering companies linked to the Internet protection for their data and IT infrastructure in a CD format which, SuSE believes, businesses will find easier to install and maintain. Designed as an application level gateway, the SuSE Linux Firewall combines the security standards of a hardware solution with the flexibility of a

software firewall. The SuSE Linux Firewall on CD can check, monitor, analyse and log ongoing data transfer. Features of the SuSE Linux Firewall include its ‘live system’, which enables the operating system to be booted directly from a CD-ROM instead of being installed on the hard disk, making it impossible to manipulate the firewall software. Meanwhile, the configuration files for the firewall – such as the ipchains packet filter settings are held on a write-protected configuration floppy. Other features of the firewall on a CD solution include syslog, postfix as mail relay, and SSH support. The firewall can protect the network against both external and internal tampering by enabling administrators to define limits for various divisions with the company. An http content filter can recognise and, if required, block certain HTML pages, while the proxy server, based on the open source Squid package, speeds up the accessing of Web pages by saving previously viewed pages and reloading them on request. The source code is provided together with the firewall solution, enabling the solution to be tailored to specific requirements. A second CD contains the Firewall Administration System, a set of tools designed to simplify configuration and administration of one or more firewalls. The package consists of two CD-ROMs, a 500page manual, and 30 days of installation support. It is available from the manufacturer or from authorised SuSE Business Partners priced at £429.00 plus VAT. ■

Toshiba chooses Hard Hat Lineo and ADS announce handy partnership Embedded systems, real-time and high availability solutions provider Lineo is collaborating with RISC-based systems developer Applied Data Systems (ADS) to deliver a development platform for smart handheld devices. The Lineo Embedix Plus for SHDs platform has been developed for manufacturers who require a solution to enable rapid production of SHDs, PDAs and other information appliances. It offers an open standards platform based on Linux and Java and uses Lineo Embedix SDK to integrate SHD solutions including Insignia’s Jeode Java Virtual Machine technologies, Trolltech’s Qt/Embedded GUI and Opera Software’s Operal 5 for Linux Web browser. The ADS Graphics Client Plus system is the first hardware to run Embedix Plus for SHDs. Addressing the needs of graphics intensive applications with onboard I/O requirements, Graphics Client Plus is based on the StrongARM SA1110 processor, with up to three serial ports, onboard Ethernet, CAN and IrDA, SCMCIA, USB slave, ‘smart’ real-time I/O and integrated flat panel and touch screen support. ■

6 LINUX MAGAZINE 12 · 2001

Toshiba has chosen to use MontaVista’s Hard Hat Linux in the development of embedded products for the printer, set top box and digital television markets. Toshiba and MontaVista have already begun working together and will mark the launch of their partnership by porting MontaVista’s Hard Hat Linux to Toshiba’s TX39 and TX49 embedded processor families. Toshiba will also name Hard Hat Linux as one of the standard operating systems for its TX39 and TX49 processors. Toshiba plans to release Hard Hat Linux-supported TX39 and TX49 processors from September 2001. Masafumi Watanabe, Deputy General Manager, of Toshiba Corporation said, ”We are working with MontaVista to provide more comprehensive support for our current and future customers, not only in Japan but throughout Asia and the world.” ■


NEWS

Virus-free Data security software developer Kaspersky Labs has released the latest version of its KasperskyT Anti-Virus for UNIX/Linux operating system. Registered users of Kaspersky Anti-Virus Business Optimal and Corporate Suite can install the latest version for UNIX/Linux free of charge. The new version adds multithreaded object-scanning technology that enables the antivirus scanner to simultaneously check any number of files, with sessions limited only by the server’s capabilities. The number of active sessions can be defined in the start-up command line or in the Kaspersky Anti-Virus configuration file. The new version also features support for OpenBSD 2.8 and Solaris 8 operating systems, as well as for the exim email gateway for UNIX and Linux. As a time saving benefit for administrators, the solution now enables remote control of the program for use with a Web interface using a secure HTTPS connection. Other modifications to the solution include faster email scanning speeds and improvements to the antivirus monitor, which can now intercept file operations and transfer objects in real time for scanning without the need for a buffer directory with delayed scanning. ■

Solaris in the Izodia loop Business to business e-commerce solution provider Izodia has added support for Sun Solaris 8TM to its InTrade 5 ecommerce software platform. InTrade 5, a unified application for business-tobusiness e-commerce chain management, also supports Windows NT, Windows 2000, and UNIX. The Solaris release for InTrade 5 will also add support for Oracle 8iTM databases, and any standards-based Web Server. With more than 1,600 documented XML API calls, the system’s functions can be called by, and exchange information with external applications. The InTrade 5 solution is designed to address the needs of businesses trading internationally and provides them with support for multiple language, currency, tax systems, date formatting and international trade principles. ■

Berkeley squared Sleepycat Software has announced that its Berkeley DB version 3.3, together with its complete source code, is now available for download from the Sleepycat website. Version 3.3 includes offers features for high availability, along with performance enhancements, and support for Lineo’s Embedix embedded Linux operating system. Once embedded in the application, Berkeley DB needs no separate database server or administration. Features include concurrency, transactions, disaster recovery, hot backup, and other critical services. Michael Olson, vice president of marketing for Sleepycat Software, said that new features of the system were added in response to customer requests. ”Our customers have been asking for high availability features for some time now. For example, in complex systems that must be up and

operational twenty-four hours a day, seven days a week, it’s possible to have brief periods of time when there’s no spare disk space available. It’s important for key system services, like the database, to continue operating in those cases. Release 3.3 of Berkeley DB can survive these kinds of failures. We’ve also added some new performance enhancements, like support for lower isolation levels and faster data retrieval, that our customers have asked for.” Berkeley DB runs on most UNIX and Linux systems, as well as Wind River’s VxWorks, QNX’s RTOS, and Windows 95/98/NT/2000.

Info http://www.sleepycat.com ■

12 · 2001 LINUX MAGAZINE 7


NEWS

Conversion by command Command Prompt has announced the release of the latest version of its Linux-based DocParse tool for professional technical authors who maintain a large amount of HTML based documentation. DocParse can convert an HTML document into a valid DocBook XML/SGML document. From the XML or SGML format users can convert the document to XHTML, HTML, RTF(MS Word Format) or print-ready postscript. DocParse con handle the conversion of multiple documents, lists, and tables and entities. Currently the tool is only available for x86 Linux. However Command Prompt plans support for YellowDog Linux (PPC) and MacOS X in the near future.

Info http://www.commandprompt.com ■

Cyco’s fresh focus Recently downsized document management software developer Cyco Software has announced that the company is to focus on strengthening its position in the departmental and divisional CAD/engineering market. Cyco has decided to discontinue its direct business activities in the enterprise EDM market. However the company is to continue to work with its channel partners and plans to extend its global distribution network. Martijn Janmaat, chief executive of Cyco Software, said the strategy would give the company the opportunity to capitalise on its strengths and the growth potential in the generic departmental and divisional CAD/engineering market while at the same time building business opportunities in specific market segments with more specialised solutions. Cyco plans to launch new versions of its AutoManager WorkFlow and AutoManager Meridian products later this year. ■

Red Hat’s database solution Red Hat has announced its new database solution, which, says the company, fills a gap in the market between large, complex and resource-hungry enterprise databases and smaller, more affordable databases that lack the sophistication needed for handling complex Web and e-business applications. Red Hat Database is an open source database solution based on Postgre SQL 7.1 and optimised with Red Hat Linux 7.1. It supports a range of programming languages, including C/C++, PHP, Perl, Python, Tcl/Tk, Embedded SQL in C and supports core SQL 92 support, ODBC and JDBC APIs, as well as offering support for object oriented features, such as large objects, structured types and user-defined abstract data types (ADT). The solution is online-backup enabled and is designed to deliver robust transaction support for intensive computing environments and has advanced locking capabilities for maintaining the integrity of the database over the course of updates and changes.

Info www.redhat.com/databasesolution ■

Caldera releases new OpenLinux workstation. The Caldera OpenLinux Workstation 3.1 is released concurrently with Caldera’s OpenLinux Server and Open UNIX 8 products. The new version of the workstation is a self-hosted operating system built on the Linux 2.4 kernel and aimed at developers who want to build commercial, Open Source, or corporate applications for an open standard environment, including the proposed Linux Standard Base (LSB), using Java, C and C++. Drew Spencer, chief technology officer at Caldera described the new Workstation product as ”an ideal environment for developing on Linux or developing for Linux-compatible platforms such as Caldera’s Open UNIX 8”, adding, ”For the development lifecycle, it provides developers the 8 LINUX MAGAZINE 12 · 2001

necessary tools to build, test and deploy business applications in a secure, supported, and scalable server setting while developing in an easy-to-use, developer-friendly environment.” The workstation incorporates Sun Microsystems Java 2 Platform, Standard Edition J2SE Software Development Kit version 1.3, StarOffice 5.2 and Forte for Java 2.0, and JBuilder 4 Foundation from Borland.

Info http://www.caldera.com/products/workstation ■


NEWS

A kind of magic Linux customers looking for an Internet-based service desk solution may be interested in a new offering developed by Magic Solutions in partnership with National Computer Enterprises (NCE). The browser based Magic Total Service Desk (TSD) solution is designed for rapid deployment and aimed at users running the Oracle database on a Linux platform. Magic TSD features remote control capabilities and enterprise-level support management integrated with desktop, network and event management tools. The solution’s functionality covers business automation, purchasing and customisation tools. The software is geared to enabling users to manage their service desk from any location while serving as a platform for the development of such Web-based applications as

purchase requisition tracking, insurance policy tracking, online employment application and software defect logging. Chuck Clements, president of NCE, commented, ”Now that Magic is running on both Linux and UNIX, enterprises using these platforms will benefit from the improved business efficiency and lowered costs that Magic provides. This is a great advantage to companies that were previously unable to merge their solution desk with their platform.”

Info www.magicsolutions.com http://www.nai.com ■

Family support Business application development solution provider Acucorp has announced that it is providing support for Linux on IBM’s eServer z900 and S/390 on its Acucorp extend 5 solution. The extend 5 family of solutions enables software developers to convert their COBOL applications for use by modern systems. extend 5 is available for a variety of platforms including Windows 9x/NT/2000, AIX, Solaris, HP/UX, DG/UX. Features include products and services for enabling Internet deployment, graphical COBOL development, data access, distributed computing and increased programmer productivity. The new Acucorp solution will enable software developers to move their ACUCOBOL-GT to Linux for eServer z900 and S/390 without the need for costly recompilation. Dr. Pamela Coker, chief executive of Acucorp said, ”Acucorp has been supporting Linux for years, so there was no question that we would support Linux for z900 and S/390We know that our worldwide customers, including more than 1,000 ISVs, as well as z900 and S/390 customers requiring a robust COBOL solution for Linux, will find substantial value in combining the strength of Acucorp’s proven technology with the Linux for S/390 operating system. This unique combination will provide customers with powerful Linux-based COBOL applications and data access solutions that are unparalleled in the industry today.”

Service included Caldera has released two new server products designed for enabling the deployment of Linux applications on both the Linux and UNIX platforms. Caldera OpenLinux Server and Caldera Open UNIX 8 are geared towards business needs ranging from those of the low-end server to the high-end data centre. Open UNIX 8 is a deployment platform for industry standard Intel processor systems. Evolved from Caldera’s acquisition SCO UNIXware, it incorporates the Linux Kernel Personality (LKP) technology, enabling users to run Linux applications and UNIX applications simultaneously. Aimed at users engaged in building Internet-enabled business solutions, OpenLinux server is based on the Linux 2.4 kernel has an integrated Linux operating system. The software comes with default configurations for secure Web, file and print and network infrastructure servers. Management tools include the Webmin secure browser-based management capability, Caldera’s Volution agent for simplified configuration and management of Linux systems, and the Volution Online browser-based decision tool and update service for the deployment and analysis of software updates. Caldera chief executive Ransom Love said, ”Caldera’s release of these products demonstrates our desire to lift the strengths of Linux and incorporate them with the many well-known strengths of UNIX. With Open UNIX 8 and OpenLinux Server, Caldera provides the best in UNIX and Linux deployment. The result is cost savings, stability and an extremely scalable application environment.”

Info http://www.acucorp.com/Services/evalform.html

Info http://www.caldera.com/

■ ■ 12 · 2001 LINUX MAGAZINE 9


NEWS

OpenOne delivers new mail server

Scyld: the next generation

OpenOne Corporation has announced the new version of its MailOne Internet standards-based enterprise email server for the Linux and UNIX operating systems. MailOne version 3.2 is now available and adds support for IMAP standard email clients to its existing support for POP-based email clients such as Outlook Express, Internet Explorer, Netscape Communicator and Eudora, as well as Microsoft Exchange, TeamLinks, an X-Windows Motif and LessTif user agents and command line interface. MailOne is a re-engineered version of Digital Equipment Corporation’s MailWorks for UNIX, an open messaging system, which exchanges messages using a range of industry standard messaging protocols including Sendmail and commercial SMTP/MIME message transports, as well as the option to handle X.400 protocols.

Scyld Computing has released the latest version of its next generation cluster operating system software. Scyld Beowulf Professional Edition is a scalable solution designed to simplify cluster setup, integration and administration. The new version simplifies traditional Beowulf clusters by initiating and administering operations performed on the linked cluster nodes through a single master node. The Single System Image (SSI) design makes the cluster behave as if it were a single computer. Donald Becker, Scyld chief technology officer, said, ”Our mission at Scyld is to create software that will bring cost effective, easily managed, highperformance computing to the commercial marketplace. The new features in this release add significantly to our existing standard upon which high performance cluster applications have been developed. This new release will further stimulate deployment of turn-key commercial applications”. ■

Info www.openone.com

RAD tool

Embedded Linux software and tools developer RidgeRun has released its Board Support Package (BSP) for the Texas Instruments TMS320DSC21 digital signal processor. The new solution aims to speed up development cycles by enabling embedded system developers to build an embedded product quickly, start writing applications before hardware is available, access royalty-free Open Source code, and use DSPs without the need for expertise in DSP algorithm development. RidgeRun DSC21 BSP offers a compiler, assembler, debugger, linker, Standard C library and utility programs for software development. In addition to providing the Open Source Linux Kernel optimised for the TI TMS320DSC21 processor, the BSP provides drivers for system-on-chip peripherals including on-screen display, UART, compact flash and USB. An Appliance Simulator enables developers to build, implement and test products for hardware which may not be readily available, by enabling them to run their software on a simulation of the required hardware using the same cross-compile tools as they would use on the real target.

Cape Clear Software has announced that the beta version of its CapeStudio Web Services Rapid Application Development (RAD) tool is now available for download from its website. The CapeStudio Web services development environment works with Web Services platform based on XML, SOAP, WSDL, and Universal Description, Discovery and Integration (UDDI) industry standards. It can be used to generate code sutomatically for Java or Visual Basic from Web Services Description Language (WSDL) files, which describe the interfaces to Web services. The solution works with Cape Clear’s CapeConnect Web Services platform to form Cape’s end-to-end design-to-deployment solution for Web services. John Maughan, CapeStudio product manager at Cape Clear Software commented, ”CapeStudio brings a new level of ease-of-use to Web Services, automating much of the code generation and opening Web Services to a whole new range of developers and business analysts. Web Services have succeeded in delivering cross-platform integration across the Internet, but unless the development and deployment of Web Services is made widely accessible its success will be hampered – CapeStudio provides that access.”

Info

Info

www.ridgerun.com

http://www.capeclear.com

RidgeRunning Texas support

10 LINUX MAGAZINE 12 · 2001


NEWS

SuSE and Heroix solution

Systems management software developer Heroix has announced a new partnership relationship with SuSE Linux which will deliver a systems monitoring management solution for Linux servers. Under the terms of the partnership, Heroix’s eQ systems management software has been integrated into the new release of SuSE Linux 7.2 Professional. The software enables monitoring of system level information by carrying out tests on a number of

Interconnectivity A coalition of high-tech industry leaders have formed a nonprofit corporation to support the future development and adoption of AMD’s HyperTransport I/O Link specification. The HyperTransport Technology Consortium, consists of API NetWorks, Apple, Cisco Systems, NVIDIA, PMC-Sierra, Sun Microsystems, and Transmeta. HyperTransport interconnect technology is a high-speed, high-performance, point-to-point link for integrated circuits, developed to deliver faster communication speeds between chips in of highperformance computer, networking and communications devices. With a bandwidth of 12.8GB per second, HyperTransport is designed to work with bus standards such as Peripheral Component Interconnect (PCI), as well as emerging technologies like InfiniBand and 10Gb Ethernet. Gabriele Sartori, president of the HyperTransport Technology Consortium explained that the consortium represented the commitment of its members to develop industry-wide adoption of HyperTransport technology, and to drive the technology into the market. He added, ”HyperTransport technology is a popular new chipto-chip communications technology that is endorsed by major industry players. It is designed to provide a smooth transition from existing technologies and to support the necessary scalability and bandwidth for future product innovations.” ■

key system issues and notifying the user in real time of potential problem areas. Frank Puranik, Global Technical Director for Heroix said, ”The off-the-shelf nature of the Heroix/SuSE integration will let users easily implement a monitoring solution that will return value in a very short period of time. We are very excited about the Heroix/SuSE integration, and with Linux being billed as the operating system of the future it’s imperative that improving availability of critical systems on the Linux platform is an essential part of this.” Dirk Hohndel, chief technology officer for SuSE Linux AG, said that the integration of Heroix Monitoring Management Solutions demonstrated the relevance of Linux for enterprise customers. He added, ”We are proud to make these comprehensive tools available to our customers and support Heroix in its commitment to Linux.” ■

New Perforce SCM now available Perforce Software has announced that version 2001.1 of its Software Configuration Management (SCM) solution is now available. Benefits of the new version include improved support for multiple platforms, scalability, speed, usability and simpler cross-platform development as well as a choice of both pessimistic and optimistic locking models, FTP-based check-in/check-out for nonPerforce users, and improved Python support. Additionally, the Perforce now supports WebGain’s Visual Cafe 4.2 and Perforce Windows GUI, p4win, can now be personalised by the user, so, for example a developer could add personal menu items to interface with other tools and scripts, and customise views of the Perforce database. Christopher Seiwald, president and chief technology officer at Perforce Software, said, ”This release has been built upon customer feedback and so we know that each and every improvement is relevant to developers. Perforce 2001.1 does exactly what it should, providing an environment that allows fast effective development across multiple platforms within teams of two to more than two thousand.” All Perforce users with a current support and maintenance contract are entitled to be upgraded to 2001.1 free of charge.

Info http://www.perforce.com ■

12 · 2001 LINUX MAGAZINE 11


FEATURE

RDIST

Remote Backups with Rsync and Rdist

SECURITY MIRRORING PATRICIA JUNG

You don't have to use classic data back up methods. If you're part of a local network or have an Internet connection, you could use remote back up. They're the stars of any large computing centre – the robots which equip the tape drives of commercial data storage facilities. While there's no shortage of memory space there, smaller users are still faced with probing the mass of data to be backed up and actually creating copies. But there is another principle of these central data back up systems which you shouldn't shy away from. There may be a couple of fat server computers directly attached to the storage server. If workstations in the next room, at the other end of the campus or from the client company in the city centre have to be backed up, the back up data migrate via LAN, dial-up or dedicated line into the storage system.

(http://freshmeat.net/projects/freerdist/), which can at least show last-amended data. And not very much will change in terms of functionality in future – which can certainly be an advantage. In the case of rsync (http://rsync.samba.org/rsync/) the authors are more energetic. This program has the advantage that, where files have changed, it only transfers the changes. rdist sends the complete file again. If you want to keep the transfer volume as low as possible, this is a crucial criterion for decision-making. Otherwise it really depends on your individual taste. Neither has yet been the serious target of GUI programmers, so you will still have to get to grips with the syntax, which takes some getting used to. Since we devoted a long article to rsync in Answer Girl (Linux Magazine issue 9, p. 84 ff), we will now cover the alternative product.

Remote distribution Data vehicles The key phrase here is remote backup, and this can be done even when one has a small LAN or sufficient space on another computer on the Internet. The only requirement is that there is server software running on the backup computer which allows log ons from remote computers. Nowadays this will be a secure shell server (sshd). On some machines, you will also still find Remote-Shell-Daemons rshd, but since this means the data is transferred unencrypted, this should only be considered in a well-secured LAN, in which all users are trustworthy. To mirror the data (where synchronous copies of original data are made on separate media) there are two possible programs: rdist and rsync. The original rdist is no longer being actively developed, but there are still projects such as freerdist 54 LINUX MAGAZINE 12 ¡ 2001

Before you can configure the data mirroring, it is worthwhile making sure that rdist is installed not only on the system with the data to be backed up, but also on the destination system. The rdist client may not necessarily be installed, but the rdist daemon rdistd must, because this is called on when it comes to data comparison. If rdistd is not on the search path to the destination account, it is best to note down where it is. On the computer with the data to be duplicated, you must take the rdist client by the hand. In the first instance, this will only know the Path to the secure shell client ssh and perhaps the name and path of its configuration file: /tmp$ rdist -P 'which ssh' -f ~/distfile If the rdistd cannot be found on the destination system without precise path specification, there is


RDIST

still the option -p /path/to/backupcomputers/rdistd. If there is a file named distfile or Distfile in the current directory, the -f option can also be left out: ~$ rdist -P /usr/bin/ssh But this file is not to be sniffed at, since it contains all the details on what, how and to where it is to be duplicated. Several entries are possible here, so that different copy rules can be specified for various directories. If you like, you can back up the data for your thesis on a uni account, while love letters would be better backed up on the second computer in the home LAN. Each entry begins with a name for the following rule and a colon. The former can be anything you like, but can only be one word without a space. Then comes the specification of what is to be copied. This can be directories or just individual files. If there are several specifications separated by colons, everything must be enclosed in a pair of round brackets. Next comes a stylised arrow, ->, pointing to the address of the destination computer. If you have a different username on the other system, this is written in front, as with an email address. In that case, a @ separates user name and host name. Thus, a distfile with the following content ... private: ( ~/.netscape/bookmarks.html \ ~/private \ ~/letters ) -> trish@192.168.1.249 thesis: /home/trish/thesis -> lillegroenn.trU ish.de ... is saying that the directories ~/private and ~/letters together with the Netscape bookmarks should land in the account of trish on the computer with the IP address 192.168.1.249, while the directory /home/trish/thesis with all its subdirectories, should be shovelled onto the computer lillegroenn.trish.de.

Destination anywhere? What's missing now is the Where To on the destination computers. This is specified with install:

FEATURE

ensures that tmp directories, but also files such as wtmp or chapter1.tmp are not backed up at the same time. One can specify several patterns in round brackets, and regular expressions can be used to a certain degree. So except_pat ( \\.tgz\$ [Tt][mM][pP] ); ensures that all files ending in .tgz (\$ stands for the end of the file name) and all files/directories with tmp in any combination of upper and lower case letters are excluded from the backup. Since the dot is meant, not as a regular expression for any symbol, but as a dot, there must be a \ in front, and as this, too, is a special symbol, another backslash is placed in front of that. The command notify pjung@linux-magazine.co.uk; in turn ensures that pjung@linux-magazine.co.uk receives an e-mail, in which rdist reports on the work performed. Equipped with all these options, distfile then looks e.g. as in Listing 1. Comments are – as usual in the shell – preceded by a #.

Doppelgängers Provided you leave the back up space in peace, everything is hunky-dory. Nevertheless, now and then you change one file or another and do not want the back up to ruthlessly overwrite these changes. To inspire in rdist a little consideration at this point for files which are newer on the destination system than on the source computer, the quick and easy option -o younger is added to the rdist call up. And a contrary approach is also possible: If you want to ruthlessly destroy everything on the back up system which does not exist on the original system, specify the option -o remove on the command line. Of course, that does not bring us to the furthest limit of fine tuning. The rdist man page can become your constant companion when planning a backup. ■

install /mnt/backup; ensures that the respective data lands under /mnt/backup on the destination system. If there isn't one, rdist (to be precise, the rdistd called up by it on the destination computer) also makes this directory. What matters here is the semicolon at the command end. There are a few commands such as install, which modify the action of rdist; we shall pick out two more at this point, which are of general interest with respect to backups: except_pat excludes files and directories from the backup which corresponds to the pattern specified. except_pat tmp;

Listing 1: Example of an rdist distfile private: ( ~/private ~/letters ) -> trish@192.168.1.249 install /mnt/backup/private; except_pat tmp; thesis: /home/trish/thesis -> lillegroenn.trish.de install ~/backup; except_pat ( \\.tgz\$ [Tt][mM][pP] ); notify pjung@linux-magazine.co.uk; # Copy the Netscape bookmarks on the spot bookmarks: ~/.netscape/bookmarks.html -> lillegroenn.trish.de install ~/.netscape/bookmarks.html;

12 · 2001 LINUX MAGAZINE 55


COVER FEATURE

TEST DISTRIBUTIONS

Ten distributions in a lab test

APPLIED ALCHEMY PATRICIA JUNG, THOMAS DRILLING, ULRICH WOLF, MIRKO DÖLLE, JAN KLEINERT

Most Linux Magazine readers will get themselves a new distribution about once a year. Now's a

The candidates SuSE Linux 7.2 http://www.suse.de/uk/ Personal Edition £29 Professional Edition £49, Update £27

good time to do it as all the main distributions have just come out.

Red Hat Linux 7.1 http://www.redhat.com Deluxe Edition £71 Professional Edition £177 Linux-Mandrake 8.0 http://www.linux-mandrake.com Power Pack £56 Pro Suite Edition £136 Caldera Open Linux http://www.caldera.com Workstation 3.1 60/100 $US (without/with support) Server 3.1 600/800 $US (without/with support) Progeny Debian 1.0 http://www.progeny.com £44

14 LINUX MAGAZINE 12 · 2001


TEST DISTRIBUTIONS

This is the right moment for a distribution test; on the one hand the 2.4 kernel is still nice and fresh, but on the other hand, it has been hanging around long enough to be suitable for productive systems. Also, Xfree86 4.0 and KDE 2.1 have made their names as standards. In February SuSE had already presented its Linux 7.1, based on kernel 2.4.0. But the reviews were somewhat mixed (Linux Magazine Issue 9). Now the German developers have souped up version 7.2. The competition is not sleeping. Red Hat Linux 7.1, Linux-Mandrake 8.0 and Caldera Open Linux have also just come out. The testers did a top-to-toe examination of all four distributions for each Standard and Professional variant. The test field is completed by the Debian-derivative Progeny, a

COVER FEATURE

commercial development by the founder of Debian, Ian Murdock. The concept of the test follows the idea that when choosing a suitable distribution, every user has different preferences. Hence the test is broken down into sections called Installation, Hardware, Desktop Compatibility, Server Compatibility, Security and Support, and Documentation. This makes it easier to find your own personal requirements. â–

Waiting for Woody While commercial distributors chuck a new product onto the market several times a year (which has not always been perfected but may be equipped with all the latest features), the Debian team takes a more relaxed approach to the matter. Until they are satisfied with a version, it keeps the testing label. Although Potato is constantly being updated with security patches, it contains neither a 2.4 kernel, nor XFree 4.0. There are unofficial packets available to adapt a Potato installation to Kernel 2.4 at http://www.fs.tum.de/~bunk/kernel-24.html. Anyone who really wants to keep their finger on the pulse must weigh up stability against newness and upgrade to the successor test version, Woody. It is not yet known when Potato is to be succeeded by Woody as a stable version. Commercial Debian distributors such as Progeny therefore offer rebored releases of Version 2.2. The Debian Project is not lying idle. For the recent LinuxTag meeting, Michael Bramer produced a release squeezed onto one CD containing the Potato installation system, the majority of the packets from Woody and also KDE and Gnome from the unstable version Sid. Kernel 2.4 is also included as an option, as is XFree 4.0.3. Although it is not possible to offer the range of software on one single CD, which Woody is missing when the current binary packet size is of five CDs.

This should be a 1/2 page not a third!

1/3 ad 12 ¡ 2001 LINUX MAGAZINE 15


COVER FEATURE

DISTRIBUTIONS ON TEST

INSTALLATION Linux has managed to score a good few points against Windows recently because the installation programs of most distributions have become markedly easier to use.

One collection of software intended for the mass market is now no more complicated to put onto disk than Windows 2000. But sometimes the devil is in the detail.

SuSE Linux 7.2 Professional Opinion is divided about SuSE's YaST2. As an installation tool it is now refined, easy to understand and makes an excellent case for itself. But this does not mean that it is beyond criticism. Due to the ruthless sequential processing, installation takes a very long time. This does guarantee that you can always go back to the beginning before the actual partitioning, but then the tool remembers some, but not all, of the previously made settings, which leads to some confusion. Errors in the previous version have largely disappeared, so the network configuration

Installation Language English Clarity Automatic Partitioning Other FS offered Number of standard profiles / packet groups Package manager

Hard disk capacity (MB) Graphics card correctly recognised Large Monitor DB Image Refresh Image geometry Boot manager installation Boot manager Dial-up Installation Provider-DB Mouse/wheel recognised Printer database Navigation in wizard Overall impression of installation

Assessment

SuSE Linux 7.2 Personal yes very good yes, result relatively usable, FAT32 resizing possible 1) FAT32 ReiserFS LVM, encryption possible 5/7

SuSE Linux 7.2 Professional yes very good yes, result relatively usable, FAT32 resizing possible 1) FAT32, ReiserFS,-LVM, encryption possible 5/7

Red Hat Linux 7.1 Deluxe Edition yes usable yes / result relatively usable (see text) FAT with restriction, Soft-RAID with Ext2 4 / 3 to 8

Red Hat Linux 7.1 Professional Edition yes usable yes / result relatively usable (see text) FAT with restriction, Soft-RAID with Ext2 4 / 3 to 8

organised hierarchically, searchby packet name possible 1500 yes, but 3D-acceleration cannot be activated yes optimal optimal automatic and manual, Win98 partition recognised Lilo 21.6 Modem, ISDN, ADSL yes yes / no yes, printer autom. recognised, test image printout serial and forwards / backwards Consistent, easy to understand, clearly described. Apart from the LVM configuration, exemplary. ++

organised hierarchically, search by packet name possible 1500 yes, but 3D-acceleration cannot be activated yes optimal optimal automatic and manual, Win 98 partition not recognised Lilo 21.6 Modem, ISDN, ADSL yes yes / no yes, printer autom. recognised, test image printout serial and forwards / backwards Consistent, easy to understand, clearly described.

organised hierarchically, search by packet name does not work, only for CD 1+2 1200 yes

organised hierarchically, search by packet name does not work, only for CD 1+2 1200 yes

yes optimal optimal 2) fully automatic, can be adapted to user-defined inst. Lilo 21.4 no no yes / no add-on only, then driver DB in Linuxconf serial and forwards / backwards Usable, but a few bugs and language confusion, difficult to install additional CDs. -

yes optimal optimal 2) fully automatic, can be adapted to user-defined inst. Lilo 21.4 no no yes / no add-on only, then driver DB in Linuxconf serial and forwards / backwards Usable, but a few bugs and language confusion, difficult to install additional CDs. (DVD: see Text) -

++

1) Bug: With automatic partitioning an existing Windows partition must be reduced, although there are deletable partitions.

16 LINUX MAGAZINE 12 路 2001


DISTRIBUTIONS ON TEST

functions perfectly, unlike the SuSE-7.1 YaST2. The bugs which have not been removed included an insistence on wanting to reduce an existing Windows partition even when other partitions have to be deleted to make space. SuSE offers to encrypt file systems of any kind whatsoever on installation. You then need a password for mounting. Logic volumes can also be defined at the time of installation. A Yast module for run-time configuration should soon be issued as an online update. Gnome fans will not get their money's worth with a standard installation, but they will from the extended packet selection. Missing the checkbox means you will have to install the individual packets later in YaST2 manually. Only YaST1 offers easy retro-installation of the Gnome group.

SuSE Linux 7.2 Personal SuSE Linux in the reduced Personal version offers the same installation routine as its big sister. LVM can also be installed, but the target group of the mass market product will be overtaxed by the

Mandrake Linux 8.0 Power Pack yes good yes, result usable, FAT32

COVER FEATURE

unclear user help and error messages such as "The entry is invalid. You must enter a value between 1M and 0MB. e.g. 40M 1 G...".

Red Hat Linux 7.1 Installation of Red Hat 7.1 Deluxe and Professional edition are the same, because the first eight CDs of both variants are identical. The installation program has hardly changed at all compared to earlier versions. Automatic partitioning is somewhat misleading. Contrary to the description "Automatic partitioning and DELETION OF DATA" only Linux partitions are removed – except in the case of server installation. But the help text on the left margin does explain this peculiarity. Since version 2.4.1 Reiser-FS has had official entry to the Linux kernel – but this has not prompted Red Hat to support this file system. In the partition program Disk Druid one still has to settle for the Ext2 or DOS file system, although you can make a software RAID system. LVM on the other hand is not offered by Red Hat.

Caldera Open Linux Workstation 3.1 yes good no resizing possible ReiserFS

Caldera Open Linux Server 3.1 yes good no

yes usable no

no

Mandrake Linux 8.0 Pro Suite yes good yes, result usable, FAT32 resizing possible no

Progeny Debian 1.0

ReiserFS

no

no / yes

no / yes

3 / yes

3 / yes

1 / yes

organised hierarchically, full text search possible

organised hierarchically, full text search possible

organised hierarchically

organised hierarchically

no

650 yes

650 yes

1600 yes

1600 yes

yes good good fully automatic, Win98 partition recognised Lilo 21.7, Grub 0.5.96.1 Modem, ISDN, ADSL yes yes / no yes

yes good good fully automatic, Win98 partition recognised Lilo 21.7, Grub 0.5.96.1 Modem, ISDN, ADSL yes yes / no yes

yes optimal optimal fully automatic, Win98 partition recognised Grub Modem no yes / yes yes

yes optimal optimal fully automatic, Win98 partition recognised Grub Modem no yes / yes yes

800 yes:Voodoo3, no: ATI Mach64 no optimal optimal manual

free

free

Installation easy, bug in the data communications installation

Installation easy, bug in the data communications installation

serial and forwards / backwards (restric.) Installation easy, a few cosmetic faults

serial and forwards / backwards (restric.) Installation easy, a few cosmetic faults

++

++

+

+

Grub 0.5.96.1 no no yes / no yes serial Appears inconsistent and half-finished, graphics card not recognised -

2) Bug: The selected resolution/colour depth cannot be tested. Instead the first setting appears.

12 · 2001 LINUX MAGAZINE 17


COVER FEATURE

DISTRIBUTIONS ON TEST

Defective DVD in Red Hat 7.1 Professional A surprise awaits owners of the first DVD pressing of the Red Hat Linux 7.1 Professional. The XFree86 Basic packet XFree86-4.0.3-5.i386.rpm contains an incorrect MD5 sum and can only be half installed. But the installation program does not notice this. When you first start the system the X11 system will not run. There are substantial libraries and modules missing. Retro-installation of the packet from CD helps only to a limited extent. But this means it was not possible for us to start a KDE session via the GDM – the interprocess communication by means of DCOP server fails. Red Hat promises to exchange any faulty DVDs.

The installer screen for Mandrake Linux has three areas. Left, the worksteps and below, the current help text. In the middle is the main selection workarea

Disk Druid has a slight tendency to inconsistencies if you trouble it a second time during installation. When installing a network card it is important to have a functioning connection to the Net and nameserver. Otherwise, if the IP address is static, the computer name is not taken on and the machine later logs on as localhost.localdomain. The installation of the X-server demands particular attention. The recognition of graphics card and monitor functioned very well in our test; but not the setting of resolution and colour depth. The installer suggests 1024x768 pixels for 16 bit. Anyone who alters the settings cannot rely on the test image. The X-server test is always done with the standard settings, thus 1024x768 pixels at 16-bit colour depth.

Linux-Mandrake 8.0 Power Pack/Pro Suite Edition Both Mandrake versions are identical (apart from the amount of support provided). The manufacturer supplies six chock-full CDs, the content of which – at least in part – is to go onto the hard disk. This runs satisfyingly smoothly due to the nicely designed graphical installation assistant DrakeX. The installation requires, with graphical user interface at least 64MByte RAM, 32MByte for text-based installation. 18 LINUX MAGAZINE 12 · 2001

DrakeX – the details of which have been improved compared to the previous version – offers a choice between two classes of installation, Recommended and Expert. The Recommended variant lives up to its name. The context-sensitive help in the installer is also new. Both types of installation use automatic hardware recognition as far as possible. New processors, such as Pentium 4, Duron and Athlon, are directly supported. During the installation, the user always knows where they're up to, because the work step which has just been performed is displayed in the left margin. You can also make items which have already been processed pop up in the left menu frame, so entries which have already been made are not lost. Selection of software is easy to understand, being grouped into Workstation, Server and Graphical user interface. The pros will surely tend towards the individual packet selection, which is also on offer. The latter is somewhat timeconsuming and nerve-racking, but the manufacturer has distributed the individual RPM packets so neatly over the CDs that you hardly need to qualify as a DJ. In addition to KDE 2.1.1 and Gnome 1.4, you can select from another nine desktops. To finish off, X11 is configured. The current release XFree86 4.03 recognises a range of new graphics chips and activates 3D acceleration. Both of the current Linux Mandrakes are wellsuited to the desktop and for server application. Even beginners will cope well with installation. But the manuals did not blow the testers' socks off. In sum, this French distribution is certainly a match for SuSE. It is highly doubtful whether the 30 days extra support justifies the considerable additional cost of £80 for the ProSuite, when you consider that the rest of the equipment is identical. MandrakeSoft is planning to revise the manuals for the Pro version.

Caldera Open Linux 3.1 workstation and server Installation of the two new Open Linux variants, as usual, runs smoothly and without any problems. Visually, next to nothing has changed by comparison with the already-dated previous version 2.4. Orgies of CD changing are something the installer need not fear. Both versions install the basic system from just one CD. After that you can log onto the system without rebooting.


DISTRIBUTIONS ON TEST

The lack of a repartitioning option for an existing MS Windows system makes it dated. Here, external tools like Partition Magic or Fips have to be used. If required, the new Caldera makes ReiserFS partitions, from which it is also possible to boot, and configures a SoftRAID system. There is, however, no LVM. Considering the quantity of data, you should completely install Open Linux. The variants Minimum, Recommended and the individual selection of packets are also available, though in the case of the latter the curious categorisation of many packets may give you a crashing headache. In the Open Linux server for example news and FTP servers are placed in the WWW category, but the nameserver BIND comes under Server -> NFS/NIS -> DHCP. The installer does not offer a search function for such cleverly hidden RPMs. The Unattended Installation Mode installation failed on all test computers due to unsuitable hardware. The warning from Caldera about problems in testing the X-server configuration should be taken seriously, or to be more precise, in returning to installation mode after a successful test. In the case of a Voodoo3 graphics card the X-server managed to get so completely hung that only a reset and restarting the complete installation helped. Since the X configuration comes at an early stage, this is something to get over. Caldera shines as a good team player in the LAN. DHCP is no problem, and in the workstation variant even CUPS is configured with the found network printers. In ergonomic terms the distribution is highly satisfactory. Clear help texts in the right-hand third of the screen accompany the installation. The actual click work is done at the beginning. The installer can then devote themselves to other tasks or enjoy the odd game of Solitaire, while the installation routines slave away behind the scenes.

COVER FEATURE

there are other problems. ReiserFS or encrypted Ext2 partitions, which have to be reformatted and used, completely flummox the program. The partitioning dialog hangs. In the case of computers that manage it in the second part of the installation, you will also be shown configuration dialogs, which can be called up later from the Gnome control centre. Once nice feature of the X configuration dialog: when selecting a monitor you can make it simple and just enter the size in inches – unfortunately 17 inches is the limit. To install KDE and other packets from the second CD, you will definitely have to look in the manual. The KO criterion is that at no point in the entire installation is there the option of configuring a keyboard layout which varies from the American style. ■

The well thought out Caldera installation program lets you choose which type of install you require

Progeny: Mail and printer are configured in the installer or in the Gnome control centre

Progeny Debian 1.0 Debian may be very popular for its excellent update systems and its stability, but we're reluctant to talk about the installation routine. Progeny Debian, the commercial distribution of the Debian founder Ian Murdock, made its debut on the website claiming to be a distribution based on Debian 2.2 with "simple graphical installation, hardware recognition and improved configuration and management tools". It has to be said that it does not live up to this claim. So an ATI-Mach64 graphics card was certainly recognised by the first, graphical part of the installation routine. Once this has installed and booted the basic system, it runs round in circles. Without a Mach64 server (the card is not supported by the SVGA server), there is no getting past this point. Even if you overlook the fact that the graphical installer for the basic installation is rudimentary, 12 · 2001 LINUX MAGAZINE 19


COVER FEATURE

DISTRIBUTIONS ON TEST

DESKTOP COMPATIBILITY Success on the desktop depends on the delivery of a well-crafted product. Mandrake and SuSE lead the field – but Caldera is catching up fast.

SuSE Linux 7.2 Professional and Personal No sooner has YaST2 matured than SuSE users, with the SuSEWizard, get access to a new, at first fairly poorly equipped and ergonomically unrefined, tool whose growth and progress you will presumably be able to observe through the next versions. Essentially, at present, this can be used to turn the SuSE configuration of KDE into a standard KDE configuration. The new SuSEWizard allows easy choice on how to start the system. Also new is the euro symbol support into diverse applications such as the console, Netscape and Star Office from the key combination AltGr (right Alt) +4. Workstation suitability SuSE Linux 7.2 Personal Integration very good, but faulty in operation SaX2

SuSE Linux 7.2 Professional Integration very good, but faulty in operation SaX2

Red Hat Linux 7.1 Deluxe Edition unusable (1)

Red Hat Linux 7.1 Professional Edition unusable (1)

Xf86xfg, Xconfigurator

Xf86xfg, Xconfigurator

Logical Volume Manager Problem-free change between Gnome/KDE

good not automatic no Automount, icons present on installation Menus of KDE integrated into Gnome, but not vice versa

good no no Automount, icons present yes KDE only

unusable (2) no Automount: yes / icons: yes (security loophole) (3) no yes

unusable (2) no Automount: yes / icons: yes (security loophole) (3) no yes

Menu/Desktop layout

KDE: good, Gnome: usable

KDE: good, Gnome: usable

Language support (system) Antialiasing (X11) Antialiasing (KDE) Euro symbol support

usable no yes Terminal and Office

Gnome: poor (fonts too small) / KDE: good poor no no no

Sound

usable no yes Console, Xterm, KDE, SOffice, Netscape Alsa and OSS

Gnome: poor (fonts too small) / KDE: good poor no no no

Alsa and OSS

Assessment

+

+

neither RPM package alsa nor oss found -

neither RPM package alsa nor oss found -

Integration of the config-tools X-Server Standard tool Network configuration Server services recognition Automount

22 LINUX MAGAZINE 12 ¡ 2001


DISTRIBUTIONS ON TEST

Because of the excellent selection of software and tidied-up KDE configuration, SuSE Linux is an ideal candidate as a desktop distribution. Unfortunately the menu of an installed Gnome desktop does not appear in the KDE menu; only individual applications can be found. Perfect example of a workstation: Apart from sshd no Internet servers whatsoever run after the installation.

COVER FEATURE

Red Hat 7.1 When Red Hat 7.1 is implemented on workstations, a few annoying problems are to be expected. To adapt the installation and to set up Internet access, printer and a lot more besides, Red Hat attaches crucial importance to linuxconf - but installs it neither in the workstation nor the server installation, although the icons are in the control The standard SuSE desktop running KDE 2-1.2

Mandrake Linux 8.0 Power Pack complete for workstation, network separate Hard Drake

Mandrake Linux 8.0 Pro Suite complete for workstation, network separate Hard Drake

Caldera Open Linux Workstation 3.1 useful for initial configuration Kxconfig

Caldera Open Linux Server 3.1 useful for initial configuration Kxconfig

Progeny Debian 1.0

usable yes / yes yes, with icons

usable yes/yes yes, with icons

good very good yes, with icons

good very good yes, with icons

yes yes

yes yes

no KDE only

no not applicable

good

good

good

good

Configlet for Gnome Control Center usable for a network card with DHCP yes, only on Gnome desktop no Change possible, but no integration of the Gnome menus into the K menu usable

good yes yes -

good yes yes -

good no no no

good no no no

poor no no no

Alsa

Alsa

OSS

OSS

Alsa and OSS

++

++

o

o

-

incomplete

+

12 路 2001 LINUX MAGAZINE 23


COVER FEATURE

DISTRIBUTIONS ON TEST

[right] SuSE running the Gnome 1.4 desktop [below] Red Hat screen colour correction is easily handled in Gnome with lmlib

searching via rpmfind.net are the only things that will help.

Mandrake 8.0 Power Pack The individual configuration tools for systemrelevant settings have been combined into the Mandrake Control Center. But this is not an allrounder – important network tools are lacking. It is easy to use and intuitive for beginners and at many points a wealth of English help texts is offered for beginners and occasional users. Pros will prefer to potter about on the terminal or call up the relevant KDE or X tools direct. For a major release, and in view of the newness of individual components, Mandrake 8.0 displays amazing stability, with only a few weaknesses in the total configuration and detail co-ordination. panel. The system is thus almost impossible to administer; linuxconf must be installed by hand. After installation the fixed width font in the Gnome favoured by Red Hat is set to Courier in eight-point font size and is therefore almost unreadable. A later package installation – at least in the case of the inventor of the Red Hat Package Manager (RPM) – does not bring any credit, because the only way to proceed is manually. The user even has to find out for themselves which one of the ten CDs contains the library libSDL_mixer.1.0.so, in order to be able to install Tuxracer. There are no file lists in the distribution. Because the search does not work in Gno-RPM, and KPackage only forages for the package name through one CD at a time, grepping all the CDs or 24 LINUX MAGAZINE 12 · 2001

Caldera Open Linux 3.1 Workstation and Server For KDE/Qt developers and also for many typical office tasks, Caldera is a good choice because of its packages. It’s a shame that for these very target groups they have left out easy-on-the-eye antialiasing of the fonts. Nor should users be expected to configure a great deal of the system themselves. The system management tools integrated in the KDE control centre certainly invite you to do so, but all too often you stumble across nasty surprises. Just one example: On a PC with ATI-Mach64 card we changed the screen resolution, logged off and restarted the X server – unsuccessfully! By changing


DISTRIBUTIONS ON TEST

the run level we got stuck in a closed loop. The cause was an empty string in the driver entry in the /etc/X11/XF86Config-4. The only way out was to edit the file manually. The normal user doesn’t stand a chance with problems like this. In network operation a dcopserver, which was not running prevented this as NIS-user under KDE. But with Caldera, anyone for whom the aged version numbers doesn’t matter, will get a comparatively cleanly configured Linux, despite the occasional problems.

Caldera Open Linux 3.1: Conclusion Caldera Open Linux 3.1, like its predecessor, is aimed at companies. You will not find the distribution on retail sale. Workstation and server variants do not glitter with opulent software packages and innovations, but apart from a few bugs, they are solidly built. The strength of Caldera has always lain in network operations, in fact Open Linux, of all the products tested, made the strongest showing.

Progeny 1.0 For advanced users, who have Gnome down as a desktop environment and would like to familiarise

COVER FEATURE

themselves with Debian, Progeny Debian is ideally suited as a desktop computer. Since the Progeny CD images can be downloaded free at http://archive.progeny.com/progeny/iso/, one or two Debian users will definitely fall back on Progeny for their new installations, because despite all the inaccessibilities, the Progeny installer speeds up a Debian installation enormously. Those migrating from Windows might find the distribution a rather frustrating first experience of Linux. Newbies would be better starting off with other products. KDE lovers must be easily satisfied. In the Kmenu there are no entries for the configuration capplets accommodated in the Gnome control centre, and not without reason – outside Gnome they do not run at all, even when gnomecc is started manually. Without Star Office, the only choice for office tasks is Tex/ Latex, Abiword/Gnumeric or KOffice. Games are also rare. On the other hand there is no shortage of Web browsers (Netscape, Konqueror, Mozilla), even if Mozilla could no longer be persuaded to run after the online update. But anyone who does not connect direct via Ethernet to the Net, will have some work to do installing modem/ISDN/ADSL, which sometimes fails without additional software off the Net (warning, recursion). ■

1/2 Anzeige 128 x185 mm

12 · 2001 LINUX MAGAZINE 25


COVER FEATURE

DISTRIBUTIONS ON TEST

SERVER COMPATIBILITY Undoubtedly the most important domains of Linux at present lie in the server field. But is it possible in this day and age to build a Web, mail or Intranet server with any distribution, without headaches?

SuSE Linux 7.2 In the software pool of the SuSE Professional release you will find everything necessary to construct servers of all shapes and sizes. And less common functions such as fax servers, virus protection for email gateways and routers can also be realised. If you use the distribution to construct servers, then a lot depends, not so much on the equipment, but more on the personal preferences of the administrators, because non-SuSE users must first get used to YaST, the central configuration file rc.config and SuSEConfig. On the other hand, server planners should keep their hands off SuSE’s Personal Edition – unless downloads are free. Apart from a mail server, the trimmed-down distribution version provides next to no applications for this purpose. In the SuSE online update integrated in YaST2, with SuSE 7.2 there’s also an option of updating packages via the Net. This is possible automatically or manually. Unfortunately this only takes part of the Current server services can be installed in Red Hat 7.1 simply with their own configuration programs [right] SuSE making the editing of rc files easy [left] Current server services can be installed simply in Red Hat 7.1 with their own configuration programs

26 LINUX MAGAZINE 12 · 2001

load off the administrators, because the method using YaST2 is not suitable for script-controlled updates.

Red Hat 7.1 Professional What SuSE and other distributions include in the package price, comes at a high tarrif from Red Hat. After 90 days of free online updates for 10 computers via the Red Hat Network, this service costs almost 20 dollars per computer per month – for smaller and non-commercial server installations a KO criterion. Nevertheless Red Hat Professional provides a few interesting features especially for server installations. So the server services can be selected even during the installation. X11 is, unlike workstations, only installed on request. For nameservers, Apache and Wu-FTP there are separate configuration tools, xinetd and the utilities to be started are installed via linuxconf.

Mandrake 8.0 Power Pack/Pro Suite Edition Even if there aren’t any help texts available for all subdomains, with Mandrake there are special configuration tools to facilitate the initial configuration of server services. So a tool for configuring the Apache server can be called up easily from the K menu under Settings/Network/ Netconf. It has a modular structure and offers a wide variety of options, such as speed, which can be optimised or the security settings configured for HTTP-SSL. Furthermore, the K menu offers a menu on NFS, in which only the directory permissions can be defined. For more extensive settings Webmin may be more suitable. To install the FTP server, the administrator can fall back on ftpconfig. This manages users and groups, gives directory permissions or performs security and protocol settings. Anyone wanting to use Mandrake and set up an individual Linux-based server, must keep well away from a standard installation, because there the installer makes use of the first hard disk found and merely makes reference to the presence of


DISTRIBUTIONS ON TEST

COVER FEATURE

The Apache configuration tool in the guise of Mandrake

additional disks. Plus, the separate partitions usual to servers for /tmp and /var are not provided, so that a would-be server administrator will have to perform the partitioning by hand. By default, Mandrake 8 installs Samba and a LAMP system (Apache, MySQL plus PHP) when you select the server package grouping. There is no difference in the two Mandrake editions in terms of software, so that they are in theory equally suitable for server use. But there are differences when it comes to support. Where SuSE in the Professional Edition offers only installation support, and expressly excludes server support, the latter is fully guaranteed in the Mandrake Pro Suite. This means that system administrators who face problems in the initial phase are not left to their own devices and don’t have to fall back on support for which they’re charged.

Caldera Open Linux Server 3.1 The OpenLinux server can be defined during installation for its later purpose, for example as a file, print or Web server. During operational use, Webmin considerably alleviates configuration and fine-tuning, but inexperienced administrators can be seduced into a lot of aimless clicking around. Unfortunately the software which comes with it is often not quite up to date, so Samba 2.2 would certainly have been an advantage for heterogeneous environments. Anyone who wants to get to grips with OpenLinux mail or list servers should already have knowledge of Sendmail and Majordomo. Caldera does not come with any alternative servers. On the other hand it is gratifying to see ready-installed security tools like Tripwire.

Progeny Debian 1.0 Because of its smooth update mechanism and its stability, Debian GNU/Linux is very popular as a server operating system. Progeny can considerably accelerate the initial installation here — provided the administrator is fairly familiar with Debian or Linux without distribution-specific configuration aids.

Progeny is highly suitable as a starting point for a small server, although administrators will have to install some hand tools later. For bigger servers you would still fall back on the large store of Debian

[right] Setting up the base Apache configuration in Mandrake [left] Old acquaintance in new clothes: gnome-dpkg-config in Progeny

SuSE Linux 7.2: Conclusion Despite all criticism, we can attest to the fact that the latest SuSE distribution beats the other candidates in terms of compatibility and tidy structure. The fact that diverse design decisions are a matter of taste is old hat and will continue to ensure that the distribution will be the subject of controversial discussion among Linux connoisseurs. Both the tasks of the distribution are clearly oriented towards target groups. Anyone who only needs Linux for their desktop, can do very well without diverse servers and is best served with the Personal Edition. The Professional release on the other hand is aimed at experienced Linuxers and administrators. The justifiable price differential for the Personal Edition may pain home users, but with a few extra downloads even the latter can be built up into a server for special purposes.

12 · 2001 LINUX MAGAZINE 27


COVER FEATURE

DISTRIBUTIONS ON TEST

packages available on the Net and adjust them here and there by hand. System administrators who have to look after computer pools will value the automatic installation of several computers, based on a Progeny system. Here it makes even less work to equip the desktops with KDE, since in this case users will have to do without the Progeny configuration tools anyway. Server suitability Basic equipment with current servers SecureShell Configuration during the installation? Automatically started after installation? Configuration front-end Nameserver Configuration during the installation? Automatically started after installation? Configuration front-end Webserver Configuration during the installation? Automatically started after installation? Configuration front-end Mailserver Configuration during the installation? Automatically started after installation? Configuration front-end FTP server Configuration during the installation? Automatically started after installation? Configuration front-end Database Configuration during the installation? Automatically started after installation? Configuration front-end Dhcpd Configuration during the installation? Automatically started after installation? Configuration front-end Samba Configuration during the installation? Automatically started after installation? Configuration front-end Printserver Configuration during the installation? Automatically started after installation? Configuration front-end Inetd Configuration during the installation? Automatically started after installation? Configuration front-end Also automatically started, fairly unusual servers RunlevelConfigurator Inittyp Configuration of several network interf. LVM support Monitoring tools

Spoilt for choice With the diversification of the range of distributions available the would-be administrator can’t rely on current server software being an integral part of every Linux distribution. Even in those distribution variants intended more for the mass market the accoutrements differ. Experienced administrators

SuSE Linux 7.2 Personal

SuSE Linux 7.2 Professional

Red Hat Linux 7.1 Deluxe Edition

Red Hat Linux 7.1 Professional Edition

OpenSSH 2.9 Yes Yes Apache 1.3.19 Not installed Sendmail 8.11.3 No

Lprold 3.0.48 Yes Yes YaST2 inetd 1.2 No No YaST2 -

OpenSSH 2.9 Yes Yes bind 9.1.2 Not installed Apache 1.3.19 Not installed Sendmail 8.11.3 Yes No YaST2 BSD-ftpd 0.3.2 No No (inetd not started) MySQL 3.23.37, PostgreSQL 7.0.3 Not installed dhcp 3.0rc4 Not installed Samba 2.2.0 Not installed Lprold 3.0.48 Yes Yes YaST2 inetd 1.2 No No YaST2 nscd

OpenSSH 2.5.2 Yes Yes bind 9.1.0 No No bindconf Apache 1.3.19 No No apacheconf Sendmail 8.11.2 Automatic No wu-ftpd 2.6.1 No No linuxconf MySQL 3.23.36, PostgreSQL 7.0.3 Not installed dhcp 1.3.18pl18 Not installed Samba 2.0.7 Automatic No LPRng 3.7.4 No No printer-config xinetd 2.1.8.9pre14 Yes Yes linuxconf -

OpenSSH 2.5.2 Yes Yes bind 9.1.0 No No bindconf Apache 1.3.19 No No apacheconf Sendmail 8.11.2 Automatic Yes wu-ftpd 2.6.1 No No linuxconf MySQL 3.23.36, PostgreSQL 7.0.3 Not installed dhcp 1.3.18pl18 Not installed Samba 2.0.7 Automatic No LPRng 3.7.4 No No printer-config xinetd 2.1.8.9pre14 Yes Yes linuxconf -

SysV YaST2 Yes tcpdump, traceroute

SysV YaST2 Yes mrtg, tcpdump, traceroute etc.

Control-Panel SysV Control panel No traceroute, tcpdump

Control-Panel SysV Control panel No traceroute, tcpdump

YaST2 -

28 LINUX MAGAZINE 12 · 2001


DISTRIBUTIONS ON TEST

will find the small Mandrake release sufficient, but not the SuSE Personal. Newbies in the field of Linux system administration will appreciate it when they can make basic adjustments to current servers as in the case of Red Hat and Mandrake in graphical configuration tools. This is where Mandrake sets an example, too, as in the Pro Suite, support for server

COVER FEATURE

installations is explicitly included in the package price. Software updates by Cronjob continue to be the domain of Debian and Co., but apart from that, the decision for or against a distribution always depends on the personal preferences of the system administrator. For this reason the table does not include any rating. ■

Mandrake Linux 8.0 Power Pack

Mandrake Linux 8.0 Pro Suite

Caldera Open Linux Workstation 3.1

Caldera Open Linux Server 3.1

Progeny Debian 1.0

OpenSSH 2.5.2 Yes Yes bind 9.1.1 No No linuxconf, netconf Apache 1.3.19 Yes Yes linuxconf, netconf Postfix 20010228 No Yes linuxconf, netconf ProFTPD 1.2.2 No Yes linuxconf, netconf MySQL 3.23.36

OpenSSH 2.5.2 Yes Yes bind 9.1.1 No No linuxconf, netconf Apache 1.3.19 Yes Yes linuxconf, netconf Postfix 20010228 No Yes linuxconf, netconf ProFTPD 1.2.2 No Yes linuxconf, netconf MySQL 3.23.36

OpenSSH 2.5.2 Yes Yes bind 8.2.3 No No No Apache 1.3.19 No No webmin Sendmail 8.11.1 No Yes MySQL 3.23

OpenSSH 2.5.2 Yes Yes bind 8.2.3 No No No Apache 1.3.19 No No webmin Sendmail 8.11.1 No No wu-ftpd MySQL 3.23

OpenSSH 2.5.1 Yes No bind 8.2.3 Incomplete On request Apache 1.3.9 Yes Yes Postfix 2000531 Yes (simple config.) No Yes Capplet in the Gnome-CC BSD-ftpd 0.3.2 Yes On request Gnome-dpkg-reconf -

No Yes linuxconf, netconf dhcp 2.0 No Yes linuxconf, netconf Samba 2.0.7 No No linuxconf, netconf CUPS 1.1.6 Yes Yes kups, kprint (Qt-cups) xinetd 2.1.8.9 Yes Yes linuxconf, netconf Cups, qt-print, linuxconf, webmin, kuduzu Mandrake-CC SysV linuxconf, netconf Yes traceroute etc.

No Yes linuxconf, netconf dhcp 2.0 No Yes linuxconf, netconf Samba 2.0.7 No No linuxconf, netconf CUPS 1.1.6 Yes Yes kups, kprint (Qt-cups) xinetd 2.1.8.9 Yes Yes linuxconf, netconf Cups, qt-print, linuxconf, webmin, kuduzu Mandrake-CC SysV linuxconf, netconf Yes traceroute etc.

No No kmysql, webmin Samba 2.08 No No webmin CUPS 1.1.6 Yes Yes kups Netkit-inetd 0.17 No Yes webmin calserver, slpd

No No kmysql, webmin dhcp-server 3.0b2pl9 No Samba 2.08 No No webmin CUPS 1.1.6 Yes Yes kups Netkit-inetd 0.17 No Yes webmin calserver, slpd

dhcpd 2.0pl5 No No Samba 2.0.7 No No gnosamba LPRng 3.6.26 Yes Yes Capplet i. Gnome-CC Netkit-inetd 0.10 Yes Yes ntpd

SysV K-Centre/kcmshell No traceroute, tcpdump

SysV K-Centre/kcmshell No traceroute, tcpdump

SysV No traceroute

12 · 2001 LINUX MAGAZINE 29


COVER FEATURE

DISTRIBUTIONS ON TEST

SECURITY If you acquire a current Linux distribution, you will rightly expect it to have the latest software. We’ve taken a look at the versions of a few selected packages.

Security Up-to-dateness Auto-update? Base: Kernel

SuSE Linux 7.2 Personal

SuSE Linux 7.2 Professional

Red Hat Linux 7.1 Deluxe Edition

yes, automatic or manual selection 2.4.4

yes, manual and automatic selection 2.4.4

for a charge, choice of scope for a charge, choice of scope 2.4.2

2.4.2

2.2.2 4.0.3 2.1.1 1.4.0.1 2.95.3 5.6.0 2.0 1.1.8v1 1.3.19 2.6.0 8.11.3 2.2.0 9.1.2

2.2.2 4.0.3 2.1.1 1.2.4 2.96 5.6.0 1.5.2 ? 1.3.19 2.6.1 8.11.2 2.0.7 9.1.0

2.2.2 4.0.3 2.1.1 1.2.4 2.96 5.6.0 1.5.2 ? 1.3.19 2.6.1 8.11.2 2.0.7 9.1.0

No / 29.05. No / 19.04. No / No / 09.04. No / 17.05. -/-

No / 21.05. No / 08.05. yes / 14.05. No / 08.04. No / 16.04. No / 31.01.

No / 21.05. No / 08.05. yes / 14.05 No / 08.04. No / 16.04. No / 29.01.

4 Sample configuration No Saint, Nessus, Nmap Snort, Tripwire, AIDE FreeSWAN Crypro-FS, Amavis, Kerberos ++

3 Gui-Tool rpc.statd none Tripwire No Kerberos +

3 Gui-Tool rpc.statd none Tripwire No Kerberos +

Base: Glibc 2.2.2 Base: X11 4.0.3 Base: KDE 2.1.1 Base: Gnome 1.4.0.1 Programming: gcc 2.95.3 Programming: lPer 5.6.0 Programming: Python 2.0 Programming: Java JDK 1.1.8 Server: Apache 1.3.19 Server: WuFTP Server: Sendmail 8.11.3 Server: Samba Server: Bind Bug found / Advisory on Man-S Heap Overflow No / 29.05. NEdit Temp File Creation -/Samba TMP Symbolic Link - / Ntpd Buffer Overflow -/Linux sysctl() Kernel Reading No / 17.05. Bind 8 Transaction Signatures Buffer Overflow Secure configuration Security profiles 4 Firewall configuration Pre-configured Unnecessary on pure client? No Security-Scanner No Intrusion Detection System No IpSEC, VPN No Other special features? Crypro file system Assessment ++

30 LINUX MAGAZINE 12 · 2001

Red Hat Linux 7.1 Professional Edition


DISTRIBUTIONS ON TEST

COVER FEATURE

The viability of programs is also closely linked with their security. If a loophole is discovered, it must be closed, and this usually happens by means of an upgrade to a new version. Our test therefore also includes six randomly selected security loopholes that cropped up in recent months. We ask whether the version in the distribution displays these loopholes and whether the manufacturer has published an advisory in this respect. We also expect a secure configuration, in which there is a choice of several security profiles, as well as support for the configuration of a firewall and a few security tools.

SuSE Linux 7.2 Personal The ultimate security measure is to have no services running and SuSE Linux 7.2 Personal achieves this with aplomb; because no services are running it is perfectly secure. It does come equipped with Sendmail and Apache but these are switched off by

default. Otherwise the trimmed down version is on a par with the Professional version.

SuSE Linux 7.2 Professional

Gnome only executes the Autorun file from the CD on Red Hat after a confirmation – but in Red Hat’s KDE installation this prompt is missing and thus opens a security loophole

The test SuSE Linux 7.2 Professional also passed our checklist of current security loopholes with flying

Mandrake Linux 8.0 Power Pack

Mandrake Linux 8.0 Pro Suite

Caldera Open Linux Workstation 3.1

Caldera Open Linux Server 3.1

Progeny Debian 1.0

Yes

Yes

Yes

Yes

Yes, but no choice

2.4.3 / 2.2.19

2.4.3 / 2.2.19

2.4.2-11

2.4.2-11

2.2.2 4.0.3 2.1.1 1.2 2.96 5.6 2.0-9 1.3 1.3.19 2.6.1 8.11.3 2.0.7 9.1.1

2.2.2 4.0.3 2.1.1 1.2 2.96 5.6 2.0-9 1.3 1.3.19 2.6.1 8.11.3 2.0.7 9.1.1

2.2.1 4.0.2 2.1 2.95.2 5.6.0 1.5.2 1.3 1.3.19 8.11.1 2.0.8 -

2.2.1 4.0.2 2.1 2.95.2 5.6.0 1.5.2 1.3 1.3.19 2.6.1 8.11.1 2.0.8 8.2.3

2.2.18 default, 2.4.2 can be installed later 2.2.1 3.3.6/4.0.2 2.0 1.2.4 2.95.2 5.005_03 1.5.2 1.3.9 Bsd-ftpd 0.3.2 postfix 2000531 2.0.7 8.2.3

No / yes / 25.04. yes / 21.05. No / No / No / 29.01.

No / yes / 25.04. yes / 21.05. No / No / yes / 29.01.

yes / yes / No / 18.05. No / 06.04. No / 03.04. yes / 29.01.

yes / yes / No / 18.05. No / 06.04. No / 03.04. No / 29.01.

No / - / 27.04. yes / 09.05. No / 09.04. yes / 16.04. No / 29.01.

6 Gui-Tool No Portsentry FreeSWAN ++

6 Gui-Tool No Portsentry FreeSWAN ++

No Webmin No none none No supports Volution 0

Server profiles Webmin No none Tripwire, Portsentry No supports Volution 0

No No No none none No +

12 · 2001 LINUX MAGAZINE 31


COVER FEATURE

DISTRIBUTIONS ON TEST

Two simple security mechanisms are provided by Mandrake for the beginner: Three complete security stages and a firewall which can be configured via simple prompts

colours. The online update makes it easier to play in security updates as soon as they appear. In SuSE’s software fund, security-conscious users can also find cryptographic solutions as well as monitoring and security tools, while the network manual offers an introduction to problems.

Red Hat 7.1 Professional and Deluxe Apart from the Samba version 2.0.7, all other system utilities are sufficiently current, so only one of our test loopholes actually exists. It is also very easy to keep the system up to date using the online update via the Red Hat Network, but at just under 20 dollars per month, this is very expensive. The firewall configuration gave a positive impression during the installation. Here the user can choose between three profiles or manually open individual utilities or ports.

Red Hat installs an auto-mounter for the local X11 user. This monitors the CD or DVD drive and mounts the media if they are in the drive when you log in or if they are inserted later. After that, autorun is searched for and prompted under Gnome as to whether it is to be executed. Under KDE there is no such prompt with Red Hat, and autorun is executed with user rights. This opens up a security loophole: The fact that CD burners and self-burned CDs are so common means a Trojan Horse or a worm could easily be introduced. The user doesn’t even have the option of checking a suspect CD safely. The problem can be corrected by removing the entry for autorun from the autostart group of KDE.

Mandrake 8.0 Power Pack/Pro Suite Edition In Mandrake the kernel is installed in version 2.4.3;

Progeny Debian 1.0: conclusion Anyone who uses Debian will soon learn what goes on behind the scenes of a Linux system. And Progeny does not change this much. Even if the installation routine, with the appropriate hardware, ensures that one can achieve a working system considerably quicker than with dpkg, one should not expect the comfort and looks of the graphical installers from other distributors. On the other hand, when it comes to the updates for Debian packages, apt-get is still unrivalled as a command line tool. The new Progeny configuration tools embedded in the Gnome Control Center ensure that even Debian newbies can soon deal with a range of standard configuration tasks, but here again other distributors are ahead in many respects. Since Progeny is a distribution tailored for the American market, installers should be familiar with the American keyboard layout.

32 LINUX MAGAZINE 12 · 2001


DISTRIBUTIONS ON TEST

but there is also the option of a kernel 2.2.19. The main new functions and modules of the 2.4.4 kernel, though, are already integrated in Mandrake in kernel 2.4.3. Samba is only installed in version 2.0.7, although for some time now a corrected version 2.0.9 together with the current 2.2.0 would have been available. And there is also room for improvement with the installed Apache version 1.3.19, as version 1.3.20 has come out. Mandrake is a bit negligent in the fact that an installed utility is basically activated automatically. There is only a brief warning message and to compliance with the security updates.

Caldera Open Linux 3.1 Workstation/Server Of the six security bugs tested, three slipped into the latest version of Caldera. By the time we closed for press there had been no advisory from Caldera on the ”Man -S Heap Overflow” for any of their Linux versions. But Caldera is using version man-1.5h1, which has the aforementioned bug. The test command then also leads to a segmentation fault: $ man -S `perl -e ‘print ”:” x 100’` ls Segmentation fault It’s a similar picture with the ”NEdit Temporary File Creation” – no advisory, but the shaky version 5.1.1. A little test shows how simple it is to exploit the loophole. User A makes a symlink in /tmp

COVER FEATURE

named ~x, which points to /home/B/target. User B then opens the file /tmp/x with nedit and changes a large amount of text, without backing up the file. Nedit now tries to create an incremental backup but unfortunately this lands in /home/B/target. The old content of target is thereby overwritten. Caldera delivers version 2.0.8 of Samba, but this does not correct the ”Samba TMP file Symbolic Link” bug. In this case there is in fact an advisory, but it did not come out until after the Creation Date of the RPM archive. We can only hope for an update soon. Calling up lsof -i shows that Caldera is very cautious with the services started. The only unusual things are the slpd (SLP Service Agent) and the calserver, part of the Cameleo package from Caldera. The server variant is equipped with additional security programs such as Tripwire.

Progeny Debian 1.0 Since Progeny is based on Debian 2.2, not all the packages out of the box are quite dew-fresh. At http://archive.progeny.com/progeny/updates/newto n/ or at the nearest Debian mirror there are always updated packages available (including for Gnome 1.4). Debian is also famous for providing security updates extremely quickly. Anyone using the graphical package manager front-end, only has the option of updating all the packages at a single stroke. An update to the 2.4 kernel, also supplied, boils down to manual work. Progeny supplies neither a selection option during the installation, nor an explicit introduction in the manual. ■

free space maybe for an ad???

12 · 2001 LINUX MAGAZINE 33


COVER FEATURE

DISTRIBUTIONS ON TEST

SUPPORT AND DOCUMENTATION A competent and easy-to-contact support department, together with up-to-date and comprehensive manuals is what makes a distribution actually usable. We evaluate each distro in terms of accessibility.

SuSE Linux 7.2 Personal

SuSE Linux 7.2 Professional

The Personal release of the SuSE distribution has no superfluous information. The manuals are harmonised according to target group and purpose. Cryptic sysadmin jargon is only dished up to the newbie in an easily digestible dose. With the 60-day installation support that can be called on via fax, telephone or email, any serious problems should be dealt with easily.

This is practically the only distribution to come with so much documentation, and refined for various levels of knowledge. The manuals - from the ”Quick Install Manual” (for visually oriented newbies) via the task oriented ”The Programs” up to the ”Network Guide” (which is specialised and also of interest to experts) - cover the entire spectrum. The fact that the SuSE developers were involved

Support and Documentation SuSE Linux 7.2 Personal Electronic. help, content very good Electronic. help, ease of use very good Online help, database very good Online help, FAQ yes Telephone support, cost Long distance Telephone support, 60 days free period Manual yes Manual, table of contents yes Manual, index yes Manual, keyword index yes Online documentation, FAQ good Assessment ++ 34 LINUX MAGAZINE 12 · 2001

SuSE Linux 7.2 Professional very good very good very good yes Long distance 90 days

Red Hat Linux 7.1 Deluxe Edition very good very good yes yes -

Red Hat Linux 7.1 Professional Edition very good very good yes yes no charge (0800/1825497) 90 days, max. 4 calls

yes yes yes yes good ++

yes yes good good yes -

yes yes good good yes o


DISTRIBUTIONS ON TEST

in the documentation work shows that within the company a high value is placed on the documentation. And the online documentation, like the support via the Web, is among the best the test field has to offer.

Red Hat 7.1 Deluxe and Professional Edition

COVER FEATURE

Both manuals fail to make a good impression. The topics dealt with are certainly clearly illustrated, but there is a marked lack of substance. And it is the system administrator who really wants more information. The lack of a keyword index is annoying. There is a great deal of room for improvement in the documentation (both printed and electronic).

Red Hat only offers support for the Deluxe variant (around £71) over the Internet. Those buying the more expensive Professional Edition get 90 days installation support via a free 0800 telephone number, but the support is limited to four telephone enquiries. By way of comparison, SuSE offers unlimited telephone support for all variants. The manual for configuring the Professional Edition also contains a few inaccuracies. Time and again non-existent menus, or entries with inconsistent names or which have not been translated, are described.

Caldera Open Linux Workstation and Server

Linux-Mandrake 8.0 Power Pack and Pro Suite Edition

Progeny Debian 1.0

The only difference worth mentioning between Power Pack and the Pro Suite Edition lies in terms of support. While with the Power Pack, you have to manage with 30 days telephone installation support and 60 days Web support, with the Pro Suite you get 60 days telephone support and 90 days Web support, expressly including servers.

Caldera sells its new Linux distributions for an extra charge with 60 days installation support via email and a telephone hotline. The documentation available on the system could just about be called adequate. Many Linux basics can be found in the Developer Guide, the Administration Guide explains the fundamentals of Webmin and the configuration of various servers. Manual and online documentation were not available at the time of going to press.

The email support from the service network is still at the Beta stage - anyone who lets themselves in for the Progeny adventure should know how to get out of a jam in an emergency. Although the English manual is among the better ones, as long as you are interested in the command line, there is still the problem that there is very little relevant online documentation available. ■

Red Hat Linux 7.1: The conclusion The American company is bringing a highly stable system into the shops, even the DRI modules of the kernel are extraordinarily robust. Seen like this, the Deluxe Edition is definitely worth considering, especially since the games CD is good fun. But whether the overall performance of the Professional Edition justifies the price of over £177 is something the customer must decide for themselves.

Mandrake Linux 8.0 Power Pack yes average yes yes 0700 number 30 days

Mandrake Linux 8.0 Pro Suite yes average yes yes 0700 number 60 days

Caldera Open Linux Workstation 3.1 yes yes not yet available 60 days

Caldera Open Linux Server 3.1 yes yes not yet available 60 days

yes yes no no on website o

yes yes no no on website o

not yet available not yet available not yet available not yet available cannot be assessed

not yet available not yet available not yet available not yet available cannot be assessed

Progeny Debian 1.0 nothing special no no overseas call 30 days for registered users no yes yes could be better no -

12 · 2001 LINUX MAGAZINE 35


COMMUNITY

REPORT

UKUUG Linux Developers Conference

AT THE DEVELOPERS CONFERENCE RICHARD IBBOTSON

The UKUUG Developers Conference was held at UMIST in Manchester this year. A great deal of thought was put into this year's venue and it certainly paid off...

Professor Sumner with early photos of the UK computer industry

David McAllister, a director of Strategic Technologies, was the first of the speakers. He gave a talk on Linux Clusters in the XSP environment. That's big iron to you and me. In spite suffering jet lag, McAllister delivered a sound appraisal of the commercial uses of clusters with XSP. He covered the increased commercial use of the Internet and the greater reliance of business on the Net. He advocated a new approach to deal with this in the shape of integrated hardware and software and networking. Rob Gautier came along next to chat on brute force clusters. His talk was about Grendel – a Beowulf cluster used at the University of Wales by the Bioinformatics Research Group. Most of the work consists of large database searches. The design and management of the cluster is fairly labour intensive.

1 LINUX MAGAZINE 12 · 2001

Nick Davis delivered a speech about commercial applications, which IBM is very interested in developing. Davis asserted that IBM are doing their utmost to support GNU/Linux and educate their own employees to work with free and open source software – all of which thoroughly convinced the Conference of IBM's commitment to Linux. Davis believes that the open-source movement is no longer driven by one company; it's now an industry wide phenomenon, with big companies ordering large Linux networks from IBM. Linux is now a well-established part of the world of ecommerce. IBM is presently investing a "complete government budget" in Linux. Bo Thorsen's talk about the porting of Linux to 64-bit systems might have been the highlight of the whole three days. Bo works at the SuSE labs and so


REPORT

should be regarded as an authoritative voice. He asked those present not to "underestimate what's going to happen with 64-bit Linux in the next five years". His excellent presentation was well received by the crowd. Andrea Arcangeli came along next and gave us his stuff on vsyscalls. Andrea also works at the SuSE labs and his main thing is kernel developing. Having made a conscious decision to port Linux over to the X86 64-bit architecture, the task in hand just now is to get it to work. His talk also gave practical insight into something that is a closed world for most of us. Keep your eyes on www.x86-64.org if you want to know more. Professor Frank Sumner explained how computers were built and how British attempts to join the technology race were hard to sustain in preInternet times. In spite of that, a small team of academics managed to do some amazing things back in the 1950s and 60s. We were then taken over to the Manchester Museum of Science and Industry where The Baby, one of the original computers, was demonstrated. Friday finished with a trip to the Yang Sing restaurant where pre-dinner drinks were followed by a Chinese banquet – the highlight of the day! On Saturday morning (when most of us were still suffering from the previous night's overindulgence) Professor David Aspinall delivered the second part of the birth of computing in

COMMUNITY

Manchester. This was the kind of thing that would easily make a complete TV series. It was quite an amazing talk – rewarded by deafening applause. Continuing with the shock 'em dead approach to Saturday morning, Werner Heuser gave us his first presentation of the day, which was about the use of Linux on a laptop. There are quite a few people out there who haven't discovered that Linux can be used on a desktop, so Werner's presentation drew a lot of interest from the crowd. Luke Leighton got up next and gave us Samba: The Next Generation. Luke says he'd like to get people interested in open source software and the

Chris Benson taking questions

KDE architecture by David Faure

12 · 2001 LINUX MAGAZINE 2


COMMUNITY

Reliable services with Martin Hamilton

REPORT

distributed computing environment. He'd like to get them really mad so that they go to their computer and start coding right away. He thinks that open source software is outdated when it comes to DCE and RPC. The crowd in the lecture theatre looked as though they actually agreed with him every bit of the way. Chris Benson from Treepax covered DCE and why Linux developers should know about it. He gave us a brief history of DCE, the service that it provides and the current availability on Linux. The Open Software Foundation was founded in 1998 as a balance to the UNIX International Consortium, which was set up by Sun and AT&T. One of the strong points of DCE is integration. At this point the conference split between two different buildings. Some of us went over to the KDE talk by David Faure at Stafford House. Others stayed behind in the Renold Building and listened to Chris Benson talk about distributed computing environment. David Faure's presentation on KDE architecture and development was well worth taking in. Even some of the KDE developers we have spoken to like to watch him in action. His explanation of how the

Useful URLs Linux Virtual Server: Robert Gautier: Bo Thorsen: Andrea Arcangeli, SuSE Labs: David Faure: Tom Rathbone:

http://www.lvsp.org/ http://www.ateb.co.uk/packages/farmer http://www.x86-64.org http://www.suse.com http://www.kde.org http://www.aceldama.com/~tomr/papers/2001/web-gimp/

■ 3 LINUX MAGAZINE 12 · 2001

whole thing works and how developers collaborate was easy to digest and even those of us who are not developers understood. At the same time, Martin Hamilton spoke about Heartbeat and the JANET virtual server. He works as a developer on the JANET Web cache service. Martin discussed building scalable and reliable Internet services. Universities don't have much money and any attempt at producing a low cost and reliable Internet service for staff and students is to be welcomed. The Linux Virtual Server project provides for these conditions and, combined with Heartbeat, all of the usual problems to do with traffic handling and load balancing can be quickly eradicated. Martin was followed by David Woodhouse, who explained the journaling flash file system. David works for Red Hat UK, where he is responsible for kernel drivers for memory technology devices. The journaling flash file system is all about the work that Axis Coomunications have come up with in the shape of JFSS. The talk was about the limitations of flash technology and how JFSS can be implemented to improve it. A wander across the road again revealed that Michael Meeks was giving a presentation on the Gnome architecture and development – something that most of us think he should do more of. Christian Egli was also given a chance to explain rapid application development with Gnome and Python. For those of you who haven't yet seen Michael give a public explanation of the way that Gnome and bonobo components work should try to be there for the next one. He's very good at taking an extremely complex piece of technology and explaining in a few simple words how all of it works. Next, Christian Egli chatted about using Gnome. He created an application called gPizza for the crowd in the room. If you have Glade or Anjunta and Kdevelop it's very difficult to find other tools that are just as flexible with the same range of possibilities. gPizza worked first time without a hitch. Back over at the Renolds building, Andrea Arcangeli of SuSE gave us an excellent talk on NUMA. "What is NUMA?" I hear you say. Well, it's a technology that opens a new class of optimisations so that the full power of a machine can be utilised. Andrea showed us the optimisations that are available on wildfire alpha boxes. He also showed us Zerocopy O_DIRECT. This is something that does massive I/O stuff to storage devices in the filesystem. Steve Whitehouse came along from Sistina software and gave us Zerocopy. Steve is the DecNet kernel code maintainer and recently completed a PhD on error-resilient image compression. He runs his own consulting company – ChyGwyn Limited, as well as the European Sistina office. Steve explained the recent improvements made in the GNU/Linux


REPORT

kernel under the 2.4.x kernel releases. Another trip to the Stafford building found Tom Rathbone giving an explanation about fractal generation using GIMP MathMap. MathMap is the scientific end of image manipulation. The bit that happens before photographers and commercial artists get to use GIMP. It's a GIMP plugin that allows a user to describe image transforms and combinations. It's very fast and only requires a reasonably good understanding of maths. It's also a work in progress. Luke Leighton turned up in good humour and gave us his Pymmetry – Python Trust Metrics presentation. As presented in Linux Magazine Issue 9. Saturday closed with Werner Heuser displaying GNU/Linux on PDAs. This pulled in quite a crowd at the Renold building. The other presentations in the Stafford building had finished and people preferred to stay and watch Werner rather than go home. This was followed by a friendly question and answer session where everyone discussed the events of the day and possible future events. Sunday turned out to be a typical sleepy British Sunday. The rail lines over the Pennines had been removed for maintenance and this made things even more sleepy. A few of us arrived by bus. Randy Appleton started the day in the Renold building with benchmarking the GNU/Linux kernel. Three students and a professor spent a complete term benchmarking nineteen different versions of the Linux kernel from 2.01 to 2.4. The results show that many functions did improve in speed. Randy showed that some improvements were in fact a step backwards and also that the total number of lines of code has now tripled on an exponential growth curve. Next, Dave Jones from the SuSE Labs attempted to break us out of our slumber by tuning the Linux kernel with Powertweak. Powertweak is the first performance-enhancing tool for GNU/Linux. Back over in the Stafford building, Stephan

COMMUNITY

Richter started his talk about Zope – an open source Web application server. There is a very steep learning curve before a user can understand Zope but the end results justify the initial confusion. Stephan discussed Zope's ability to be scalable and reliable at all times. Tom Rathbone explained how to simplify dynamic websites with mod_perl and GIMP. This was one of the highlights of the three days for those of us who like graphics rather than darkened rooms and sober people. He described a template system for mod_perl, which is part of the Apache application that is used on most of the servers around the world. Richard Moore arrived in the Renold building in a great rush explaining that he'd only just got back from Boston where he had been for about an hour. He gave his talk on dynamic probes for user and kernel space. Dprobes, as he calls it, is a generic and pervasive debugging system that can operate under the most extreme conditions with minimal system disruption. He followed on with a talk about GKHI, which is a generalised kernel hooks interface. This allows for many enhancements that otherwise would not be possible. Richard's presentation contained many aspects of kernel design and use that most people don't get to see at all. Alex Perry gave us the Flight Gear flight simulator. This was a kind of a cross between a top class joystick game and a flight simulator for 747s or commercial aircraft. A virtually real instrument display closely mimics the real instruments that are to be found on commercial aircraft. The question and answer session at the end was fairly intense but also witty and humorous. Alex kindly gave us a demo of the flight simulator at the end of his talk. After a general discussion about past and future events we trooped off downstairs to lunch where a large pile of sandwiches was consumed in just a few minutes. ■

1/4 a

Ad wrong shape. It should be THIS shape 12 · 2001 LINUX MAGAZINE 4


ON TEST

LINUX GAMES: ANDROMEDA9

Gaming for pocket money

ANDROMEDA9 FIONN BEHRENS

Andromeda9 is a free game of professional quality, programmed with OpenGL in Python. Steer your spaceship to unknown worlds, alone or against other players on the Net.

Figure 1: A good tutorial makes up for the lack of instructions

Installation consists of merely unpacking the compressed archive. Unfortunately, at present the game only runs on Intel-compatible processors. If nothing happens when you first start it, or if strange error messages pop up, it is often helpful to rename the libSDL-1.1.so and instead, with the command ln -s /usr/lib/libSDL.so ./libSDL-1.1.so (execute in the Andromeda9 directory) use the SDL library which is already in the system. More recent versions of the libSDL should function too. The game requires a functioning installation of OpenGL, for example Mesa or GLX. This usually also includes an accelerated graphics card. Otherwise the demands of the game are fairly modest: 200MHz processor, 32MB RAM and 36MB space on the hard drive. If you want to play against other players on the Internet, a modem connection, ISDN or similar is required. Figure 2: Cool menus thanks to OpenGL: Andromeda9 Prefs

40 LINUX MAGAZINE 12 路 2001

After starting the game, you will be greeted with a very nicely presented menu with neat transparency effects. After finding a suitable resolution (up to 1600x1200 is possible) in options and an appropriate keyboard configuration or joystick setting, the next thing to do is take a look at the demo mode to see what it's all about. Andromeda9 is in fact a mixture of Gravity Force, Quake and Xpilot, using the concept of the first, the playing modes of the second and the extras of the third. Plus there are the pepped-up graphics, which (though the game is basically played out in two dimensions) come up with really vivid and threedimensional-looking ships, maps, extras and effects. At the well made introductory level you can learn everything of importance about the control of the game, handling of extras, displayed data and a great deal more besides. Depending on the playing mode (there are the usual Deathmatch and CTF variants as well as races available) you can work your way, either co-operatively or every man for himself, through the still rather small number of maps with their very special little traps, teleports, extras etc. There are filling stations at some point on each level, which you can fly over in order to top up the ever-scarce fuel. There are also repair stations to fix any damage to the ship. For orientation in the rugged maps you can blend in a display of a small overview map in one corner. A semi-transparent display box also gives continuous information about current fuel reserves,


LINUX GAMES: ANDROMEDA9

ON TEST

Figure 3: Practice makes perfect

armaments and damage to the ship. Since the game is squarely aimed at multiplayer use, without an Internet connection very little will happen at first. But if you're online, then even with a slow 33k connection, there are next to no limits on the fun you can have. Gruesome slaughters in CTF mode and hair-raising racing round the, sometimes extreme, tracks are pre-programmed. Tip: there is a mode for home practice using a split screen, so that a single computer is all you need to have fun with Andromeda9. At first you would scarcely notice the fact that the game was actually programmed in Python, or

thrust and a weapon to destroy powerups is said to be imminent. Additional settings for gravitation and yet more new weapons are planned. There is also going to be an input screen for Net games with chat option, plus drones (robots), against which you can practise whenever there are no human opponents available or if you don't yet feel ready for the big, wide world. Last but not least, many parts of the game are also going to be completely revised in terms of graphics – so we can look forward to a game that will definitely be worth its 15MB download. ■

The author Fionn Behrens is a student of technical computer science. He can be contacted on the Net as Fionn at IRCnet.

Figure 4: Preview of the next version of Andromeda9: Revised graphics, multiplayer ranking and cool new weapons

only by some characteristic file names. But it does go to show that good games can be written even in a relatively "high-level" language - nowadays there is no longer the need to master machine code to program a good game. Plus, it's an impressive demonstration of the power of this language, which is looked down on by "real c0derZ". The sounds are good; the game can, commendably, also cope with the enlightened sound daemon - so no problem with the Gnome desktop. Anyone who wants to can copy their own favourite songs in mp3 format into a sub-directory of the game - these will be played during the run time of Andromeda9. The programmers are currently working all out on a new version, which was not ready before we went to press. The new features are to include a global classification system that stores the scores of the individual pilots in an Internet Highscore List. The space ships will be able to brake using reverse

Conclusion: Nothing new, but still very good! The graphics look simply top class. Technically, the game is impeccable, simple to understand without being undemanding -- and all free! The hard-core XPilot-gamer will shudder and turn away, but for the occasional Net gamer this game is certainly worth downloading and can bring you many hours of fun with your friends.

Rating: Long-term gaming fun: 75% Graphics: 85% Sound: 80% Control: 85% Multiplayer: 90% Originality: 25% Complexity: 40% Overall rating: 85% The new version of the game was not ready by the time we went to press, but should be available for download in the near future from the Andromeda9 website -- www.andromeda9.com. ■

12 · 2001 LINUX MAGAZINE 41


ON TEST

TRANSMETA CRUSOE

Transmeta Crusoe TM5600 in detail

MESSAGE IN A BOTTLE FROM TRANSMETA MIRKO DÖLLE

The Crusoe TM5600 (with 633 MHz) has 128KB first-level cache, 512KB second-level cache and can split off a variable translation cache from the main memory of the computer. For the test we had exclusive use of the Fujitsu-Siemens Lifebook P with the TM5600. Unlike the usual Intel-compatible CPUs, the Crusoe is trimmed for minimum consumption instead of maximum performance.

Internal

In January 2000 Transmeta presented the Crusoe, a processor with a revolutionary mixture of hardware and software. We tested the first 633MHz version of the TM5600 in Europe.

42 LINUX MAGAZINE 12 · 2001

The Crusoe contains noticeably fewer functional units than other x86 processors. Like the Mobile Pentium III it has two integers, one floating point, one memory and one unit step. ISSE and MMX units only come with Intel. Today's x86 processors use out of order execution. The x86 command sequence specified by the program is first broken down by the decoder and translation unit into RISC-type micro-ops and distributed by the dispatch unit over the functional units. The sequence is determined by the available CPU resources, not by the program. The dispatch unit tries to use the CPU to full capacity. The results then have to be re-sorted by the in order retire unit. The aforementioned units are mostly realised by hardware and, with only a few exceptions, by software (jump prediction, optimisation, re-sorting). Transmeta has the cut back heavily on the functionality of the control units or done away with them altogether and so manages with considerably fewer transistors. The Crusoe processor itself is not x86compatible, but is a VLIW kernel with 64 or 128 bit commands. The decoder and dispatch unit responsible for the division of tasks is just a simple bit-distributor, which splits up the arriving command and writes it in parallel in the function units. There is no optimisation or re-sorting.


TRANSMETA CRUSOE

ON TEST

Software/ hardware mix To run x86 programs on the Crusoe, there has to be a translation into the VLIW command set of the Crusoe. This is done by the code-morphing software, which Linus Torvalds was heavily involved in developing. This is loaded from the flash, which can be updated, into one part of the translation cache. In addition to translation, the software is responsible for the optimisation of the code up to the out of order execution, packs the result in bitesize chunks into VLI words and saves it in the translation cache. The concept is similar to the FX32 expansion of Digital for Windows NT and Linux, which allows the execution of x86 programs on Alpha CPUs and saves the translation result created during the run time in a shadow file on the hard drive. It takes a lot longer to translate the commands with the code morphing software than in the Decoder-Unit of the Pentium III. But unlike an almost purely hardware solution, considerably larger algorithms can be used. If the same command block comes up again for execution, the VLIW commands are supplied straight from the translation cache, without being retranslated.

The Crusoe TM5600 can be seen on the right with the south bridge and ATI graphics chips to the left

One for all The encapsulation of the entire hardware by code morphing software opens up some completely new possibilities. So the VLIW kernel of the processor

Midori Linux The Transmeta Crusoe is suitable as an extremely energy-economical processor especially for mobile PCs. Its main application is in the domain of notebooks, which need a high-performance x86compatible CPU using as little energy as possible. What matters is that the operating system exploits the energy-saving abilities of the hardware. Linux doesn't offer stable support for ACPI power management yet. And Linux systems are comparatively large – with a graphical user interface and browser they come to over 128MB.

Lean and mean Transmeta has taken this problem on board and is presenting Midori Linux, which has optimal slimness and support for power management. Transmeta does not supply any complete binary packages, so the distribution in the version to which we had access (version 1.0.0-beta2), consists of a tar archive with Web-based configuration front end. The Midori program packages are tarballs equipped with additional information with the ending mlz. After configuration the whole system is compiled using CrossCompiler and then written as a hard disk

image including partitioning onto a block device. Red Hat 6.2 is suitable for the compilation, while the help scripts failed on more recent Red Hat and SuSE releases. You should allow a few hours and sufficient space on the hard disk for the first compilation because by the time you finish, sources, objects and binary packets will take up a good 1.6GB.

Midori in practice We were unable to get Midori to run completely on the Fujitsu-Siemens Lifebook P, as XFree86 4.0.1 simply could not come to terms with the unusual display. The kernel on the other hand ran stably with ACPI. An application test was thus not possible, as there are no console tools. Midori is at present intended only for developers of mobile PCs; it is not a userdistribution. But due to the working power management and small size it is noticeably more suitable for portable applications than standard systems.

12 ¡ 2001 LINUX MAGAZINE 43


ON TEST

TRANSMETA CRUSOE

can be changed at will at any time, as happened with TM3200 and TM5400. Bugfixes or fundamental function changes are no problem. The x86 upwards-compatibility is retained, only the code morphing software has to be adapted. Emulation of other CPU architectures is also possible, so there is a Java version of the codemorphing software. This is interesting for the development of new processors. It is possible to test the command set or develop software on very powerful, Crusoe-based development systems long before the first processor prototype. So Transmeta has built a Crusoe with Clawhammer emulation for AMD, which is already in use. And the emulation of completely different architectures such as Power-PC or RISC is also possible, although their performance is limited by the VLIW hardware. Transmeta has achieved additional energy savings with the Longrun power management. So the code morphing software dynamically adjusts the kernel voltage and the clock frequency can be reduced smoothly to 300MHz. This makes the

Crusoe markedly different from Intel's Speed Step, which has only three stages. By integrating the north bridge into the CPU the Crusoe TM5600 can separate off part of the main memory as translation cache and saves space on the PCB.

High integration An additional advantage is that of the integration of the north bridge into the Crusoe, which is also trimmed for minimal power consumption. In all the Crusoe consumes, at a kernel voltage of 1.4V, a maximum of 2.9W including north bridge, a Mobile Pentium III comes in at a minimum of 5W plus 2 to 3W for the north bridge. At the same time, the Crusoe – with the same structural size (18 millimetres) – is about a quarter smaller than Intel's Mobile Pentium III. As more chips fit onto one wafer, production gets cheaper. One other plus point is the space saved, so now essentially only three chips are now needed for a complete PC. ■

Fujitsu-Siemens Lifebook P with Crusoe TM5600

READY FOR THE ISLAND MIRKO DÖLLE

The Transmeta Crusoe boosts the FujitsuSiemens Lifebook P to a phenomenal battery life of well over six hours. Linux Magazine has tested the new subnotebook, which comes out in October.

44 LINUX MAGAZINE 12 · 2001

The Lifebook P stands out because of its unusual hardware. The Transmeta Crusoe TM5600 has 633MHz and just a 10.1-inch display with 1280x600 pixels at 140 dpi – which is more than many inkjet printers can get onto paper. The preseries model tested will be available in this format from October in all major electronics stores, but the price has not yet been fixed. Of the 128MB RAM, 16MB is set aside for the translation cache of the Crusoe, and an expansion with standard SO-DIMMs is not possible. On the 15GB hard drive, it is planned to pre-install Windows Me, but delivery with Linux is currently floundering due to the lack of support for the modem and the control buttons for the DVD player built in below the display.


TRANSMETA CRUSOE

Run-time giant with multimedia The Lifebook P is intended as a mini-multimedia machine, combining MP3, CD and DVD player in one and also offering the functionality of a standard PC. With a battery life of six hours, sixteen minutes and sixteen seconds, even on long holiday trips it is more than equipped to keep the peace among your offspring in the back seat with the latest Disney film. The difference between the Lifebook P and the Fujitsu-Siemens Loox T is the 100MHz faster CPU. The large battery tested here, which is only available as an extra, stores 39-watt hours of energy. With the little 19 Wh battery there is still over three hours run time. The design is somewhat unusual, but the silver surface does look finer and more robust.

Problems adapting The Linux installation of Red Hat 7.1 and SuSE 7.1 and 7.2 is not unproblematic. With the X11 installation the standard modes refuse to work, so some manual labour is necessary. The Trident driver for the sound card did not work – a patched Alsa package is necessary to make it go. At a weight of just 1.8kg and a battery capacity of over six hours, the Fujitsu-Siemens Lifebook P is a faithful companion. Never before has a notebook in the Pentium class been so frugal in terms of energy without major compromises in performance. The purely passively cooled CPU also makes the device of particular interest to those of you plagued by noise. The display with the extreme high dot density does, however, require good eyesight – or a good optician. ■

Fujitsu-Siemens Lifebook P Category Processor Memory [MB], (slot/free) Hard disk [GB] DVD-ROM Drives open sideways Ports: PS/2 / serial / parallel / line USB / Irda / TV Docking Port / ext. drives Display: Type / Size [inch] Angle of installation [degrees] Colour/ brightness ratio even Keyboard: key lift / pressure point Offset cursor block Cursor functions without function key Loudspeaker covered when writing Mouse: Type / buttons Battery: Type / Voltage [V] / Capacity [mAh] Battery life [h:min] Pre-installed operating system Graphics card Memory [MByte] Modem chip (addressable) Sound chip (addressable) Cardbus chipset Cardbus slots TV output / connection Power off / sleep usable Usable on text console / under X11 Width / Depth / Height [cm] (Weight [kg]) Noise level [db(A)]: Temperature [°C]: underside / keyboard Temperature [°C]: card slot Market launch

ON TEST

Subnotebook Transmeta Crusoe TM5600 128 (1/0) 15 8x/internal yes -/-/-/+ +/-/+ -/TFT / 10,1 180 no good / detectable no no no Trackpoint / 3 Li-Io / 10.8 / 3600 (1800) 6:16 (3:03) Windows Me ATI 3D Rage Mobility P/M 4 Nitsuko Type 0002 Acer Type 5451 (+) TI PCI 1410 1x Type II SVGA +/+ +/26.5 / 18.3 / 3.5 (1.8) below measurement limit 43 / 36 44 October 2001

12 · 2001 LINUX MAGAZINE 45


FEATURE

IOMEGA

Access to Zip and Jaz Media Made Easy

IOMEGA TOOLS

HANS-GEORG ESSER new sub-directory Lomega-0.2 and there execute the classic three-step of ./configure, make and make install. After that the program should be found and started under /usr/local/bin/lomega. On first starting, lomega scans the SCSI bus and displays the Zip and Jaz drives found. A sample output is Welcome hgesser, starting scan... IOMEGA ZIP 100

Iomega's Zip drives have become a popular storage medium, not least because of the low cost of a 100MB diskette. We take a look at running this handy hardware under Linux. After the Zip drive came the Jaz drive with 1GB of storage, later a 2GB variant and then a new version of the Zip drive, which can handle, alongside the old Zip data media, 250MB media too. Common to all Iomega media is the fact that the writeprotection is done by the software, hence special tools are needed to set and to remove the write protection. There is also the option of setting a password, without which write access or any access to the medium can be blocked.

The seven buttons have the following functions: • Info outputs the current status of the drive and any medium that has been inserted • Mount mounts the medium in the mount point which, depending on the type of device, is either /mnt/zip or /mnt/jaz. These mount points can, however, be altered in the configuration file /etc/lomega.conf • Unmount cancels this • Eject ejects the medium • Lock provides the medium with a write or read/write protection, whereby a password can be issued – this is needed to cancel this protection again later on (Figure 2) • Un-Lock cancels this • Back-Up backs up a marked directory on Zip. This directory must first also be selected in the tab, also named Back-Up, under which a file manager is hidden

Lomega

SCSI preferred Many of the tools described here prefer to work with the SCSI drives. ATAPI and parallel port drives can, in some cases, be persuaded to co-operate – reference is made to this in each case.

One representative of the Iomega tools clones is Lomega. This program offers all the functions necessary and combines them under a single, easy interface. But be warned, lomega has the SetUID bits set, so is always executed with root rights, even when you start it as normal user. The advantage is that you always have access to the device files, but the drawback is that you have to trust the program. As usual, Lomega has to be compiled before use. The program is not especially demanding, when it comes to existing libraries, so no major problems should arise here. Unpack the archive lomega-0.2.tar.gz. In /usr/local/src, switch to the

48 LINUX MAGAZINE 12 · 2001

Figure 1: Lomega is the most powerful tool in the comparison


IOMEGA

As support for parallel port drives Lomega offers the two options File/modprobe/ppa and File/modprobe/imm. imm is a driver for the "Iomega MatchMaker parallel port SCSI host adapter", which is used in the Zip Plus drive; ppa supports the normal parallel Zip drive. ATAPI drives are only supported if the IDE-SCSI-Emulation in the kernel has been activated. The requisite kernel module is called ide-scsi.o.

gtkZip One alternative to Lomega is gtkZip. The program has a modern design. Unfortunately it refused to work on our test machines.

jaZip jaZip is not dissimilar to Lomega, and on closer inspection one notes in Lomega's credits the reference, "Portions of code by: Jarrod A. Smith". This is the author of jaZip. So it's no wonder that the functions of jaZip are similar. But jaZip cannot create a read protection, which is why we have devoted more time to Lomega. Incidentally, the following behaviour of jaZip was somewhat problematic: A Zip medium was already mounted in /mnt/zip when jaZip was started. After a click on the unmount button jaZip then wrote "Unmounting and removing /mnt/zip" not very nice, since the directory later had to be made again by hand. Before starting jaZip, you should take a look in its configuration file /etc/jaziptab, which has a similar structure to fstab. The sources would not compile on a current SuSE system; but we were able to install an RPM package, which was found at ftp://ftp.rpmfind.net/linux/contrib/libc6/i386/jaZip0.22-4.i386.rpm, without any problem.

ziptool Back to the command line. Everything you can do by a mouse click can also be performed in the console and thereby be built into its own shell scripts. The useful tool ziptool supports all special functions of the Zip and Jaz drives. Firstly, ziptool has to be compiled, if you are not installing any binary packet – in this case this goes very quickly. Simply unpack, as root, the ziptool1.3.tar.gz package, change to the new directory and there call up make. Another make install copies binaries and man pages to /usr/local. A look at the man page of ziptool (which can also be addressed by symbolic link as jaztool) gives away the general syntax ziptool -Option Device. At this point, you should always specify as device the device file belonging to the Zip drive, not that of a data partition, thus /dev/sdd and not /dev/sdd4. There now follows a list of the possible ziptool commands. For greater ease of reading the device

FEATURE

/dev/sdd is always specified, which is to be replaced by the correct name. • ziptool -e /dev/sdd: eject; eject medium. This only works if the Zip is not mounted – otherwise the error message "Device is mounted" appears • ziptool -s /dev/sdd: status; states the protection status of the Zip medium (thus read or writeprotected, with or without password) • ziptool -ro /dev/sdd: read-only; the medium is write-protected. It must not be mounted for this. This protection can be cancelled by any user, since no password has been issued • ziptool -rp /dev/sdd: read-only, password; as with "-ro", but a password is requested, without which the protection cannot be cancelled: [esser@dual ~]$ ziptool -rp /dev/sda Password: test ziptool: medium is password write-protected. If you forget your password, you will have to format the medium in order to be able to write on it again. • ziptool -rw /dev/sdd: read-write. This command makes the medium generally accessible again. Any write protection is cancelled. If a password has been used for protection, it must be entered here, otherwise the barrier will not be raised. • ziptool -ud /dev/sdd: unlock door; mounting a Zip medium normally causes it to be locked into the drive. Pressing the Eject button will not work until the file system is released with umount. This allows the lock to be released without unmounting first – if that's what you want • ziptool -ld /dev/sdd: lock door – cancels the unlock, locking the drive again • ziptool -m /dev/sdd mountpoint: mount – mounts the medium. In principle this is nothing but mount /dev/sda4 mountpoint, but can be executed by any user, as ziptool always runs with root rights • ziptool -u /dev/sdd: unmount – removes the file system from the file tree again

Figure 2: Lomega sets a read/ write protection with password for the Zip medium

Figure 3: gtkZip's chic design means it is compact and utilises desktop space well

Figure 4: jaZip is similar to Lomega

As already mentioned in the listing, ziptool is executed with administrator rights, for which it has set the SetUID bit: [esser@kira iomega]$ ls -al `which ziptool` -rwsr-xr-x 1 root root 9708 Jun 1 16:10 /U usr/local/bin/ziptool This means that with the aid of ziptool, any user can directly access all device files, even if these would not allow the user themselves access.

GUI or bash# As usual, it is purely a matter of taste as to whether tasks are processed on the command line or in the graphical window – in the case of the Iomega tools, though, it is interesting that Lomega is the only tool which can also set up a read protection. This makes it preferable to ziptool. ■ 12 · 2001 LINUX MAGAZINE 49


FEATURE

AD FILTERS

Ad filters for your browser

BANISHING BANNERS

Intelligent proxies

are handy things to have – they filter

ARMIN AND ALEXANDER ROEHRL, STEFAN SCHMIEDL

out banners, help to protect your privacy and let you surf faster. We introduce six blocking proxies for Linux.

Banner advertising on the Internet is not nearly as successful as marketing strategists had once hoped. That is why banners keep growing and are placed in increasingly intrusive positions – even right in the middle of the page. Although most portal pages like Yahoo limit the initial image size to 30K, four more files of up to 50K can be loaded subsequently. All together, that's a whopping 230K. Filtering proxies stem this unwanted stream of data which, after all, users pay for with connection charges. Under Linux, you can get standalone solutions as well as extensions for Squid – every Linux user's favourite proxy.

For security reasons, proxies should not be accessible from outside. Programs like Nessus Security Scanner indicate weak points in this respect. Incorrect requests will slow a system down considerably. In Netscape and Mozilla, click on Edit (top left), then Preferences, double-click Advanced, then Proxies and Manual Proxy Configuration. For Konqueror the settings can be found under Settings, Configure Konqueror, Proxies. With Opera the path is File, Preferences, Network to the Proxy Server.

What is filtered? Proxies and browsers Blocking software works in the same way for all browsers. The browser is instructed in the settings not to send any request directly to the Net, but rather to the proxy. If this is running on your own machine, it is sufficient to specify localhost or the IP address 127.0.0.1 and the proxy port. Blockers tend to use different standard ports (see Table 1). 1 LINUX MAGAZINE 12 · 2001

In principle, anything that is sent from the browser or returned from the Internet can be filtered. Pornography and cookies, which people like to block to protect their privacy, can be stopped, as can advertising banners or animated images. Most anti-ad proxies replace adverts with a transparent image or broken image icon. The ad image is deliberately not replaced with a 1x1 pixel


AD FILTERS

FEATURE

News.cnet.com page: Left in Konqueror without and right in Netscape with Adzapper. For ten Cnet articles the proportion of advertising to content in terms of data volume is on average 60 to 40

transparent GIF, so as not to interfere with the layout of the Web page.

What happens to HTTPS? Secure Hypertext Transfer Protocol (HTTPS, RFC 2660) is a standard protocol for the encrypted transmission of sensitive data like credit card information. As soon as the browser sends sensitive data to, or receives it from, https://~Address, the proxy could still filter the data, but it would not be able to recognise ad images, as these are now also encrypted. Proxies therefore always transmit HTTPS requests unfiltered. Naturally, it is possible to change the port as required for all programs, either through the configuration file or using a parameter. The port should be set higher than 1024 if the proxy does not run as root, although that's generally a bad idea. The filter tables provided should be treated with caution, as there is no problem in teaching most programs to filter Flash animations for instance, even if this cannot be done using the standard setting. The crux is in the detail – for instance, whether it is possible to treat cookies differently according to domain and page.

Adzapper Of the tested proxies, we liked Adzapper (current version 0.7) best, as it is simple to use and delivers good results. Unfortunately, it hung once in a while. Perhaps this was because we were using version 2.0 of Python in the testing and Adzapper's author recommends 1.5.2. The picture is rounded off by

Adzapper's simple Web user interface http://adzapper/. It can even be used to create zaplets very easily. Zaplets are small XML files that define what constitutes an advertising nuisance. They can apply to one domain or to a whole domain class. Adzapper comes with a lot of demo zaplets for popular sites like Slashdot, CNN or Yahoo – fortunately mostly English language ones. Zaplets can even include regular expressions in Perl syntax. A good introduction to this is provided by python.org. To install, unzip adzapper-0.3.0.tar.gz and run the install or install-daemon script. The program is started with adzapper or adzapperd (daemon version). Here, as an example, theregister.co.uk zaplet: <?xml version="1.0"?> <zaplet> <version>0.9</version> <host>theregister.co.uk</host> <block_url type="regex">/media/(\d)*\.giU f</block_url> </zaplet> Table 1: Blocking Proxies Program Filters Adzapper banners, popups, JavaScript, Java applets, cookies Squid with Adzap banners, popups, cookies Muffin animations, Java applets and JavaScript, cookies, referers, HTTP user agent headers, HTTP server headers Rabbit banners, background images, cookies Junkbuster banners, cookies, referers Webwasher banners, popups, JavaScript, Java applets, cookies, referers Guidescope banners, cookies, referers

12 · 2001 LINUX MAGAZINE 2

Port 51966 3128 51966 9666 5865 8080 8000


FEATURE

AD FILTERS

and then deliver it suitably changed. The entry redirect_program /user/local/bin/squid_redirect in the Squid configuration file (squid.conf) would filter all URLs through squid_redirect, with squid_redirect being, for example, a Perl script. We will be using Adzap for this purpose. If Squid hasn't been installed yet this is quickly rectified using rpm -ih squid.rpm. Adzap is available as a tar file. The file contains the redirector, the images to be displayed instead of the adverts, and a short wrapper script. After unpacking it with tarx -xvzf adzap-20010606.tar.gz;

If you want to filter out all GIF images ending in

the redirector can be copied to /usr/local/bin/squid_redirect, for example, and made executable with chmod +x. A relevant line needs to be added to squid.conf and finally Squid has to be restarted. To adapt Adzap to UK Web pages, it is advisable to use the wrapper script. It must then be entered as a redirector in the Squid configuration. The path of the actual Adzap program then has to be set correctly in the wrapper script itself. The syntax is more like the glob expressions of the Bourne Shell than Perl-type regular expressions.

Muffin: Coffee and cookies

The Register page: In Netscape without and in Konqueror with built-in Adzapper. 52 percent of the data volume on this page consists of advertising. The total volume exceeds 60K

ad.gif, use regular expressions: images/.*ad.gif. Other examples of popular websites can be found at www.zaplet.org. The creation of the zaplet is simple. First, load theregister.co.uk page. The trained eye will immediately recognise the ads. Select View Image in the browser, confirm through Reload and go to http://adzapper. Adzapper now asks which parts of the file name to block. In the case of theregister, this is particularly easy, as the string media occurs in all ad banner links.

Squid with Adzap Squid is probably the best general proxy for Linux. It is fast and robust, but not really suitable for use as an ad filter. Squid is intended as a robust cache for whole companies or the networked home and it performs this task very well. However, it also has a redirect option that can read request information 3 LINUX MAGAZINE 12 路 2001

Muffin is a sophisticated Java program, currently available in version 0.9.3a. After a bit of fine-tuning Muffin works readily and quickly. The package contains a number of useful utilities: Secretary can complete Web forms with pre-defined answers, dispensing with the need to constantly enter your own email address. Painter automatically changes the background colour of all transmitted Web pages. Document Info shows hidden information in the HTTP header of HTML pages, for example, the change date or the actual URL of the page. The installation of Muffin is very simple. Download the jar file and start it with java: muffin-0.9.3a.jar (binary only; right click U to download) java -cp muffin-0.9.3a.jar:$CLASSPATH Muffin &

Rabbit Rabbit is available in version 2.0.8 and is distinguished by the fact that it compresses text and images, which can be especially interesting on large networks. Text is compressed by about 75 per cent using gzip and images are converted to a lower resolution with JPEG. Rabbit does this using Image Magick's convert utility. Warning: Five surfers can easily push an 800MHz machine to its limits with this. Rabbit allows you to view pages in their original


AD FILTERS

FEATURE

form by putting noproxy in front of the server address: http://noproxy.www.altavista.digital.com/. Install Rabbit with gunzip RabbIT2.tar.gz; tar -xvf RabbIT2.tar; it is started with jr. As for all other proxies, a restart is necessary after any change in the configuration. In ./conf /rabbit.conf you can see what Rabbit regards as superfluous and consequently ignores. # A filter to remove advertising from pages. [rabbit.filter.AdFilter] # The list of evils. Comma separated. adlinks=.fsh,yimg.com,/ad/,/ads/,/ads2/,/netU adsrv.,/ad.,/ads.,/ads2.,.ad.,.ads.,/ads1., .ads1.,/adv/,/cadv/,/adserver.,/adlog.,.adbaU nnercenter.,/nsads.,adclick.,/banner., .. The first entry, .fsh, ensures that no file is loaded that has .fsh in its name. This should protect you from any more Flash ad banners.

Junkbuster Junkbuster (version 2.0.2) is a classic. There are even providers who let their customers use Junkbuster directly. The program has no GUI, but it is very stable. A typical Junkbuster logfile looks like this: www.altavista.com/ www.altavista.com/images/img_avsubtitle_000U .gif crunch! www.altavista.com/images/pix.gif crunch! www.altavista.com/images/img_avlogo_000.gifU crunch! ad.uk.doubleclick.net/ad/.../sponsor-buttonU /toptext/lefta;sz=1x1 crunch! The addresses marked crunch! are blocked by Junkbuster and are never accessed. The heart of Junkbuster is the block file. The entries determine directly which addresses are called and which ones aren't. The sequence of entries is optional, but they should be divided into individual sections for the sake of clarity. To start with, a ready-made block file will do, but for our test there was a great need for adaptation. We aimed for as few entries as possible and as many entries as necessary. This is an example blocking all image files from Altavista.com: # URLs: altavista.com/.*\.(gif|jpg|jpeg|png)

Guidescope Guidescope is a semi-commercial product by former Junkbuster developers. At the time of testing, the price had not yet been set. Guidescope sends each request to a central database, which returns a list of images to be blocked. In theory, Guidescope can record who is looking at which pages, but the

manufacturer emphasises that there is no intention of doing this. The user can extend the database with local filters and is also able to pass identified ads to Guidescope so that they can be included in the database. Guidescope is planning to provide central company databases for large commercial customers. During testing, the installation instructions on the website turned out to be wrong. Guidescope does work well for popular pages like Cnn.com. Ironically, in its default setting it displays ad links – which supposedly makes it easier to get to good Web pages. This feature can be switched off.

Adzapper's very easy-to-use configuration menu invites you to declare war on ad banners

Webwasher Webwasher (version 3.0) is free for non-commercial use, a commercial license costs 29 Euro or $29 after a 30-day test phase. Webwasher.com was founded by Siemens in 1998. The manufacturer asserts that server-based Internet filters enable companies to provide their staff with Internet access while still being able to control which areas they can access. This is the only effective way of preventing abuse and unproductive use of the Internet, such as the occasional little 12 ¡ 2001 LINUX MAGAZINE 4


FEATURE

AD FILTERS

engines like Google.

Clearway proxy undesirable In December 1998 Clearway Technologies were planning to launch an ad-blocking proxy program, but the outcry, particularly from many small website operators making their living from advertising – the manufacturer's customer base for their other products – led to Clearway withdrawing the product. The official explanation was that the Internet is, above all, about democracy and free, open websites, and that the idea of filtering was not compatible with this.

Conclusion

game. Web filters protect productivity by making life difficult for permanent surfers. According to a study by the Meta Group, employees spend about 40 per cent of their time on the Internet on things that are nothing to do with their work. The documentation is insufficient for a commercial product. However, with a bit of patience it is possible to find solutions to problems such as Webwasher under Wine using search

Of all the programs tested Webwasher is the best solution for companies who need a filter version that is always up to date. In addition, the Enterprise edition offers the Dyna Blocator, a filtering mechanism that is constantly updated by its own search engine and also checks the content of images. Apart from the standalone solution Adzapper, Squid with filters like Adzap, is probably the most stable and the fastest solution for home use and company networks. An overall evaluation is difficult, as a basic knowledge of scripting languages is sufficient to write your own filters quickly for any of these programs. Unless you are planning to set up a proxy gateway, speed is of no consequence either. ■

The authors Armin Roehrl and Stefan Schmiedl run the software forge Approximity. Their main interests are high load and high availability systems.

Info Cnet: http://news.cnet.com Yahoo Fusion Marketing: http://fusion.yahoo.com/resource_center/adspecs/flash.html Nessus Security Scanner: http://www.nessus.de RFC 2660: http://www.ietf.org/rfc/rfc2660.txt Adzapper: http://www.zaplet.org/adzapper/ Regular expressions: http://www.python.org/doc/current/lib/module-re.html Example Zaplets: http://www.zaplet.org/adzapper/updates.html Squid: http://www.squid-cache.org Adzap: http://www.zip.com.au/~cs/adzap Muffin: http://muffin.doit.org/ Rabbit: http://www.nada.kth.se/projects/prup98/web_proxy/ Image Magick: http://www.imagemagick.org/ Junkbuster: http://internet.junkbuster.com/ ISP with Junkbuster: http://www.junkbusters.com/ht/en/ijbfaq.html#does Guidescope: http://www.guidescope.com Webwasher: http://www.webwasher.com/ Webwasher and Wine: http://www.miba.auc.dk/~bme/stuff/webwasher.html Clearway Technologies stops ad blocker: http://news.cnet.com/news/0-1005-200-336086.html ■

5 LINUX MAGAZINE 12 · 2001


HISTORY

10 YEARS

LINUX HISTORY This month sees the anniversary of Linux. It is 10 years old. It has come a long way since its inception and the rate of development is speeding up. Only a year ago Red Hat and SuSE 7 launched – just two years ago Mandrake 6.1 was launched. Here we take a look at the history of Linux as told by Linus. The full transcripts can be found on the Web at www.li.org or in Linus' book, Just for Fun.

Subject: What would you like to see most in minix? Summary: small poll for my new operating system

Newsgroups: comp.os.minix Subject: Re: What would you like to see most in minix? Summary: yes - it's nonportable

Message-ID: <1991Aug25.205708.9541@klaava.Helsinki.F I>

Message-ID: <1991Aug26.110602.19446@klaava.Helsinki. FI>

Date: 25 Aug 91 20:57:08 GMT Date: 26 Aug 91 11:06:02 GMT From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)

Organization: University of Helsinki Organization: University of Helsinki Hello everybody out there using minix -

Newsgroups: comp.os.minix Subject: Gcc-1.40 and a posix-question Message-ID: <1991Jul3.100050.9886@klaava.Helsinki.FI > Date: 3 Jul 91 10:00:50 GMT Hello netlanders, Due to a project I'm working on (in minix), I'm interested in the posix standard definition. Could somebody please point me to a (preferably) machine-readable format of the latest posix rules? Ftp-sites would be nice. Linus Torvalds torvalds@kruuna.helsinki.fi PS. Could someone please try to finger me from overseas, as I've installed a "changing .plan" (made by your's truly), and I'm not certain it works from outside? It should report a new .plan every time. Then, almost two months later, I actually had something working: I made sources for version 0.01 available on nic sometimes around this time. 0.01 sources weren't actually runnable: they were just a token gesture to arl who had probably started to despair about ever getting anything. This next post must have been from just a couple of weeks before that release.

From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds) Newsgroups: comp.os.minix 1 LINUX MAGAZINE 12 · 2001

I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I'd like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things).

In article <1991Aug25.234450.22562@nntp.hut.fi> jkp@cs.HUT.FI (Jyrki Kuoppala) writes: > [re: my post about my new OS] > >Tell us more! Does it need a MMU?

I've currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I'll get something practical within a few months, and I'd like to know what features most people would want. Any suggestions are welcome, but I won't promise I'll implement them :-)

Yes, it needs a MMU (sorry everybody), and it specifically needs a 386/486 MMU (see later).

Linus (torvalds@kruuna.helsinki.fi)

>>It is NOT protable (uses 386 task switching etc)

PS. Yes - it's free of any minix code, and it has a multi-threaded fs. It is NOT protable (uses 386 task switching etc), and it probably never will support anything other than ATharddisks, as that's all I have :-(. Judging from the post, 0.01 wasn't actually out yet, but it was close. I'd guess the first version went out in the middle of September ‘91. I got some responses to this (most by mail, which I haven't saved), and I even got a few mails asking to be beta-testers for Linux. After that just a few general answers to quesions on the Net:

From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)

> >PS. Yes - it's free of any minix code, and it has a multi-threaded fs.

> >How much of it is in C? What difficulties will there be in porting? >Nobody will believe you about nonportability ;-), and I for one would >like to port it to my Amiga (Mach needs a MMU and Minix is not free). Simply, I'd say that porting is impossible. It's mostly in C, but most people wouldn't call what I write C. It uses every conceivable feature of the 386 I could find, as it was also a project to teach me about the 386. As already mentioned, it uses a MMU, for both paging (not to disk yet) and segmentation. It's the segmentation that makes it really 386 dependent (every task has a 64Mb segment for code & data - max 64 tasks in 4Gb.


10 YEARS

HISTORY

The UK's premier provider of LiNUX IT solutions Founded in 1998 iTS-LiNUX quickly established itself in the expanding market. iTS-LiNUX has become noted for its costconscious, innovative and creative solutions, acquiring clients such as Banks and other financial institutions, The Economist Group, Crewe Alexandra Football Club, utility companies, manufacturing and engineering companies, ISP's and Internet organisations Local Government and Educational establishments, e-commerce companies and many many "bricks and mortar" SMEs. When asked about their level of current success, Matthew Clarke (Managing Director) replied "Naturally part of our success is due to the growth of the Linux market in the UK as a whole, but as we've not, until recently, been in a position to expand by acquisition, we have had to focus our efforts on working harder and producing better results for our clients." he went on to say "We are fortunate

to have great staff at iTS-LiNUX people who are prepared to put in the time and effort to ensure that the job is done right, and if its never been done before they will invent ways to get the job done, in fact, according to IBM's own engineers, our CTO Andy Roffe, was the first person ever to get Lotus Notes running on Linux, and they still aren't sure how he did it." iTS-LiNUX in association with IBM and Trustix recently announced the Goldbox as the total IT solution for SMEs iTS-LiNUX have become the prime distributor for the much admired Trustix range of firewalls and secure server management tools. The future looks promising indeed for iTSLiNUX "We have made significant strides over the past 12 months, and are now looking to expand rapidly, taking on many more clients, and much larger projects."

12 路 2001 LINUX MAGAZINE 2


HISTORY

Anybody who needs more than 64Mb/task tough cookies). It also uses every feature of gcc I could find, specifically the __asm__ directive, so that I wouldn't need so much assembly language objects.

10 YEARS

Some of my "C"-files (specifically mm.c) are almost as much assembler as C. It would be "interesting" even to port it to another compiler (though why anybody would want to use anything other than gcc is a mystery).

Note: linux has in fact gotten more portable with newer versions: there was a lot more assembly in the early versions. It has in fact been ported to other architectures by now. In Jan 92 things had moved on with a

From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)

place in /pub/gnu.

Newsgroups: comp.os.minix

ALERT! WARNING! NOTE! These sources still need minix-386 to be compiled (and gcc-1.40, possibly 1.37.1, haven't tested), and you need minix to set it up if you want to run it, so it is not yet a standalone system for those of you without minix. I'm working on it. You also need to be something of a hacker to set it up (?), so for those hoping for an alternative to minix-386, please ignore me. It is currently meant for hackers interested in operating systems and 386's with access to minix.

Subject: Free minix-like kernel sources for 386-AT Message-ID: <1991Oct5.054106.4647@klaava.Helsinki.FI> Date: 5 Oct 91 05:41:06 GMT Organization: University of Helsinki Do you pine for the nice days of minix-1.1, when men were men and wrote their own device drivers? Are you without a nice project and just dying to cut your teeth on a OS you can try to modify for your needs? Are you finding it frustrating when everything works on minix? No more all-nighters to get a nifty program working? Then this post might be just for you :-) As I mentioned a month(?) ago, I'm working on a free version of a minix-lookalike for AT-386 computers. It has finally reached the stage where it's even usable (though may not be depending on what you want), and I am willing to put out the sources for wider distribution. It is just version 0.02 (+1 (very small) patch already), but I've successfully run bash/gcc/gnumake/gnu-sed/compress etc under it. Sources for this pet project of mine can be found at nic.funet.fi (128.214.6.100) in the directory /pub/OS/Linux. The directory also contains some README-file and a couple of binaries to work under linux (bash, update and gcc, what more can you ask for :-). Full kernel source is provided, as no minix code has been used. Library sources are only partially free, so that cannot be distributed currently. The system is able to compile "as-is" and has been known to work. Heh. Sources to the binaries (bash and gcc) can be found at the same

newsgroup alt.os.linux but a message from Prof Andy Tanenbaum (AST) (wrote Minix) on

The system needs an AT-compatible harddisk (IDE is fine) and EGA/VGA. If you are still interested, please ftp the README/RELNOTES, and/or mail me for additional info. I can (well, almost) hear you asking yourselves "why?". Hurd will be out in a year (or two, or next month, who knows), and I've already got minix. This is a program for hackers by a hacker. I've enjouyed doing it, and somebody might enjoy looking at it and even modifying it for their own needs. It is still small enough to understand, use and modify, and I'm looking forward to any comments you might have. I'm also interested in hearing from anybody who has written any of the utilities/library functions for minix. If your efforts are freely distributable (under copyright or even public domain), I'd like to hear from you, so I can add them to the system. I'm using Earl Chews estdio right now (thanks for a nice and working system Earl), and similar works will be very wellcome. Your (C)'s will of course be left intact. Drop me a line if you are willing to let me use your code. Linus PS. to PHIL NELSON! I'm unable to get through to you, and keep getting "forward error - strawberry unknown domain" or something.

"Linux is Obsolete" started a flame war. The flame war got quite heated at times

From: ast@cs.vu.nl (Andy Tanenbaum) Newsgroups: comp.os.minix

with supporters for both sides eventually agreeing to disagree.

do in the evening when I get bored writing books and there are no major wars, revolutions, or senate hearings being televised live on CNN. My real job is a professor and researcher in the area of operating systems.

Subject: LINUX is obsolete Date: 29 Jan 92 12:12:50 GMT Organization: Fac. Wiskunde & Informatica, Vrije Universiteit, Amsterdam I was in the U.S. for a couple of weeks, so I haven't commented much on LINUX (not that I would have said much had I been around), but for what it is worth, I have a couple of comments now. As most of you know, for me MINIX is a hobby, something that I 3 LINUX MAGAZINE 12 路 2001

As a result of my occupation, I think I know a bit about where operating are going in the next decade or so. Two aspects stand out: 1. MICROKERNEL VS MONOLITHIC SYSTEM Most older operating systems are monolithic, that is, the whole operating system is a single a.out file that runs in 'kernel mode.' This binary contains the process management, memory management, file system and the rest. Examples of such systems are UNIX, MS-DOS, VMS, MVS, OS/360, MULTICS, and many more.


10 YEARS

HISTORY

First Started : October 1999 Distributions Used: Debian, FreeBSD Specialist Area: Information Technology Management.

Current Perspective :

Future Predictions.

Growth Areas:

Wired 4 Life was established to actively promote Open Source and GPL based software. Realising that many businesses are seeing increasing costs in software purchases despite continuing reductions in the cost of hardware. To compensate Wired 4 Life is encouraging businesses to implement Open Source and GPL applications, utilising shared file services such as Samba, internal and external E-mail through the many varieties of mail applications and providing Internet access and firewalls, using tools commonly distributed with Linux and FreeBSD. Much of Wired 4 Lifes' business arrives via referral or word of mouth which is a testament to Wired 4 Lifes commitment to customer satisfaction.

A business' core function should not be to continually support costly software and hardware upgrades required by commercially driven products. In adopting Open Source software and building on that philosophy, a business can drive development of more reliable applications whilst maintaining control over their own internal processes. Sharing the cost of software development means new applications can be born and common standards will be built upon which no single entity can control. Open Source is returning control to the consumer.

Many customers are realising that developing intranet applications using Open Source products allows costs of projects to be spread out amongst the Open Source community. Making the source „Open‰ means ensuring that they are not railroaded into a technology driven product.

12 · 2001 LINUX MAGAZINE 4


HISTORY

10 YEARS

The alternative is a microkernel-based system, in which most of the OS runs as separate processes, mostly outside the kernel. They communicate by message passing. The kernel's job is to handle the message passing, interrupt handling, low-level process management, and possibly the I/O. Examples of this design are the RC4000, Amoeba, Chorus, Mach, and the not-yetreleased Windows/NT. While I could go into a long story here about the relative merits of the two designs, suffice it to say that among the people who actually design operating systems, the debate is essentially over. Microkernels have won. The only real argument for monolithic systems was performance, and there is now enough evidence showing that microkernel systems can be just as fast as monolithic systems (e.g., Rick Rashid has published papers comparing Mach 3.0 to monolithic systems) that it is now all over but the shoutin`. MINIX is a microkernel-based system. The file system and memory management are separate processes, running outside the kernel. The I/O drivers are also separate processes (in the kernel, but only because the brain-dead nature of the Intel CPUs makes that difficult to do otherwise). LINUX is a monolithic style system. This is a giant step back into the 1970s. That is like taking an existing, working C program and rewriting it in BASIC. To me, writing a monolithic system in 1991 is a truly poor idea. 2. PORTABILITY Once upon a time there was the 4004 CPU. When it grew up it

became an 8008. Then it underwent plastic surgery and became the 8080. It begat the 8086, which begat the 8088, which begat the 80286, which begat the 80386, which begat the 80486, and so on unto the N-th generation. In the meantime, RISC chips happened, and some of them are running at over 100 MIPS. Speeds of 200 MIPS and more are likely in the coming years. These things are not going to suddenly vanish. What is going to happen is that they will gradually take over from the 80x86 line. They will run old MS-DOS programs by interpreting the 80386 in software. (I even wrote my own IBM PC simulator in C, which you can get by FTP from ftp.cs.vu.nl = 192.31.231.42 in dir minix/simulator.) I think it is a gross error to design an OS for any specific architecture, since that is not going to be around all that long. MINIX was designed to be reasonably portable, and has been ported from the Intel line to the 680x0 (Atari, Amiga, Macintosh), SPARC, and NS32016. LINUX is tied fairly closely to the 80x86. Not the way to go. Don`t get me wrong, I am not unhappy with LINUX. It will get all the people who want to turn MINIX in BSD UNIX off my back. But in all honesty, I would suggest that people who want a **MODERN** "free" OS look around for a microkernel-based, portable OS, like maybe GNU or something like that. Andy Tanenbaum (ast@cs.vu.nl) P.S. Just as a random aside, Amoeba has a UNIX emulator (running in user space), but it is far from complete. If there are any people who would like to work on that, please let me know. To run Amoeba you need a few 386s, one of which needs 16M, and all of which need the WD Ethernet card.#

eoff (end of flame fest :-)

From: dingbat@diku.dk (Niels Skov Olsen)

Niels

Newsgroups: comp.os.minix

Professor Tanenbaum eventually released MINIX as public domain with the source and various versions exist supporting hardware from Ataris to SPARC stations. With hindsight it is easy to look at the arguements of Microkernel and Monolithic systems, but at the time it seemed to be a major problem. AST jokingly awarded Linus two F grades for poor design. Releases happened fast with some just weeks apart. New features and support was growing. Finally in March 92 the version number jumped from 0.12 to 0.95 as it was almost a full release. It then took until 13/3/94 for 1.0 to hit the world. Version 2.0 hit in June 96 and 2.4 finally in January 2001. On the CD you will find a copy of 0.01 just for fun. The listing of kernel revisions is held at http://www.memalpha.cx/Linux/Kernel/Maste r.html The beginnings of the GPL and the GNU project go back further than 10 years to January 1984 and the story of how Richard Stallman developed the project after the IT industry changed to proprietary software is a

Subject: Re: 1.6.17 summary and why I think AST is right. Date: 10 Feb 92 17:33:39 GMT Organization: Department of Computer Science, U of Copenhagen michael@gandalf.informatik.rwthaachen.de (Michael Haardt) writes: >Stop flaming, MINIX and Linux are two different systems with different purposes. >One is a teaching tool (and a good one I think), the other is real UNIX for real hackers.

Hear, hear! And now Linux articles in alt.os.linux (or comp.os.misc if your site don't receive alt.*) and Minix articles here.

5 LINUX MAGAZINE 12 路 2001

very important one. It can be found at http://www.gnu.org/gnu/the-gnuproject.html Although we always use the term Linux, most of the time we are refering to GNU/Linux as we are including other components with the kernel. So where does this leave us. Well after 10 years we have an OS that competes on the world market (As I write MacDonalds have announced 4000 stores are to change to Linux). The OS runs on lots of differing architecture using preemptive multitasking supporting multi users. The IT industry is starting to understand Open Source and the desktop is becoming fun. In the next 10 years your guess is probably better than mine. Will the Internet be even more pervasive? Just how fast can machines go? Problems ahead do exist such as software patent law and governmental control, but I still predict an Open Source world will eventually dominate.


10 YEARS

HISTORY

Celebrating 10 years of Linux Roger Whittaker SuSE Linux Ltd The old saying about how 'mighty oaks from tiny acorns grow' was never more appropriate than in the case of Linux. We have certainly come a long way since that famous email (August 25th 1991) which could be considered the first announcement of Linux and which began as follows. Hello everybody out there using minix I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I'd like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the filesystem (due to practical reasons) among other things) [ ... ] What began as 'just a hobby' has become extremely big and very professional. There is indeed much to celebrate: far too much to mention here. But in particular this is a good time to remember the phenomenal work done in those earliest days by Linux Torvalds as he slipped from computer to bed and back hardly noticing whether it was day or night. It is also a good time to celebrate the extraordinary prescience and foresight of his decision to make the code available under the GPL which allowed the open-source development model to work its magic. Speaking personally, the excitement and fascination of exploring Linux led me to make a complete career change and join SuSE, the oldest existing Linux company. SuSE began in 1992 and started distributing Linux in the following year: originally a localised version of Slackware for the German market, but very soon a distribution in its own right with an international presence. Linux has changed the world of computing: the power of the open source method has ensured that. 'World domination' has not arrived (yet), but no-one in the industry whichever side they are on can possibly ignore it.

Yes, there is indeed plenty to celebrate.

12 路 2001 LINUX MAGAZINE 6


HISTORY

10 YEARS

Major developments in the last two years. January, 1999

November, 1999

July, 2000

Samba 2.0 is released. Kernel 2.2.0 is released Blackdown's JDK 1.2 February, 1999 Brave Gnu World starts. Kernel 2.2.1 released. Lyx 1.0.0 is released. Linux-Mandrake 5.3 is released. KDE 1.1 is released. Samba 2.0.2 SuSE 6.0 released. Glibc 2.1 is released. March, 1999 Gnome 1.0 is released. Kernel 2.2.3 is released. Debian 2.1 is released. April, 1999 Caldera OpenLinux 2.2 is released. SuSE 6.1 is released. Python 1.5.2 is released. KDE 1.1.1 beta is released. Red Hat 6.0 is released. May, 1999 Definite Linux 6.0 is released. Tcl 8.1 is released. KDE 1.1.1 is released. Kernel 2.2.8 comes out, and 2.3.0. Slackware 4.0 is released. Corel's WordPerfect for Linux. Linux-Mandrake 6.0 is released. June, 1999 LinuxPPC 5.0 is released. PostgreSQL v6.5 is released. TurboLinux Workstation 3.6 is released. Qt 2.0 is released. Sun releases the JDK 1.2.2. July, 1999 Midgard 1.1 is released. Oracle releases Oracle8i for Linux. IBM released DB2 for Linux. August, 1999 Stable kernel 2.2.11 is released. Definite Linux 6.1 is released. Midgard 1.2 is released. September, 1999 Zope 2.0 is released. Bind 8.2 is released. Caldera OpenLinux 2.3 is released. GnuPG 1.0 is released. Debian 2.1r3 is released. Development kernel 2.3.18 is released. KDE 1.1.2 is released. Linux-Mandrake 6.1 is released. October, 1999 Definite Linux 7.0 is released. Red Hat Linux 6.1 is released. IBM announces their JVM for the JDK 1.1.8.

Slackware 7 is released. Reiserfs with journaling is released. Kondara MNU/Linux 1.0 is released. Corel launches its Linux distribution. SuSE 6.3 is announced. Mozilla Milestone 11 is released. Real-time Linux 2.0 is released. December, 1999 Linux kernel 2.3.30 is released. SuSE 6.3 starts shipping. Zope 2.1.1 is released. Bastille Linux 1.0.0 is released. Development kernel 2.3.33 is released. Debian 2.1r4 is released. Storm Linux 2000 is released. Mozilla M12 is released. January, 2000 SGI make OpenGL open source license. Mozilla M13 is released. Linux-Mandrake 7.0 is released. February, 2000 IBM's Journaled File System released as GPL. OpenSSH 1.2.2 is released. Hard Hat Linux 1.0 is released. BlackCat Linux 1.0 is released. TurboLinux 6.0 released. March, 2000 Helix Gnome started. XFree86 4.0 is released. Trustix 1.0, is released. Chinese Penguin64 is released. Red Hat 6.2 is released. FreeBSD 4.0 is released. Perl v5.6.0 is released. April, 2000 Corel Word Perfect Office 2000 released. Gimp 1.1.20 is released. Samba 2.0.7 is released. Vine Linux 2.0 is released. Plamo Linux 2.0 is released. Applixware 5.0 is announced. Mozilla M15 is released. Qt 2.1 is released. Netscape 6 preview release 1. IBM introduces DB2 Universal Database V7. Trustix Secure Linux 1.0 is released. May, 2000 IBM announces that Linux for its S/390 mainframe. PostgreSQL 7.0 is released. June, 2000 Slackware 7.1 is released. MySQL now under the GPL. Bastille Linux 1.1 is released. BlueCat Linux release 2.0. Linux-Mandrake 7.1 is released.

StarOffice is to be released under the GPL. Red Hat release Source Navigator under GPL. e-smith server 4.0 is released. August, 2000 Debian 2.2 is released. IBM release the Andrew Filesystem (AFS) under the IBM Public License. XEmacs/GTK is released. LinuxPrinting.org, started. Blue Cat Linux 3.0 is released. SuSE 7.0 is released. September, 2000 Qt library released under the GPL. Python 1.6 and 2.0b1 are released. RSA encryption algorithm made public domain. SmoothWall released. Red Hat 7 is released. October, 2000 SAP release its database under the GPL. The StarOffice source released. Turbolinux Workstation Pro 6.1. Python 2.0 is released. KDE 2.0 is released. Linux-Mandrake 7.2 is released. November, 2000 Debian 2.2r1 is released. Netscape 6 is released. Red Hat 7 on the Alpha is released. SuSE Linux 7.0 for the Alpha is released. Trustix Secure Linux 1.2 is released. December, 2000 Bruce Perens moves to HP. Conectiva 6.0 is released. Debian 2.2r2 is released. OpenBSD 2.8 is released. Mailman 2.0 is released. The source to Solaris 8 is released. NetBSD 1.5 is released. Mozilla 0.6 is released. January 2001 2.4.0 Kernel is released. SuSE 7.1 is released. February 2001 KDE 2.1 is out March 2001 Progeny Debian RC1 April 2001 RedHat 7.1 released. Mandrake 8.0 released. May 2001 Eazel closes June 2001 SuSE 7.2 released Caldera OpenLinux Workstation 3.1 Caldera OpenLinux Server 3.1 July 2001 Dmitry Sklyarov is arrested.

7 LINUX MAGAZINE 12 路 2001


10 YEARS

The Master of One, The Jack of Many "So, you've good uptime"? "Yes. A number of our shared servers have been running without reboot for over a year" "Excellent. And logging, good bandwidth, free support..?" "Yes, and more." "Sounds great. And ASP scripting? My site runs from an Access Database." "Erm..." Hereafter, if the sales call is to a technically "agnostic" hosting provider, it's a one-way trip to the clutches of its NT department, where the notion of 300+ days of uptime is as absurd as the eventual site defacement is inevitable. Some providers, however, aren't willing to be the Jack of all trades. The proprietorially-wedded customer is asked to be "always right" elsewhere. The Positive Internet Company (http://www.positiveinternet.com/), based in London, gives just this dogged message to prospective customers, and the reactions range from incredulity ("I thought Bill Gates invented the Internet!") to interest ("There are genuine alternatives to being a Microsoft serf?"). Positive's choice to use just GNU/Linux and associated Free software in its hosting and dedicated service provision has its basis in efficiency, flexibility and even morality: "We install and run facilities managed servers for very big household names. The notion of doing this without compiling afresh from the source code is alien: almost a dereliction of duty!" says Andrew Och, an engineer at the Company. He continues: "From our shared hosting right up to our renowned Enterprise Max dedicated server, customers are delighted with the reliable flexibility on offer in the Free software ecosystem. And we're delighted that it lets us run rings around the competition!" With PHP, Perl, MySQL, Python, Java servlets and JSP, customers kick the ASP habit quickly, particularly with Positive's enthusiastic support team on hand. Och chuckles, "I sometimes hope Microsoft continue their successful marketing, because it means we always have the secret of a GNU/Linux based system up our sleeve: digital magic to a jaded MS veteran". But, with every passing Code Red incident, the trend towards GNU/Linux is unstoppable; increasingly, when a customer's Access/ASP question is replied in the negative, the retort is "Thank heavens - where do I sign up?"

HISTORY


KNOW HOW

TCL/TK

Universal tool

A WIDE CANVAS CARSTEN ZERBST

Tcl/Tk's universal tool

Canvas offers you a virtual canvas that allows you to display objects such as lines, surfaces, bitmaps and fonts. However, possibilities are not limited to display. Objects can also be manipulated, either in a pre-programmed process or interactively by the user. Canvas can also export the finished masterpiece as postscript. Due to its functional range, it forms the basis of many drawing programs (Impress for example). The source text in Listing 1 demonstrates some of the Canvas widget's features. As in the last instalment of Tcl, we're dealing with the representation and manipulation of type 1 fonts (postscript fonts). The screenshot in Figure 1 is taken from the detailed version of the program, which draws an exclamation mark consisting of an upright bar (actually a polygon) and a spherical base.

for 2D graphics is the Canvas widget. It can represent, manipulate and animate simple and complex graphic objects and enable mouse access. Most user interfaces can be designed using the usual GUI elements like buttons, entry fields and labels. But some tasks go beyond the limits of these widgets. Whether you want to illustrate a factory's material flow, conjure up the romance of steam trains or just want to give your program an interface that is a bit out of the ordinary, look no further than the Canvas widget. Table 1: Attributes of Canvas Objects Tags List of tags -fill Colour colour of lines and surfaces -outline Colour colour of outlines -width Width width of lines and outlines -dash Pattern line pattern, e.g. "-.." -stipple Pattern bitmap for shading, e.g. gray25 -arrow Where arrow point (none, first, last, both) -smooth Boolean splines instead of polygon

1 LINUX MAGAZINE 12 ¡ 2001

Objects Firstly, two arrows are going to illustrate the 1000x1000 point design space of type 1 characters. The coordinate axes are pointing upwards and to the right. However, the Canvas widget uses its own coordinate system that cannot be changed. In this, the axes point downwards and to the right, as in X11. It is the programmer's job to create objects in Canvas with coordinates that have been converted – or can convert them using canvasName scale Element. For the first two lines of Listing 1 the y coordinate's sign is simply reversed. A negative scaling factor along the y axis has the same effect for the remaining elements. New Canvas objects are always created in the same way. The syntax is canvasName create Type Coordinates Attributes. Table 1 contains a listing of important attributes. If the commands from the listing are entered one at a time (such as in Tkcon), not much of the two lines is visible at first. The Canvas widget must first be told which region to display. This is done with the -scrollregion option. Considering the size and resolution of today's monitors, the display could be smaller. This is achieved by simply scaling down the arrows (in our example by a factor of 0.4).


TCL/TK

KNOW HOW

Listing 1: Canvas widget with some objects canvas .c -width 400 -height 500 -bg white \ -xscrollcommand [list .hscroll set] \ -yscrollcommand [list .vscroll set] scrollbar .hscroll -orient horizontal -command [list .c xview] scrollbar .vscroll -orient vertical -command [list .c yview] grid grid grid grid

.c .vscroll -sticky news .hscroll -sticky ew columnconfigure . 0 -weight 1 rowconfigure . 0 -weight 1

# Two lines with arrow points .c create line -100 0 1100 0 -fill red -arrow last -tags coord .c create line 0 400 0 -1100 -fill red -arrow last -tags coord .c configure -scrollregion {-100 -1100 400 1100} # Scaling set scale 0.4 .c scale coord 0 0 $scale $scale .c configure -scrollregion [.c bbox all] Figure 1: The complete example draws an exclamation mark with several check points and displays the current mouse position

Manipulated objects Each manipulation must specify which object it is referring to. This can be done in two ways: using IDs or tags (markings). Each object is assigned a unique ID when it is created. This could be stored for later use, but it's easier to use tags. Each object can contain one or more tags, by which it can be addressed instead of by its ID. Two tags always exist – all for all objects and current for the most recent object. After scaling down, the arrows should be completely visible. However, the scroll region still has to be adapted to the new dimensions. Instead of specifying the area directly as before, we will use the command bbox. It determines the region within Canvas that is occupied by objects. We want to create an exclamation mark as a simple outline. The widget itself can deal with scaling and reflection in the y direction. Like the arrows before, the bar is scaled down as soon as it is created. A negative scaling factor along the y axis takes care of reflection. Scaling only ever applies to coordinates – line width or text size are not affected. In our example, one corner of the bar still contains a little square.

Spherical objects After the bar, it's the turn of the base. It does not simply consist of a circle, but has a more complex shape formed of several curves. In order to be able to represent curves instead of straight lines, the option -smooth true exists for lines and polygons. The display uses splines, which smooth the transition between two consecutive line segments. To introduce a bend into a spline curve, the bending point must be contained twice in the list of coordinates. Type 1 fonts use bezier curves, defined

# Bar set item [.c create polygon 440 800 560 800 530 270 470 270 \ -fill seagreen2 -outline seagreen4 -tags outl1 ] .c scale $item 0 0 $scale -$scale # A node .c create rectangle 430 790 450 810 -tags {node outl1} \ -fill seagreen2 -outline seagreen4 .c scale node 0 0 $scale -$scale # A curve set item [.c create line 400 60 400 100 450 140 500 140 \ -smooth true -fill seagreen4 ] .c scale $item 0 0 $scale -$scale # Some text .c create text 100 -100 -text "Print with ^p" # Output of coordinates proc coords {x y} { set x [expr {[.c canvasx $x]/$::scale}] set y [expr {-[.c canvasy $y]/$::scale}] puts stdout "x: $x\ty: $y" } bind .c <Motion> {coords %x %y} # Selection proc deselect {} { .c itemconfigure outl1 -outline green4 -fill green2 .c bind outl1 <Button-1> select } proc select {} { .c itemconfigure outl1 -fill firebrick1 -outline firebrick4 .c bind outl1 <Button-1> deselect } .c bind outl1 <Button-1> select # Printing the visible region proc printing {} { puts stderr "Print postscript canvas.ps" set fd [open canvas.ps w] puts $fd [.c postscript ] close $fd } bind . <Control-p> printing 12 · 2001 LINUX MAGAZINE 2


KNOW HOW

TCL/TK

Interactive objects

News from the Tcl world Jeffrey Hobbes has published a new version of Tkcon, a tool for every Tcl developer. It would be unfair on Tkcon to describe it simply as a substitute for the normal Tcl command line interface. Tkcon offers the same usability when working with Tcl that you will be accustomed to from Tcsh or Bash. Tkcon automatically completes file names as well as Tcl commands and variables. In addition, it has other features that you will be familiar with from fully-fledged editors, such as syntax highlighting and display of bracket levels. You can browse through name spaces with ease, extensions installed in the system can be loaded at a mouse-click, and much more besides. Tkcon makes working with Tcl even more fun.

Tkcon as universal tool Tkcon not only offers valuable support when trying out new things but also helps with debugging. It is even ideally suited to writing applications, as it can display individual variables or load improved source text at runtime. The Tcl extension Snack is undergoing quite a bit of development. This is nothing to do with fatty foods rich in carbohydrates, but rather with sound. Language researchers at the Royal College of Stockholm have created a tool that can deal with many sound processing tasks. Snack can record and play sounds, edit and distort them and carry out further processing. If you're planning on dissecting your MP3 files, you may as well do it with Snack. Wavesurfer (see Figure 2), a handy program for editing audio files, uses Snack. The way to your own MP3 player has never been as easy as with this extension.

Reading matter If you'd like to see what others are getting up to with Tcl/Tk, we'd recommend a look at the pages of the 2nd European Tcl/Tk User Meeting. There is a wide range of papers, the focus this year was on the use of Tcl on the Web. Even though not nearly as much fuss is made about Tcl as about some of its alternatives, Tcl is working behind the scenes of AOLserver and Vignette's Story server, both of which are hardly the smallest in their field. Fringe areas such as the coupling of COBOL with Tcl are examined, along with the application of Tcl for game control or as a testing tool.

To be able to select or move objects with the mouse, they must first react to it. The command canvasName bind TagOrID Event Command is used to instruct one or more Canvas objects to react to a specified event. In our example, when you click on the bar, it changes colour. Lastly, we want to output the whole thing as postscript. Using canvasName postscript, this is no problem either. If no printing area is specified, the output only contains the visible Canvas region. Otherwise, the required section has to be specified. When using texts in Canvas, it is advisable to remember that there are often more fonts installed than the printer will recognise. Either limit yourself to the 35 standard fonts or embed the additional fonts in the postscript file at a later date.

How many dimensions? The Canvas widget offers a lot of functionality for 2D graphics, either purely for display purposes, for user interfaces or for creating graphics with a lot of interactions. Help is also available. For instance, Pstoedit can prepare many postscript files so that they can be represented with Canvas. Gnuplot can output its graphics directly in Canvas widget format. If, however, you're thinking more in terms of 3D for graphics, Canvas won’t make you happy. Depending on your exact requirements, the OpenGL widget Togl may be better suited, or VTK for processing and representing scientific data, or the game engine Nebula Device. After this rather picture-heavy instalment, the next issue of Tcl will describe how to design a really user-friendly Tcl/Tk application. ■

Info Figure 2: Wavesurfer not only plays and processes audio files, but also displays wave forms graphically. This picture shows a WAV file

The author Carsten Zerbst is a member of staff at Hamburg-Harburg Technical University. Apart from researching service integration on board ships, he investigates Tcl in all its forms.

by two nodes and two check points. The example for the first segment only uses four points. Work with Canvas often requires the mouse position. The location within the system of screen coordinates is of less interest than the Canvas position. The commands canvasx and canvasy convert the position, taking the current scroll position into account, but not scaling. The coords function divides the coordinates by the scaling factor and then outputs the converted coordinates on the command line.

3 LINUX MAGAZINE 12 · 2001

Tkcon: http://tkcon.sourceforge.net Snack: http://www.speech.kth.se/snack/ 2nd European Tcl/Tk User Meeting: http://www.tu-harburg.de/skf/tcltk AOLserver: http://aolserver.com Wiggles: http://www.wiggles.com Animated steam loco: http://mini.net/cgibin/wikit/1329.html Xtcc: http://www.tuharburg.de/skf/tcltk/papers2000/xtcc.pdf Impress: http://www.ntlug.org/~ccox/impress/index.html Pstoedit: http://www.geocities.com/SiliconValley/Networ k/1958/pstoedit/ Togl: http://sourceforge.net/projects/togl/ VTK: http://www.kitware.com Nebula Device: http://www.radonlabs.de ■


PASSWORDS

KNOW HOW

Easy protection with

PASSWORD POLICIES When I turn up at different

companies I look around a typical

JOHN SOUTHERN

office and it is easy to work out login names. Passwords on a system that you control however should be more secure and not too obvious. On your Linux system the passwords are stored in the plain text file /etc/passwd You can view this file with any text editor. A typical line is darth:x:500:100:Darth Maul:/home/darth:/bin/bash This can be split up as follows: darth - Login Name x - Encrypted password 500 - UID (User IDentity number) 100 - GID (Group IDentity number) Darth Maul - GCOS (Extra info about the user U such as name etc,.) /home/darth - Home Directory /bin/bash - Shell used As we can see the password is shown as an x which indicates that we are using shadow passwords. If we are not the password is a string which has been encrypted with the DES (Digital Encryption Standard). The problem with just using DES is that the /etc/passwd file is readable to everyone, otherwise they would not be able to sign onto the system. This means that they could in turn read the encrypted string in a simple text editor. By using a dictionary attack program such as Crack ftp://ftp.cert.dfn.de/pub/tools/password/Crack/, which tries a word from its dictionary and compares it with the encrypted string until eventually it guesses correctly. On the other hand, this is sometimes a good way to recover passwords and really depends on just how much security you need. Shadow passwords are stored in /etc/shadow file which only root has read permissions. Signing on as root and looking at the file we get a typical line as darth:wfR0W8eSzI1Lo:11386:0:99999:7:0::

Here we can see the encrypted password is wfR0W8eSzI1Lo The 11386 refers to the last time the password was changed in the days since 1/1/70 The 0 refers to the number of days before the password may be changed. The 99999 is used for the number of days before the password must be changed. 7 shows the number of days before a password change is forced that the user will be warned. The following 0 shows the time in days when the account is disabled after the password expires. Following this could be the number of days until the account is disabled. A final field is a reserved field. Looking at the encrypted password: If we take an eight-letter password, for example ABCDEFGH, this is first encoded with a salt seed. The salt seed is a two-character string giving 4096 combinations. This is the first two characters of the password. The lowest seven bits of each letter of the password is then used to generate a 56-bit key for the DES algorithm to run against. The generated 11 ASCII character is added onto the seed to give the 13character encrypted password. Simple dictionary attacks are now fairly quick with some 500,000 words being contained in all seed combinations and sorted in order. Compared to the password this greatly aids the cracker. To overcome this weakness, passwords should, as we all know, be random letters and characters and not make sensible words. The usual policies about changing passwords often also apply. To make the password a little more safe requires us to use the MD5 encryption method, which is a little stronger than DES. Mind you, this is the usual case of do as recommended and not as I do. As I write this I have been roothacked. Yet another re-install and this time I will use Tripwire. Still, on the bright side I do have a new box set distro somewhere... â– 12 ¡ 2001 LINUX MAGAZINE 65


KNOW HOW

INSTALLATION

Installing Open-Source Software on Linux

RPM LOADING CHRIS BROWN

Everyone needs to update their system with new programs from time to time. Here, we show you how to find and install applications simply and painlessly.

When you install a Linux distribution, the installation software will ask you to specify what pieces you want to include. Usually it provides default selections such as a 'standard workstation' install, and if you're new to Linux, chances are you'll go with the default. You'll be Figure 1:Finding RPMs.

66 LINUX MAGAZINE 12 路 2001

guaranteed a working, useful system with a reasonable collection of tools. Sooner or later, though, you're going to want to use something that the default installation didn't include. Or you may want a package that isn't part of your Linux distribution at all. Or you might want to install a more recent version of a package than the one you're running now, perhaps because it fixes bugs which are troubling you, or has new features you need, or closes security holes which have been discovered. In this article we're going to learn how we can obtain and install new software packages on Linux. More often than not, finding the package in the first place is the hardest part. So we'll look at ways of searching for software, too.


INSTALLATION

KNOW HOW

Figure 2: Check the information before you download

The sheer wealth of free software available for Linux can be overwhelming - what one might call an 'embarrassment of riches', to quote Abbe D'Allainval. Well, actually, he said it in French, and since he died in 1753 he most likely wasn't talking about software. But the sense of the phrase is that the more alternatives you have, the more difficult it is to choose.

RPM is that it keeps a database of packages already installed on your system, and if you want to install a new package it will tell you if any of the prerequisite packages required by the new package aren't present. Missing pre-requisites are the most likely cause of failure when installing a new package. Although RPM doesn't magically fix the problem, it does at least give you a clear statement of what's missing.

Distribution formats Software packaged for Linux is available in a number of formats. The two you'll most often encounter (and the two we're going to look at) are RPM packages, and a format rather quaintly known as a 'tarball'. RPM packages usually provide compiled binary code for a specific platform. Tarballs usually provide source code that can be compiled and run on different hardware architectures and a variety of versions of Linux and UNIX. There are other packages formats, which we don't deal with here, such as the Gnu/Debian DEB format.

What's RPM? RPM stands for Red Hat Package Manager, but its use is not restricted to Red Hat Linux. The SuSE and Mandrake distributions, for example, also use it. RPM defines a format for parcelling up an installable piece of software. The parcel (a '.rpm' file) includes the compiled binary code of the software itself, scripts which do whatever needs to be done to install the software, and information about other software packages which this particular package requires. One of the biggest advantages of using

Installing an RPM Let's take an example of locating and installing an RPM package. Suppose I'm interested in migrating a website, developed using active server pages, to my Linux machine. I have heard that there's a tool called asp2php that claims to translate asp code into php which I can run in my Apache Web server. I'd like to give it a try.

Looking locally The first thing to figure out is, do I already have it? That's not such a stupid question. There's an awful lot of stuff on those CDs that came with my Linux distribution I don't know about. I'm a great believer in trying obvious things first, so I'll open a terminal window and try to run it: $ asp2php bash: asp2php: command not found $ Not a good start. That doesn't prove it's not installed, but it does show that it's not in one of the directories on my search path. We can do an exhaustive search of the file system with the find 12 路 2001 LINUX MAGAZINE 67


KNOW HOW

Figure 3: Using kpackage to install

Figure 4:Showing the dependencies needed

INSTALLATION

command. It's best to do this as root, otherwise you'll get lots of messages about directories that find doesn't have permission to look in. Try the command:

If asp2php required any packages which weren't present, it would have told you at this stage. For example, if I had tried to install asp2php-gtk0.75.11-1.i386.rpm by itself, I would see this:

# find / -name asp2php -print #

# rpm -i /mnt/cdrom/RedHat/RPMS/asp2php-gtk-U 0.75.11-1.i386.rpm error: failed dependencies: asp2php = 0.75.11 needed by asp2php-gtk-0U .75.11-1.i386.rpm #

which says "search the whole file system, starting at the root directory, for a file called asp2php, and if you find it, print its name". This might take a minute or two. In my case, it didn't find anything. I just got a prompt back. This is the usual Linux/UNIX philosophy - as Thumper said in a rare moment of lucidity in the film 'Bambi': "If you can't say nutt'n nice, don't say nutt'n at all". If your system uses RPM for its package management, you could have found this out a little faster by using the rpm command to query the list of installed packages: $ rpm -q asp2php package asp2php is not installed $ Of course, the fact that it isn't installed doesn't necessarily mean that it isn't included in my Linux distro. We need to take a look at the RPM files on the distribution CDs. In the case of a Red Hat distribution, for example, the RPMs live in a directory called Red Hat/RPMS on each CD. So, with one of the CDs mounted on /mnt/cdrom, for example, I can look for the package with a command such as: $ ls /mnt/cdrom/RedHat/RPMS/asp2php* In this way, I discovered that in the Red Hat 7.1 distribution CD2 contains two files: asp2php-0.75.11-1.i386.rpm asp2php-gtk-0.75.11-1.i386.rpm These filenames, whilst admittedly messy, tell you quite a bit: asp2php is the name of the package. 0.75.11 is the version number. The '-1' tells you that this is the first build of an RPM for that package and version. The 'i386' means it's compiled for the Intel architecture. (Remember, this RPM contains compiled code so it's specific to the processor architecture for which it was built. If you were using a Sun sparcstation, for example, you'd be looking for a name ending in '.sparc.rpm').

Installing the RPM Now we've found the rpms, we can install both of them with the command: # rpm -i /mnt/cdrom/RedHat/RPMS/asp2php* # You have to do this as root because the installation needs to copy the program into a system directory (/usr/bin in this case) and update the RPM database. 68 LINUX MAGAZINE 12 路 2001

Typing these really long command lines and filenames (and getting them right!) is a pain, even for die-hard command line users like me. If you're using bash as your shell, it's much easier if you turn on filename completion. To generate the command line just shown, what I actually typed was: rpm -i /mnt/c <T>/Re <T>/R <T>/asp <T>-g<T> where <T> means press the TAB key. At each stage, bash will complete the filename for you. If you don't like working at the command line, you can do all these things with graphical tools. For example, clicking on the RPM file within the KDE browser will bring up a kpackage install screen from where the package can be installed simply by clicking the Install button. See Figure 1. Alternatively, kpackage can be started directly, and pointed at the directory where the RPM files are (click on Settings --> Location of uninstalled packages), and used to browse, select, examine, and install any package. See Figure 2.

Net gain OK, what if we can't find the package we want on our distribution CDs? A great place to start searching for RPMs on the Internet is http://rpmfind.net/linux/RPM. Just type the package name into the search box on that page (see Figure 3). You'll get a listing of all known RPMs for the package, with the most recent version numbers listed first. The third line in this list is the same Red Hat rpm we just installed off our local disk. Look carefully at the filenames. The fifth line is an entry for the same package compiled for the Sparc architecure. Clicking on the filename link at the start of the line will display basic information about the package. See Figure 4. Clicking on the .rpm file name at the end of the line will download the rpm which can then be installed as previously described.


KNOW HOW

69 LINUX MAGAZINE 12 路 2001

INSTALLATION


KNOW HOW

KOFFICE WORKSHOP

Koffice Workshop: Part 5

PRACTICAL EXERCISES WITH K TIM SCHÜRMANN

This, the final part of our KOffice Workshop, is about the components which have made the largest advance in terms of range of functions.

As usual, in this last part, all the functions of KPresenter will be explained with the aid of a little example with which you can join in. Noah Deer, managing director of a reputable car dealership, in the frame of a small presentation, is going to cover what the presentation is about and then introduce the firm to the audience – a group of investors. Let's get one thing out of the way right from the start. At the moment, KPresenter cannot match the range of functions offered by StarOffice Impress. Nevertheless it is possible to conjure up some pretty respectable presentations with the KOffice components. At this point express reference must once again be made to the fact that all applications of the KOffice package, including KPresenter, are still in development. So you should not entrust important data to any of these programs, and back up the documents you create often during your work.

Thinking things through But before we really get going, as is always the custom with presentations, the running order comes first. If you want to produce your own presentations, 1 LINUX MAGAZINE 12 · 2001

Figure 1: The professional templates provided by KPresenter

you should always give some thought to structure and content. Thorough planning can eliminate the need for later corrections. In Noah Deer's case the presentation is to start off with a cover sheet, which includes the topic of the presentation. Then follows a slide on which the firm is introduced (by means of bullet points). In order to be able to take part in the Workshop, you should now start KPresenter either via the KOffice desktop (see Part 1 of our Workshop in issue 8) or via the KDE-2 start menu under Office programs/KPresenter.


KOFFICE WORKSHOP

KNOW HOW

Once KPresenter has been loaded, you have the option of creating a new, blank presentation, opening an existing one or generating a new presentation from a template. If you decide on a template, after a click on OK the first slide will be created according to the content. Some of the templates contain coloured backgrounds, while the professional templates limit themselves to text boxes. For Noah Deer's example, select the professional template 1-column and click OK.

Buenos Dìas KPresenter works – as do most presentation programs – with dias or transparent sheets, but refers to these as slides. These names stem from the days when presentations were still cast on transparent slides for a daylight projector or via a slide projector onto a screen. This procedure can still be found in the presentation programs of today. The user can make several slides, on which words, images or graphics can be arranged, as on an ordinary slide. These slides can then be output via a suitable printer onto transparent overhead slides or presented directly via the program. In addition to this, the computer-supported presentation offers extra options which ordinary slides do not. First you can cast your presentation directly from the computer onto a screen provided an appropriate projector is available. But that's not all: Using the option of adding animations and sounds within and between the individual slides, this type of presentation turns a boring lecture into a multimedia event. As already mentioned, KPresenter refers to transparent sheets as slides; we will also be using this term here. In our example the first page should now be exactly the same size as the screen, which you can check and if necessary correct under Extra/Page layout. If all you want to do with KPresenter is prepare a slide show, it will make sense if you insert the dimensions of the slide to be used later. As a rule this corresponds to the A4 format (29,7 cm x 21 cm). But if on the other hand your presentation is to be a projector presentation direct from the computer, then leave the page size at the default setting Screen. Changing between the different page sizes later is possible at any time, but in most cases it also leads to tiresome repairs to the already existing pages.

Work area In the main window of KPresenter you will find several toolbars around the white working area. On the top edge, in addition to the painting and drawing tools, there are also arrow symbols, with which you can scroll back and forth between the various slides. The clipboard editing functions have been shunted off, somewhat unusually, above the colour palette, on the right edge. The picture is

rounded off by the easy-to-view toolbar on the bottom edge of the screen, which accommodates the text formatting functions, and the bar with the tools on the left side. The white working area, which takes up the majority of the KPresenter window, is again split into two. While in the middle (within the red border) there is always a display of the page on which you are currently working, on the left-hand side there is a list of all the pages in your project. The little box with a tick indicates that this page will also be used later in the presentation. If you do not wish to present a page listed there later, all you need to do is deselect the relevant box here. This way you can easily manage two different target groups in a single project. Depending on the group for which you are holding your presentation, simply select or deselect the correct pages prior to the presentation. And you can also add to annotation pages, which serve only for your own notes.

Figure 2: The KPresenter window after opening the template

Background But now back to Noah Deer's example. On each page a blue colour scheme and the logo of Mr. Deer's firm will be displayed. On the lower edge of every page the name of the holding company and the date of the presentation will be shown. To create a coloured background, select Extra/Page background. For the colour scheme, on the first tab, click on the top coloured line in the left upper half of the window. From the colour palette that appears, use the sliders in the left upper half of the window to select a blue tone. Take care to ensure that in the longish, smaller of the two colour palettes the black triangle does not remain in the lowest position. This represents the colour black there – your other settings in this window will be ignored. In the box above the OK button, the colour you have just selected will be

Workshop summary 1. Word processing with KWord (1): A business letter 2. Word processing with KWord (2): A newspaper 3. Tables and diagrams with KSpread and KChart 4. Graphics and images with KIllustrator 5. Presentations with KPresenter

12 · 2001 LINUX MAGAZINE 2


KNOW HOW

[top] Figure 3: The background takes on some colour

KOFFICE WORKSHOP

displayed. As soon as you have found the right colour, click OK. Now select Vertical gradient from the Plain list. This will create a vertical run pattern starting with blue. Now click on the Unbalanced box and use the two slide controls to set a soft, fairly discreet run. You should also take note of the preview in the right side of the window. To insert Noah Deer's logo, change to the

[right] Figure 4: The completed background in the preview

[below] Figure 5: A footer is quickly created

3 LINUX MAGAZINE 12 路 2001

second tab sheet. First, make sure that in the top list there centered is selected. Then click on Choose Picture and in the window which opens, insert an appropriate image of the firm on your hard drive. After a click on OK it should be displayed in the centre of the page. To finish, click Apply, so that the background thus created is also assigned to the current page in the main window. If, later, you have several pages in your project, you can assign this new background to all the pages there using Apply globally. Now close the window by using the button of the same name. To complete the background, you should also create a footer including the name of the presenter and the date. To do this, select Edit/Header/Footer. In the Footer tab, in the big input box, enter the text "Abc Limited". Press the tabulator key twice and enter the date of the fictional presentation. Now make sure that the box Show footer is selected, since otherwise the changes you have made will not be visible on the slide. Then click on the symbol for centring and assign all the entries you have made here via Page update. After closing the window KPresenter should now return to the first page in the main window.

Foreground Now your presentation is ready to be filled with life. Double-click with the mouse on the upper frame on the page and enter "Trusted Used Car Sales" for the first page. If the text appears too large or too small, you can reduce or enlarge it using the symbols from the bar on the lower edge of the screen. With the centring symbol (also found there), you should centre the text. All the commands in this toolbar can also be found in the menu under Text. When applying text formatting you should always remember that the text or area to be altered must be selected first. To do this, you can either use the mouse, or hold down the Shift key and then select text using the arrow keys. Now go to the lower, larger text box, enter "Business Proposal 2002". Unfortunately the preset layout in this text box does not have the ideal structure for a front page. For this reason, the layout of this one page should be amended manually. To do this, click the mouse on a blank area outside the page. Now select the lower, large text box by clicking with the mouse on its edge. The box should display two small black boxes on its sides. All functions which you carry out henceforth are applied to all the text within the selected frame. As you can see, the text in this lower box is split into a format set by default by KPresenter. To switch off this automatic formatting, select from the menu the item Text/Type/Normal Text. This will make the bullet point before the text disappear. Now centre the text, by clicking on the corresponding symbol from the lower toolbar with the text formatting functions. Since the frame is still much too big for


KOFFICE WORKSHOP

KNOW HOW

the text, in the next step, this will be reduced. There are two ways of doing this: • Firstly, you can move the mouse onto one of the small black dots, hold down the mouse button and then bring the frame to the right size by moving the mouse accordingly. • A somewhat faster variant leads via Text/Extend object to fit the contents: This automatically adapts the size of the frame to the size of the text. In the last step, you should move the frame into the centre of the page. To do this, move with the mouse pointer over the frame, until it turns into a cross. Now hold down the left mouse button and place the frame roughly in the middle of the page. As you will discover when you do this, the frame snaps into certain intervals. The grid is responsible for this behaviour, and you can adjust its step size under Extra/Options; it makes it easier to arrange several elements in parallel. That's our front page completed. Next, the slide with the general information on the company is to be produced. To make the second page, you again have two options: Either create a completely new page using the menu item Insert/Page, or simply copy the current page, using Edit/Duplicate page. We are selecting the second variant, since this is the only way the painstakingly created background will also be transferred onto the second slide. After the copying procedure, KPresenter should automatically display the newly-created page in the working area. You can always tell from the marking in the left-hand list which page you are currently editing. With the light blue arrows on the top edge of the screen, you can scroll back and forth between the existing pages.

Fine-boned In the upper text box with the heading enter the text "Firm Background" and then enlarge the lower text box until the frame displays roughly its original size, before it was reduced. Then align the text included in it on the left. The company history of Noah Deer's employer should now be listed in the form of a bulleted list. To do this, first change the type of the text box to Unsorted list by selecting from the menu the item Text/Type/Unsorted List. All the indents are now preceded by a bullet point when they are entered, in the form of a black spot. To create a new bullet point, when entering the text, simply press the enter key within the frame. If you don't like the round bullet points used by default, you can change these to anything you like under Text/Settings. Now enter a few points for Noah Deer's example, as shown in Figure 7. To make any point appear indented, mark these and select from the menu Text/Increase depth. You can also decrease the indent of any lines, by calling

up Text/Decrease depth. In this connection it should also be stressed that KPresenter is still at the development stage. As proof of this, unfortunately we still had a few problems in connection with bulleted lists. If KPresenter does not want to make the bulleted list as you have originally set it, you should completely delete the affected text frame (mark, then select Edit/Delete) and make a completely new frame. To do this, click in the upper toolbar, under the menu bar on the symbol with the big slanted T. The mouse pointer then turns into a small cross. Now move to the point at which the left upper corner of the text box is to be created, hold down the left mouse button and drag the new text frame up. In this way, you can add as many text frames to your page as you like. Noah Deer would like to make use of computersupported presentation during his talk and have each item of the bulleted list just created "move in" from the left at the press of a button. To do this, first select the text frame with the bulleted list and then select

[top] Figure 6: The completed front page of our presentation [above] Figure 7: A bulleted list explains the company history

12 · 2001 LINUX MAGAZINE 4


KNOW HOW

KOFFICE WORKSHOP

click on any blank space on your page.

Lights out

Figure 8: An effect is assigned to the bulleted list points in the second slide

Figure 9: Using these settings, slide three is faded in with Open horizontally

KPresenter: (almost) a little painting program To brighten up your presentations a bit, KPresenter offers a few paint functions. These essentially correspond to those from KIllustrator (see Workshop Part 4 in Linux Magazine Issue 11) and are also used in the same way. As you will soon see when you work with it, KPresenter can hold its own alongside KIllustrator in terms of drawing functions. Unfortunately KPresenter spreads its drawing functions over several toolbars. To draw geometric objects such as triangles or circles, use the symbols from the top toolbar, on the right next to the mouse pointer symbol. Alternatively, the associated functions can also be selected via the menu under the item Tools. In the toolbar on the left edge, KPresenter stores the more complex manipulation functions. With the symbols housed there, an object can be rotated, moved up or down one hierarchy level, and you can combine several objects into a group.

Before the presentation is started for a test run, you can assign more cross-fades to the individual pages. These cross fades specify the way in which the next page is to be faded in during the presentation. For each such procedure, change to the previous page. In Noah Deer's example page 3 is to be opened horizontally. Therefore, you should change to page 2 and call up Screen-presentations/Configure Page. In the window which opens, select Open horizontal and click on OK. Now you can start the finished presentation via Screen-presentation/Start or with a click on the big green button in the toolbar. During the presentation you get to the next respective page by pressing the [->] key. [Esc] ends the entire presentation and returns you to KPresenter. We shall also end our five-part Workshop on KOffice with Noah Deer's presentation. It was the aim of this Workshop to acquaint you with the individual components of the package and to show what a free office package can do. As we hope you have realised, despite a few errors, even at this development stage a few tasks can be performed well with a bit of practice. We are eagerly waiting to see how KOffice will develop in the future. ■

Info Screen-presentations/Assign effects. Then, in Appear set as "Effect (appearing)" "Come from the left" and as "Effect (object-specific)" "Paragraph after paragraph". To assign this effect to the object, click on OK.

KOffice homepage: http://koffice.kde.org Homepage of the KDE project: http://www.kde.org Information on KPresenter: http://koffice.kde.org/kpresenter/

Downward trend of a company

All Noah Deer's presentation needs now is a third slide with the profit and loss figures. To do this, copy the second slide via Edit/Duplicate page and on the new slide change the heading into "2002 profit and loss figures". To make the data for Noah Deer's firm visually appealing, you should use a chart. First make a bit of room for the new object, by removing the lower text frame with the bulleted list. Then select the chart symbol (not to be confused with the pie/arc/chord tool) and drag up a corresponding frame using the mouse. When you do this, proceed in the same way as you did for the text frame already mentioned. To alter the chart, double-click on the inserted frame. To use the chart editor, refer to Part 3 of the KOffice Workshop (Linux Magazine issue 10). For Noah Deer's example, simply enter a few made-up figures, which show that his company is going downhill. To get back to KPresenter, simply 5 LINUX MAGAZINE 12 · 2001

Problems Below are a few problems which occurred during the tests with the version of KPresenter we were sent: • Page numbers could not be inserted (Text/Insert page numbers) • When editing bulleted lists there were frequently problems (see relevant paragraph in article). • Other KOffice objects, such as a KSpread table or a KChart diagram were inserted, but not displayed. • The presentation was not executed correctly or there were still serious representational errors on the upper edge.


KNOW HOW

GIMP WORKSHOP

Image processing with Gimp, part 5

PLUGGED IN SIMON BUDIG

One large area which we have barely touched on in this series is plugins. These are separate little programs that take over special tasks and are included in the Gimp menu.

Figure 1: This is where plugins are checked

Figure 2: First make a few waves...

When starting Gimp for the first time, the dialog from Figure 1 is visible for a relatively long time. This is when the search for new plugins takes place. These are asked where they should be included in the menu. The search results are stored in the file ~/.gimp-1.2/pluginrc – hence subsequent starts will be noticeably quicker. We had the idea initially of arranging all submenus of <Image>/Filters and <Image>/Script-Fu on the screen and making an impressive screenshot, but then we changed our minds – there are just too many. So for this part of the Workshop we’re faced with something of a dilemma:

74 LINUX MAGAZINE 12 · 2001

Which plugins should we present? You may already have been wondering how wecreated the abstract pattern from the last part. Basically, we used two Distorting plugins for this. Open a new image (for example 500x500 pixel) and select, in the centre of the image, a rectangular area (in our example from (0, 220) to (500, 280)). Fill in this area with black colour. With Select/None, deselect this again. Now start the plugin Filter/Distorts/Waves. With this plugin the image becomes distorted as if one had thrown a stone into the (liquid) surface of the image. Using the lower slide control you can affect the waves – in the preview you will then see what awaits you. In our example we’ve taken the values 45, 40 and 20 for the amplitude, phase and wavelength respectively (Figure 2). In the next step this image is distorted spirally. The easiest way to do this is with Filter/Distort/Whirl and Pinch (Figure 3). Make sure that white is set as the background colour, otherwise strangely coloured areas will appear at the edge (where, as it were, something is being screwed out of nothingness). We’ve rotated the image to the max here (360 degrees). If you like, you can also use the Pinch Amount slide control to contract or expand the centre of the image. So now we have something slightly similar to what was used in the last part as an example. But the edge does not look especially great. It looks a bit frayed. Interestingly, a soft focus filter can help to create a neater edge. We came across the main soft focus filters last time: /Filter/Soft focus/Gaussian blur. This plugin comes in two variants, although their results are


GIMP WORKSHOP

only marginally different. Normally it makes very little difference whether one uses IIR or RLE. The soft focus tool can be used for various purposes. In the last part we saw how to use it for light and shadow effects. But it can also be used to create neater anti-aliasing. Yes, that may sound daft, but it works. Draw the image blurred with a radius of about 10. This will necessarily mean losing details, but in our special case, this is what we want. The little indentations are meant to disappear. Incidentally, it is standard practice for the radii in horizontal and vertical directions to be linked to each other, which means they always have the same value. If this is not what you want, you must click on the little button with the chain link. Here comes the trick: Using the Values tool already introduced in the second part, (<Image>/Image/Colours/Levels) you can now create a clean, sharp edge. We have achieved good results with the source values 115, 1.0 and 145 (Figure 5). Now we can simply copy the steps from the last part. Duplicate the levels, let a soft focus run over the lower levels... er, hang on. We forgot the transparency. In fact, we really wanted to have the black motif against a transparent background. No problem whatsoever – there are more plugins. In this case we are helped out by Filter/Colors/Color to alpha. Agreeably enough, white is already set as the colour here, which is to be converted into transparency. After a click on OK we have the image in the form we need. One more comment on the last plugin: Colour to alpha tries to make every pixel as transparent as possible, on the assumption that the colour set will be placed in a level underneath. This is sometimes a

KNOW HOW

good method for making certain colours transparent, but the effect is usually stronger than desired. Depending on the task, though, it’s worth a try.

Figure 3: ...and then stir

Three-dimensional Not so long ago in Web design, buttons which appeared somewhat three-dimensional and encouraged you to click on them were common. Even if the current trend is towards flat design, it is still good to know how to create such effects. Gimp offers the fairly flexible bumpmap plugin for this type of effect, which you will find under FilterMap/Bump Map.

Graphics tablets I will not go into the various types of graphics tablets at this point - for this, you should refer to the article available at http://www.gtk.org/~otaylor/ximput/ . Gimp obtains information via so-called Xinput devices (which also includes graphics tablets) through the GTK+ library. This in turn receives its information direct from the X-Server. So in order to be able to use Gimp with graphics tablets, the X-Server must be configured such that the graphics tablets are recognised as Xinput devices. Typically, this happens via /etc/X11/XF86Config, for which details can be found in the article mentioned above. To support GTK+ one doesn’t have to do very much, since normally all the current packages support Xinput devices as a matter of course. Formerly it might have been necessary to compile GTK+ yourelf, since the support for XInput had to be explicitly selected (the ./configure switch is called —with-xinput). To be able to make use of the expanded options within Gimp, you must now select, under File/Dialogs/Input devices the Xinput devices, by setting each one (apart from SWITCH under XFree 3.3.x) to the mode Screen. After a click on Save and Close you should now be able to paint in the image window with the paintbrush tool pressure-sensitively. A quick word about troubleshooting, in case it doesn’t work. The command xinput list lists all the input devices. If the X-Server has been correctly configured, one or more XextensionDevices should pop up here. If so and if No Input Devices appears within Gimp when the above dialog is selected, GTK+ has not been compiled correctly.

The author The fact that so much can be written about bumpmap surprised even Simon Budig himself. In particular, when writing this article he understood for the first time how the Waterlevel parameter functions...

12 · 2001 LINUX MAGAZINE 75


KNOW HOW

[top] Figure 4: Soft focus for sharp edges [below] Figure 5: The levels dialog makes it sharp again

GIMP WORKSHOP

The dialog can be seen in Figure 6. Before we leap in, a quick bit of theory. The bumpmap plugin is based on the idea that a mountain range, seen from above, still displays something of its structure, since the sun illuminates the various slopes differently. The mountain range is typically depicted within Gimp with an image in shades of grey. The different heights by various shads of grey. The valleys are black and the peaks are white. Let’s try it out. Create a new image with black background and write a white text inside. With Filters/Blur/Gaussian blur you can ensure that our mountain range with raised letters at the edges gets somewhat softer slopes. Now make a second image of the same size, but this time with a white background. Now start, by right-clicking in the

white image Filter/Map/Bumpmap. First of all, select within the Parameter settings under Bumpmap the image which shows our mountain range. In the preview at the top left you should see a three-dimensional effect, although you may need to scroll up or down a bit (either using the scrollbar or by clicking in the preview), until you find the interesting area. Using Azimuth and Elevation you can define the direction from which our mountain range is to be lit. Azimuth defines from which side the light source shines onto the mountain range. If you pull on the slider control, you will see how the light spots move around the mountain range. Elevation defines from what height above the horizon the light source shines onto the mountain range. Play around with it a little to get a feel for the parameters. After a click on OK the effect will be included in the image. The Depth parameter controls the maximum height of the mountain range. The greater this is, the steeper the slopes, so the illumination gains a stronger contrast.

Now it gets lively So far we have only found out about the basic variants of the bumpmap effect. Obviously the plugin cannot be used only on white images – because then only grey shaded results would ever come out. In Figure 7 we have applied the bumpmap plugin to a coloured image. In the right upper area you can see the grey-shaded map, at lower left the effect it has on a coloured image. In this case we have created the coloured pattern with Filter/Render/Clouds/Plasma. Let’s take a look at the parameters in the dialog at top right (Figure 6). The Map Type states how the grey shades are converted into height levels. In Figure 8 you can see the three basic functions: linear, spherical and sinusoidal. A short aid to interpretation: If you have an even gradation of colour on one edge from black to white, the various functions convert this into a straight, quadrantshaped or sinusoidal slope. In the image you can see how the various forms affect a small pyramid. Linear produces a pointed cone, spherical a sort of drop of mercury and sinusoidal a gentle hill, which tapers out gently at the peak and at the bottom. The bumpmap algorithm has the extremely undesirable side effect that the image becomes noticeably darker. If the rays of light strike it at an angle, the area is not completely illuminated. In order to reduce this effect, you can use the option

Top right the bumpmap, lower left the effect created 76 LINUX MAGAZINE 12 · 2001


GIMP WORKSHOP

Compensate for darkening. The option Invert bumpmap interprets the grey shade image in exactly the opposite way — white for valleys, black for the height features. In principle one could achieve the same effect by rotating the light source to the opposite side (± 180˚) – this button is a shortcut. If the bumpmap is smaller than the image to which it is applied, it can be repeated with the option Tile bumpmap and thus create an even surface structure. The parameters X/Y Offset displace the bumpmap with respect to the image. With Ambient you can control the diffuse lighting. The higher this value, the brighter the side facing away from the light source appears. To clarify the parameter Waterlevel, we will have to go back a bit to present one neat trick. The bumpmap plugin can also evaluate transparency information as height information. This means that if a white spot goes transparent, a hill appears after applying the effect. But if a black spot goes transparent, a hollow appears. How strongly a hill stands out or how deeply a hollow is indented is defined by the waterlevel. Take a look at Figure 9. On the left you can see how spots in various shades of grey become transparent against a green background. Next to this you can see the images which are created when you apply this bumpmap with the water heights 0, 64, 128, 192 and 256 to a white image. Bear in mind that with a water height of 0 only hills, and with a water height of 256, only hollows will be produced (the light comes from top left).

KNOW HOW

through the menu we promised last time, all we’ve covered is a couple of distortion plugins and an intensive discussion of the bumpmap plugin. We promise, that next time we will be dealing with more colourful matters. And we will restrain ourselves when it comes to Gimpressionist – which has about ten times as many parameters as bumpmap – and keep strictly to the main points. Gimp’s plugins are flexible -– but with a bit of creativity and combining one can achieve considerably more. Have a go and see what happens when you combine different plugins with each other. If you stumble across any interesting effects, don’t hesitate to email a brief description (sbudig@linux-user.de). ■

Figure 8: Image functions forming the basis of the bumpmap plugin

Figure 9: The effect of the Waterlevel parameter

Contours The three different functions for affecting the shape of the contour are all very nice, but sometimes you need more control. The bumpmap plugin alone cannot do it, but it is very easy to foist various contours onto the plugin. To do this, you can use theImage/Colours/Curves dialog. Start again with a blurred (radius approx. 10 pixels) white text against a black background. Now open the curve dialog and model a contour, similar to the one you can see in Figure 10. Now create a new image of the same size. We have created a plasma effect again, in order to make something colourful. Then apply the bumpmap plugin with the signature. The result should look something like Figure 11. Hmm, we have to admit it – from the foray

Figure 11: The result: A text with a fancy contour

Figure 6: Lots of parameters for the bumpmap plugin

Figure 10: Using the curve tool to create a contour for bumpmap 12 · 2001 LINUX MAGAZINE 77


CASE STUDY

LINUX IN SPACE

Linux on the International Space Station

BEAM ME UP, TUX FRANK HAUBENSCHILD

The reliability of Linux means its ideal for systems where continuity counts – making it the obvious choice for space projects. We take a look at its use on the International Space Station.

The International Space Station (ISS) is about three times the size of the space station Mir that crashed into the Pacific a few months ago. With good visibility it can be seen from Earth. This sort of hightech project depends on stability, reliability and performance, so it's no surprise that the European Space Agency (ESA) has chosen Linux for one of its projects. The Automatic Transfer Vehicle (ATV), realised by ESA, is an unmanned space craft that supplies the ISS with fuel and goods. To get the ATV's cargo onto the ISS requires a docking manoeuvre between the two spaceships. The difficulty lies in the different speed of the two ships. The whole rendezvous begins about 20 kilometres behind the 78 LINUX MAGAZINE 12 · 2001

ISS. The ATV is initially faster; it follows the ISS, reaches it and adjusts its speed. Docking with the ISS must be accurate to the last millimetre. Then the cargo can be unloaded. Even though most of the docking operations are automated in the unmanned ATV spaceship, the ISS crew and the ground staff are able to intervene in the manoeuvre. ESA has developed two Linux programs for this purpose – RASCI and GOAS.

Remote control RASCI stands for Remote ATV Control at the International Space Station and runs on an IBM Thinkpad. The ISS crew will use it to monitor the


LINUX IN SPACE

docking manoeuvre. The application requires XWindow (X11R6) with Fvwm as window manager and is currently running on Slackware 3.0 with kernel 2.0.30. The relevant telemetric data is stored on the Linux file system. RASCI has a modular structure, there is a telemetry handler, which receives the telemetric data from the ATV, processes and saves it and, if necessary, transmits it to clients like the status monitors. Another module deals with error recognition during the docking manoeuvre. If an error occurs, the astronaut on the ISS is able to terminate the docking manoeuvre completely, pass control to the ground crew or start evasion manoeuvres if there is a danger of collision. Future versions of RASCI are intended to also provide the astronaut with video data of the manoeuvre, which will be displayed in real time, in addition to the telemetric data.

CASE STUDY

the Ariane-5 mission is not planned until February 2003 – so Tux has got a little bit of time left.

Other Linux space projects Apart from the ATV project initiated by ESA the American space agency NASA is also looking into the use of Linux in space. The Flight Linux Project, originating in an initiative by NASA engineer Pat Stakem, is working on the Blue Cat-based distribution Flight Linux. According to its initiator, it is intended to maintain the course on board unmanned space ships and take over monitoring functions. Another Linux project is the Linux-Equipped Astronauts Project (LEAP), the aim of which is to replace the Windows programs currently used by the astronauts with Linux programs. However, at the moment these lofty goals are still awaiting realisation, there is a lack of support from officials at NASA and ESA. ■

[left] Trajectory and control displays with RASCI [right] GOAS gives control to the ground crew

Ground crew The "Ground Operator Assistant System" (GOAS) was originally developed for Sun Workstations (Ultra-Sparc 5, 64MB RAM, 300MB HDD). The Linux version is derived from this. Linux-GOAS requires at least a 233MHz Pentium with 48MB RAM and uses X11R6 and Open Look as window manager. The GOAS GUI was developed in C++, the actual application in ANSI C. GOAS is capable of addressing several monitors to provide as much status data as possible at one glance. The software allows the ground crew to intervene in the control of the docking manoeuvre in any situation imaginable. For example, the ATV's steering jets can be addressed directly to avoid a collision with the ISS. In contrast to RASCI, using GOAS, the ground crew can re-plan the entire docking manoeuvre – fully automated, semiautomatic or manually. Although individual modules of the ATV project have been tested in several Shuttle missions (STS-80, STS-84, STS-86), the first deployment of an ATV for

Linux controls space rendezvous

Info ESA ATV project: http://www.estec.esa.nl/wawww/ESC/ NASA Flight Linux: http://flightlinux.gsfc.nasa.gov LEAP: http://www.cantrip.org/leap.html http://www.sheflug.co.uk/featuresoft.htm Space station computers crash: http://www.theregister.co.uk/content/2/18526.html ■ 12 · 2001 LINUX MAGAZINE 79


BOOKS

REVIEW

LINUX! I DIDN'T KNOW I COULD DO THAT… 2ND EDITION

ALISON DAVIES

This completely revised and updated edition covers many of the latest programs to use with Linux. It covers aspects from text-based tools to the latest KDE and Gnome tools in an easy-to-read format. Difficult concepts are explained in a simple manner such as using encryption or automating tasks. Written by an ex-director of Caldera, the book is based mainly on using Red Hat and admits that many of the aspects it covers are automatically on the latest editions of Red Hat and other distributions. It covers a lot of programs, many included on the enclosed disc, and gives a good flavour of what is available, such as Xmorph. There is an interesting section on games, some of which I recognise from earlier incarnations on pre-PC computers, and a nice section on Video4Linux, how to install TV tuner cards. There is a big section on Apache Web servers and it also covers, more unusually, fax servers and

Voice Over IP. It concludes with the usual section on creating an emergency disk. The book is aimed at people who actually want to do things with Linux and who may be stuck in a Windows environment. It is a good book to dip into with many one or two page information blocks. I was impressed that the part on calculators included reverse Polish notation and the programs included on the disc should add interest to my system. ■

Info Author: Nicholas D.Wells Publisher: Sybex Price: £16.99 ISBN 0-7821-2935-8 ■

ESSENTIAL LINUX FAST At last – A UK English, step-by-step guide to using Linux! Ian Chivers takes Red Hat and SuSE and explains installation and use in a clear, easy-to-follow fashion. Where there is a difference in the systems he mentions this and there are plenty of screenshots to illustrate the points he makes. He admits that where he had problems with the hardware not being supported that later developments may have changed the situation and gives a Web address for the most up-to-date information. It is written in an academic style with bibliographies after each section for further information. It covers starting with a Windows machine and installing Linux – he uses various versions of Red Hat and SuSE. It goes on to setup networks and security. The second half of the book deals with using UNIX commands and installing additional programs including emulators for most programming languages. The book is aimed at people who are knowledgeable about computers and 80 LINUX MAGAZINE 12 · 2001

programming, but who are beginners when it comes to Linux and would get a system up and running in a day by following the instructions. A good read through of the book should also allow an informed choice of distribution and some idea of the hardware that is supported. A good, no nonsense book with just the right amount of information to let you do the task of getting a system running with the minimum of effort. You can then get on with the rest of your job, secure in the knowledge that Linux will run itself. ■

Info Author: Ian Chivers Publisher: Springer Price: £15.95 ISBN 1-85233-408-8 ■


BEGINNERS

KORNER

K-splitter: Made to

MEASURE STEFANIE TEUFEL

Who says there is no place for gossip a Linux magazine? K-splitter broadcasts news from the K-World and noses around here and there behind the scenes.

SMS again

Figure 1: Configure me

[below] Figure 2: Not quite as big as the New York telephone directory

The sun is shining, the local pub beckons – all you need do now is finalise the arrangements for the evening. And how do you do that these days? Either by email or SMS. KMail for email may be familiar by now to KDE enthusiasts, but perhaps you have missed out on the KsmsAgent, which allows you (via http:// www.lycos.co.uk/ service/sms/) to send short messages – free of charge – to your date for the evening. To get the SMS agents to beep on your girlfriend or boyfriend's mobile, apart from the current version of the program, which you can download any time from the homepage of the author, Tobias Bayer, at http://www.tobiasbayer.de/, you will also need Perl and Elza, which you can get from http://phiphi.hypermart.net/pub/ .

Please do not choose the newest version of Elza, 1.4.4, but its predecessor, 1.4.3, since according to the author of KsmsAgent there have been some problems with Version 1.4.4. Last of all, you need an account with www.lycos.co.uk/service/sms/. Before you can start texting, you should make a couple of adjustments to Elza. To start off, just check if the right path is specified to perl in the file or the Perl script elza.pl. If not, amend the script as appropriate. Then turn to the file elza.def. Here, decomment line 15 use Win32::Process; use Win32; with a #. The same goes for the lines 50 to 52: #$DEF{'sslapp'} = "c:\\winutil\\stunnel.exe"; #$DEF{'sslcmd'} = "stunnel -c -d 127.0.0.1:SU SLLOCAL -r SSLHOST:SSLPORT -D 1"; #$DEF{'sslconsole'} = 1; # Set to 1 to see tU he console Now all you have to do is remove the comment symbols before the lines 56 and 57: $DEF{'sslapp'} = "stunnel"; # This name willU be passed to KILLALL $DEF{'sslcmd'} = "/usr/sbin/stunnel -c -d 12U 7.0.0.1:$DEF{'ssllocal'} -r SSLHOST:SSLPORT U -D 1";

[above] Figure 3: Send your message while you travel 82 LINUX MAGAZINE 12 · 2001

That's it: You can now start KsmsAgent for real. First, enter under Options/Preferences (Figure 1) your username and the password at www.lycos.co.uk/service/sms/. When it comes to the path to Elza, remember to end the directory specification with a /. Save, done. That's it for configuration. To send messages, you have two options: Either enter the number of the recipient into the main window yourself, or you select their number from the address book. If you frequently favour someone


KORNER

BEGINNERS

with short messages via mobile, you should go to the trouble of including their number in your address book as this saves on typing. You access the telephone book (Figure 2) via Options/Addressbook. The entries must be made in the case of the name in the form Surname Forename or vice versa and in the case of mobile numbers with pointed brackets (<telephone number>). Add new numbers with the button Add, delete them using Delete, and send a text message by selecting the desired number and then clicking on Choose. The program automatically enters the number into Phone (Figure 3). All you need do then is enter the text of your message in the box in the main window and press the Send button – and with that, your invitation to this evening's swift pint is on its way.

Themes Another facelift for the KDE-2.x desktop makes the new Themes by Vadim Pessky possible. The author has, unlike many other theme-builders, not settled for simply pasting together a few background images, but has gone to the trouble of fitting individual window decorations in each theme for buttons etc. The whole package can be found at http://apps.kde.com/. If you don't want to download all the themes prettily packaged, you can also hunt down individual items at the author's home page http://kde2.newmail.ru/kde_themes.html. These desktop beautifiers are installed in seconds thanks to the theme manager, which has been resurrected in the newer KDE versions. Open the KDE control centre, select Appearance/Design management, and the installation work can let rip: Click on the Add button, select the new theme to be installed, and you will instantly see an image like the one in Figure 4.

confirmed and is no surprise to all those who have ever waited for long minutes for the start of one KDE program or other – speed. More than one quarter of the votes submitted argued in favour of a faster KDE. Waldo Bastian then wrote a report with the title Making C++ ready for the desktop, in which he analyses the various start phases of a C++ program and develops a few proposals for optimisations. The complete article can be found at http://www.suse.de/~bastian/ Export/linking.txt. But Konqueror is still in the sights of users. Just under 20 per cent wish for further improvement with respect to CSS and JavaScript. Third place on the wish list was occupied by expansion and improvement of Koffice. ■

Figure 4: A whole new look

When the postman rings at the wrong time ... For many Kmail users this may be due to the fact that they are still using an old issue of KDE. Because in the Kmail versions under 1.0.29.1 there is a daterelated bug, which can lead to your mail folder suffering damage after 9 September 2001. And users of versions 1.0.29.1 and 1.0.29.2 do not get away completely unscathed. In this case, the folders are not damaged, but data can be wrongly shown. So update to KDE 2.1.1!

Tempo, tempo For the near KDE future the developers wanted to know precisely what users really want, and so they went on the Internet and posed the question: "What should be given highest priority in the development of KDE 2.2?" Now the result is

Themes: The famous/infamous Themes are something you must surely be familiar with from the Windows world. These are background images that harmonise icons, sound files etc, which a well-meaning person has composed with more or less good taste. CSS: Abbreviation for Cascading Style Sheet. Style sheets make it possible to lay HTML pages out better. Frequently-used format settings (bold, italic etc.) and fonts only have to be defined once for a specified text element. This also means that the amount of data of an HTML page is usually reduced, since these settings (once defined in the header or in a separate file) are only queried once in the running text per code. JavaScript: A simple scripting language, originally developed by Netscape, which can be integrated into HTML. With JavaScript functions such as for example cursive scripts, clocks or similar can be realised. Unlike Java this language is neither software-independent nor equipped with the necessary security mechanisms. ■ 12 · 2001 LINUX MAGAZINE 83


BEGINNERS

KORNER

K-tools

MUSICAL HANDICRAFTS STEFANIE TEUFEL

We present tools that have proven to be especially useful when working under KDE, or are just some of the nicer things in life you wouldn't want to do without.

MP3: MP3 or MPEG 1 Layer 3 is the best compression algorithm for sound data. Using this method, sample data can be compressed by a factor of up to 12, without any loss of quality.

MP3s are all very nice, but anyone who has not yet treated themselves to the luxury of a portable MP3 player, will not get much joy out of the new summer hits on their home hard drive, while they’re working on a tan at the beach. So what could be more obvious than moving the musical gems onto an audio CD? In the last Linux Magazine we offered you KonCD, a powerful burn program for KDE. But if all you really want to do is quickly capture a few pieces of music on CD, k3b would serve you well. This quickly and simply burns audio CDs consisting of wav or mp3 files. The newest version of this turboburner can be downloaded at any time from the homepage of the author at http://k3b.sourceforge.net/. After installation (which you deal with as usual with the Linux three-step, ./configure, make, make install), start the program either by a click on the start menu, Applications/K3b or by entering a k3b & in a terminal emulation of your choice. You will then be

Terminal emulation: The main objective of a terminal emulation is to serve as a sort of substitute for virtual terminals, under a graphical user interface, between which you can happily skip back and forth under Linux by pressing Alt and Fx. This console substitute allows you to use programs under X, which are really intended for the command line. ■

Figure 2: All aboard?

confronted by a window, as shown in Figure 1. k3b shows you a nice clear overview of your directories in two windows. In fact, you could begin burning at this point, but first you should check whether all devices and programs which k3b uses have been correctly identified. Normally the program does this for you, but it's better to be safe than sorry if you want a properly burnt CD. For your inspection visit, open Settings/Configure K3b, and take a look in the window which will then appear (Figure 2) to see if everything is all right. If not, quickly change the settings, before setting off.

Off we go

Figure 1: Split in two

1 LINUX MAGAZINE 12 · 2001

In order to finally get down to business – after all, the beach and the portable CD player are beckoning – click in the menu bar on File/New Project/New Audio Project and simply use drag and drop to move the MP3 files which are to go onto the CDs, from the directories on the left into the right-hand window (Figure 3). If you want to change the name of the file, right-click on the MP3 file and in the pop-up menu, select Properties. In the pop-up window which appears, you can then make your changes. If you have changed your mind, and the track is not to go on the CD, correct this mistake by a click on remove


KORNER

BEGINNERS

in the pop-up menu at once. As soon as you have compiled the data for the audio CD to your liking, click to start the burning process, on the CD icon in the menu bar or select File/Burn. k3b opens a window (Figure 5), in which you can specify details on the speed of your burner or if the burn process should be simulated first. If everything matches your settings, do a kick-start with a click on Write and then calmly observe the progress of your burn project (Figure 6).

Undercover Once you have yourself a nice new audio CD, it would be a crime not to put it into a cover of its own. There are programs such as Kover (Figure 7) or KCDLabel (Figure 8) which take care of this, and you can find their latest versions on the cover CD. Start Kover via the start menu, Multimedia/Kover or alternatively KCDLabel via the start menu, Applications/KCDLabel. True to the WYSIWYG motto What you see is what you get, here you can enter titles and contents, select text colour, size or font and if required, also include photos. You can keep an eye on the result of your masterly artistic achievement, large or small, at all times in the preview window. Kover’s strength is that it spits out your lovingly designed cover when it prints it out, neatly provided with fold lines. Also, the newest version even comes with an implemented CDDB autofilling function – for both the CDDB database on the Web and for your local title database on the hard drive. KCDLabel on the other hand offers one or two additional graphical design options. Whether ringshaped text or the CD title in the form of a rainbow. In the menu bar, open Character string/Insert curved line, and start typing. Even round CD labels are no problem for this program, thanks to File/Print Round Label.

Figure 3: Decide what to burn in seconds using drag and drop

Figure 4: If anything else needs changing...

Figure 7: Kover even comes with CDDB support

Figure 5: It's the speed that counts

My home ... ... is my happiness. If this saying applies to you, you will not be moving away from your computer and so won't be needing any audio CDs. To finish off, we have a program (or rather, a front-end) for you, with which you can comfortably tootle away your MP3s on the computer. Exactly the same as xmms-kde, which we presented to you in the K-splitter column in Linux Magazine issue 10, kmms is an xmms applet for the control panel, with which you can control the easyto-use MP3 player at all times via the panel, without having to switch to the desktop. Start it after installation – simply right-click on the KDE panel and select Add/Miniprogram/Kmms, and delight in an applet as in Figure 9. For anyone who has already installed xmms-kde, the functionality of the two applets is the same in principle. Try them both out to decide which one suits you best. ■

Figure 8: A CD label ready to print

Figure 6: Progressive

Figure 9: An applet rarely comes alone

CDDB: Compact Disk DataBase is a CD title database on the Internet. This database contains all information on any audio CD which has ever come onto the market. CDDBs are either held locally or are fetched from the Internet. In the case of an audio player, which supports the CDDB format, as soon as the CD is inserted it checks whether the CD is already known. If not, the CD player tries to connect to the Internet and to find the data there on a CDDB server. CDDB programs access the TOC (Table of Contents) of a CD, which every CD includes. ■ 12 · 2001 LINUX MAGAZINE 2


NEWS

GNOMOGRAM

News and Programs to do with GNOME

GNOMOGRAM BJÖRN GANSLANDT

We present the pearls among the Gnome tools here. This month's topics include: All over for Eazel?, Gnome Packaging Project,

any kind of expansions by distributors or companies such as Ximian. There are also plans to compile regular snapshots from the Gnome CVS, in order to make life easier for Beta testers and compilers.

Restructuring at Ximian

Restructuring at Ximian, Sikigami, Ximian Gnome 1.4 and Sawfish commands in the panel.

All over for Eazel?

URLs www.eazel.com www.paypal.com developer.gnome.org/projects/gpp/ www.ximian.com www.sikigami.com sawmill.sourceforge.net/progmanual.html ■

It looks as if the radical downsizing at Eazel did not make it any more attractive to investors. Not even the recently started fund-raising campaign via Paypal has been able to rescue it – apparently there was not a great deal of interest in Eazel T shirts for $20. But if one bears in mind that in a single year, Eazel has consumed some $11 million of risk capital, it was a utopian dream right from the start to think the firm could keep its head above water by means of donations. According to as-yet unconfirmed reports, by the time this issue comes out the second half of the workforce will have been sacked and Eazel will finally have gone bankrupt, without the firm having been able to realise its actual business model – namely the sale of services – in any way. It remains to be seen whether Ximian will manage this feat – because hype alone is no longer enough to make money. This bankruptcy does, however, also highlight one of the great advantages of free software, namely that Eazel's graphical shell Nautilus can still continue development, even without the company. It emerged from the very first sackings that former employees were still working on Nautilus.

Gnome Packaging Project The Gnome Packaging Project (GPP) was established in order in future to produce packages for all the big Linux distributions and Unices, which are free from

86 LINUX MAGAZINE 12 · 2001

Unlike Eazel, Ximian is acting much more optimistically and has restructured its complete management over a brief period. In the course of this action co-founder Nat Friedman was made VP of Product Management and handed over his old post to Patrick David, former President of Worldwide Sales at The Learning Company. Jon Perr will in future be in charge of Marketing, and Bijan Sabet has been appointed new VP of Business Development. Since so many vice presidents will also want financing, Todd Miceli has been given the post of CFO at Ximian.

Sikigami At the instigation of the Japanese distributor of Red

Figure 1: Gnome for PDAs

Hat, the software forge AXE has developed a version of Gnome adapted for PDAs. The first screenshots of this interface, christened Sikigami (Japanese for daemon) can be admired at www.sikigami.com, the source code is available after completing a Japanese form.

Ximian Gnome 1.4 Most Gnome users have had to be patient for a long time, and some have even been threatening to switch to KDE because of the delay. But at the end of April, the day finally dawned when Ximian could present its version of Gnome 1.4. From the enormous onslaught on the FTP server one can conclude that most users had in fact remained faithful to Gnome; and praise was flooding in as


GNOMOGRAM

soon as the mere announcement and a couple of screenshots could be seen. With the graphical Ximian installer, which can be started as usual by the command "lynx -source http://go-gnome.com/ | sh", all the necessary packages for the respective distribution can be downloaded and installed. Ximian has actually made some very useful changes to Gnome 1.4, aimed principally at newcomers. On first starting Ximian Gnome, a configuration assistant named Doorman (Figure 3) welcomes the user and helps him to transfer his personal data to Ximian and to change the most important settings to do with the look and feel. Here the user can choose between several suggestions for settings, such as the background or the panel. To make it easier to use, Ximian also comes with its own menu, which is especially impressive because of its professional icons. But one thing missing in the menus, just as with all the other changes to Ximian, is the translations, which – where they exist – are not exactly up to the Gnome standard. This is due to the fact that Ximian kept all its new features a secret and the regular translators had no access. Another facility for beginners is the file dialog, which has been extended by several buttons, which lead directly into the specified directories. To do this, Ximian Gnome also creates a directory named ~/Documents/, which roughly corresponds to the \My files under Windows. The help menu has also been expanded. Via Help/Chat an extremely simplified X-Chat version named Monkeytalk (Figure 4) starts, which leads into one of the Ximian help channels. With a bit of luck there might even be a Ximian employee there, who could help you out with any problems. Also in the menu panel, which is known internally as the Foobar, Monkeytalk sits alongside a Ximian FAQ, the Bugbuddy and the Gnome manual in the help menu. Right next to them in the system menu, Ximian has accommodated a little search program and the package manager Red Carpet. Anyone who cannot get anywhere with Red Carpet, has at least the option under Debian of adding the line "deb http://red-carpet.ximian.com/debian stable main" (or woody) to "/etc/apt/sources.list" and as usual of using apt-get. Lastly, Ximian has rounded off the upper corners of the menu panel and hidden a new Easter egg, which should be located, after activating the menu panel, in a log file in the home directory. Overall, the update to Ximian Gnome 1.4 is certainly worthwhile. But anyone who has already installed the Debian (Woody or Sid) version of Gnome 1.4, should be ready for a few problems if they update.

Sawfish commands in the panel Those not satisfied with starting Sawfish functions via key combinations, thanks to the program sawfish-client also have the option of linking these

NEWS

[top] Figure 2: Ximian GNOME comes out with rounded corners [middle] Figure 3: Doorman leads the user through the basic configuration [below] Figure 4: When the documentation no longer helps, find some advice in Monkeytalk Chat

with a starter on the panel. A new starter can be found via a right-click on the panel under Panel/Add to panel/Starter. As command, you must specify "sawfish-client -c Lisp command", at which point the basic Sawfish functions can be found with info sawfish. As we have already described in the last Gnomogram, Sawfish can also be expanded by means of modules, which in turn come with their own functions. These modules are found under /usr/share/sawfish/VERSION/lisp. ■ 12 · 2001 LINUX MAGAZINE 87


FAQ

DR. LINUX

Dr. Linux

MAKE IT SNAPPY WITH THAT SHELL MARIANNE WACHHOLZ

Complicated organisms like Linux systems suffer little complaints all of their own. Dr. Linux observes the patients in Linux newsgroups, issues prescriptions and proposes alternative healing methods.

Deja vu (Virtual) console: One of the text screens between which you can toggle under Linux using the key combination Alt plus function keys (usually [F1] to [F6]). You can get from a graphical user interface with Ctrl+Alt, plus function keys [F1] to [F6], to a text screen.

During longer sessions at a (text) console I would like to read earlier inputs again – especially in cases when a great deal of work has been done. How can I do this? Dr. Linux: If you cannot manage to scroll through using [Shift+scroll up] and [Shift+scroll down] you can make a session log using

also holds script in the log file, so that, in the reproduction, coloured listings are also shown correctly.

user$ script Name_of_logfile Shift key: The key which makes any letter typed in into a capital. ■

If you use the script command without specifying a file, a log will automatically be produced with the name typescript in the current working directory. Script runs in the background and can be stopped again with Ctrl+D. Many text consoles provide colour representation which is controlled by Escape Sequences (see the box of the same name). This

1 LINUX MAGAZINE 12 · 2001

Figure 1: Escape sequences for colours


DR. LINUX

Begin by logging on to your home directory. To create the log file script requires you to have write permission for the current directory. With

FAQ

Welcome to SuSE Linux 7.1 (i386) - Kernel \rU (\l).

Figure 2: Reproduce a session in text mode with script

Debian comes across as more Spartan with user$ cat filename_of_log Debian GNU/\s 2.1 \n \l the log can be reproduced from a command line. In the case of longer logs there is the option of a sideways display with more instead of cat, or you can call up the log in an X-terminal program, which provides a scrollbar.

A personal welcome Can the log-in message, for example Red Hat Linux release 7.0 (Guinness) Kernel 2.2.16-22 on an i586 be individually configured? Dr. Linux: The distributions issue messages before the log-in whose content is stored in /etc/issue. The Superuser can edit this file and thereby change the output before the log-in. If you open the file with an editor, you may notice that this opening text consists not only of text, but also of control characters. So in SuSE for instance, you will find the following entry:

and Mandrake actually draws a complete penguin with a whole heap of escape sequences: ^[[40m^[[40m ^[[2J^[[0;0H ^[[0;1;30;44m [...] ^[[0m^[[255D

^[[40m

^[[44m

^[[40m

Linux Mandrake release 7.0 (Air) Kernel 2.2.18 on an i686 / \l With the control characters the case is as follows: • \l creates in the output the number of the text console (tty1, tty2, ...) • \t gives the time in the format HH:MM:SS • \m gives the processor type (such as i586) • \r gives the kernel number • \d inserts the date in the format 2001-06-13 • \n is the control character replaced by the computer name When you save the entry 12 · 2001 LINUX MAGAZINE 2


FAQ

DR. LINUX

You will then see a ^[ in the file. Welcome - this is kernel \r. It is \t. \l is ready to log in. in your /etc/issue, the log in message looks like this: Welcome - this is kernel 2.2.18. It is 20:40:22. tty2 is ready to log in. If you would like to experiment with colours in the Mandrake welcome message, you can fall back on the control characters described in Escape Sequences. However, the Escape character wil no longer be written as \033, but with Ctrl+V, followed by pressing the [Esc] key.

^[[47m^[[31m Welcome - this is ^[[40m KernelU \r.^[[0 It is \t. \l is ready to log in. ensures that Welcome - this is appears as red text on a grey background. The kernel details are output in red on black, and with Ctrl+V, [0 the original colouration is reactivated. If you would also like to alter the log-in message which is shown to users who log onto your computer via Telnet, then edit the file /etc/issue.net in the same way.

Infotext after the log in

Escape Sequences The American National Standards Institute (ANSI) set itself the task of standardising the terminal control characters. This is put into practice with escape sequences, which are mentioned several times in this article and which you will find described in detail in the Bash Prompt HOWTO (http://www.linux.com/howto/Bash-Prompt-HOWTO6.html). Some of these control characters will already be familiar to you. The well-known beep, which your system utters from time to time, is also an escape sequence. When placed

on a command line, the key combination Ctrl+G makes your computer beep (assuming your system is not configured as mute). You can use this kind of character for colour control in a way which is much more multimedia – for coloured outputs in text mode or to make the Prompt appear in colour for instance. The HOWTO offers a few examples that invite you to try them out as ready-made scripts. Copied into a file and made executable, you can view the colour scheme on your command line. The following script from the HOWTO demonstrates the potential colours (Figure 1):

#!/bin/bash # # This file outputs a range of colour codes # on the terminal. # Each echo command prints out a foreground colour on # a grey and black background and writes # the code for the foreground colour in the middle of the line. # This script has been tested with white, black and green # terminal backgrounds (2 December 98). # echo "In light grey: In black:" echo -e "\033[47m\033[1;37m white \033[0m\ 1;37m \ \033[40m\033[1;37m white \033[0m" echo -e "\033[47m\033[37m light grey \033[0m\ 37m \ \033[40m\033[37m light grey \033[0m" echo -e "\033[47m\033[1;30m Grey \033[0m\ 1;30m \ \033[40m\033[1;30m Grey \033[0m" echo -e "\033[47m\033[30m Black \033[0m\ 30m \ \033[40m\033[30m Black \033[0m" echo -e "\033[47m\033[31m Red \033[0m\ 31m \ \033[40m\033[31m Red \033[0m" echo -e "\033[47m\033[1;31m Light red \033[0m\ 1;31m \ \033[40m\033[1;31m Light red \033[0m" echo -e "\033[47m\033[32m Green \033[0m\ 32m \ \033[40m\033[32m Green \033[0m"

echo -e "\033[47m\033[1;32m Light green \033[0m\ 1;32m \ \033[40m\033[1;32m Light green \033[0m" echo -e "\033[47m\033[33m Brown \033[0m\ 33m \ \033[40m\033[33m Brown \033[0m" echo -e "\033[47m\033[1;33m Yellow \033[0m\ 1;33m \ \033[40m\033[1;33m Yellow \033[0m" echo -e "\033[47m\033[34m Blue \033[0m\ 34m \ \033[40m\033[34m Blue \033[0m" echo -e "\033[47m\033[1;34m Light blue \033[0m\ 1;34m \ \033[40m\033[1;34m Light blue \033[0m" echo -e "\033[47m\033[35m Purple \033[0m\ 35m \ \033[40m\033[35m Purple \033[0m" echo -e "\033[47m\033[1;35m Pink \033[0m\ 1;35m \ \033[40m\033[1;35m Pink \033[0m" echo -e "\033[47m\033[36m Cyan \033[0m\ 36m \ \033[40m\033[36m Cyan \033[0m" echo -e "\033[47m\033[1;36m Light cyan \033[0m\ 1;36m \ \033[40m\033[1;36m Light cyan \033[0m"

3 LINUX MAGAZINE 12 ¡ 2001

\033 in this case stands for the character created by pressing the ESCape key, hence the name escape sequences. The 33 in the octal numbering system corresponds to the ASCII code for the escape character (27 decimal).


DR. LINUX

After logging in, I get the following information text on the text console of my system: Last login: Sat Apr 28 14:35:54 on tty6 Where do I go to stop this? Dr. Linux: If you don’t want to see this information, you must act as Superuser. The message of the last successful log-ins (all users) is stored in /var/log/lastlog and output by the log in shell after you log onto the system again. The decision as to whether this data appears on the screen is made in the file /etc/login.defs. Open this file with the editor of your choice, and in the line LASTLOG_ENAB

"yes"

change the entry "yes" to "no". For Mandrake users there is bad news: In some versions of this distribution, setting LASTLOG_ENAB does not change anything in the output of the "Last login" message.

Getting graphical? I have specified a graphical log-in in my installation. But I would prefer to log onto a text console and start the graphical user interface with startx. Which file do I enter this into? Dr. Linux: UNIX systems can run in various operating statuses, which are referred to as run levels. In the file /etc/inittab you will find a definition of the preconfigured run level of your system. The numbering of the run level is not the same in all the various distributions. Common to all is the run level 0, which powers down the system, and run level 6, which triggers a reboot. Therefore it is not advisable to enter one of these two as default run level, thus as the run level which is automatically assumed on booting. The other run levels in the SuSE-7.1 distribution look as follows: • Run level 1 is the single-user mode, in which root has the opportunity to rescue something from a crashed system with only a little functionality • Run level 2 offers multi-user, but not network functionality • Run level 3 also allows several users to work on the machine at the same time (multi-user) and also provides network functionality (local mail, logging in from remote machines, etc.) • Run level 5 is preconfigured as an additional multi-user operating mode with network and graphical log-in In the file /etc/inittab, apart from a definition of the run level you will also find the default run level. The watchword is initdefault:

FAQ

Prompt: The enter prompt (also called the standby character) signals the readiness of a shell to execute a command. Since the prompt can be configured, on some systems you will find one that displays the current directory, while other computers, often in networks, also give the respective computer name. When it comes to the purists among administrators, you might even find just individual characters such as %, > or $. Shell: A command interpreter. This program is started when logging onto the system (log in shell) and accepts the commands entered by the user (interactive shell). Shells usually have elements of programming language (variables, loops, conditional queries etc.) built in, so that you can assemble and have executed instructions for the shell programs or 'shell scripts'. In addition to the bash, which is used by the overwhelming majority of Linux users, under Linux and other UNIX operating systems you can choose from the following shells: • The syntax of the csh or C-shell is similar to the C programming language • The tcsh is an extended C-shell with the option of editing the command line. • The sh or Bourne shell has no editable command line • The ksh or Korn shell which is largely back-compatible with the Bourne shell provides an editable command line • The zsh (Z-shell) is the most recent of the listed shells and can also be edited. Although it is in many respects similar to the ksh, it does have a few special nuances and more extensive features Shell variable: Many functions of the bash are controlled by variables, which in turn exert an influence on the entire function of a system. The initial settings in the files /etc/profile, /etc/profile.local, /etc/bashrc (depending on the distribution) are read in first. Users have the option of individualising these settings by editing the corresponding dot files in their home directory. The bash processes the following files after a user logs in, in the respective home directory: • .bash_profile • .bash_login • .profile • if applicable, .bashrc If one of the files is not available, the next will be searched for possible entries. If you want to permanently set or change the value of a variable, write it in one of these files. The command set will show you which variables are set in the system on the output screen. If the directory /sbin is not entered in the PATH variable, this directory will not be searched, such programs must be started with the absolute or relative pathname. If a program in the current directory, which is not in the search path, is called up, this can be reached by placing ./ before the program name. Absolute and relative pathname: An absolute pathname, often also called the full pathname, begins with the root directory, symbolised by /. It usually consists of /Directoryname/any_other_directories/filename. A relative pathname begins in the current directory. /Directoryname is replaced by a dot (.), which produces the command ./any_other_directories/filename. So the system can distinguish (even with files of the same name) as to which file the command applies. ■ your system starts at. In the case of a SuSE 7.1 the number 5 has to be changed to 3, so that the graphical user interface won’t be automatically available when you next start the system. In the case of other distributions you can simply read the definitions in /etc/inittab attentively to find an appropriate multi-user run level.

id:5:initdefault:

Program start by return

The number in this line determines which run level

Why can some programs be started by entering 12 · 2001 LINUX MAGAZINE 4


FAQ

DR. LINUX

you can take a look at which directories belong to your program search path: usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin:U /usr/lib/java/:. To briefly include a directory in the PATH variable set the following command on the command line: user$ export PATH=$PATH:/directory/subdirectory

Figure 3: Resetting the graphics card from the alternative mode

their name on a command line and not others? There are various programs such as fdisk which I cannot simply start from the command line, even though the program is located under /sbin/fdisk. Is my system wrongly configured? Dr. Linux: Assuming you do not wish to start any program files whose execution is reserved for root or a specific user and user group (such as fetchnews), all programs can be started by entering the full path name as command. Enter the following: user$ /sbin/fdisk Your shell then searches, with the aid of the shell variable PATH for the program. This procedure, which appears fiddly, actually makes complete sense. What lies behind it is the basic idea of giving users more security against access and/or damage. A closer look clarifies this security mechanism. The variable contains a series of directory paths separated from each other by colons. This series is worked through from the top down to the directory path, in which the desired command and/or program is found, while the rest is ignored. An infiltrated program, which bears only the name of an often-used command, but in the background triggers something completely different, is executed instead of the real program, if it is found by the shell before the actual command. This is why it is safer only to search through the proposed directory paths. If the current working directory or even the temporary directory jointly used by many were listed upfront in PATH, evil-minded programs would only have to wait for a command from the daily flood of email onto standalone workstations or attacker programs in the /tmp directory – especially in networks. A careful administrator starts programs with the absolute pathname, so as not to give an infiltrated program the rights of the Superuser. Using the command user$ echo $PATH

5 LINUX MAGAZINE 12 ¡ 2001

The effect of placing $PATH in front is that the existing content of the path variables is retained. This change of path has no effect on other terminal windows opened. If you would still like to include another directory in the variable permanently, you can achieve this by making a corresponding entry in the ~/.bashrc or ~/.profile.

Clear sight, clear instructions Sometimes, in text mode or in an XTerm I open a program with cat. This fills the screen with meaningless characters, and all characters entered are shown scrambled. How can I repair it? Dr. Linux: A program file listed in the heat of the moment almost always results in illegible character output, since the output of program files usually includes control characters, which in turn causes the graphics card to switch into another mode. You can usually stop the program with Ctrl+C and get back a legible prompt. If the entry prompt continues to be illegible, try using Ctrl+V and then Ctrl+O (Figure 3). With Ctrl+V you tell your shell that you are putting down a control character, for which you will receive no acknowledgement from the shell whatsoever. Ctrl+O is the control character and normally appears in legible form as ^O on the command line. Then press Return (Enter), which restores the legible information Command not found and hopefully a restored prompt. If you really want to go the whole hog, you should send the command user$ reset afterwards, which removes clutter from the screen output. In an emergency, you won't be able to put your finger on the key combinations to reset the the graphics card mode. A reset typed in blind followed by Return (perhaps twice in succession) might be all you need to do to restore your screen. â–


FAQ

DR. LINUX

6 LINUX MAGAZINE 12 路 2001


SOFTWARE

OUT OF THE BOX

NTOP

NET VALUE CHRISTIAN PERLE

The increasingly networked world of computers is now marching into the living room. The second or third machine is linked with the main home PC and happily swaps data via TCP/IP. If you want to keep on top of your private computer farm and its outward network connections, you will find ntop by Luca Deri very handy.

Top N To run the program, the ncurses library (including associated Development Packet) must be installed. You’ll also need libpcap. To compile the libpcap you will need the packages flex and bison. Ntop can be obtained at www.ntop.org/ntop.html.

Out of the Box takes the pick of the bunch of the thousands of utilities available and suggests programs that are indispensable or unduly ignored. This month is devoted to network monitor ntop. Ntop can be compiled and installed with: tar xzf libpcap-0.6.2.tar.gz cd libpcap-0.6.2 ./configure —prefix=../libpcap make make install cd .. tar xzf ntop-1.1-src.tgz cd ntop-1.1 ./configure make su (enter root password) cp ntop /usr/local/bin cp ntop.8 /usr/local/man/man8 exit

SUID or not SUID? Figure 1: ntop in the text terminal

TCP/IP: ”Transmission Control Protocol/Internet Protocol”, the network protocol family of the Internet. Protocol: A standardised language, with which programs understand each other. library: files containing a collection of useful C functions for specific purposes. So there are such things as libm, which provides mathematical functions, or the libpcap, which can tap and examine network packets. Often, libraries are used by several programs (shared). Development packet: When compiling source texts you will need the development packets for all the libraries used by the program. The header files are an essential component (ending in .h), which specify the parameters of the functions included in the libraries. Compile: A program in source text form from a higher programming language cannot be executed by the operating system as it is. It is only by compiling (translating) it with a Compiler that it is converted into a form which the respective processor can execute. Throughput: The throughput states how much data per unit of time (usually measured in KBit/second or MBit/second) is passing via a network device. Man page: The man pages (short for ”Manual pages”) are an online reference manual for UNIX commands. These are called up with man command. Port: A docking point for network connections. Ports are given numbers, and many are assigned to a service via this number. For example FTP uses Port 21, SSH Port 22, TALK Port 517, etc. Home-directory: The personal home directory of a user. This is the first directory after successfully logging on or with the command cd (without additional parameters). ■ 94 LINUX MAGAZINE 12 · 2001

ntop has to run with root rights. You can obtain the necessary rights with the su command (and root password), before you start ntop, and give them up again after closing down the program with exit. Alternatively, you can issue (as root) with chmod 4755 /usr/local/bin/ntop the SUID (”Set UserID on execution”) right. So ntop - regardless which user has started it - will always run with root rights. The first option is more secure, because then only users who know the root password are allowed to monitor the Net. A better, more controlled assignment of root rights to users is offered by the program sudo.

Figure 2: Statistics in the Web interface


OUT OF THE BOX

If ntop is started in a terminal it behaves similar to the UNIX classic top, except that ntop does not display the processor capacity being used by various processes, but the network traffic due to various computers. In Figure 1 a large movement of data is taking place, from sphere to camera. The current throughput can be read off at top right. The program started with ntop -i eth0, thus instructed also to tap packets on the first Ethernet card. In the text interface ntop responds to various keys. The space bar fetches additional information into the columns of the displayed table, such as protocols like FTP, HTTP or DNS. Other functions can be found on the Man page. We shall now leave the text interface with the q key and start the program again with ntop -i eth0 w 888. The terminal shows no output, but with a frame-capable web browser you can connect to Port 888 with the ntop service thus started. This is done by entering http://localhost:888/ as the site

SOFTWARE

address. You must send a Ctrl+C into the terminal with the ntop command, to shut down the service. ntop makes more information available via the Web interface. Figures 2 and 3 show just a small selection of the statistics on the distributions of protocols in the total throughput, bandwidth utilisation, network card manufacturer, network connections currently running and much more. In Table 1 all the links from the ntop main page and their functions are described.

Figure 3: Overview of individual computers

The Web interface can be blocked by a password. To do this, the user must make a file in their home directory called .ntop with a user name/password pair. The content of this file could look something like this: # ntop password file tux dryfish

Some information on network protocol

Basic Protocols (R)ARP (”[Reverse] Address Resolution Protocol”) is used to find the MAC address of a network card for an IP address. This is the only way in a local network for IP packets to be sent to the right computer. The MAC (”Media Access Control”) address is an address determined by the hardware of the network card. IP (”Internet Protocol”) is a transport mechanism for various protocols such as TCP and UDP. It sends packets on the basis of their destination IP address. IP is not restricted to a local network. TCP (”Transmission Control Protocol”) is a connectionoriented protocol, via which many service protocols such as HTTP, SSH or NBios-IP run. Whilst, with IP, packets are merely sent, TCP offers confirmation of receipt. In this case, connection-oriented means that network connections must be explicitly made and disconnected by special IP packets.

UDP (”User Datagram Protocol”) is a connectionless protocol, via which service protocols such as DNS run. UDP is not suitable for the reliable transfer of large amounts of data. ”Connectionless” means that within the protocol there is no option for making sure that a packet has really arrived at the receiver’s end.

A small selection of service protocols HTTP (”Hypertext Transfer Protocol”) is the transfer protocol used by the World Wide Web. SSH (”Secure Shell”) is an encrypted protocol for logging on to remote computers. NBios-IP (”Netbios over IP”, also known as SMB (”Server Message Block”)) is the protocol a Samba server uses for Windows file release? DNS (”Domain Name Service”) resolves computer names such as www.linux-magazine.co.uk into IP addresses.

Table 1: Which link shows what? No. Name Meaning 1. What’s ntop? General information about ntop. 2. Data Rcvd Summary of received data, broken down into data, allotted to IP or all protocols, together with throughput. 3. Data Sent Summary of data sent, broken down into IP, all protocols and throughput. 4. Multicast Stats Packets which are sent simultaneously to several computers. 5. Traffic Stats Information on packet sizes and distribution of protocols in the total throughput. 6. Thpt Stats The throughput for the last 60 minutes as bar graph 7. Hosts Info Information on computers, broken down by computer 8. R->L IP Traffic Network traffic from outside into the local network 9. L->R IP Traffic Network traffic from the local network to the outside 10. L<->L IP Traffic Network traffic within the local network 11. Active TCP Sessions Currently active TCP connections 12. IP Protocol Distribution Distribution of the protocols transported via IP 13. IP Protocol Usage Which protocols are used between which computers 14. IP Traffic Matrix How much was transferred and between which computers 15. Credits Thanks from the author 16. Man Page The manual page for ntop 12 · 2001 LINUX MAGAZINE 95


SOFTWARE

DESKTOPIA

deskTOPia

CURSORITIS PATRICIA JUNG

Customising the cursor can add to the individuality of your desktop. You don't have to settle for what XFree8 offers as standard, provided you are a little bit creative

The cursor has a different appearance under X11 depending on what it is placed over or what the application is currently doing. But the fact that this

[left] Figure 1: decurs with cursor.bdf file loaded [right] Figure 2: When editing, masked glyphs are edited

is nothing more than a font file packed using gzip named cursor.pcf.gz, seems to suggest that this could also be swapped. But for what? Still at the Alpha stage, but already thoroughly usable – at http://www.hut.fi/u/pvsavola/decurs.html you can download a cursor font editor program named decurs. Provided the GTK library, the appropriate devel package and the C++ wrappers GTK- (gtkmm and gtkmm-devel or similar) are installed, all you need to compile are a configure and make.

90 LINUX MAGAZINE 12 · 2001

Cursors The executable program decurs from the directory decurs-0.42.1-alpha/src is then copied as root to /usr/local/bin. If the font file named cursor.bdf which comes with the src directory is in the working directory when you start, this is automatically loaded, and already you will have come across an old acquaintance – the X_cursor cross hairs (Figure 1). If you would prefer to take a different font file as the starting point, it is possible to select, using the Load Font button from the fonts directory in the decurs archive, a different one –

although at this point you should bear in mind that you are actually grabbing a cursor font. Anyone using a text font whose first glyph is not specified by decurs with the name X_cursor can carry on editing, but should refrain from installing the result as a cursor font.


DESKTOPIA

The rest is simple: First, the entire font is masked using Mask. This gives you a view of the various cursors as they will appear on the desktop (Figure 2). Using the arrow keys, you can then move from one glyph to the next, at the same time seeing amazing cursors you won't usually come across, since they are never used. The primary candidates for change are those cursors which you've already seen ranging free. Once a victim is found, then you set a black pixel with a right mouse click and a white one with a left click. Pressing the left mouse button with the Shift key held down deletes a pixel. It becomes transparent and the turquoise background of the character interface becomes visible. The Invert button turns black pixels into white ones and white into black. On the other hand if you press Ctrl and left-click at the same time, you can set the hot spot of the cursor. Where the red cross hairs lie is the point at which the exact mouse focus will appear later. Bundling it onto the wrong end of an arrow means that the accuracy of the user will suffer. If you are interested in the exact dimensions of the current glyph, a press on the B key will help. This information can be found in the XTerminal window in which decurs has been started (Figure 3). Once the cursor font has been edited, it is unmasked using UnMask, before being saved using save font. Next, a little bit of manual labour is required, because the .bdf file created must now be made into a .pcf.gz. This is done using the commands bdftopcf -o cursor.pcf new_cursor_font.bdf gzip cursor.pcf Once root has made a backup copy of the original cursor font in /usr/X11R6/lib/X11/fonts/misc/cursor. pcf.gz or similar, the newly-created cursor.pcf file is copied into its place and X is restarted. If the cursor with the new font is now invisible (because you have saved an important glyph in pieces), keep your cool. Kill off X with Ctrl+Alt+ Backspace and recopy the old backedup cursor font file to its original position. If, despite being edited, a cursor appears in the old, familiar guise, you will unfortunately have to settle for this. Many applications such as gimp use their own cursors instead of those from the cursor font.

Root cursor If this is all too fiddly, you can merely change the cursor which appears when you move the mouse over the space on the root window not occupied by windows, toolbars or menus. A longestablished command line program named

SOFTWARE

Figure 3: Information on the current glyph

xsetroot can be used for this purpose. Someone has perhaps already made use of this in the pre-KDE/GNOME era to make the screen background totally black with xsetroot -solid black. The option -cursor allows you to install an icon as root cursor. But not just any: Firstly, it must be in the form of a black and white X-bitmap (filename ending .xbm), and also in two copies. So that the cursor is not disfigured by an ugly screen edge, a mask bitmap is produced, which delimits the outlines of the cursor. The section of the bitmap serving as cursor is made black for this (Figures 4 and 5). To do this, simply paint the outlines of the cursor image with a graphics program or, even better, an icon editor, in black, and save the mask under a different name (but it must be as an .xbm file). Anyone not wanting to design their own icon can make use of the xbm fund in their own computer. A locate .xbm | less should provide an ample selection. A xsetroot -cursor image.xbm mask.xbm then comes up with a whole new cursor experience. If you find black on white too boring, you can turn the black foreground colour red with -fg red and the white cursor background black with -bg black. The program xcolors tells you which options are available in the choice of colour. So a xsetroot -cursor image.xbm mask.xbm -fg Lemo U nChiffon1 -bg SeaGreen is useful if you're curious about the colours available on your computer. Using the picture bitmap shown in Figure 4 and the mask bitmap of Figure 5, results in a cursor featuring tiny light yellow computers with nostalgic green monitors, which are best seen against a black background. Whilst browsing the cursor font with decurs you may have found a glyph that you wish to use as root cursor. This is also possible under xsetroot. Thus xsetroot -cursor_name bogosity makes the bogosity glyph in cursor.pcf.gz the standard cursor. Unfortunately, desktop environments like KDE prevent xsetroot effects. To make proper use of xsetroot you'll need a standlone window manager like windowmaker. ■

[left] Figure 4: Cursor image ... [right] Figure 5: ... and mask

Glyph: Symbol of a font Root window: The bare screen background managed by a window manager. If you start X without a window manager or desktop environment, the root window will show itself as a black and white background. It is called a root window because it is the mother of all the windows which the window manager can place thereon. ■

deskTOPia Only you can decide how your Linux desktop looks. With deskTOPia we regularly take you with us on a journey into the land of window managers and desktop environments, presenting the useful and the colourful.

12 · 2001 LINUX MAGAZINE 91


SOFTWARE

LINUX FOR KIDS

From tiny acorns grows

THE GNU GENERATION RICHARD SMEDLEY

Having looked at individual kids' packages in previous issues, let's see how to get everything on your system at once. We introduce the Debian Jr project and interview Ben Armstrong, the lead developer.

The proposed logos for Debian Jr

98 LINUX MAGAZINE 12 路 2001


LINUX FOR KIDS

SOFTWARE

Commom Ground Many people are drawn to GNU/Linux by the community support. The help and sharing of knowledge make learning new ways of using a computer enjoyable. Most Linux distributions are put together by commercial enterprises, or by small groups of individuals. Debian is unique in being actively developed by a worldwide community of over 500 developers acting in chaotic co-operation, on the agreed common ground of the Debian Social Contract. This document supports the open development of a totally Free Operating System, of the best possible quality. It works extremely well, as Debian GNU/Linux provides a stable OS found on many servers and a cutting edge unstable branch which graces the desktop of many a developer. Yet the notorious installation aside, Debian is not too difficult a distribution for most users. Debian Jr's wider aim is to make the distribution a better experience for users aged two-99.

The primary goal of the Debian Jr project is to make Debian an OS our children want to run, initially focussing on children aged two to eight. At this age a child will have an older sibling or adult acting as sysadmin (systems administrator) for them. It is at their technically competent sysadmin that a large part of the initial release is aimed, giving them a starting point for a children's system. However, once Debian 3.0 is released, and users start to provide feedback on Debian Jr., much more can be done. You can download the project now if you run a Debian (or Progeny or Stormix) system by including Woody (testing) in your /etc/apt/sources.list and installing the junior packages. When Woody is released you can simply select Debian Jr. in the tasksel menu during installation.

Birth of a project Linux Magazine How did the project get started? You were surely aware that a GNU/Linux distribution for two-99 year olds was a vast thing to take on – were you feeling particularly bloody-minded, or did

you start with a thought "my children need suchand-such" and then the project just happened? Ben Armstrong Precisely. Nobody had any grandiose plans. There was just this thought that with no fewer than seven computers in the house running Debian, and all of my children already using them, we had already a start at using Debian as a base and tailoring it to suit their needs. I saw that we were relying on serendipity to supply us with more packages suitable for the children. Yet I knew there must be more out there that could be packaged for Debian. Also, it was plain to see that any integration issues that had particularly to do with children were not going to happen by accident. And finally, I realized it must not be entirely obvious to a new Debian user which packages would be good for the kids and which would not. I asked some other Debian developers about it, and was encouraged by them to go and start something. Up until that point I was thinking "we" should do this and "we" should do that and hadn't

[left] Two computers are better than one [right] Maria, aged nine, plays Rocks'N'Diamonds

12 ¡ 2001 LINUX MAGAZINE 99


SOFTWARE

LINUX FOR KIDS

really considered where I fitted into it. But it made sense for me to make a commitment, so I kicked off the discussion on the developer's mailing list. This got some favourable responses and got people thinking about what such a thing would look like. Then it was just a matter of getting our own mailing list and website set up and try to figure out where to go next. And so the project was born.

Debian and children LM What level of support have you had from Debian developers for this project? BA I have encountered plenty of Debian developers (and not just those with children) who think this is a great idea. We have received assistance from those not working directly on Debian Jr whenever we have needed it. I have been surprised to have some of these people approaching me personally to ask "How does this issue affect Debian Jr?" or "What features should go here to make this package childfriendly?" So I think the mere existence of the project is helping Debian developers to consider "...and what about the children?"

LM What about recognition from the wider Free Software community? BA If you look at our Web page, I list a number of other, related projects. Members of several of these keep in touch with me and continue to support and encourage me. In particular, SEUL/edu is a great help. They keep me inspired and help me to kickstart the project whenever I let it stall out. LM As a Debian developer you obviously choose to follow the guidelines on Free Software. There are proprietary children's apps that run on Linux that could be included in non-free or contrib. What are your feelings on the importance of kids' (and everyone's) software being free? BA Debian Jr is not actively making an effort to package non-free software. Every Debian developer is free, of course, to package anything that can be placed in contrib or non-free, but I feel that to do so myself would be dissipating my energies into stuff that is off focus for the project. There is no reason we should not be able to shape something entirely out of free software that will appeal to children. I

Childproof is no education One of the project's aims is to balance childproofing with the goal of allowing children to try things (and yes, break things). Armstrong is very much in favour of exploring and learning by mistakes: BA Well, if you're an adult looking for the "Linux experience" you are necessarily going to end up tweaking configs and breaking things yourself. It seems only natural to me to share that with my children. As preposterous as that concept might seem to the uninitiated, I really have found that those who only know how to fix something by removing it and re-installing it, or by rebooting their system get far less out of their system, and are far more dependent on those with more experience for technical help. With a small amount of poking around and exploring things on your own, even if it means breaking it even worse than when you started, there is an opportunity for you to learn how things work. Of course, you need to find a community of helpful people with more experience than yourself to fall back on, but these days

100 LINUX MAGAZINE 12 路 2001

you don't have to go far to find that. You go as far as you can go on your own until you are stuck. When you are truly stuck, you tell your support group what you did and hopefully you get answers that lead you to the solution. The next time you're faced with a similar problem, you are better equipped to deal with it. That's the dynamic I see in my LUG played out over and over again. And the members truly grow in this environment. Thus children, who need to learn about computers just as adults do, should be given the same opportunity to learn. Instead of shielding them from the computer by hiding all the details inside black boxes, we encourage the children to look at the config files, read the comments, and try different values. They take great pleasure in constantly tweaking their Web browser settings or game settings to suit their mood or just their curiosity. And yes, sometimes this means they break things. Well, that's great. If they tweak a config in a way that the author didn't anticipate and it causes a program to core dump, the child, along with their observant and helpful sysadmin will jump on this opportunity and send a bug report in. The end result is not only a learning

experience for the child, but also more robust free software. Or at least that's how I envision it. Perhaps that further illuminates my previous objection to making a tight system for non-technical sysadmins. I'm a technologist, and as such, I have slightly different agendas than non-techs. I am raising my children with geek values. I am raising them to learn how to deal with computers when they do the unexpected, and to be comfortable with that and know what to do, even if they don't know how to fix it themselves. I allow that not all people in the world are geeks or see the value in making things break and improving them. They just want stuff to work, period. When stuff breaks, it is disorienting, irritating, frustrating, and they don't see it as a learning opportunity or software-improvement opportunity at all. If that's where a user is, maybe they should consider a different operating system. Or maybe that user just needs to enlist the help of a technical friend who is there to help when things break. If that friend is also willing and has time to help when his children break things, then maybe, just maybe, he will get along fine with a Debian Jr system.


LINUX FOR KIDS

Woody, Potato, Sid? Many of you will have noticed that Debian releases are named after characters from the film Toy Story. 1.1 Buzz 1.2 Rex 1.3 Bo 2.0 Hamm 2.1 Slink 2.2 Potato 3.0 Woody unstable Sid This is because Bruce Perens (see interview Linux Magazine 9), one of the founders of Debian, worked at Pixar Studios for 12 years. The unstable (development) branch of Debian is now permanently called Sid, after the boy next door who destroyed toys.

don't need to re-hash all of the arguments for free versus non-free here. I believe free software is just as important for kids as it is for adults, and for much the same reasons.

Children and technology LM Where do you see this project in relation to strictly formal education (schools) projects – such as SEUL/edu, OSiE and FSF-edu?

SOFTWARE

turfed the TV. Isn't plopping our children in front of a Web browser or a video game every bit as much an impediment to their development as TV? Doesn't it have the same potential to become the default entertainment around the house, soaking up family time and leading us ultimately to a state of technology-assisted disconnection from each other? Sure, the potential to end up this way is very real. It is a struggle when you're a geek and you already devote great swaths of your leisure time to computers. It takes energy and planning to give computers their proper place in the home, much in the same way that families who have televisions need to put effort into keeping the TV in balance with other activities. So, where does the computer really fit, after taking these other things into consideration? I think they can be powerful tools to think with. Limitless entire universes of thought can be constructed and explored with them. With guidance, a child's computer can be a great tool for developing their mind. It can be something more than an extremely

Starting Point BA Well, the foundation of any formal education is necessarily in the home. True to the vision of "Let's build something our kids will want to use." we are more attuned to what appeals to children than what appeals to educators. Not that the two are necessarily opposed to each other. I would certainly hope that our educators, too, are looking for things that appeal to children. But by focusing on children in the home, we are working with what we know best. LM Just how important are computers in children's development and why? BA I think as a geek parent I don't question this nearly as much as I should. We take deliberate steps to ensure our children's minds [are] provided with a universe of books, arts, games, music, food, culture and so forth to explore. And we also take steps to remove things from their environment that we feel impede progress in those areas. How important are computers in children's development? Well, we could live without them. We could go to the extreme and be complete Luddites, switching off the computers at home and just leaving them for "real work". After all, we have

As we have mentioned, the project is at an early stage, waiting to build a user base to provide feedback. The range two to eight years is quite diverse, but initial concern is with building the framework. This helps to narrow down the focus to three areas: 1. Identifying which packages work well with children: Much has been done here, and you will find user comments on each on the projects packaged page 2. Organizing packages in a way that makes sense to children and sysadmins alike: More work needs to be done on ways of organizing the material makes sense for which age ranges. "It will be when we tackle the menu system that we shift the emphasis to the children. And then the fun begins, because age differences are going to make a big difference to what makes sense 3. Making it easy to install these packages: Meta packages are easy to construct for Debian BA We have deliberately avoided addressing the sub-problem of making Debian painless for non-technical parents to introduce to their kids. Simply put, to assume technical parents who are comfortable with administering a UNIX system makes our job quite a bit easier, as that's who we are ourselves. It's best to stick with what you know. But I envision Debian Jr eventually finding its way into less-technical homes. When we get there, we'll be interested in talking with that sub-group of users and trying to address their needs the best we can.

12 ¡ 2001 LINUX MAGAZINE 101


SOFTWARE

LINUX FOR KIDS

Info Ben Armstrong manages to combine a range of geek interests (including running a LUG, developing for Debian and helping with Xpilot) with a well-balanced home and family life. I think it's something to do with the clean Canadian air. Debian Jr's homepage: http://www.debian.org/devel/debian-jr mailing list: http://www.debian.org/MailingLists/subscribe packages included: http://www.debian.org/devel/debian-jr/packaged Xpilot: http://packages.debian.org/stable/games/xpilot.html http://www.xpilot.org SEUL/edu: http://www.seul.org/edu For an honest assessment of the pros and cons of Debian: http://www.debian.org/intro/why_debian â– expensive TV replacement. Let televisions be televisions and game consoles be game consoles. We are building something that goes beyond an entertainment system for kids, addressing each of the aspects of computers that we feel are important for our children's development. I'm not sure we fully grok all of the possibilities yet.

Ready when it's ready LM What's the timetable and are you ready for the Woody freeze?

The author Richard Smedley juggles a job in IT, magazine work, two eccentric children, cars (which are more interesting than functional) and an overgrown garden.

BA Within Debian, we are fond of saying "It will be released when it is finished". However, in Debian Jr's case, being a small personal project within Debian, we don't have the clout to say "hold it, we still have this or that to put in". It is kind of like being pregnant. You know that ultimately that baby will come out, but it is up to nature to decide when. The longer she stays inside, the fatter Debian Jr will continue to get. Where this analogy falls apart is, I don't think Debian has ever been known to give birth prematurely. So I remain hopeful that we have time yet to put on a bit of extra fat. But in more concrete terms, for Woody you will see just a structure for a Debian Jr system. This will be enough for the user to install and use with their children. But we need that user base before we can go much further. I don't like developing in a vacuum. We'll need to have users try this initial offering and start talking to us about what to put in there next. We'll have just a "baby Debian Jr" in Woody. The following release is where we'll see it mature. For instance, we have deliberately left out support for Gnome and KDE in this release. Instead, we're focusing on the core, by shaping a collection of packages that will work on any system, whether you have Gnome, KDE, or neither. By keeping the first release "light" we don't devote a lot of energy into building structures that we may later find ourselves having to tear apart and rebuild. We also keep the

102 LINUX MAGAZINE 12 ¡ 2001

job to a manageable size, while still providing a very usable one-point-oh.

F is for free LM Free Software is quite an abstract concept for children to understand. My children understand that GNU/Linux is better because "you can share it." What has been your experience of discussing the principles/morality of FS with kids and adults as well as the practical benefits? BA I think it reduces to "Well, with Linux I can do this, whereas with Windows I cannot." and furnishing examples. This brings the abstract arguments into familiar, concrete terms that children can see more readily. I find myself not having to do this with my children anyway, because all they know in this household is Linux. I cannot even remember the last time we booted to Windows to play a game. When it is time for computer turns (a familiar and highly sought-after reward once chores or homework is done), it is just assumed this means Linux computer turns. There's just so much more now that they can use on Linux that there is no need to supplement it with the (admittedly flashier in some cases, and certainly more polished both in the graphics and sound) small collection of Windows games that remain in our possession. When it comes to reasoning with adults, I emphasize community first and then the source. Even if they don't get the source argument, they almost always comprehend the community side of things. â–


SOFTWARE

103 LINUX MAGAZINE 12 路 2001

LINUX FOR KIDS


COMMUNITY

GROUPS

Running a Linux User Group

COMMUNITY SPIRIT COLIN MURPHY

Linux is a community effort – it grew out of a single message that Linus Torvalds posted to Usenet 10 years ago. That community effort is still growing, through Usenet, email, IRC, CVS and Linux User The place to start

106 LINUX MAGAZINE 12 · 2001

Groups – or LUGs.

So, what is a Linux User Group? A User Group is no more than a group of Linux users with a similar mindset or reason to “hang together”. Maybe they are interested in using certain applications, so a group might form just to discuss how to use and abuse KWord, or just console each other after it crashes on them. Developers with a passion for a particular programming language can group together, maybe


GROUPS

so they can persuade themselves that their language is the one true language, or again, maybe to shelter as a group against those telling them that their language is really the lowest of the low. Or, which is more often the case, it can be a collection of Linux users with a much wider, more general interest in all things that make the OS what it is. Groups like these can use Usenet, email, mailing lists, Web pages and other resources to keep in touch with group members. Quite often User Groups will also have a location in common – which makes them a local LUG, allowing users to meet each other in person. When people talk of LUGs it is usually the local variety they are thinking of. These local LUGs vary in size and type. Some may have as few as four or five regular members; others may have 50 or more. Some might just meet in a pub, going through members' problems or solutions, other groups may put on talks and demonstrations for their meetings. Some may want to encourage and introduce new users to Linux, some, though not many, may want to remain lofty and technical. The reason for such a wide range of LUGs is the way they develop, they can just spring up when and where the need arises, just so long as someone is there to plant the first seed.

Finding out about LUGs As Linux is developing and growing, more and more local LUGs are forming to offer help, friendly support and camaraderie, so it is becoming more likely that you will have a group near you already. The Linux print magazines put great effort into listing LUGs, but you should also check out what is available by looking on the Web, http://www.lug.org.uk/lugs/index.html will start your search off, or ask in Usenet, in groups like uk.comp.os.linux.

Starting a group There is a long way to go before every town and village can boast its own LUG, so there may not be a group in your area, or the group which is in your area just doesn't meet your needs. If you do find yourself in this situation then maybe you should consider starting your own. The only personal cost is one of spare time, and, even then, not a lot of it as a group can grow out of simply sending a few emails. First of all you had better assess the need for the group, the 'L' in LUG is for Linux, or possibly for local, but definitely not for loner, so you will need to make sure that the group you hope to start will be fulfilling the needs of more people than just yourself. You should advertise your needs somehow and see if they are shared by anyone else. This could mean posting an announcement in a free-toadvertise type newspaper or magazine, putting cards in supermarkets or flyers in your local technical bookshop or computer shop, or sending

COMMUNITY

letters to Linux magazine editors, as well as the good Internet stalwarts like Usenet. There is one very important resource that you really should call upon: the local LUGs that already exist. Even if you think of them as being remote, those LUGs might be a long way away for you and your new group might be nearer or convenient for some of the members of the surrounding groups. So send an email canvassing support or outlining your proposition to the mailing lists of those groups, or ask the group admins to post a link to a Web page so you can gauge demand. Do remember though that it's not a case of competing with your neighbouring groups, but of complementing them. You don't want to end up being accused of poaching users from an area. You should always try to avoid clashing with other groups meetings – you will be surprised how many members will want to go to both. Once you have started to generate interest you will need to set up some channels of communication so that those in your fledgling group can discuss issues and plan together for its future. Mailing lists are ideal for this and the 'UK Linux Users Groups' organisation will help you with setting one of these up for free, as well as providing other useful online resources like space for a Web page link and Internet Relay Chat rooms. See their Web page at http://www.lug.org.uk/ for more information on how to do this. There you will find lots of help, advice and support with setting up your own LUG along with a mailing list specifically for 'lugmasters'. So, with any luck, you will have proved to yourself that you are not alone, and at least someone, but hopefully lots more users, share your hopes for a group of their own. If you intend to all meet in person you will need a venue. Often, the first few meetings will be held some place neutral, like a pub. This will allow you all to assess what type of group you are and how you might develop. If you are just a small group, you may find it suitable to meet in each others' houses, assuming you don't mind having the kids frightened and you don't mind inviting people who are still strangers into your home. Larger groups can present more of a problem when finding somewhere to meet, church halls, scout huts, libraries and schools might fit the bill, but they usually want money and for the sake of simplicity, it's far easier to stay away from charging if at all possible. You could also try some of the local computer companies. They might appreciate the opportunity to tap into your group as a Linux resource for themselves, offering you a venue for free. The general rule of thumb is that you can't afford to leave any stone unturned – opportunities appear from the most unlikely of sources. The community spirit of Linux can't be overestimated, and there is no better place to see that spirit than as part of a LUG. We suggest that you make every effort to be part of it yourself. ■

A User Group in action

12 · 2001 LINUX MAGAZINE 107


COMMUNITY

BRAVE GNU WORLD

The monthly GNU Column

BRAVE GNU WORLD GEORG CF GREVE

Welcome to another Brave GNU World. This issue covers a rather wide spectrum of applications that most people would normally not know about.

GCompris GCompris by Bruno Coudoin is a fresh addition to the GNU Project in the Free Software and Education sector. Children tend to learn a lot while playing with their environment, which is why many programs try to teach their lessons in game form. Unfortunately these programs are usually proprietary. Closing this gap for pedagogical software is the goal of GCompris. The program itself is based upon boards. Bruno sees a board as a unit that introduces or exercises a The latest GCompris board. Land the paratrooper on the moving boat

108 LINUX MAGAZINE 12 ¡ 2001

concept. The goal is not so much deep knowledge but rather making training a fun process. There are several programs that Bruno would consider board based – but they all use different libraries, have different user interfaces and their development proceeds with wildly varying speeds. These circumstances complicate finding and using them. To avoid this, GCompris has two essential parts: the engine to create, modify and execute boards and a collection of boards for different concepts. The engine has been written in C using the Gnome libraries and has a very simple user interface that has been created especially for children. The program is available in seven languages and is already being used successfully in schools and homes around the world. This means a lot to Bruno and is also quite remarkable as the program is only one year old. He is not satisfied with the graphical side of GCompris, but now Linuxgraphics will be handling this part. If you are interested in participating in the graphical area, they are the ones to contact. The next programming task will be the creation of a board-editor that can also be used by computer illiterates. Right now boards are being written as C plugins with XML as the data format, which is asking a little too much of some teachers. Help creating an easy-to-use board-editor is welcome. But even if the board-editor is not ready, there are several boards available. Among them are


BRAVE GNU WORLD

training for keyboard and mouse, reading the clock, a puzzle with famous paintings and easy calculus. To keep the program simple only the Gnome canvas is used for implementation of the boards. Extending this to other widget drawing areas is a task for the future. This French program is pronounced ”j’ai compris,” which means, ”I have understood” and was originally written by Bruno Coudoin for his own children. And he would especially like to thank his children for their patience because the program evolves far too slowly for them.

FSFE– Free Software and Education Related to this, we would like to point out that the Free Software Foundation Europe has made the support of Free Software and Education one of its declared goals at its general assembly this year. This goal is pursued together with the Organization for Free Software and Education and Teaching (Ofset), which has recently become an official associate organization of the FSF Europe. In order to bring together all the different initiatives, people and organizations that are active in this area, a special mailing list has been created. Several people have already joined and introduced themselves. The next step will be to launch a meeting of everyone involved. Then we can discuss together which concrete measures can effectively support Free Software and Education. If you would like to join this process, you’re very welcome.

Chemical Development Kit In a way, this article is a follow up to the Jude feature of issue 10, which introduced Jude via its use in the Crystal Engineering Laboratory of Ciamician, the chemical department of University of Bologna, Italy. In this feature the chemical functionality has not been discussed, and this is what we would like to do now. We will talk not only about the Chemical Development Kit (CDK), but also about Jmol and JChemPaint, whose maintainers Christoph Steinbeck and Dan Gezelter launched the CDK together with Egon Willighagen about half a year ago. The Chemical Development Kit (CDK) is a JavaLibrary aimed at providing all the basic classes and tools for chemical software under the GNU General Public License. Its design is partially based on the observations Egon Willighagen made with his CompChem/CDK library that had some flaws in the API. The project itself is still in a rather early stage, so it makes no sense to talk about already

COMMUNITY

implemented classes and functionalities. More recent information about this can be found in the documentation of the API on the CDK homepage. Jmol was originally a program for the simple and easy 3D-visualization of chemical structures as an alternative to XMol. Functionality for editing molecules, simple minimalisations based on forcefields, molecular dynamics (microcanonical ensemble) and langevin dynamics (canonical ensemble) is planned. Jmol is also based on Java and uses the SWING toolkit for its graphical user interface. Just like the CDK it is available under the GNU General Public License. The big advantage of Java-based applications is their high portability. Additionally, Jmol can be used as an applet in Web pages and is scriptable. JMol showing the caffeine molecule

[below] A JChempaint drawing in SVG format. Also displayed in Batik – a free SVG viewer

12 · 2001 LINUX MAGAZINE 109


COMMUNITY

BRAVE GNU WORLD

JChemPaint is a 2D-based editor for chemical structures with the intention to provide a 2D extension for Jmol. It supports a lot of the standard features of proprietary programs already and can create output in bitmap, Postscript and Scalable Vector Graphics (SVG) form. Like the other two, JChemPaint is based on Java, but it is licensed under the GNU Lesser General Public License. It is as portable as Jmol and can also be used as a website applet. The Chemical Markup Language (CML) is being supported by both programs. The long-term plan is to make both Jmol and JChemPaint use the CDK; and ultimately to unite the two. These projects already provide chemists, biologists and others working on the molecular level an impressive array of features based on Free Software. Even if a particular piece of functionality is not supported, we would recommend people help these projects along rather than invest in proprietary software. Although this may seem more complicated at first, it does offer many advantages in the medium and long term. New ideas can be followed through subsequently without being stopped by the limits of proprietary software. This is essentially a direct result of the philosophy of Free Software being based upon the scientific principle. Also only Free Software can guarantee reproducible results. The Alma interface for software projects in various formats

110 LINUX MAGAZINE 12 · 2001

Scientific software should always be Free Software.

Alma Guillaume Desnoix is the author of Alma. Alma stands for Atelier Logiciel de Modelisation er d’Analyse, which means workshop for software analysis and modeling. Alma reads different sources (models, source code) and helps the user design and modify the object-oriented model, modify the structure and code and create new output in the end. This can be done in many formats. Alma supports Java, Idl, XMI, C, C++, Fortran, Rose, MDL, Class, JavaP, Taglip, JSP as input formats and the output can be done in the form of source code, documentation, diagrams or a natural language. Alma offers easy capabilities to declare and change classes. It is especially useful for developers who seek to incorporate old code in a new project or who wish to translate a project into a new programming language. It can also be very useful for ports or encapsulation. According to Guillaume, the special advantage of Alma is its real NxN mapping with a common editable model. There are other projects to analyse, translate or beautify source code, but these usually only work unidirectionally between two languages. But Alma is a very big project. Half of the parsers and generators for the different languages


BRAVE GNU WORLD

are still alpha-stage. This lets the specialized programs mentioned above still do a better job in their tasks, but their concept has serious limitations. Alma is written in Java 1.1 and can be used on almost any computer. It can be used command linebased or through a GUI. The console part can even be compiled with GCJ or run on Kaffe. Currently, there is about one release per month, increasing the version number by 0.01. Taken as a basis, this would mean that version 1.0 of the project would be ready in July 2006. Interested developers should risk a look before that, though. Alma is published under version 2 of the GNU General Public License, so it is free software. Normally, a program is licensed under the GPL version 2 or – at the users discretion – any later version. Limiting the choice to version 2 is something seen sometimes, so we’d like to say a few words about it. The argument for this step is usually that later versions of the GPL are not yet known. Because of this, it isn’t possible to know whether the later versions will be good. This may seem logical, but in the end it does create weaknesses. In the event that a later version of the GPL is not accepted by the author or the users, the program can still be used under version 2 of the GPL, there is no enforcement to use the later license. But in the case that an update of the GPL is necessary because the laws change and version 2 has legal problems, a restriction to version 2 will leave the program without a valid license. If all authors are reachable, this can be solved easily. But very often authors disappear or lose track of a project. So limiting the license to version 2 does not offer any benefits and creates potential problems. Another thing should also be said: The author of Alma is very happy that so many people apparently understand the difference between free beer and free software. On his page you’ll find a questionnaire and the possibility of purchasing the program for $10. There is no enforcing this payment, but the user is asked to pay if he/she uses one of the many automated installers for the different platforms. This is one of the possible ways to sell GPL software in harmony with the GPL and we can only hope this will become more common with working micropayment systems.

libgcrypt Thanks to the work of Werner Koch, we now have libgcrypt, a library of cryptographic functions under the GNU General Public License. This library is part of the GNU Privacy Guard (GPG) Project and can be found on its homepage. Other cryptographic libraries are either not free or under GPL-incompatible licenses like OpenSSL.

COMMUNITY

Info Send ideas, comments and questions to Brave GNU World column@brave-gnuworld.org Homepage of the GNU Project http://www.gnu.org/ Homepage of Georg’s Brave GNU World http://brave-gnu-world.org We run GNU initiative http://www.gnu.org/brave-gnuworld/rungnu/rungnu.en.html GCompris homepage http://savannah.gnu.org/projects/gcompris Linuxgraphics homepage http://www.linuxgraphic.org Free Software Foundation Europe homepage http://fsfeurope.org Ofset homepage http://www.ofset.org Free Software and Education mailing list: edu@fsfeurope.org Free Software and Education mailing list home page http://mailman.fsfeurope.org/cgi-bin/mailman/listinfo/edu Chemical Development Kit (CDK) homepage http://cdk.sourceforge.net Jmol homepage http://jmol.sourceforge.net JChemPaint homepage http://jchempaint.sourceforge.net Chemical Markup Language homepage http://www.xml-cml.org Alma homepage http://www.memoire.com/guillaume-desnoix/alma/ GNU Privacy Guard homepage http://www.gnupg.org ■ Since the majority of Free Software is under the GNU General Public License, libgcrypt closes a very important gap. Libgcrypt falls back on the very solid base of the GnuPG project, so the cryptographic routines are thoroughly tested already. Still, the project has to be considered Alpha-Software according to Werner, because the API has only been finished very recently. Despite this warning, libgcrypt can already be used - and is. Nikos Mavroyanopoulos, who supported Werner with the development of the libgcrypt, is using it in the GNUTLS library that was featured in issue 8. The special strengths of the libgcrypt are the extensible API for public key functions and the access to the internal functions for big integers. Also extension modules can be loaded dynamically. The library can be used on UNIX-like systems and W32 platforms. Plans for further development are generating a stable release and improving some of the internal implementations, also some highlevel functions to deal with OpenPGP data structures are to be added. And of course GnuPG will be ported to libgcrypt. One thing Werner would like to see mentioned is that usage of the libgcrypt requires a certain awareness of cryptography. Just using a few algorithms in a program will do no good if the design isn’t structurally sound. Given the tendency of some developers to put steel doors in cardboard houses, this seems to be good advice.

Enough for now That’s it for Brave GNU World for this month. As usual I’d like to encourage you to comment. Ideas, criticism and questions are very welcome. ■ 12 · 2001 LINUX MAGAZINE 111


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.