9:58 AM | Posted in , ,

A software package refers to computer software packaged in an archive format to be installed by a package management system or a self-sufficient installer.

Linux distributions are normally segmented into packages. Each package contains a specific application or service. Examples of packages include a library for handling the PNG image format, a collection of fonts, or a web browser.

The package is typically provided as compiled code, with installation and removal of packages handled by a package management system (PMS) rather than a simple file archiver. Each package intended for such a PMS contains meta-information such as a package description, version, and "dependencies". The package management system can evaluate this meta-information to allow package searches, to perform an automatic upgrade to a newer version, to check that all dependencies of a package are fulfilled and/or to fulfill them automatically.

Some examples for these packages are Sun Microsystem's Star office, Open Office and Microsoft's Microsoft Office.

��
9:45 AM | Posted in , , , ,

In 2004, Microsoft launched a marketing campaign, "Get the Facts", to encourage users to switch from Linux to Windows Server System.[6] Microsoft claims that its products have an overall lower total cost of ownership (TCO) than open source programs because of their ease of use, resulting in less work and lower staff wages.

Microsoft's figures are disputed by a variety of organizations, notably Novell and The Register. Some websites suggest that some common inaccuracies in Microsoft's figures stem from including figures for the Unix and Solaris operating systems with figures for Linux.

In 2004, The UK Advertising Standards Authority warned Microsoft that an advertisement using research that claimed “Linux was […] 10 times more expensive than Windows Server 2003”, was “misleading”, as the hardware chosen for the Linux server was needlessly expensive.

The German foreign ministry said that the cost of open source desktop maintenance is by far the lowest it experienced.

Market share

The market share of Linux or Windows is difficult to determine as the former is usually not required to register their copies; additionally, a large number of illegal copies of Windows exist. The above desktop usage share data is estimated from web browser user agent strings, rather than sales information or surveys. This is not entirely reliable because, among other things, web browsers do not always provide accurate information to web servers, and different sites attract different audiences that may be more prone to using one OS or another: such bias is very difficult to eliminate. (However, most servers are unlikely to be included in this measurement due to their traditional role as dedicated computer machines). More estimates are available at Usage share of desktop operating systems.


Windows Linux Notes
Estimated Desktop Usage Share As of December 2008, 88.68% As of December 2008, 0.85%
Pre-installation Pre-installed by default on almost all new desktop PCs Pre-installed by default on very few new desktop PCs. However, Ubuntu is now available on all System76 computers, some Dell computers, and SUSE Linux Enterprise Desktop on some Lenovo ThinkPads. Recently many more Linux-based low-end consumer laptops have been introduced. Microsoft's agreement with vendors to sell only the Windows operating system is being challenged in court by French consumer rights groups.

User interface


Windows Linux Notes
Graphical user interface

The Windows Shell on Windows Vista

The Windows Shell. This uses as its window manager the Desktop Window Manager on Windows Vista, and a Stacking window manager built on top of GDI in older versions. The desktop environment may be modified by a variety of third party products such as WindowBlinds; or completely replaced, for example by Blackbox for Windows, or LiteStep.


The GNOME Desktop Environment

A number of desktop environments are available, of which GNOME and KDE are the most widely used. By default, they use as their window managers Metacity and KWin respectively, though these can be replaced by other window managers such as Compiz Fusion. Other desktop environments and window managers include Enlightenment, Xmonad, Xfce, Openbox, Fluxbox, etc. See Also: Comparison of X Window System desktop environments.

Command-line interface

A sample Windows PowerShell session

The Command Prompt exists for power users. The command line can be used to recover the system if the graphics subsystem fails. A .NET-based command line environment called Windows PowerShell has been developed. It varies from Unix/Linux shells in that, rather than using byte streams, the PowerShell pipeline is an object pipeline; that is, the data passed between cmdlets are fully typed objects. When data is piped as objects, the elements they encapsulate retain their structure and types across cmdlets, without the need for any serialization or explicit parsing of the stream. Cygwin provides a UNIX-like terminal for Windows. Windows Script Host is included in Windows 98 and newer versions.


A sample Bash session

Linux is strongly integrated with the system console. The command line can be used to recover the system if the graphics subsystem fails.[16][17] A large number of Unix shells exists; with the majority being "Bourne shell compatible" shells, of which the most widely used is GNU Bash. Alternatives include the feature-full Z shell; as well as shells based on the syntax of other programming languages, such as the C shell, and Perl Shell. Many applications can be scripted through the system console, there are a lot of small and specialized utilities meant to work together and to integrate with other programs. This is called the toolbox principle.

A command-line interface, typically displayed in a system console, allows users to tell the computer to perform tasks ranging from the simple (for example, copying a file) to the complex (compiling and installing new software). Shells are powerful but can be confusing to new users. Some complex tasks are more easily accomplished through shells than through a GUI, such as piping, or scripting. See also: Comparison of computer shells.

Installation


Windows Linux Notes
Ease of Install On Windows Server 2003 and prior, the installation is divided into two stages; the first text-mode, the second graphical. On Windows Vista and newer, the installation is single stage, and graphical.

Some older versions require third party drivers (for example, by using driver floppies disks or slipstreaming the drivers and creating a new installation CD) if using a large number of SATA or SATA2 drives or RAID arrays.

Varies greatly by distribution. Most distributions intended for new or intermediate users provide simple graphical installer.

General purpose oriented distributions offer a live CD or GUI installer (SuSE, Debian, Pardus, Pclinuxos, Mandriva, Ubuntu, Fedora etc.), others offer a menu-driven installer (Vector Linux, Slackware, Debian) while others, targeting more specialized groups, require source to be copied and compiled (Gentoo). The system can also be built completely from scratch, directly from source code (Linux from Scratch).


Install time Varies based on version installed, hardware configuration, and whether it's an update or clean installation. Typically ranges from about 20 minutes to about an hour(base OS). Differs heavily depending on distribution. Package-based installation (Ubuntu, Debian, CentOS) may take several minutes. In extreme case of completely source-based distribution, full system installation may take from several hours, up to several days (heavily depends on hardware and software type).[] Please see footnotes for Ease of Install.

"Installation time" can be measured differently depending on what actions are included: installing the base OS, additional drivers, OS updates, and/or applications.

Drivers The Windows installation media usually contains enough drivers to make the OS functional. To this end, "generic" drivers may be used to provide basic functionality. Drivers for these devices can later be upgraded from the manufacturer. Windows Update may also contain updated drivers that can be installed after the base OS is in place. Drivers are almost always closed-source, maintained and published by the manufacturer of their respective devices. Depending on choice of Linux variant, device drivers may be included allowing common hardware to work without additional installation steps. These drivers are generally written by someone working for the hardware manufacturer or by someone in the user community skilled in doing so; usually the drivers are included in the kernel (open-source). Some devices (e.g. graphics cards, wireless adapters) do not have open-source drivers available due to licensing issues, but proprietary drivers are sometimes available for download from manufacturers or special archives. Some devices allow using Windows drivers via a "wrapper" utility. For some devices no usable drivers are available, but that is also true for Windows and all other operating systems[]. Most special-purpose drivers must be compiled by the user manually. Time has been invested in centralizing and automating some driver installation through a package manager.
Installation via Live Environments May be installed through the Windows Preinstallation Environment or BartPE. However, only the former is endorsed by Microsoft. Only Microsoft-certified System Builders (OEM companies) are allowed to use the WinPE disk for installation, by license. End-users do not have a license to use the WinPE installation environment. Almost all Linux distributions now have a live CD that may be used for install or recovery. In addition, the live CD can also be used for custom partition setups. Installing from a Linux live CD allows a PC to be configured to boot from several different OS's, to include Windows. There are no license restrictions on its use.
Pre-installed software Some multimedia and home use software (IE, Media Player, Notepad, WordPad, Paint…) plus OEM bundled software. Windows Vista Includes IE7, Windows Mail, Windows Media Center, etc. depending on which edition is purchased. It does not include Office suites or advanced multimedia software. All main distributions contain numerous programs: multimedia, graphics, internet, office suites, games, system utilities and alternative desktop environments. Some distributions specialise in education, games, or security. Most distributions give users the choice of which bundled programs to install, if any. Microsoft's methods of bundling software were deemed illegal in the case United States v. Microsoft.
Not pre-installed software A massive pool of both proprietary software (including shareware and freeware) and free software. Programs usually come with the required libraries and are normally installed easily. Most programs must be individually installed.

Uninstallation is equally easy, but components and registry entries can be left behind if a program has been equipped with an older uninstaller. Windows has a built-in installer program, and software that is to be installed has an installer "wrapper" that interfaces with the Windows Installer to accomplish installation.

