COMP 3000 2011 Report: Legacy: Difference between revisions

From Soma-notes
Zzhou6 (talk | contribs)
Zzhou6 (talk | contribs)
 
(4 intermediate revisions by the same user not shown)
Line 120: Line 120:
(2) Improvement on legacy software systems: http://en.wikipedia.org/wiki/Legacy_system
(2) Improvement on legacy software systems: http://en.wikipedia.org/wiki/Legacy_system


----
== Part II ==
== Part II ==
'''Software Packaging:'''
 
Packaging Format and Utilities:
== '''Software Packaging:''' ==
 
 
'''Packaging Format and Utilities:'''


Different from other Linux distribution, Legacy operation system use both RPM package manager which handle .rpm file and dpkg (Debian package management system) that handle .dpkg file as its Package manager.  
Different from other Linux distribution, Legacy operation system use both RPM package manager which handle .rpm file and dpkg (Debian package management system) that handle .dpkg file as its Package manager.  
Line 129: Line 134:
”RPM Package Manager (RPM) is a package management system. The name RPM variously refers to the .rpm file format, files in this format, software packaged in such files, and the package manager itself.”(2)
”RPM Package Manager (RPM) is a package management system. The name RPM variously refers to the .rpm file format, files in this format, software packaged in such files, and the package manager itself.”(2)


List installed Package:
'''List installed Package:'''


Two package managers exist in this operation system, Dpkg and Rpm. When user want to list the installed package, Dpkg command is using. “dpkg -l” is to list all the package that already install in this OS. If users have any problem about the rpm package, type “rpm –q package.rpm” will show the query about the package users asked.
Two package managers exist in this operation system, Dpkg and Rpm. When user want to list the installed package, Dpkg command is using. “dpkg -l” is to list all the package that already install in this OS. If users have any problem about the rpm package, type “rpm –q package.rpm” will show the query about the package users asked.


Add And Remove Software Packages:
'''Add And Remove Software Packages:'''
 
When users purpose to install a new package either rpm or dpkg that not install in this OS, users had better query uninstalled package of rpm packages by using command “rpm -p” or configure an unpackaged package of dpkg packages by using command “dpkg -C”.
When users purpose to install a new package either rpm or dpkg that not install in this OS, users had better query uninstalled package of rpm packages by using command “rpm -p” or configure an unpackaged package of dpkg packages by using command “dpkg -C”.


Line 144: Line 150:
Use another word; users can do nothing with the software or applications that not found in the Legacy operation system.
Use another word; users can do nothing with the software or applications that not found in the Legacy operation system.


Extensive Of the Software Catalog:
'''Extensive Of the Software Catalog:'''


Restricted software and applications were really painful for computer users, fortunately the variety of software and applications include in Legacy system is magnitude.
Restricted software and applications were really painful for computer users, fortunately the variety of software and applications include in Legacy system is magnitude.
Line 150: Line 156:


