Editing COMP 3000 2011 Report: Zenwalk

From Soma-notes
Jump to navigation Jump to search

Part 1

Background

Zenwalk Linux is a desktop Operating System built using the Linux environment. It is built on the Linux 2.6.x kernel base.

Originally called "Minislack"<ref name="Zenwalk Manual">Zenwalk Manual. "Start-up Guide." Accessed 17 October 2011. http://manual.zenwalk.org/startup_guide/zenwalk6_startup_guide_en.pdf/</ref>, Zenwalk is the brainchild of Jean-Philippe Guillemin in 2005. Zenwalk Linux is based on Slackware Linux<ref name="COMP 3000 Report on Slackware">COMP 3000 Report on Slackware. Accessed 17 October 2011. http://homeostasis.scs.carleton.ca/wiki/index.php/COMP_3000_2011_Report:_Slackware_13.37/</ref>, a robust Linux distribution faithful to the spirit of UNIX. Zenwalk is regarded as one of the fastest Linux distributions available in a binary version<ref name="Zenwalk Manual"/>. It is intended to be user-friendly for people who are both computer newbie's and Linux/Unix newbie's. The LiveCD is ~687MB in size, while the Standard .iso is closer to ~520MB in size.

Zenwalk was designed with the following objectives:<ref name="Zenwalk Manual"/>

  • Be simple and fast
  • Provide one application for one task on the install CD
  • Be a complete development/desktop environment
  • Be small enough to distribute on a single CD-ROM

Installation

Zenwalk is optimized for the i686 instruction set, but is backward compatible with i486.

Install Screen 1
Install Screen 1

The minimum hardware requirements for Zenwalk are:<ref name="Zenwalk">Zenwalk Homepage. "Zenwalk". Accessed 11 October 2011. http://www.zenwalk.org/</ref>

  • Pentium III class processor
  • 256 MB RAM
  • 4 GB HDD space

Zenwalk is localized into many language installations, including French<ref name="ZW French">Zenwalk French. Accessed 17 October 2011. http://zenwalk-fr.org/</ref>, Spanish<ref name="ZW Spanish">Zenwalk Spanish. Accessed 17 October 2011. http://www.zenwalk-es.tk/</ref>, Hungarian<ref name="ZW Hungarian">Zenwalk Hungarian. Accessed 17 October 2011. http://hu.zenwalk.org/</ref>, Polish<ref name="ZW Polish">Zenwalk Polish. Accessed 17 October 2011. http://www.zenwalk.netne.net/</ref>, and more.

Zenwalk comes with multiple installation flavours:

Login Screen
Zenwalk default login screen

Two of these installations were tested: Standard and Live CD.

The Live CD was installed onto a Windows Desktop using VirtualBox with default settings (although, if you can spare it, bumping the RAM to 512MB from 256MB leads to a noticeable improvement in performance).

The Standard installation was installed onto a netbook PC with an Intel® Atom™ N270 1.6GHz dual core x86 processor and 1GB RAM. The machine was formatted before hand. The requirements for this installation seemed to be fairly intense for an operating system that was marketed as "easy-to-use and user-friendly" since an average computer user might not know what a partition is, let alone how to create one. The installation guide<ref name = "InstallGuide">"How To Fresh Install ZenWalk" Accessed 18 October 2011. http://wiki.zenwalk.org/index.php?title=Fresh_install_ZW</ref> was very helpful in this case, and if the steps in the guide are followed, no extraneous issues arose.

Zenwalk Standard installation requires two partitions, a Linux partition and a Linux Swap partition. Once the partitions are setup correctly, the installation process is straightforward and well-documented.<ref name = "InstallGuide"/>

Once your installation is complete, you should be at a desktop login screen similar to the one shown to the right. If you do not come to this screen, or have any other troubles with the installation, please refer to the installation guide<ref name = "InstallGuide"/> or post for help on the Zenwalk Forums.

Basic Operation

Zenwalk Fresh Desktop
Zenwalk Fresh Desktop

Once you have reached the login screen, login with the credentials you setup during installation and you will be brought to the default Zenwalk desktop (image on right).

As you can see, the Standard installation of Zenwalk comes with a fully functional GUI desktop environment using Xfce UI features.

Similar to other Xfce desktops, the user can navigate the file system from the icon on the desktop called "File System", or through the "Home" folder, also located on the desktop. At the bottom of the screen, there is a toolbar available that can provide the same functionality for accessing the file system. The top bar on the screen is where you can view what applications you have opened during your session.

There is also a version of Zenwalk that employs the GNOME 3 GUI desktop environment present on many popular Linux distributions.

Since Zenwalk is intended to be an everyday user operating system, as well as a multi-tool operating system for developers, it comes with a variety of programs and compilers for many usage paths.