A large pool of free software and some proprietary software. Ports of proprietary Windows software also exist. Using free Windows-compatibility layers like Wine, some Windows software can also be run, to a greater or lesser degree, on Linux. Third-party software is usually listed/integrated into a packaging system, which is built into the OS. Less popular programs, which are not in the distributions repositories, are often provided in a form (such as .deb or .rpm) which can be installed easily by the package manager. If no precompiled package exists, programs can be automatically build from the source code.
Partitioning Expanding NTFS partitions is possible without problems, and on Vista it is possible to shrink partitions as well. Dynamic Disks provide dynamic partitioning. Third party tools are available that have more features than the built-in partitioning tools. Some file systems support resizing partitions without losing data. LVM and EVMS provide dynamic partitioning. All Linux distributions have bundled partitioning software such as fdisk or gparted
File systems Natively supported: NTFS, FAT, ISO 9660, UDF, and others; 3rd-party drivers available for ext2, ext3, reiserfs, HFS, and others Natively supported: ext2, ext3, ext4, ReiserFS, FAT, ISO 9660, UDF, NFS, NTFS, JFS, XFS and others; many additional filesystems (including NTFS using NTFS-3g) are available using FUSE. Archives and FTP sites also can be mounted as filesystems. Windows can read and write with Ext2 and Ext3 file systems with third-party drivers such as FS-driver or ext2fsd; and ReiserFS through rfstool and related programs.
Boot Loader May boot to multiple operating systems through the Windows Boot Manager, in Windows Vista and newer; or the Microsoft boot loader, NTLDR, in Windows Server 2003 and prior. Numerous graphical configuration tools are available, such as EasyBCD for the Windows Boot Manager and MSConfig for NTLDR. Does not generally allow booting to any OS other than a Windows installation or DOS. May boot to multiple operating systems through LILO or GRUB. With these, it is possible to choose between multiple installed kernel images at boottime. Graphical configuration tools for GRUB are available including KGRUBEditor (KDE) and GrubConf (GNOME). GRUB can also be configured at boottime via the GRUB prompt (this is a temporary one-time-configuration only). GRUB and LILO also support booting to non-Unix operating systems via chain loading; and thus for a Windows and Linux dual-boot System, it is easiest to install Windows first and then Linux.

Linux distributions were said to be difficult for the average user to install. However distributions like Ubuntu include graphical package managers which assist the user in searching for packages and installing them graphically (e.g., Adept Package Manager). By use of package managers the need of downloading software (open source) from official site saves time as there is no need of surfing web pages as the downloading, installing, resolving dependencies, conflicts are handled by the package manager. Today, most distributions have simplified the installation and offer a “Live CD” system allowing users to boot fully functional Linux systems directly from a CD or DVD with the option of installing them on the hard drive, this enables a user to evaluate a distribution with no permanent modification to their computer.

The Windows install process and most general-use Linux distributions use a wizard to guide users through the install process.

Accessibility and usability

A study released in 2003 by Relevantive AG indicates that “The usability of Linux as a desktop system was judged to be nearly equal to that of Windows XP”.


Windows Linux Notes
User Focus Mostly consistent. Inconsistencies appear primarily through backports - software ported from newer operating systems to older ones. For example, software ported from Vista to XP, or from XP to Windows 2000/98, must follow the guidelines of the newer system (IE7 and Windows Media Player 11 are examples of this). However, Microsoft continually pushes for consistency between releases with guidelines for interface design. The latest are Windows Vista User Experience guidelines. Their focus is on consistency and usability, but with increased concern for safety in new versions. Third-party applications may or may not follow these guidelines, may have their own guidelines, or may not follow any rules for interface design. The quality of graphical design varies between desktop environments and distributions. The two biggest desktop environments (GNOME and KDE) have clearly defined interface guidelines, which tend to be followed consistently and clearly. These provide consistency and a high grade of customizability in order to adapt to the needs of the user. Distributions such as Ubuntu, SuSE, Fedora or Mandriva take this one step further, combining well-functioning usability and safety. However, inconsistencies may appear, since GNOME-based programs, following different guidelines, look notably different from KDE programs. There are other environments/window managers, usually targeting professionals or minimalist users, featuring some very powerful programs with rudimentary, minimalist graphical front-ends, focusing much more on performance, small size and safety. WindowMaker and the Fluxbox/Openbox/Blackbox environments are such examples. Some other environments fit between the two models, giving both power, eye candy and simplicity (Enlightenment/E17, Xfce). Some graphical environments are targeted to mouse users only (Fluxbox), others to keyboard users only (Ratpoison), others to either. Certain graphical environments are also designed to be as resource-conservative as possible, so as to run on older machines.
Consistency between versions User interaction with software is usually consistent between versions, releases, and editions. Consistency can be poor between distributions, versions, window managers/desktop environments, and programs. Software is generally highly user-customizable, and the user may keep the customizations between versions.
Consistency between applications All Microsoft software follows the same guidelines for GUI, although not all software developed for Windows by third parties follows these GUI guidelines. As stated above, backports tend to follow the guidelines from the newer operating system. Highly consistent within KDE and GNOME. However the vast amount of additional software that comes with a distribution is sourced from elsewhere; it may not follow the same GUI guidelines or it may cause inconsistencies (e.g. different look and feel between programs built with different widget toolkits). Though Windows' GDI and most widget toolkits in Linux allow for applications to be created with a custom look and feel, most applications on both platforms simply use the default look and feel. However, there are exceptions like FL Studio for Windows, and LMMS for Linux.
Customization Source code may, in theory, be purchased for modification in some circumstances (restrictive), or third-party tools may create modifications. In practice, the availability of Windows source code is generally heavily restricted or extremely expensive, if available at all. However, even where source is available, modification to the operating system can break the EULA, and in turn be prohibited or even illegal. All of the kernel source code is freely available for modification.
Accessibility Both Windows and Linux offer accessibility options, such as high contrast displays and larger text/icon size, text to speech and magnifiers. However, Windows is limited to one language by default, whereas most Linux distributions come with dozens of languages and several dialects.

Stability


Windows Linux Notes
General stability Windows variants based on the NT kernel (Windows NT, 2000, XP, 2003, Vista) are technically much more stable than earlier versions (95, 98, 98 SE, ME). Installing unsigned or beta drivers can lead to decreased system stability. Mechanisms to terminate badly behaving applications exist at multiple levels, such as Task Manager. The kernel technically inherits the stability of UNIX due to its modular architecture (acknowledged to be stable). Linux terminal emulators and frontend “Window Managers” stabilities vary widely, but are generally stable. Mechanisms to terminate badly behaving applications exist at multiple levels, such as Ksysguard. Because Linux can use a text based system if the graphics system fails, the graphics system can be easily restarted following a crash without a whole system reboot. Most Linux distributions also provide a Live Distro, which can be used to repair a completely unbootable OS. Instability can be caused by poorly written programs, aside from intrinsic OS stability. Software crashes, however, can usually be recovered without restarting the entire operating system, and losing data from other applications.

Since it is noted that a graphics system failure in Linux will drop to the textual OS level, Vista's graphical recovery abilities should also be noted. On Vista even if the Video system fails, from driver failure/crash to even video hardware failure, Vista can recover by restarting the graphical system, driver, or transfer the GUI to another video device if available, without closing applications running in the graphical system, giving the user a prompt that Vista recovered from a Display problem, without the user losing data or access to applications in the GUI. Even DirectX games running when a failure happens are often able to be recovered based on the DirectX version the game uses. So even though Vista is 'limited' to a graphical interface, the recovery of the Video subsystem is something not found in Linux or other OSes.

Device Driver stability Device drivers are provided by Microsoft or written by the hardware manufacturer. Microsoft also runs a Certification program. Device drivers are sometimes reverse engineered to work for Linux. Some vendors contribute to free drivers (Intel, HP etc.) or provide proprietary drivers (Nvidia, ATI etc.). Specifically designed server lines exist. Some Windows drivers can also be used (mostly wireless drivers using the ndiswrapper framework). Crashes can be caused by hardware problems or poorly written device drivers.
Downtime Reboots are usually required after system and driver updates, and are occasionally needed for software installations if the installer wishes to overwrite a file that is being used by critical running program. Microsoft has its hotpatching technology, designed to reduce downtimes. Linux itself needs to restart only for kernel updates. However, a special utility can be used to load the new kernel and execute it without a hardware reset (kexec) and hence can stay up for years without rebooting. N.B. Ksplice allows the linux kernel to be patched without a reboot.
Recovery In modern, NT-based versions of Windows, programs that crash may be forcibly ended through the task manager by pressing CTRL+SHIFT+ESC or CTRL+ALT+DEL. All processes except for init and processes in D or Z state may be terminated from the command line. In KDE applications can be closed using CTRL+ALT+ESC or by KSystemGuard by pressing CTRL+ESC. SysRQ allows low-level system manipulation and crash recovery if configured. The entire graphical subsystem can be halted with CTRL+ALT+Backspace without the need for a whole system shutdown. Reboots are seldom required.

Additionally, Live CDs of Linux, if equipped with the correct tools, can work to repair a broken OS as long as it can mount the hard drive.

Unrecoverable errors If the kernel or a driver running in kernel mode encounters an error under circumstances whereby Windows cannot continue to operate safely, a "bug check" (colloquially known as a "stop error" or "Blue Screen of Death") is thrown. A memory dump is created and, depending on the configuration, the computer may then automatically restart. Additionally, automatic restart can be applied to services. The Unix equivalent of the Windows blue screen is known as a kernel panic. The kernel routines that handle panics are usually designed to output an error message to the console, create a memory dump, and then either wait for the system to be restarted or restart automatically.
Hardware Abstraction Layer Available from Windows NT4, 2000, and later. Not present in the Windows 9x (95/98) line of Operating Systems. The Hardware Abstraction Layer serves as a buffer between the kernel of the operating system and the physical hardware. Available in most Linux distributions.