A number of packages used in Redhat4/5 or Centos 4/5, Mandriva 2007 and 2007 Spring packages were available in the Legacy operation system. All the applications or software may not the latest version, but it’s the right version work properly in the Legacy OS which were tested by designer.
A number of packages used in Redhat4/5 or Centos 4/5, Mandriva 2007 and 2007 Spring packages were available in the Legacy operation system. All the applications or software may not the latest version, but it’s the right version work properly in the Legacy OS which were tested by designer.
== '''Major Package Versions:''' ==
----
Package           Version       Upstream Source
----
Linux Kernel     2.6.18.1          http://www.kernel.org/
----
GUN C Library     2.5               http://en.wikipedia.org/wiki/GNU_C_Library
----
X.ORG             x11R6.9       http://www.x.org/wiki/
----
GTK+             2.8.17       http://en.wikipedia.org/wiki/GTK%2B
----
Qt-x11             3.3.6       http://en.wikipedia.org/wiki/Qt_(framework)
----
Bash             3.00.16       http://www.gnu.org/s/bash/
----
Busy Box             1.01               http://busybox.net/
----
Konqueror     3.5.5            http://www.konqueror.org/
----
icewm             1.2.28       http://www.icewm.org/
----
Adobe flash player  10.1.82.76       http://www.adobe.com/products/flashplayer.html
----
Abiword            2.4.5       http://www.abisource.com/
== '''Packages Comparison:''' ==
'''Linux kernel:'''
The version of kernel in Legacy include is 2.6.18.1 public in 2006 which is already very older version modified from version 2.6.18 in order to fit into Legacy operation system. It fixed several bugs such as for copy-paste bug in video dev, locking bug and 64-bit DMA for bcm43xx. The latest version of Linux Kernel is 3.1.1 which public on Nov 11th, 2011.
'''GUN C Library:'''
The version of GUN C Library used in this system is 2.5 which public on Sept 2006 which is used in RHEL 5 (red hat enterprise Linux 5). The latest version now is 2.14 which public on June 2011. Legacy OS 2 released this year, but the designer still using the old GUN C Library version in latest Legacy OS.
'''X.ORG:'''
The latest version of X.ORG Foundation is X11R7.5 which public on Oct 26th 2009, but the version used in system still X11R6.9 which public in Dec 21st 2005 which is 4 years behind the latest version. The latest version of X.ORG “incorporates new features, stability and correctness fixes, including improved auto configuration heuristics, enhanced support for input devices, and new options for reconfiguring the screen geometry while the system is running.”(4) Legacy insists on old version, stable of new version for Legacy could be a problem.
'''GTK+:'''
The version of GTK+ used in Legacy is2.8.17 which public on April 7th 2006. But the latest version is GTK+ 3.2 which public on Sept 25th 2011. The latest version improves CSS theming, width-for-height such as GTKPaned, GTKMenuBar, GTKNotebook support etc. (5)
'''Qt-x11:'''
Qt-x11 3.3.6 is the version include in Legacy system that based on the version of x11 R3 which public on October 25th 1988. And the latest version of Qt is version x11 7.6 which public on Dec 20th 2010. Qt-x11 is the Linux version of Qt, and the version used in this system is too old to find any other information.
'''Bash:'''
The version of bash 3.00.16 used in Legacy system based on bash version 3 which public on July 27th 2004. The latest version of bash is 4.2. The version bash 3.00.16 release (i486-t2-linux-gnu) is the unique version that Free Software Foundation, Inc. modifies in order to use in Legacy OS.
'''Busy box:'''
The version include in Legacy is 1.01 which public on Aug 17th 2005. Compare to the latest version of 1.193 which public on Oct 29th 2011, it’s been 6 years behind. Legacy still use the fifth edition.
'''Konqueror:'''
Konqueror is a web browser that is not well-known by computer users, but it’s a powerful web browser. The version of Knoqueror is 3.3.5 which first release date is April 22nd 2007, compare to the latest version 4.6.1 which public on Mach 4th 2010, its 3 years behind.
'''Icewm:'''
The version used in Legacy is 1.2.28 which released on Sept 10th 2006. But the latest version already ahead the current version for 5 years issued as version 1.3.7. This latest version fix many bugs on crash, build fixes and battery status as graphics not text etc.
'''Adobe flash player:'''
The latest version for adobe flash player is 11.1.102.55 which released on Oct 11th 2011. But the version used in Legacy is version 10.1.82.76 which is consider exist a dangerous bug. This bug cause application crush, even more hacker can control users’ system by using this bug.
'''AbiWord:'''
The latest version for AbiWord is 2.9.1 which public on July 7th 2011. The version Legacy used is 2.4.5 which public on July 1st 2006 which five years behind the latest version. However, 2.4.4 is the last enterprise of 2.4 version of official release. Version 2.4.5 should be modified by designer that make it more fit into Legacy operation system.
== Initialization: ==
When a system initializes itself, it first boots '''BIOS''' which is basic input/output system. “The BIOS software is built into the PC, and is the first code run by a PC when powered on (‘boot firmware’) (6).” In Legacy, it take 5 seconds for users choose the particular boot options, such as boot from CD-Room or boot from hard disk etc. It displayed options for particular boot in Legacy during the 5 seconds. If users did noting, it will boot the hard disk automatically. In this case, Legacy loading '''vmlinuz'''(On Linux systems, vmlinux is a statically linked, executable file that contains the Linux kernel in one of the object file formats supported by Linux, including ELF, COFF and a.out.(7)).
Then loading '''initrd.gz'''; this file simulates a root partition before the real root partition accessible when the system boot. After real root partition loaded, it’s gone. After loading initrd.gz file, system uncompressing Linux and then boot the kernel.
Detailed boot up message are saved to the directories below:
/tmp/bootkernel.log
/initrd/tmp/bootinit.log
/tmp/sysinit.log
Detailed ongoing message are saved to the directories below:
/tmp/xerrs.log(X)
/var/log/Messages(kernel)
Now, the system executing ‘init’ script in initial-ramdisk:
Loading kernel modules
Looking for Puppy in hdc
Looking for pup_save.2fs in hdc
Mounting /dev/hdc on (/initrd)/mnt/dev_ro1
Mntg pup_214.sfs of /dev/hdc…mounting on (/initrd)/pup_ro2
Mounting tmpfs on (/initrd)/pup_rw
Creating unionfs on (/initrd)/pup_new (to become ‘/’)
After that, Legacy start to initializing the system; because Legacy does not have run level, it take a few steps to finish the system initialization:
'''Enable the File system:''' when this operation done, the intirrd.gz will no longer valid.
Check version
'''Loading Kernel modules:''' an object file that contains code to extend the running kernel, also called base kernel of an operation system.
Loading keyboard map
Detect serial
Detect keyboard and mouse
Set up network interface
After steps above finished, users still need to verify their language for keyboard and judge the resolution for the windows. Finally, users will access the desktop.
== '''Reference:''' ==
1. http://en.wikipedia.org/wiki/Dpkg
2. http://en.wikipedia.org/wiki/RPM_Package_Manager
3. Release information of Legacy OS 2
4. http://www.x.org/wiki/Other/Press/X11R75Released
5. http://mail.gnome.org/archives/gnome-announce-list/2011-September/msg00091.html
6. http://en.wikipedia.org/wiki/BIOS
7. http://en.wikipedia.org/wiki/Vmlinuz