For the non-programmer types, a user can do all the everyday activities that they would be used to in any robust OS (Windows, Mac, Ubuntu Linux), such as browsing the internet (using IceCat), checking and sending emails (using Thunderbird), chatting with friends (using Pidgin and others), listening to music, editing image files (using GIMP), document editing (using OpenOffice), and playing some of the video games that come with the distribution.

If you're a programmer, you don't have to do much in the way of downloading compilers or specific language libraries. Zenwalk comes with ready to use compilers and libraries for a number of programming languages including:

  • C (gcc compiler or Geany IDE)
    Example of Geany IDE
    Example of Geany IDE
  • C++
  • Java
  • Perl
  • Python
  • Ruby (Ruby-GNOME)

There are also a few network and file transfer programs that are included in the Standard and/or Live CD installations. gFTPis an effective multi-threaded FTP client built for the Linux environment, while EtherApe is used to graphically monitor network state, activity, traffic, and a number of other statistics if you need a more white-box view of how your network is configured and what it is doing in different scenarios.

To install new applications and software, Zenwalk employs the use of netpkg 4.6.5, a Package Manager GUI used to install different packages whose binaries are hosted on various mirrors across the internet. Their Package Manager is very similar to the Package Manager employed by Slackware (in fact, they are essentially one in the same), but for users that are not accustomed to installing applications in this manner could have a difficult time at first. A helpful source of instructions for how to employ the netpkg Package Manager in Zenwalk can be found here. In a related note, installing and uninstalling packages and applications can also be done through the terminal, using the netpkg interface and removepkg command, respectively. Depending on the application you wish to install, you may need to compile from source; some helpful instructions for doing that can be found here.

Usage Evaluation

Zenwalk uses the X-Window System with Xfce to provide a window managing solution for the OS GUI. X Window Manager Config (xwmconfig) is the basic window manager configuration tool for X-Window. It is adopted from the Slackware distribution and adapted to fit into the Zenwalk implementation. This configuration tool will only be used by those users that wish to start X-Window in a different way. In this sense, it is appreciated that the configuration tool is included in the install package, but it was not tested in this scenario.

When first opening the internet browser (in this case, the Firefox skin IceCat) be sure to update any out of date plugins. With modern-day anti-virus software and browsers like Firefox and Google Chrome providing increased security blankets to the user, loopholes in the internet security mesh have been reduced drastically. However, there are still places that malware and spyware can inject code into a user's desktop machine without having to pass through as many security features as others. One such place is in audio and video codecs, such as DivX and Flash (Always update your Flash!! (two exclamation marks!!)). It is understandable that with the frequency Adobe puts out updates for Flash that both the Live CD and Standard installations of Zenwalk have an out-of-date Flash plugin. In any case, before you do any browsing, please be sure to first go to Tools -> Add-ons -> Plugins tab -> Find Updates and update any plugins that are out of date.

When using the terminal (xTerm), know that you are using the bash shell.

Using the Package Manager available (netpkg 4.6.5), after selecting a working mirror, installation of available software packages is straightforward. For a new user who might not have a lot of computer experience, particularly in a UNIX environment, the idea of a Package Manager might be foreign and difficult to initially grasp. Fortunately for those users, Zenwalk has an excellent walk-through on how to use netpkg on their wiki. If you are running the Zenwalk LiveCD, launching netpkg will require you enter an administrative password. The default password for LiveCD operations is "ZenLive" (without the quotes).

The distribution on the whole however, is very quick to boot, quick to launch applications and stable for all programs that were tested during this phase of evaluation. It has an inviting GUI desktop, with an intuitive file and window management systems. It is advertised to have a large stable of programming language compilers and editors, and does not disappoint from that perspective. Programmers that are looking for a new, stable, effective Linux-based OS could do worse than Zenwalk.

Part 2

Software Packaging

As mentioned in a previous section, Zenwalk Linux uses the Package Manager netpkg v4.6.5 to manage all installed applications and software, as well as a repository for searching for and installing other applications and software hosted on mirrors across the internet. Netpkg is a command line package managing program developed in-house by the Zenwalk developers that has a user-friendly GUI as well. An extensive walk-through can be found here on Zenwalk's wiki page on how to use Netpkg.

Installing an application