For an operating system to be subjectively “stable”, numerous components must operate synchronously. Not all of these components are under the control of OS vendor; while Linux and Windows kernels may be stable, poorly written applications and drivers can hamstring both. Much of stability, then, is the extent to which the operating system is structured to thwart the consequences of bad behavior by third party installations.

Much of the reputation Windows has for instability can be traced to Windows 95, 98, and ME, which were notorious for displaying the blue screen of death (BSOD) upon crashing. Three weaknesses with these particular Windows versions increased the likelihood such a crash would occur:

  • Full 16-bit compatibility. When memory management of the DOS subsystem failed, it would often prompt a BSOD. Windows NT has no true 16-bit support; it emulates it in a virtual sandbox. The 64 bit versions even lack this emulation.
  • Direct hardware access. Unlike Windows NT, Windows 9x had no hardware abstraction layer. A program or driver that attempted to access protected memory, or interfaced poorly with the hardware, could cause a BSOD.
  • Poor DLL management. DLLs are external libraries of functions that prevent unnecessary repetition in a program. Windows 9x had no protections on system DLLs, and poorly written programs would often overwrite them at will with incorrect versions. Over time, the general stability of the system would decrease. Windows 2000 and later versions have a routine called Windows File Protection that prevents the replacement of important system files.

These are not the exclusive causes of instability, but their correction in the Windows NT codebase has dramatically improved the stability of all subsequent Windows variants: Windows 2000, XP, Server 2003 and Vista.

Performance


Windows Linux
Process Scheduling NT-based versions of Windows use a CPU scheduler based on a multilevel feedback queue, with 32 priority levels defined. The kernel may change the priority level of a thread depending on its I/O and CPU usage and whether it is interactive (i.e. accepts and responds to input from humans), raising the priority of interactive and I/O bounded processes and lowering that of CPU bound processes, to increase the responsiveness of interactive applications.

The scheduler was modified in Windows Vista to use the cycle counter register of modern processors to keep track of exactly how many CPU cycles a thread has executed, rather than just using an interval-timer interrupt routine.

Linux kernel 2.6 once used a scheduling algorithm favoring interactive processes. Here "interactive" is defined as a process that has short bursts of CPU usage rather than long ones. It is said that a process without root privilege can take advantage of this to monopolize the CPU, when the CPU time accounting precision is low. However, Completely Fair Scheduler, addresses this problem.

Memory Management/ Disk Paging Windows NT and its variants employ a dynamically allocated pagefile for memory management. A pagefile is allocated on disk, for less frequently accessed objects in memory, leaving more RAM available to actively used objects. This scheme suffers from slow-downs due to disk fragmentation, which hampers the speed at which the objects can be brought back into memory when they are needed. Windows can be configured to place the pagefile on a separate partition; doing this negates the disk-fragmentation issues, but introduces an I/O slowdown due to the seek time involved in switching back and forth between the two partitions. However, the main reason this is not done by default is that, if the pagefile is on a separate partition, then Windows cannot create a memory dump in the event of a Stop Error. The ideal solution performance-wise is to have the pagefile on a separate hard drive to the primary one, which eliminates both defragmentation and I/O issues. Most hard drive installations of Linux utilize a "swap partition", where the disk space allocated for paging is separate from general data, and is used strictly for paging operations. This reduces slowdown due to disk fragmentation from general use. As with Windows, for best performance the swap partition should be placed on a hard drive separate from the primary one.
Corrections Needed *Note - Vista no longer over utilizes pagefile as previous versions of NT, and can easily run without one. Also the 'implications' that a pagefile on NT is going to be fragmented is also a dated concept, as the pagefile usually doesn't grow, can be set to a static size, and XP and Vista both have the ability to defrag the pagefile if it has dynamically allocated more space causing fragmentation. The pagefile fragmentation issue with NT is more of a myth because it never required a separate partition. Even in major pagefile 'growth' NT attempts to allocate contiguous space so this presents a situation where you have 1 or 2 fragementations in the pagefile, which is not even a 10ms loss in performance. Having the pagefile on a 'separate' physical hard drive than the OS will offer better performance, but moving the pagefile to a separate partition on the same physical hard drive is not recommended. Just creating a separate partition on the same hard drive will often create the partition in an area that the hard drive has lower read/write speed due to the design of hard drive varying in based on data location. *Note - Many newer hard drives do not allocate partitions in contiguous regions, so even a separate partition can be fragmented on drive provisioning. Also see note to the left, as partition location on the hard drive can reduce performance if put in a lower speed position.

Support


Windows Linux Notes
Community support Microsoft Developer Network (MSDN), and multitudes of user driven support forums are available at no charge. Additional support is available by 3rd party services. Most support is provided by advanced users and developers over online forums, and other free community based venues. Professional support is available, but most commonly only utilized by large-scale businesses, and server dependent organizations. There are many paid local Windows techs. Fewer for Linux.

Most OEM's offer support along with their products, which include both hardware and software technical support.

Phone support By Microsoft or OEM. Red Hat, Canonical, Novell and other major distributors have support available as well.
Documentation A wealth of information is available free online, or in books, as well as on Microsoft's own support page. Most documentation is available online, either in FAQ form or Wiki pages on developers websites. Detailed documentation for specific commands, programs, functions, libraries, files, and file formats are available through the man pages, which are accessed through the command line, or through graphical viewers. Some major distributions have books written by 3rd party authors, mainly for server admins, or application development.
Training Many IT courses are written for participants to learn how to use and manage Windows systems and networks. Most computer assistance experts have Windows training and qualifications. Linux strongly dominates many computing university courses in programming and computer science due to the typical "hands on" nature of Linux's descendant distributions and general likeability in the terms of programming. Students can and often do get the opportunity to create their own stripped down Linux distribution, and modify it as they please. Linux diplomas and certificates are rarely offered. Courses for certifications are provided by Linux Professional Institute and some distributions, such as Red Hat and Ubuntu.
Third Party Documentation As Windows has the majority of the market share, virtually all producers of software and hardware will give Windows specific instructions for the installation and operation of their programs and drivers. Virtually all products ignore the Linux platform, giving no instructions to install or use software. Indeed, some Linux laptops have shipped with Windows documentation.

Programs


Windows Linux Notes
Emulation Cygwin or Interix and its successor SUA may be used to compile programs dependent on Linux libraries, but neither can be used to run Linux binaries. Whether full ABI compatibility for open-source software is actually needed, however, is debatable. Cedega, CrossOver, and Wine can be used to run some Windows programs on Linux with varying degrees of reliability. While these programs technically do not emulate Windows, and instead provide an alternate Windows API, the practical effect is the same.
Virtualization VMware, VirtualBox, Virtual PC, Virtual Server, Hyper-V (only available on Windows Server 2008), Parallels, QEMU on new hardware VMware, VirtualBox, Xen, Parallels, Linux-VServer, QEMU, User-mode Linux, OpenVZ, Win4Lin, KVM With virtualization you may run an operating system within another operating system.
Package management system

Modern versions of Windows rely on the Windows Installer as their package manager. This registers what components are installed where on the user's system. The Windows package management system depends on software vendors following certain guidelines. However, many applications are still deployed with alternative installers. One example is NSIS. Applications are typically installed into the Program Files directory by an executable file.

Most distributions have a package manager, often based upon RPM, APT, or Gentoo Ebuild metapackages (source). Sometimes an installation can have a second package management system which is incompatible with the primary system. Numerous distribution-specific front-ends exist on top of the core formats allowing for GUI or command-line package installation e.g. aptitude, Synaptic, Portage, YaST and YUM. Though rare, some distributions create their own formats e.g. Pardus PiSi or Pacman. Most package managers have a form of package signing usually based on PGP e.g. OpenPGP for Debian packages. It is also possible to create a GUI installation package not depending on the distributions by using Autopackage. Software can also be compiled from source code, which does not require any kind of package-management system. However, compiling software from its source code can be time-consuming and difficult.

PM simplifies the process of installing new software, updating it, and managing dependencies. In Linux distributions the type of package manager is pre-determined by what the distribution was originally derived from though more modern distributions can import other package formats.
Adding New Programs Thousands of programs are available for download from many websites and for purchase on CD/DVD in retail shops.

Programs must be downloaded (or purchased on CD/DVD) and installed individually.

In addition to website downloads, thousands of programs are available from repositories maintained by each distribution and are generally considered "trusted" and require review before new additions will be accepted. Access to the repositories is usually without cost.

The package manager automatically handles download and installation of selected packages, and automatically upgrades or patches software when a newer version appears in the repository. For some distributions, however, it's normal not to update the applications released together with the distribution to new versions. In these cases, only security updates are provided. Third-party software rarely (if ever) contains adware/spyware/viruses, and does not require as much discretion in that regard.