Latest revision as of 15:23, 13 November 2011

Part I

Background:

The name of distribution I chose is call Legacy, which designed basic on “Puppy Linux”. This operation system used to design for the teenage users. But when the designer left his organization, the documents about this operation system has been lost, therefore, the way of this operation systems is not well understood by users. (1) And the name of designer became mystery.

However, mystery does not affect ardentness from computer users. After many years’ development, Legacy OS already became a powerful operation system; it contains numerous applications, web browser plug in and media decoder as its basic application for operation system, it trend to be a common OS for all computer users.

Except those, Legacy is total free, anyone can download it from its official website and the iso file for this OS is around 730MB.

Installation/Startup:

When I am using VM fusion to start up this system, it took five seconds to prepare the installation, and then executing and initializing the system that took less then 20 seconds.

After everything prepared, there is an interface ask user to choose the keyboard type. After choose the keyboard type, there also has a welcome interface, when user chose OK, it jumps to the monitor adjustment and ask user choose the resolution for LCD panel and then for screen maximum.

Users can choose test, which is for preview the maximum resolution or choose exit to skip this step. During the interface for choose keyboard type and resolution, the screen may shakes until user log into the desktop. After finishing steps above, users now can enter the desktop of this system.

Basic Operation:""

Here is a screen shot for Legacy desktop; it’s clean and comfortable. The First button is like “Start” in windows, second one is “show desktop”; and then volume controller, music, media, photo and main folder. When user click the “blue upper mark”, it will appears a list which include some favourite application, folder and system operation such as calculator, internet browser, Email and Terminal. Those numbers 1 to 4 stand 4 different desktops. Which means user owner twice more desktops than Lion OS of Mac.

On the right bottom, there are some options; first one looks like a blank box that is the process manager, which monitor the activity of CPU. When users click it, there is a windows display the information of process activity just like “ps” command in Ubuntu. Right near the blank box is the shortcut of e-mail; clock appears after e-mail. Also, there is an option to hide the menu bar, which is the right arrow mark behind the clock.

When users click the “Applications”, there is a list for many applications and control operations. Themes have only two options, one is default and the other is named Legacy OS 2. Below the themes, of course there is a log off option, which for users to choose reboot, shut down etc.