I will now walk you through, with the help of the walk-through linked above, my experience trying to install the Google Chrome web browser using Zenwalk LiveCD 6.4 and Netpkg 4.6.5.

  1. Launch Netpkg by going to the launch button, and selecting the System -> Netpkg link
  2. If running under the LiveCD installation, you will be prompted to input the administrative password. By default, on the LiveCD installation, the administrative password is "ZenLive" (case-sensitive, without the quotes)
  3. Select a mirror using the dropdown box. There are three different types of mirrors to choose from:
    1. Current: For stable packages and security features that are free to download from.
    2. Snapshot: For cutting edge programs. These repositories will contain packages installed on the development version of Zenwalk.
    3. Restricted: Packages listed under a restricted mirror due to patent or legal reasons. Unusable unless you have permission from the restricted mirror.
  4. I selected a "Current" mirror, and was presented with a list of applications that I could choose to install.
  5. Select a checkbox from the filter menu that corresponds with what type of applications you wish to search through. I selected "Not installed" since I knew that Google Chrome is not installed on this distribution by default. (Note: Orphans refers to packages that is not needed by any other packages currently installed. It might be needed by a future package though.)
  6. I found Google Chrome under Graphical Applications. Netpkg told me that the available version was 10.0.648.205, build 70.1. To select the package to be installed, double click on it.
  7. To begin the download/install process, be sure that the package you want (in this case, Google Chrome) is selected (has a green check mark under the Select column) and press the Install button, or go to Packages -> Install.
  8. You will be prompted with a confirmation window that also details all the installation actions that will take place when you click "Install packages". The check box to "Accept .new config files" is your choice, and is used if you want to overwrite related configuration files. I chose to leave it unchecked, and proceeded by clicking "Install packages".
  9. Allow the tool to download and install Google Chrome (or whatever package you selected).

Congratulations, you have successfully installed Google Chrome onto your Zenwalk OS distribution, and is available for launch under the Network menu.

Uninstalling an application

Uninstalling applications can be done using the very same Netpkg manager quickly and easily.

  1. Select "Installed" packages from the filter menu.
  2. Search for, or find, the package you wish to uninstall (I will choose Google Chrome for my example).
  3. Double click the package you wish to uninstall.
  4. Press the Uninstall button, or select Packages -> Uninstall from the menubar.
  5. Confirm the uninstall.

Google Chrome (or whatever package you chose) is now successfully uninstalled.

Alternative ways of package management

These same features are also available in the command line version of netpkg. I will not go through these here, but there is a detailed walk-through in the link above. You could also install packages from source using the command line without netpkg. This could be necessary if you cannot find a mirror that includes the package you are searching for, or if you wish to install a different version of a package from those available through netpkg.

Major Package Versions

Package Name Installed Version Latest Release
Linux Kernel 2.6.33.4 3.1.1
bash shell 4.1.007 4.2
glibc 2.11.1 2.14
gcc 4.4.4 4.6.2
X.Org X Protocol V11R7.0 V11R7.6
Geany 0.18.1 0.21
coreutils (ls, ps, etc) 8.5 8.14
IceCat 3.6.3 7.0.1
IceDove 3.0.4 3.1.16-1
OpenOffice 3.2 3.3
GIMP 2.6.8 2.6.11
Pidgin IM 2.7.0 2.10.0
Perl 5.10.1 2.6.11
Python 2.6.4 2.7.2 or 3.2.2
Xfce 4.8 4.8
netpkg 4.6.5 4.7.2

Latest Releases correspond with Latest Stable Release unless otherwise noted.

Reasons for discrepancies between the included versions of some of the major packages and their current latest release versions can, in most cases, be attributed to the date and time that this version of Zenwalk was released. In the case of the Linux Kernel, the discrepancy can most likely be attributed to stability. Since the Zenwalk team is not particularly large, they likely traded a newer major release version of the Linux Kernel for stability on top of the kernel already installed.

System Initialization

After inspecting /etc/inittab I found that the System Initialization script that runs when the system boots is located at /etc/rc.d/rc.S.

Inspecting /etc/rc.d/rc.S I was able to put together a mental picture of what Zenwalk does when the boots process is initiated. The system initialization script was written by Patrick J. Volkerding and modified by JP Guillemin.

The initial init scripts that are executed provide instructions for initializing and affirming the file system setup and structure. The environment variables are set, and the file system is mounted and checked for any potential faults. If it finds any faults, fsck is run. After the file system is mounted, any kernel modules (e.g. ethernet, sound, and other optional hardware drivers) are then loaded and their runtime parameters are configured.

Once we reach the desktop, typing ps -e into a terminal prompt shows us the list of all processes running just after start-up. The majority of these processes are related to the kernel's lifestyle, separating the different kernel modules into their own processes. Xfce processes are also up and running so you get the nice GUI desktop display, notably dbus-daemon, which handles the inter-process communication interface.

Thunar, the modern file manager from Xfce, is also running on start-up. Thunar has a number of features that make it more robust and versatile than other file managers out there. More information on Thunar can be found at their website.

The network-related drivers are all up and running on start-up as well, with wicd, avahi-daemon, inetd, and dhcpcd all running and waiting to be used.

A HAL Daemon is also running, which is used to support a "Plug-n-Play" dynamic for introducing new pieces of hardware when the system is still running (e.g. A USB Joystick, new USB mouse, etc).

References

<references/>