Updates
  • Windows Update handles only updates to Microsoft software and can deploy driver updates if present on Windows update site.
  • Some third party software has its own separate update manager.
  • Windows Installer (See Package management system above) does not manage updates.
  • Windows security updates typically require a restart.
  • The Package manager handles updates for software that was installed via the package manager.
  • Generally, updates generally do not require a system restart, with the exception of kernel updates. However, there are multiple ways around this, and it is possible to load the kernel into memory, update it, and commit to memory Ksplice. Updates to X may require restarting X (for example, by logging out and back in again) to take effect.
Gentoo goes further and allows different versions of software and libraries to be installed in separate “SLOTS” so a system can have different versions of the same software installed. GoboLinux uses a radically different approach where "the filesystem is the package manager" which allows even different versions of a program to be run concurrently.
Cross-platform (software)
  • A great many programs are written with Windows-specific frameworks due to its market dominance.
  • Source compatibility with some UNIX programs is done via POSIX subsystem (Windows NT and 2000), or Subsystem for UNIX applications (formerly Interix) (2000, XP, 2003, Vista).
  • Few programs are written with Linux-specific frameworks. Those that are usually have a Windows port.
  • Compatibility between Unix-like operating systems (such as BSD Unix, Solaris, and Mac OS X) through various standards, such as the POSIX thread standard.
  • Wine allows some Windows programs to run on Linux, including graphic-heavy games like "Elder Scrolls IV : Oblivion", although sometimes with some glitches.
Some companies, such as Id software, make versions of their products to work on both Windows and Linux. These programs are generally not dependent on either framework. Instead, the installation is such that there is an "interpreter" layer and the actual program binary files. The interpreter layer runs on-the-fly to deliver the appropriate program experience to whichever platform is running. Using this method, software can be created independent of the platform, and only the interpreter layer needs to be configured for the OS.
Cross-platform (development)
  • Many Microsoft libraries have not been ported to other operating systems
  • Many of Microsoft's frameworks can be replaced by counterparts in other operating systems
  • The GNU toolchain has been ported on Windows, as well as GTK, Qt and many other libraries.
  • Many projects already have Windows builds
Software that is written in cross-platform languages and frameworks are usually easily ported.
Cross-platform (hardware) Windows client and server OS comes both in x86 and x64 editions. ARM, MIPS, x86-64, SuperH are the target platforms for Windows CE / Windows XP Embedded. PDAs are the target platform for Windows Mobile. i386, x86-64, PowerPC 32/64, SPARC, DEC Alpha, ARM, MIPS, PA-RISC, S390, IA-64, SuperH and m68k, and many PDAs and embedded systems.
  • Historically, GNU began working on 68000 but always had a strong multiplatform vocation.
  • The first version of Linux was developed for the i386.
Backwards Compatibility between releases

Has historically been a very high priority. However, exceptions do exist, even within Microsoft's own applications (particularly with respect to Windows Vista).

Programs that use Linux Standard Base functions will work for at least six years on any LSB-compliant distribution. Non-LSB frameworks and libraries have other compatibility policies This refers to the backwards compatibility of the operating system between releases.
IDEs & Compilers Several commercial IDEs for sale, such as Microsoft's Visual Studio. Multiple free IDEs and compilers, including the GNU Compiler Collection, Eclipse, NetBeans, Pelles C, lcc32, Borland C++, Visual Studio Express (Visual C++, C#, and VB.NET compilers), .NET compilers freely included in .NET Framework, Sharpdevelop, Free Pascal Several commercial IDEs and compilers for sale such as PGI, Intel, and Absoft's Fortran compilers. Multiple free IDEs and compilers, the most common of which are often included in distributions;[55] including the GNU Compiler Collection, Eclipse, NetBeans, Mono, MonoDevelop, Geany, Anjuta, KDevelop, Free Pascal, OpenLDev, Codeblocks

Linux distributions come with a great deal of software which can be installed for free, with an especially large collection of computer programming software. Debian comes with more than 18,000 software packages.

Microsoft has had a longstanding emphasis on backwards compatibility. In general, the Windows API is consistent over time; programs designed for earlier versions of Windows often run without issues on later versions. For the sake of progress, however, Microsoft sometimes draws a line precluding support of very old programs. That first happened with Windows 95, where some purely 16 bit Windows 3.1 applications would not work, and again with Windows XP, where certain mixed-bit applications would not work. 64-bit versions of Windows (XP-64 and Vista-64) drop 16-bit support completely. However, 16 bit emulation and the enormous array of application-specific tweaks (“shims”) within new Windows versions ensure that compatibility with old applications remains very high.

In the Linux world, the landscape differs. As most (if not all) parts of the operating system is open source and many Linux programs are open source, when a Linux distribution breaks backward compatibility, anyone willing might write a patch to the operating system or the program itself that would allow the older software to work. In reality though, since many popular Linux distributions uses software repository and all of the most popular programs exists in the repository, the programs provided in the repository is guaranteed to be compatible with (depends on the distros) the most recent version of the operating system.

Gaming

A major attraction of Windows is the large library of games available for purchase. The majority of current major games natively support Windows and are released first for the Windows platform.

Some of these games can be run on Linux with a compatibility layer like Wine or Cedega. Others, and especially more modern games that rely on proprietary delivery systems, copy protection, Windows dependencies, or advanced acceleration features, may fail. Moreover, those that run usually have quirks that are not present on the Windows platform. Games differ from running slightly better performance than they have in Windows, to a 25% or worse performance cut, depending on the game.

There are notable exceptions, such as id Software's Doom and Quake series. When a developer chooses to write graphics code in OpenGL instead of DirectX, Linux ports become much easier. In addition, games such as the Unreal Tournament series are written in 3 parts: The core 'engine' of the game, the graphical display system, and the actual game data itself. The first two, typically being compiled programs, require porting, however only the graphical display system will often require much work (Windows to X Window, DirectX to OpenGL, etc). The third part, the game data itself, is typically written in system-independent file formats and scripting languages. This allows the game developer to separate the actual game experience from platform compatibility. This also serves to reduce the cost of development in 2 ways.

  • There is no need to port the game data to another platform, which eliminates the need to compile and bug-fix the game data for each platform.
  • Future releases of the software can use the same "engine" and graphical display system. This allows game developers to focus more on the game experience, and less on compatibility issues.

Recently, virtual machines such as VMware Workstation 5.0 have added support for accelerated 3D graphics.

There are also numerous Open Source games designed first for Linux. While most of these are small casual games like Kolf or Pingus, there are also larger "hardcore" games, such as Nexuiz and Freeciv. Many have been ported to work on Windows as well.

Security