Above the themes, there is an option to Restart IceWM and Restart X server; and then release-information, Screensaver even games, printer and CD/DVD Burners.

Audio & video is an application that helps users to manage their music, and this application is none of the popular one we can see on market. There are two separate players for play CD and MP3.

The most powerful thing is the Internet operation; it includes browser, email, instant Messaging, Bit Torrent-file transfer, download manager and Misc. Each of those operations contains more than two options. There are two different browsers; two different email clients; more than three chatting tools such as MSN, Skype and Kadu (chat client for Linux); three applications for file transfer; four different download managers. The greatest thing is the Misc; it contains applications such as Bluefish (Create Web pages), Akregator (read RSS feeds), Kssh (Secure telnet), Makagiga (To-do manager), Klink Status (Web link validity checker) and You2pup (YouTube downloader). Before every application, there is an instruction tell users what this application for.

Office and Graphics are two most important applications that an operation system should include. But the office and Graphics tools are totally different from Windows or Mac.

In office there are music, office (which contains some software about presentation, desktop publishing, spreadsheet and word processor), text editor, viewer and PDF tools.

Graphics tools contain Misc, drawing, CAD (2D and 3D creator), digital Camera, photo management, scanner, colour and screen capture(for screen control). There is also an operation in accessories, which is command line. It allows users use three different Terminals and old DOS programs.

Usage Evaluation:

After know how to use this operation system, why it is not popular became one of my queries. Applications appeared in this operation include most of the application a computer users would like to have.

There are four desktops in this operation system helps users do different works without massing everything up and instructions appear in front of every application, which tells users what is the application for. Also, there are multiple choices of application for one operation.

Those additional options may not be an evidence of powerful operation system, but it shows the purpose of the designer design for users. That is “convenient”.

However, it is convenient, but it’s not enough, because I was thinking why there are two separate players for CD and MP3? Why there are many choices for one operation? Why it separates office and graphic into different tools? The answer is compatibility.

Legacy separate players for CD and MP3, because there is no an application can play both CD and MP3 in this operation system. It exist many application for one operation because if one application fails its work, users can change another one, or maybe the designer of this operation system just want users have more choices.

I try to use one of the terminals to program a C code. When I open the terminal and list the file, I realized that the documents is not well organized as it looks like when I can not find my target folder because there are hundreds of folder appears in the list include every application name. Then I try to create a C file, it tells me “vi” command is not valid in this terminal. Fortunately, it provides the correct format of command for how to create a file in this terminal. But when I finished my code, I found that I couldn’t save and exit. So, I ask help with press alt+ H, it display every command for operating the file, but when I try it, it fails. The way it complies is different from the way we did as usual too; it could be the difference between two different terminals or compliers.

One more thing is when the first time I access the desktop of Legacy OS, there is a side bar (which display CPU usage, time, date and etc.) appears on the right hand side. Now it’s gone, and I can’t find a way to display it out again.

If designer can realize looks convenient is different from really convenient. However, “Most development often goes into adding new interfaces to a legacy system. The most prominent technique is to provide a Web-based interface to a terminal-based mainframe application. This may reduce staff productivity due to slower response times and slower mouse-based operator actions, yet it is often seen as an ‘upgrade’, because the interface style is familiar to unskilled users and is easy for them to use.”(2) This problem could be affected by the designer’s original purpose, which is designs for teenage. However, I still expect this operation system became popular and powerful.

Reference:

(1) Overview: http://en.wikipedia.org/wiki/Legacy_system

(2) Improvement on legacy software systems: http://en.wikipedia.org/wiki/Legacy_system



Part II

Software Packaging:

Packaging Format and Utilities:

Different from other Linux distribution, Legacy operation system use both RPM package manager which handle .rpm file and dpkg (Debian package management system) that handle .dpkg file as its Package manager. “Dpkg is the software at the base of the Debian package management system. dpkg is used to install, remove, and provide information about .deb packages.”(1)

”RPM Package Manager (RPM) is a package management system. The name RPM variously refers to the .rpm file format, files in this format, software packaged in such files, and the package manager itself.”(2)

List installed Package:

Two package managers exist in this operation system, Dpkg and Rpm. When user want to list the installed package, Dpkg command is using. “dpkg -l” is to list all the package that already install in this OS. If users have any problem about the rpm package, type “rpm –q package.rpm” will show the query about the package users asked.

Add And Remove Software Packages:

When users purpose to install a new package either rpm or dpkg that not install in this OS, users had better query uninstalled package of rpm packages by using command “rpm -p” or configure an unpackaged package of dpkg packages by using command “dpkg -C”.

Remove software package of dpkg also can be done with command “dpkg -r”. However, there is no options for remove or delete .rpm files. Without use command line, users can access the directory to release or remove the package manually if users feel they can handle those packages.

Remove packages are more dangerous than installed. Because installed unwanted package consume more space on disk and memory, but uninstalled wanted package especially system package will crush the whole system.

One important thing was issued in Release-Information on the application list about the extra software can be used in Legacy system, all the software and packages can be used in this system already include. What users can do if they are not satisfied with the applications and software packages, they can only download older or newer version of the applications and software packages which already included in the Legacy operation system. Otherwise, users face to solve a crashed operation system or reinstall the system (3).

Use another word; users can do nothing with the software or applications that not found in the Legacy operation system.

Extensive Of the Software Catalog:

Restricted software and applications were really painful for computer users, fortunately the variety of software and applications include in Legacy system is magnitude. 225 packages and applications were installed and ready to use in this Legacy operation system, 13 packages were ready to use.

A number of packages used in Redhat4/5 or Centos 4/5, Mandriva 2007 and 2007 Spring packages were available in the Legacy operation system. All the applications or software may not the latest version, but it’s the right version work properly in the Legacy OS which were tested by designer.


Major Package Versions:


Package Version Upstream Source


Linux Kernel 2.6.18.1 http://www.kernel.org/


GUN C Library 2.5 http://en.wikipedia.org/wiki/GNU_C_Library


X.ORG x11R6.9 http://www.x.org/wiki/


GTK+ 2.8.17 http://en.wikipedia.org/wiki/GTK%2B


Qt-x11 3.3.6 http://en.wikipedia.org/wiki/Qt_(framework)


Bash 3.00.16 http://www.gnu.org/s/bash/


Busy Box 1.01 http://busybox.net/


Konqueror 3.5.5 http://www.konqueror.org/


icewm 1.2.28 http://www.icewm.org/


Adobe flash player 10.1.82.76 http://www.adobe.com/products/flashplayer.html


Abiword 2.4.5 http://www.abisource.com/

Packages Comparison:

Linux kernel:

The version of kernel in Legacy include is 2.6.18.1 public in 2006 which is already very older version modified from version 2.6.18 in order to fit into Legacy operation system. It fixed several bugs such as for copy-paste bug in video dev, locking bug and 64-bit DMA for bcm43xx. The latest version of Linux Kernel is 3.1.1 which public on Nov 11th, 2011.

GUN C Library:

The version of GUN C Library used in this system is 2.5 which public on Sept 2006 which is used in RHEL 5 (red hat enterprise Linux 5). The latest version now is 2.14 which public on June 2011. Legacy OS 2 released this year, but the designer still using the old GUN C Library version in latest Legacy OS.

X.ORG:

The latest version of X.ORG Foundation is X11R7.5 which public on Oct 26th 2009, but the version used in system still X11R6.9 which public in Dec 21st 2005 which is 4 years behind the latest version. The latest version of X.ORG “incorporates new features, stability and correctness fixes, including improved auto configuration heuristics, enhanced support for input devices, and new options for reconfiguring the screen geometry while the system is running.”(4) Legacy insists on old version, stable of new version for Legacy could be a problem.

GTK+:

The version of GTK+ used in Legacy is2.8.17 which public on April 7th 2006. But the latest version is GTK+ 3.2 which public on Sept 25th 2011. The latest version improves CSS theming, width-for-height such as GTKPaned, GTKMenuBar, GTKNotebook support etc. (5)

Qt-x11:

Qt-x11 3.3.6 is the version include in Legacy system that based on the version of x11 R3 which public on October 25th 1988. And the latest version of Qt is version x11 7.6 which public on Dec 20th 2010. Qt-x11 is the Linux version of Qt, and the version used in this system is too old to find any other information.

Bash:

The version of bash 3.00.16 used in Legacy system based on bash version 3 which public on July 27th 2004. The latest version of bash is 4.2. The version bash 3.00.16 release (i486-t2-linux-gnu) is the unique version that Free Software Foundation, Inc. modifies in order to use in Legacy OS.

Busy box:

The version include in Legacy is 1.01 which public on Aug 17th 2005. Compare to the latest version of 1.193 which public on Oct 29th 2011, it’s been 6 years behind. Legacy still use the fifth edition.

Konqueror:

Konqueror is a web browser that is not well-known by computer users, but it’s a powerful web browser. The version of Knoqueror is 3.3.5 which first release date is April 22nd 2007, compare to the latest version 4.6.1 which public on Mach 4th 2010, its 3 years behind.

Icewm:

The version used in Legacy is 1.2.28 which released on Sept 10th 2006. But the latest version already ahead the current version for 5 years issued as version 1.3.7. This latest version fix many bugs on crash, build fixes and battery status as graphics not text etc.

Adobe flash player:

The latest version for adobe flash player is 11.1.102.55 which released on Oct 11th 2011. But the version used in Legacy is version 10.1.82.76 which is consider exist a dangerous bug. This bug cause application crush, even more hacker can control users’ system by using this bug.

AbiWord:

The latest version for AbiWord is 2.9.1 which public on July 7th 2011. The version Legacy used is 2.4.5 which public on July 1st 2006 which five years behind the latest version. However, 2.4.4 is the last enterprise of 2.4 version of official release. Version 2.4.5 should be modified by designer that make it more fit into Legacy operation system.


Initialization:

When a system initializes itself, it first boots BIOS which is basic input/output system. “The BIOS software is built into the PC, and is the first code run by a PC when powered on (‘boot firmware’) (6).” In Legacy, it take 5 seconds for users choose the particular boot options, such as boot from CD-Room or boot from hard disk etc. It displayed options for particular boot in Legacy during the 5 seconds. If users did noting, it will boot the hard disk automatically. In this case, Legacy loading vmlinuz(On Linux systems, vmlinux is a statically linked, executable file that contains the Linux kernel in one of the object file formats supported by Linux, including ELF, COFF and a.out.(7)).

Then loading initrd.gz; this file simulates a root partition before the real root partition accessible when the system boot. After real root partition loaded, it’s gone. After loading initrd.gz file, system uncompressing Linux and then boot the kernel.

Detailed boot up message are saved to the directories below: /tmp/bootkernel.log /initrd/tmp/bootinit.log /tmp/sysinit.log

Detailed ongoing message are saved to the directories below: /tmp/xerrs.log(X) /var/log/Messages(kernel)

Now, the system executing ‘init’ script in initial-ramdisk: Loading kernel modules Looking for Puppy in hdc Looking for pup_save.2fs in hdc Mounting /dev/hdc on (/initrd)/mnt/dev_ro1 Mntg pup_214.sfs of /dev/hdc…mounting on (/initrd)/pup_ro2 Mounting tmpfs on (/initrd)/pup_rw Creating unionfs on (/initrd)/pup_new (to become ‘/’)

After that, Legacy start to initializing the system; because Legacy does not have run level, it take a few steps to finish the system initialization: Enable the File system: when this operation done, the intirrd.gz will no longer valid. Check version Loading Kernel modules: an object file that contains code to extend the running kernel, also called base kernel of an operation system. Loading keyboard map Detect serial Detect keyboard and mouse Set up network interface

After steps above finished, users still need to verify their language for keyboard and judge the resolution for the windows. Finally, users will access the desktop.


Reference:

1. http://en.wikipedia.org/wiki/Dpkg

2. http://en.wikipedia.org/wiki/RPM_Package_Manager

3. Release information of Legacy OS 2

4. http://www.x.org/wiki/Other/Press/X11R75Released

5. http://mail.gnome.org/archives/gnome-announce-list/2011-September/msg00091.html

6. http://en.wikipedia.org/wiki/BIOS

7. http://en.wikipedia.org/wiki/Vmlinuz