Windows Linux Notes
Malware According to Kaspersky Lab, more than 11,000 malware programs for Windows were discovered just in the second half of 2005.However, it is common for anti-malware software to have more than 100,000 signatures against which potentially malicious components can be compared. Botnets - networks of infected computers controlled by malicious persons - with more than one million computers have been witnessed. Once malicious software is present on a Windows-based system, it can sometimes be incredibly difficult to remove. As such, users are advised to install and run anti-malware programs. As of 2006, more than 800 pieces of Linux malware have been discovered. Some malware has propagated through the Internet.[ However, in practice, reports of bonafide malware presence on Linux-based systems are extremely unheard of. Nonetheless, anti-malware tools (such as ClamAV and Panda Security's DesktopSecure for Linux do exist. These programs are mainly intended to filter malware from emails and network traffic travelling through Linux-based servers.
Open vs. Closed Claims its platform is more secure because of a comprehensive approach to security using the Security Development Lifecycle.[64][65]

However, because Windows is closed-source, only Microsoft-employed programmers (or licensed third-parties) can fix bugs.

Claims its platform is more secure because all of its code is reviewed by so many people that bugs are detected (referred to as Linus's law).

Anyone with programming experience is free to fix bugs and submit them for inclusion in future releases.

Microsoft claims that Windows Vista is more secure than other operating systems. However, security vulnerabilities have been found in Windows Vista.

Security issues are also still being reported for Linux

Response speed Claims closed source offers a faster and more effective response to security issues,[69] though critical bug fixes are only released once a month after extensive programming and testing[70][71] and certain bugs have been known to go unpatched for months. Bugs can be fixed and rolled out within a day of being reported (often within hours), though usually it takes a few weeks before the patch is available on all distributions.
User Accounts In Windows Vista, all logged-in sessions (even for those of "administrator" users) run with standard user permissions, preventing malicious programs from gaining total control of the system. Processes that require administrator privileges can be run using the User Account Control framework. For standard users, this presents a credentials dialogue that requires the password of a member of the administrators group (who are listed). For users who are already logged in an administrator, only confirmation is necessary. The first user account created during the setup process is automatically a member of the administrators group. The majority of users did not change to an account type with fewer rights, meaning that, in Windows versions prior to the introduction of UAC, malicious programs would have full control over the system. Users typically run as limited accounts, having created both administrator (commonly called the "superuser" and named "root") and at least one user account during install, preventing malicious programs from gaining total control of the system. Note that the user "root" is not the same thing as the root level of the filesystem, indicated by "/" alone. In most Linux distributions, there are commands (su, sudo) that will temporarily grant root/administrator privileges to processes that need it. In practice, the sudo command is generally far less of an annoyance, leading to its use over su in distrobutions like Ubuntu, in spite of the additional security risk. In addition, a user can log into the PC as the "root" or temporarily become root with su (normal console logout returns the user to normal permissions). No elevated permissions are needed for anything when logged in as root. In practice, this can be very dangerous, as a simple typo error at the command line can wipe a hard drive clean or clear the contents of system RAM. Unlike Vista's UAC, a privileged process has complete, unrestricted access to the system. For graphical programs containing thousands of lines of code, this create a larger opportunity for something to go wrong. New frameworks such as PolicyKit seek to rectify this problem by splitting the privileged program into two parts: A light daemon program with the privileges necessary to carry out the task and the GUI front-end that uses PolicyKit to communicate with the daemon. However, as of Feb. 2009, PolicyKit is not in widespread use. Other frameworks such as AppArmor and SELinux ensure that a program can only carry out specific tasks (for example, a web server is not allowed to change critical system files). A malicious program executed under a limited account in both Linux and Windows is limited to that user's data. The use of sudo on a Linux system asks for the user's password only once for a set amount of time (in Ubuntu, 10 minutes). During this time, the user is able to do anything root could do without entering a password and actually becoming root (assuming sudo is configured this way; the stated intent of sudo is to allow users to run select commands as root). The su command requires the root password every time, and is therefore more secure; malware(which can enter a system in a variety of ways, such as browser exploits) cannot exploit a passwordless period to hijack the system. User Access Controls in Windows only grants administrator privileges to the user for each process as a one-time-shot. Each process that needs elevated privileges spawns a new prompt to the user (often more than one) for the user to accept.

Filesystem Permissions

Both Windows NT-based systems and Linux-based systems support permissions on their default filesystems. Windows' original FAT filesystem, however, does not support permissions. This filesystem is available for use in both operating systems. Windows ME, Windows 98, Windows 95, and previous versions of Windows only operated on the FAT filesystem, and therefore do not support permissions natively.

Linux and Unix-like systems


File system permissions on a Linux system running GNOME.

Linux—and Unix-like systems in general—have a “user, group, other” approach to filesystem permissions at a minimum.[72] Access Control Lists are available on some filesystems, which extends the traditional Unix-like permissions system. Security patches like SELinux and PaX add Role-Based Access Controls, which add even finer-grained controls over which users and programs can access certain resources or perform certain operations. Some distributions, such as Fedora, CentOS, and Red Hat use SELinux out of the box, although most do not

Most Linux distributions provide different user accounts for the various daemons. In common practice, user applications are run on unprivileged accounts, to provide least user access. In some distributions, administrative tasks can only be performed through explicit switching from the user account to the root account, using tools such as su and sudo.

Windows


File system permissions on a Windows Vista system.

Windows NT and subsequent NT-based versions of Windows use NTFS-based Access Control Lists to administer permissions, using tokens.[75] On Windows XP and prior versions, most home users still ran all of their software with Administrator accounts, as this is the default setup upon installation. The existence of software that would not run under limited accounts and the cumbersome "Run As..." mechanism forced many users to use administrative accounts. This gives users full read and write access to all files on the filesystem.

Windows Vista changes this by introducing a privilege elevation system called User Account Control that works on the principle of Least user access. When logging in as a standard user, a logon session is created and a token containing only the most basic privileges is assigned. In this way, the new logon session is incapable of making changes that would affect the entire system. When logging in as a user in the Administrators group, two separate tokens are assigned. The first token contains all privileges typically awarded to an administrator, and the second is a restricted token similar to what a standard user would receive. User applications, including the Windows Shell, are then started with the restricted token, resulting in a reduced privilege environment even under an Administrator account. When an application requests higher privileges or "Run as administrator" is clicked, UAC will prompt for confirmation and, if consent is given, starts the process using the unrestricted token.

For more information on the differences between the Linux su/sudo approach and Vista's User Account Control, see Comparison of privilege authorization features.

Localization

It is easy to have multiple languages installed in Linux and to switch between them while the user is logging in. Almost all applications will communicate with the user in the selected language, because the open nature of development allows volunteer based translations. In MS Windows, localization can be provided by a separate installation of the operating system, or the Multilingual User Interface (MUI) can be used to provide multiple languages on one installation. Many of the available applications for the Windows platform lack natural language support for many languages.

Category: , , , ,
��
9:25 AM | Posted in , , ,

Basic general information about the distributions: creator or producer, release date and latest version, and so forth.

Distribution Creator Producer First public release (yyyy-MM-dd) Base distribution Latest release date Purpose
64 Studio Daniel James, Free Ekanayaka 64 Studio Ltd. 2005-05-09 Debian 2008-06-09 multimedia
Alinex Alinex Team, University of Évora Alinex Team, University of Évora 2005-12-06 Ubuntu 2008-03-07 general purpose
aLinux Jay Klepacs Jay Klepacs ? pre-1999-08-19 (1.1) Red Hat Linux 2006-11-08 desktop
ALT Linux ALT Linux Team ALT Linux Team / ALT Linux LLC 2001-03-21 none 2009-02-20 desktop, workstation, server
Annvix Vincent Danen Vincent Danen 2003-11-? Mandrake Linux
server
Arch Linux Judd Vinet dev team 2002-03-11 none 2009-02-16 general purpose
Ark Linux Bernhard Rosenkraenzer dev team 2003-01-25 none 2008-05-14 desktop
Arudius Haidut dev team 2005-11-04 none 2006-02-06 information assurance, security
Asianux Red Flag Linux, Miracle Linux, Haansoft Linux dev team 2004-06-? RHEL 2007-09-22 workstation, server
Aurox Software-Wydawnictwo Sp. z oo Aurox Sp. z oo 2002-09-? Fedora 2006-08-31 general purpose
BLAG Brixton Linux Action Group Brixton Linux Action Group 2002-10-22 Fedora 2008-07-21 [1] desktop
Caixa MĂ¡gica Daniel Neves, JosĂ© GuimarĂ£es, Paulo Trezentos Caixa MĂ¡gica Software 2000-10-28 Mandriva Linux 2008-02-20 desktop, server
CentOS CentOS Project CentOS Project 2003-12-? RHEL 2008-06-23 server
CrunchBang Philip Newborough Philip Newborough 2008-01-30 Ubuntu 2009-01-19 desktop
CRUX Per Liden CRUX Linux community 2001-01-20 none 2008-12-18 general purpose
Damn Small Linux John Andrews dev team 2003-?-? Knoppix 2008-04-22 general purpose
Debian Ian Murdock Debian Project 1993-08-16 none 2009-02-14 general purpose
Desktop Light Linux Henry Jensen Henry Jensen 2002-10-? none 2008-05-28 desktop
DeMuDi AGNULA AGNULA 2002-04-? Debian 2005-11-03 producing audio, video
dyne:bolic Jaromil Jaromil 2001-06-? none 2007-09-22 producing audio, video
Elive Thanatermesis Thanatermesis 2005-01-01 Debian 2007-07-05 desktop
EnGarde Secure Linux Guardian Digital, Inc. Guardian Digital, Inc. 2001-?-? none 2008-04-? server
Fedora Fedora Project Fedora Project 2003-11-05 Red Hat Linux 2008-11-25 general purpose
Finnix Ryan Finnie Ryan Finnie 2000-03-22 Debian 2008-01-29 server administration
Foresight Linux Ken VanDine dev team 2004-12-? rPath 2008-11-24 desktop, workstation, gnome showcase
Frugalware Miklos Vajna dev team 2004-09-02[citation needed] Slackware 2008-09-09 general purpose
Gentoo Linux Daniel Robbins Gentoo Foundation, Inc. 2002-3-? none 2008-07-06 general purpose
gNewSense Brian Brazil and Paul O'Malley dev team 2006-11-02 Ubuntu (8.04) 2008-04-30 desktop
Gnoppix Klaus Knopper dev team ? pre-2003-07-17 (0.4) Knoppix 2005-09-07 live CD
gnuLinEx Regional Government of Extremadura dev team 2002-06-09 Debian 2006-06-20 desktop
GoboLinux Hisham Muhammad, Andre Detsch dev team 2002-03-20 none 2008-03-30 desktop
gOS Good OS LLC Good OS LLC 2007-11-01 Ubuntu 2008-02-07 desktop
Impi Linux Gauteng Linux Users Group Impi Linux (Pty) Ltd. 2003-11-? Debian 2006-01-31 desktop
Kanotix Jörg Schirottke (Kano) dev team 2003-12-24 Debian, Knoppix 2007-12-31 live CD, desktop
Kiran Linux Kiran Shila Kiran Shila 2008-08-19 Slackware 2008-08-19 desktop, workstation
Knoppix Klaus Knopper dev team ? pre-2003-01-19 (3.1) Debian 2008-03-27 live CD
KnoppMyth Cecil Watson dev team ? Debian, Knoppix 2007-09-09 Live Frontend, Desktop
Kurumin Linux Carlos Morimoto GuiadoHardware 2003-01-? Knoppix 2007-02-21 desktop, live CD
Linspire Lindows.com, Inc. Linspire, Inc. 2002-03-? Debian 2007-10-10 desktop
Freespire Lindows.com, Inc. Linspire, Inc. 2002-03-? Debian/Ubuntu(developing) 2007-11-30 desktop
Linux Mint Clement Lefebvre dev team 2006-08-27 Ubuntu 2009-02-06 desktop
Lunar Linux Chuck Mead, Lunar Penguin Project Foo-Projects.org 2002-03-? Sorcerer 2007-02-17 desktop, workstation, server
Mandriva Linux Mandrakesoft S.A. Mandriva S.A. 1998-7-23 (5.1 (venice)) Red Hat Linux 2008-10-09 general purpose
MontaVista Linux MontaVista Software MontaVista Software 1999-?-? Debian 2007-03-? embedded systems
Mutagenix Dan Barber Dan Barber 2005-7-7 Slackware 2007-08-16 rescue, general purpose
Musix GNU+Linux Marcos Guglielmetti ? ? Knoppix, Kanotix, Debian 2007-03-05 producing audio
NexusWare Core Performance Technologies, Inc dev team 1998-?-? Debian and others 2008-02-02 embedded systems
NimbleX Bogdan Radulescu Bogdan Radulescu 2005-12-? Slackware 2006-12-25 desktop
Nitix Net Integration Technologies, Inc. Net Integration Technologies, Inc. 2001-?-? none 2006-10-18 server
Open Enterprise Server on Linux Novell Novell, Inc. dev team 2003 SUSE Linux Enterprise Server 2007-10-08 server
openSUSE SUSE Linux / Novell Novell, Inc. & openSUSE community 1994-03-? SUSE Linux 2008-12-18 desktop, server
Paipix AntĂ³nio Amorim AntĂ³nio Amorim 2004-?-? Debian 2007-10-17 science
Pardus TUBITAK TUBITAK 2005-?-? none 2008-09-14 general purpose
Parsix Alan Baghumian Parsix Project 2005-01-25 Kanotix, Debian 2007-10-05 desktop
PCLinuxOS Bill Reynolds dev team 2003-11-? Mandriva 2007-05-21 desktop
Pie Box Enterprise Linux PixExcel PixExcel 2004-04-19 Red Hat Enterprise Linux 2006-08-15 general purpose
Puppy Linux Barry Kauler Puppy Foundation 2002-07-12 (0.4) none 2008-11-03 portable
QiLinux QiLinux team QiLinux team 2003-10-31 (1.0alpha2) none 2006-08-01 desktop, server
Red Flag Linux Institute of Software, Chinese Academy of Sciences, NewMargin Venture Capital Red Flag Software Co., Ltd. 1999-09-20 Asianux 2005-11-11 general purpose
Red Hat Enterprise Linux Red Hat Red Hat 2002-03-26 Red Hat Enterprise Linux 2.1 AS (Pensacola) Fedora 2008-05-21 business workstation, server
Red Hat Linux Red Hat Red Hat 1995-05-13 (1.0) none 2003-03-31 server, workstation
Rxart Pixart SRL Pixart SRL 2000-03-? Debian 2006-04-16 desktop, workstation, server
Sabayon Linux lxnay Design dev team ? Gentoo 2008-12-31 desktop
Satux Institute of Technology JRSC (iTJRSC) Institute of Technology JRSC (iTJRSC) 2007-?-? Debian 2007 desktop, end user
Scientific Linux CERN, Fermilab dev team 2004-5-10 RHL/RHEL 2008-06-28 science
sidux sidux team sidux team 2007-02-21 Debian Sid 2008-12-23 desktop
SimplyMEPIS Warren Woodford MEPIS LLC. 2003-09-05 Debian 2007-12-23 desktop
Slackware Patrick Volkerding dev team 1993-07-16 SLS 2008-05-02 desktop, workstation, server
SLAX Tomas Matejicek Tomas Matejicek 2002-06-16 Slackware 2008-04-18 live CD
SMS - Slack Mini Server gerasimos_h gerasimos_h 2007-08-10 Slackware 2009-02-28 server, live CD
SliTaz GNU/Linux Christophe Lincoln dev team 2008-03-22 none 2008-03-22 live CD
Source Mage GNU/Linux Ryan Abrams, Eric Schabell dev team 2002-06-? Sorcerer 2007-03-27 general purpose
SUSE Linux SUSE Linux / Novell Novell, Inc. dev team 1994-03-? Slackware, Jurix 2008-05-21 business desktop, server
Symphony OS Ryan Quinn Ryan Quinn & Jason Spisak ? Debian 2006-12-13 desktop
Trustix Secure Linux Comodo Group, Inc. Comodo Group, Inc. 2000-02-? Red Hat Linux 2007-03-06 server
Ubuntu Canonical Ltd. Canonical Ltd. 2004-10-20 Debian 2008-10-30 desktop, server
Kubuntu Canonical Ltd. Canonical Ltd. 2005-04-08 Debian 2008-07-03 desktop
Xubuntu Canonical Ltd. Canonical Ltd. 2006-06-01 Debian 2008-07-03 desktop
Edubuntu Canonical Ltd. Canonical Ltd. 2005-10-13 Debian 2008-07-03 computer lab
Gobuntu Canonical Ltd. Canonical Ltd. 2007-10-18 Debian 2008-07-03 desktop
Ubuntu Studio Canonical Ltd. Canonical Ltd. 2007-05-11 Debian 2008-11-30 multimedia
Ututo Diego Saravia, Daniel Olivera UTUTO dev-team 2000-?-? Gentoo Linux 2006-03-04 general purpose
VectorLinux Robert S. Lange dev team 1999-?-? Slackware 2007-05-17 desktop
Xandros Xandros Corp. Xandros, Inc. 2002-10-22 Corel Linux 2006-06-21 desktop
Yellow Dog Linux Terra Soft Solutions Fixstars Solutions 1999 Fedora, CentOS 2008-11-19 desktop, workstation
Yoper Andreas Giradet The Yoper Team 2003-03-05 none 2007-10-03 desktop, workstation, server
Zenwalk Linux Jean-Philippe Guillemin dev team 2004-05-21 (as Minislack) Slackware 2009-03-07 desktop, server
Distribution Creator Producer First public release (yyyy-MM-dd) Base distribution Latest release date Purpose

Cost

The following distributions are completely without cost: aLinux, ALT Linux, Annvix, Arch Linux, Ark Linux, Arudius, Asianux, Aurox, BLAG Linux and GNU, CentOS, CRUX, Damn Small Linux, Debian, DeLi Linux, DeMuDi, Devil-Linux, dyne:bolic, Edubuntu, EnGarde Secure Linux, Fedora, Finnix, Foresight Linux, Freespire, Frugalware, Gentoo, gNewSense, Gnoppix, gnuLinEx, GoboLinux, Gobuntu, Impi Linux, Kanotix, Knoppix, Knoppmyth, Kubuntu, Kurumin Linux, Linux Mint, Lunar Linux, Musix GNU+Linux, NimbleX, NUbuntu, openSUSE, Paipix, Pardus, Parsix, PCLinuxOS, Puppy Linux, QiLinux, SabayonLinux, Satux, Scientific Linux, sidux, Slackware, SLAX, SliTaz GNU/Linux, Source Mage GNU/Linux, Symphony OS, Trustix, Ubuntu, Ututo GNU/Linux, Xubuntu, Yoper and Zenwalk.

The following distributions have several editions, some of which are without cost and some of which do cost money : Caixa MĂ¡gica, Mandriva Linux, MEPIS and Red Flag Linux.

The following distributions cost money : Elive, Linspire,[6] Novell Open Enterprise Server, Pie Box Enterprise Linux, Red Hat Enterprise Linux,[8][9] Rxart,[10] SUSE Linux Enterprise.

Note that when talking about "free software", the word "free" often refers to software freedom, not monetary cost: for an explanation of the difference, see The Free Software Definition.

Technical

Information on technical aspects of the distributions.

Distribution Linux kernel C Compiler Default file system Default desktop environment or window manager
Alinex 2.6.22 GCC 4.1.2 ext3 GNOME
aLinux 2.6.12 GCC 4.1.1 none KDE
ALT Linux 2.6.25 GCC 4.1.2 ext3 KDE, Xfce
Annvix 2.4.32 GCC 3.4.3 none
Arch Linux 2.6.28[12] GCC 4.3.2[13] none[14] none
Archie


Xfce
Ark Linux 2.6.22.3 GCC 4.2.1 JFS[15] KDE
Arudius 2.6.13 GCC 3.3.6 ext3 Fluxbox
Asianux 2.6.18 GCC 4.1.1 ext3 KDE
Aurox 2.6.9 GCC 4.1.1 ext3 KDE
BLAG Linux and GNU 2.6.25.10-libre GCC 4.1.1 ext3 GNOME
Caixa MĂ¡gica ? GCC ? ? ?
CentOS 2.6.18 GCC 4.1.2 ext3 GNOME
CrunchBang Linux 2.6.27 GCC 4.3.1 ext3 Openbox
CRUX 2.6.27.8 GCC 4.3.2 none Openbox
Damn Small Linux 2.4.31 GCC 3.3.5, TCC ext3 JWM
Debian 2.6.26 GCC 4.3.2, 4.2.4, 4.1.2, 3.4.6 ext3 GNOME, KDE or Xfce (depending on installation media)
DeLi Linux 2.4.32 GCC 2.95 ext3/ext2 IceWM
DeMuDi 2.6.12 GCC 3.3.5 ext3 GNOME
Dreamlinux


Xfce
dyne:bolic 2.6.18 GCC 3.4.3 SquashFS, ext3 Xfce
Elive 2.6.15/2.6.18.2 GCC 3.4.3 SquashFS, ReiserFS Enlightenment
EnGarde Secure Linux 2.6.17 None ext3 none
Fedora 2.6.27 GCC 4.3.2 ? GNOME, KDE, Xfce (depending on spin)
Finnix 2.6.22 GCC 4.1.1 SquashFS none
Foresight Linux 2.6.27 GCC 4.1.2 ext3 GNOME
Frugalware 2.6.22.9 GCC 4.2.1 none none
Gentoo 2.6.27 GCC 4.3.3 none none
gnuLinEx 2.6.16 GCC 3.3.5 ext2 GNOME
GoboLinux 2.6.24.4 GCC 4.1.2 ReiserFS KDE
gNewSense 2.6.15.27 GCC 4.0.3 ext3 GNOME
Impi Linux 2.6.11.7 GCC 4.0.1 ? KDE
Kanotix 2.6.22 GCC 4.1.1 ext3 KDE
Knoppix 2.6.24.4 GCC 4.2.2 XFS ?
Kurumin Linux 2.6.18 GCC 4.1.1 ext3 KDE
Linspire 2.6.14 GCC 3.4.3 ReiserFS KDE
Linux Mint 2.6.27 GCC 4.1.2 ext3 GNOME, KDE or Xfce (depending on edition)
Lunar Linux 2.6.26 GCC 3.4.6
GCC 4.2.4[16]
none none
Mandriva Linux 2.6.27 GCC 4.3.2 ext3 GNOME,KDE
MEPIS 2.6.22.14 GCC ? ReiserFS, ext3 KDE
Musix GNU+Linux 2.6.16 GCC 4.0.3 ? IceWM
Mutagenix 2.6.18 GCC ? ? KDE
NimbleX 2.6.11 ? SquashFS KDE
Nitix 2.4.21 GCC 3.3.4 ReiserFS none
openSUSE 2.6.25.5 GCC 4.3.1 ? GNOME, KDE, Xfce
Paipix 2.6.14 GCC 4.0.2 none KDE
Pardus 2.6.25 GCC 3.4.6 ext3 KDE
Parsix 2.6.23.9 GCC 4.2.2 ext3 GNOME
PCLinuxOS 2.6.16 GCC 3.3.1 none KDE
Pie Box Enterprise Linux 2.6.9 GCC 3.4.6 ext3 GNOME
Puppy Linux 2.6.21.7 GCC 3.3.4 SquashFS containing ext2 JWM
QiLinux 2.6.17 GCC 4.0.2 ReiserFS KDE
Red Flag Linux 2.6.9 GCC 3.4.3 ext3 KDE
Red Hat Enterprise Linux 2.6.18[17] GCC 4.1.2 ext3 GNOME
Rxart Desktop 2.6.11 ? ext3 KDE
Sabayon Linux 2.6.27 GCC 4.1.2 ext3/ext4[citation needed] KDE
Satux 2.6.22 GCC 4.1.2 ext3 GNOME
Scientific Linux 2.6.18 GCC 4.1.2 ext3 GNOME
sidux 2.6.27.10 GCC 4.3.2 ext3 ?
Slackware 2.6.24.4 GCC 4.1.2 ext3 [18] KDE, Xfce[citation needed]
SLAX 2.6.24.4 GCC 4.2.3 SquashFS KDE, Fluxbox, Xfce (Popcorn edition)[clarification needed]
SMS - Slack Mini Server 2.6.27.7 GCC 4.2.4 ext3 KDE
SliTaz GNU/Linux 2.6.24.2 GCC 4.2.2 ext3 JWM
Source Mage GNU/Linux any (iso uses 2.6.19) GCC 4.1.2 ext2 none
SUSE Linux 2.6.16.46 GCC 4.1.2 ext3, JFS, ReiserFS, XFS GNOME, KDE, Xfce
Symphony OS 2.6.16 GCC 4.1.0 ReiserFS Mezzo
Ubuntu Edubuntu 2.6.27 GCC 4.1.2 ext3 GNOME
Kubuntu 2.6.27 GCC 4.1.2 ext3 KDE
Xubuntu 2.6.27 GCC 4.1.2 ext3 Xfce
Ututo GNU/Linux 2.6.15 GCC 3.3.5 ext3 GNOME
VectorLinux 2.6.13 GCC 3.4.6 ? Fluxbox, IceWM, Xfce
Xandros Desktop OS 2.6.15 GCC 3.3.5 ReiserFS KDE
Yoper 2.6 GCC 4.0, 4.2 ext3 KDE
Zenwalk Linux 2.6.28.7 GCC 4.2.3 ? Xfce
Distribution Linux kernel C Compiler Default file system Default desktop environment or window manager

Architecture support

Distribution x86 x86-64 IA-64 ppc ppc64 sparc32 sparc64 arm hppa mips loongson s390 s390x alpha
64 Studio Yes Yes No No No No No No No No No No No No
aLinux Yes Yes No No No No No No No No No No No No
Alinex Yes No No No No No No No No No No No No No
ALT Linux Yes Yes No No No No No No No No No No No No
Annvix Yes Yes No No No No No No No No No No No No
Arch Linux Yes Yes No No No No No No No No No No No No
Ark Linux Yes No No No No No No No No No No No No No
Arudius Yes No No No No No No No No No No No No No
Asianux Yes Yes Yes Yes Yes No No No No No No No No No
Aurox Yes No No No No No No No No No No No No No
BLAG Linux and GNU Yes No No No No No No No No No No No No No
Caixa MĂ¡gica Yes Yes Yes No No No No No No No No No No No
CentOS Yes Yes Yes No No No No No No No No Yes Yes Yes
CrunchBang Linux Yes No No No No No No No No No No No No No
CRUX Yes No No No No No No No No No No No No No
Damn Small Linux Yes No No No No No No No No No No No No No
Debian[19] Yes Yes Yes Yes No ?[20] Yes Yes Yes Yes Yes Yes Yes Yes
DeLi Linux Yes No No No No No No No No No No No No No
DeMuDi Yes No No No No No No No No No No No No No
dyne:bolic Yes No No No No No No No No No No No No No
Eagle Linux Yes No No No No No No No No No No No No No
Elive Yes No No No No No No No No No No No No No
EnGarde Secure Linux Yes Yes No No No No No No No No No No No No
Fedora[21] Yes Yes No Yes Yes No No ? No No No No No No
Finnix Yes Yes No Yes Yes No No No No No No No No No
Foresight Linux Yes Yes No No No No No No No No No No No No
Frugalware Yes Yes No No No No No No No No No No No No
Gentoo Yes Yes Yes Yes Yes No Yes Yes[citation needed] Yes Yes[citation needed] No No No Yes
gnuLinEx Yes Yes ? No No No No No No No No No No No
GoboLinux[22] Yes No No No No No No Yes No No No No No No
Impi Linux Yes Yes ? ? No ? ? No No No No No No No
Kanotix Yes Yes No No No No No No No No No No No No
Knoppix Yes No No No No No No No No No No No No No
Kurumin Linux Yes No No No No No No No No No No No No No
Linspire Yes No No No No No No No No No No No No No
Linux Mint Yes Yes No No No No No No No No No No No No
Lunar Linux Yes Yes No No No No No No No No No No No No
Mandriva Linux Yes Yes No Yes No No No No No No No No No No
MEPIS Yes Yes No No No No No No No No No No No No
Mutagenix Yes No No No No No No No No No No No No No
Musix GNU+Linux Yes No No No No No No No No No No No No No
NimbleX Yes No No No No No No No No No No No No No
Nitix Yes No No No No No No No No No No No No
OES2-Linux Yes Yes No No No No No No No No No Yes No No
openSUSE[23] Yes Yes No Yes No No No No No No No No No No
Paipix Yes Yes No No No No No No No No No No No No
Pardus Yes No No No No No No No No No No No No No
Parsix Yes Yes No No No No No No No No No No No No
PCLinuxOS Yes No No No No No No No No No No No No No
Pie Box Enterprise Linux Yes No No No No No No No No No No No No No
Puppy Linux Yes No No No No No No No No No No No No No
QiLinux Yes No No No No No No No No No No No No No
Red Flag Linux Yes Yes Yes Yes No No No No No No No No No No
Red Hat Enterprise Linux Yes Yes Yes Yes ? No No No No No No No Yes No
Rxart Desktop Yes No Yes No No No No No No No No No No No
Sabayon Linux Yes Yes No No No No No No No No No No No No
Satux Yes No No No No No No No No No No No No No
Scientific Linux Yes Yes Yes No No No No No No No No No No No
sidux Yes Yes No No No No No No No No No No No No
Slackware Yes ? No No No No No No No No No No No No
Slax Yes No No No No No No No No No No No No No
SMS -Slack Mini Server Yes No No No No No No No No No No No No No
SliTaz GNU/Linux Yes No No No No No No No No No No No No No
Source Mage GNU/Linux Yes Yes No Yes No No No No No No No No No No
SUSE Linux Enterprise Server [26] Yes Yes Yes Yes Yes No No No No No No No Yes No
Symphony OS Yes No No No No No No No No No No No No No
Ubuntu/Kubuntu/Edubuntu/Xubuntu Yes Yes No No No No No No No No No No No No
UTUTO GNU/Linux Yes Yes No No No No No No No No No No No No
VectorLinux Yes ? No No No No No No No No No No No No
Xandros Desktop OS Yes No No No No No No No No No No No No No
Yellow Dog Linux No No No Yes Yes No No No No No No No No No
Yoper Yes No No No No No No No No No No No No No
Zenwalk Linux Yes No No No No No No No No No No No No No
Distribution x86 x86-64 IA-64 ppc ppc64 sparc32 sparc64 arm hppa mips loongson s390 s390x alpha

Package management and installation

Information on features in the distributions. Package numbers are only approximate.

Distribution Approximate number of pre-compiled packages Approximate number of source packages GUI installation procedure Default package management tools Package Format Default installer
Alinex 20300
Yes APT DEB ?
aLinux 1200
No RPM RPM ?
ALT Linux 8300[27]
Yes APT (apt-rpm), RPM RPM ?
Annvix


APT, RPM RPM ?
Arch Linux 15000
No Pacman tgz ?
Archie ?
?

?
Ark Linux 4000
Yes RPM, APT RPM ?
Arudius ?
No Slackware Pkgtools tgz ?
Asianux ?
Yes mlupdater, RPM RPM ?
Aurox 3000
Yes RPM, yum RPM ?
BLAG 10000+ [28]
Yes RPM, yum, APT RPM ?
Caixa MĂ¡gica 16000+
Yes urpmi, APT (apt-rpm) RPM ?
CrunchBang Linux 23000
Yes APT deb ?
CRUX 1155
No pkgutils tgz ?
CentOS 1660
Yes RPM, yum/up2date RPM ?
Damn Small Linux 610
No myDSL, APT .dsl, .tar.gz, .uci, .unc, deb ?
Debian 25113 12123 Yes APT deb Debian-Installer
Desktop Light Linux 150
No ? ? ?
DeMuDi 875
Yes APT deb ?
Dreamlinux 23000
Yes APT deb ?
dyne:bolic ?
Yes none none ?
Elive 20000
Yes APT deb ?
EnGarde Secure Linux 500
? RPM, APT RPM ?
Fedora 8000
Yes yum RPM Anaconda
Finnix 350
No APT deb ?
Foresight Linux 15000
Yes Conary, PackageKit[29]
?
Frugalware 3000
Yes Pacman .tar.bz ?
Gentoo 80 13000 Yes Portage ebuild ?
gnuLinEx 200
Yes APT deb ?
GoboLinux 2000
Yes Manager, Compile, InstallPackage recipes,tar.bz2
Impi Linux ?
No ? ? ?
Kanotix 1200
Yes APT deb ?
KateOS ?
? ? ? ?
Knoppix 3600
No APT deb ?
Kurumin ?
Yes APT deb ?
Linspire 2200
Yes CNR "click and run" deb ?
Linux Mint 23000
Yes APT, mintInstall deb Ubiquity
Lunar 3120
Yes lin source ?
Mandriva Linux 20000
Yes urpmi, rpmdrake[32] RPM DrakX
MEPIS 20000
Yes APT deb ?
Musix GNU+Linux 1300
Yes APT deb ?
Mutagenix ?
Yes ? tgz ?
Mythbuntu 23000
? APT deb Ubiquity
NimbleX 500
No none tgz ?
Nitix ?
Yes SoftUpdate, yum RPM ?
openSUSE 22000
Yes YaST, Zypper RPM Instlux
Paipix 2000
Yes APT deb ?
Pardus 1600
Yes PiSi .pisi ?
Parsix ?
Yes APT deb ?
PCLinuxOS 5025
Yes APT, RPM RPM ?
Pie Box Enterprise Linux 1500
Yes up2date, yum RPM ?
Puppy 300
Yes PupGet, DotPup .pup, .pet ?
QiLinux 2500
Yes RPM, APT RPM ?
Red Flag ?
Yes Red Flag Installer System, RPM RPM ?
Red Hat Enterprise Linux 3000
Yes RPM, yum RPM ?
Rxart 5000
Yes APT deb ?
Sabayon Linux 12000
Yes Portage, Entropy ebuild ?
SAM Linux ?
? ? ?
Satux ?
Yes dpkg,apt-get deb ?
Scientific ?
Yes APT/yum RPM ?
sidux 23000
Yes APT deb ?
Slackware 544
No installpkg, upgradepkg tgz ?
Slax 2050
? none .lzm ?
SMS - Slack Mini Server 600
No installpkg, upgradepkg tgz, .lzm ?
SliTaz GNU/Linux 448
Yes Tazpkg .tazpkg ?
Source Mage GNU/Linux 5514
Yes Sorcery Package Manager src ?
SUSE 22000
Yes YaST, Zypper RPM ?
Symphony OS ?
Yes APT, OneClick RPM ?
Ubuntu 23000
Yes APT deb Ubiquity
Kubuntu 23000
Yes APT deb Ubiquity
Xubuntu 23000
Yes APT deb Ubiquity
Ututo 5000
? UTUTO Package Manager ebuild ?
Vector Linux ?
Yes slapt-get, gslapt, installpkg tgz ?
Xandros Desktop OS ?
Yes APT deb ?
Yoper 2000
No Smart RPM ?
Zenwalk Linux ?
Yes netpkg, installpkg, upgradepkg tgz ?
Distribution Approximate number of packages Approximate number of source packages GUI installation procedure Default package management tools Package Format Default installer

Live CDs/DVDs/USBs

Distribution Size RAM Use Boots
from
CD-ROM
Boots from DVD Installable Live CD Installable Over USBs
ALT Linux Desktop or Lite <700mb
Yes Yes No
Archie

Yes Yes
Ark Linux <700mb
Yes Yes
Austrumi 50 MB
Yes Yes
BackTrack ~700 MB
Yes Yes
CentOS ≈700 MB
Yes
Yes
Damn Small Linux 50 MB 8 to 16 MB Yes Yes Yes Yes
Debian Live 50 MB to 5 GB
Yes Yes Yes
Dreamlinux 700 MB
Yes Yes
dyne:bolic ≈650 MB
Yes Yes
Elive ~700 MB
Yes Yes
Feather Linux <128> 48 to 96 MB Yes Yes
Fedora
Live CD
683 MB 256 to 1024 MB Yes Yes Yes
Finnix 100~130 MB 28~64 MB Yes Yes No
Freespire <700> 128 to 768 MB Yes No Yes
iloog ~700MB
Yes No
Inquisitor live CD ~210MB ~96MB Yes Yes Yes
Kanotix ~700 MB
Yes Yes
Knoppix CD
edition
700 MB 128~320 MB Yes Yes Only DVD edition is maintained
Knoppix DVD
"Maxi" edition
4.7 GB
No Yes
Knoppix STD 497 MB
Yes Yes No longer updated
Gnoppix 4.7 GB
No Yes No longer updated
gOS ~700 MB
Yes
Yes
Linux Mint ~700 MB 256~768 MB Yes Yes Yes
Mandriva One ~700 MB 128~768 MB Yes Yes Yes
Mandrake




MCNLive ~350 MB
Yes Yes
Morphix 700 MB
Yes Yes
Musix ~700Mb
Yes Yes
NimbleX <200> 96~320 MB Yes Yes
nUbuntu ~265 MB
Yes Yes
openGEU ~700 MB 192~512 MB Yes
Yes
openSUSE ~700MB 128~768 MB Yes Yes Yes
Oralux <500>
Yes Yes No longer updated
Parted Magic 30 MB
Yes Yes
PCLinuxOS between 130MB and 700 MB 96~512 MB Yes Yes Yes
Phlak > 500 MB
Yes Yes No longer updated
Puppy Linux 70 MB (standard edition) 32~192 MB Yes Yes Yes
pure:dyne 542 MB
Yes Yes
Red Hat Linux




Sabayon Linux Live CD ~695 MB
Yes Yes Yes
Sabayon Linux Live DVD ~4000MB
No Yes Yes
SAM Linux 683 MB
Yes Yes
sidux 400 / 1999 MB 193 MB Yes Yes Yes
SimplyMEPIS 706 MB 128~512 MB Yes Yes Yes
SLAX <200> 96~320 MB Yes Yes
SMS - Slack Mini Server 283 / 950 MB 128~786 MB Yes Yes Yes
SliTaz GNU/Linux 25 MB
Yes Yes Yes
SystemRescueCD ~160 MB
Yes Yes Yes
Trinity
Rescue Kit
~104 MB
Yes Yes
Ubuntu ~700 MB 384 MB Yes Yes
Edubuntu ~700 MB
Yes Yes
Kubuntu ~700 MB 384 MB Yes Yes Yes
Xubuntu ~700 MB 256 MB Yes Yes Yes
Distribution Size RAM Use Boots
from
CD-ROM
Boots from DVD Installable Live CD
��