Monday, 12 November 2012

Linux Choices


I found a really good post in one of the linux groups and ia ma sharing it with you guys with slight modifications.

Thanks to

for coming up with this awesome and easy document.

Here is the Index

  1. Distro Base Type
  2. Update development model
  3. Base Distros to watch
  4. Architecture
  5. Desktop choice
  6. Use of distros and why most ditros could do the same things
  7. Application choices




1- The distro base type is important :


Packages (Deb, rpm, and others) or sources ...

If you want to update easily and fast, packages are for you, most distros use Debian software packages (Deb) derived from Debian. These packages are generally installed with a package manager such as dpkg (althought apt-get is a front end).Ubuntu and Linux Mint are examples for the above.

The other significant package is RPM (red hat package manager) which comes from the Red Hat Linux distribution but is used by plenty of other distributions. RPMs are often managed by a package manager such as YAST or apt-rpm.
Fedora and OpenSUSE comes in this category

If you would rather pick which features you want or don't want as part of the installed software, you may wish to build from source code. Source packages tend to be in tar.gz files or similar and often require you to unpack the file and run "make" with arguments depending on what you want built.Arch Linux uses 'pacman', a packet manager for binary paket management and the Arch Build Tool does the installation from the source file.Building from source isn't always the preferred way of installing software as it is generally a better idea to install something using the official package manager, but in something like linux from scratch or Gentoo (which uses portage to build from source), building from source code is the official way of installation.

2- Update development model:

Basically, Linux distros have two update models - Rolling release and Standard release.

1. Rolling release - Distros following such release models are updated continuously. It's not just the security patches and bug fixes, but even softwares you have installed from the official repositories. That is, there is no need to re-install the system when a new version of the distro is released because frankly, there is no new version. LOL!!
You always have latest softwares, however, they are considered less stable and slightly buggy since softwares may conflict. So, this is not an ideal choice for a server.
Few distros following this cycle are Arch Linux, Gentoo, Linux Mint Debian Edition, openSUSE (Tumbelweed), etc.

2. Standard release - Distros following such release models have significant changes between different versions, requiring a complete operating system reinstall, or at least a major upgrade. The updates you receive are mostly security patches.
The model has an advantage in stability. Standard releases are often viewed as more stable and bug-free since software conflicts can be more easily addressed and the software stack more thoroughly tested and evaluated, during the software development cycle.
A distro belonging to this category is Ubuntu.

In the end - Server - Standard releases.
Developer - Rolling releases.

3- Base distros to watch :

rolling release means that you can update your entire system with no need to install a newer "version", bleeding-edge mean that it uses the very latest applications and games ...

Arch linux - A rolling release, bleeding-edge distro, very popular and minimal, uses vanilla packages with minimal patching. Arch linux uses pacman to install its packages which is well known and respected for its speed but is capable of compiling packages using the Arch Build System (ABS) so the user has a choice. Arch also makes use of AUR which allows individuals or groups of people to maintain software to be compiled such as paid proprietary software demos, the hurd kernel, or other packages not found in the official arch linux repos. You build it as you wish from the beginning, the community is smaller but contribute a lot to both the AUR and the extensive wiki. Arch is known as user-centric so it doesn't aim to be user friendly but with it, you can truly learn linux , it has a 100% free software fork, 32 bits optimized i686 distro so it perform better than most 32 bits distro, may need a little work after upgrades when you use hardware with proprietary drivers.

Debian - Second oldest distro, base of most others distros, various branches with various ranges of stability. It is capable of using the bsd kernel as well as many others. one of the biggest packages repository build from source with some patching without depending on another distro. not 100% free software endorsed distro but don't include non-free content in the distro base just by more repositories, support any architecture, release only when there is no bug left so expect the biggest linux stabilty of Debian stable. you could download the repositories on dvds easily, could be build as you wish and customised easily, widely loved on servers

Fedora - is an RPM-based, general purpose collection of software, including an operating system based on the Linux kernel, developed by the community-supported Fedora Project and sponsored by Red Hat. Fedora’s flexibility makes it capable of serving as a digital repository for a variety of use cases. The Fedora Project's mission is to lead the advancement of free and open source software and content as a collaborative community.

Ubuntu - most widely used distro, debian unstable based, the Linux Mint fork is on a hype, backed by a corporation, focus to be usable by beginners easily, may be critized for the touchscreen like interface of their main distro, release each 6 months with a long term support release each 2 years, massive community that don't contribute much, supported for 18 months for regular releases, 2-5 years for long term releases that apply only to the main distro, has a 100% free software distro fork, include a package manager where you could buy apps and games, always try to innovate so expect instability mostly on the main distro, the best hardware support out-of-the-box, biggest packages content

Gentoo - Source based/rolling release distro. Gentoo linux shares a great deal with Arch linux in that you start off with the bare minimum. Unlike Arch linux, Gentoo builds 99% of software from source code, which means if you want to install an application, you have to compile it first. The pro in this is you set USE flags to determine what is compiled and installed on your system which makes Gentoo totally optimized for your system and your hardware. Gentoo linux is capable on running on many different architectures, such as ARM, 64 bit, 32 bit, SPARC, mips, alpha, etc. Gentoo makes use of portage as its package manager which is very flexible and saves the user having to run multiple "make" jobs by hand. By default Gentoo makes use of the Gentoo patched linux kernel, but it can install many other kernels, such as the BSD kernel, xen kernel, vanilla etc.

Linux from scratch - just a manual to build every part of your setup, expect long compilation times, nearly perfectly optimisable for your hardware, may need a little work after upgrades when you use hardware with proprietary drivers, you build it as you want, very educative experience

Mandriva - Mandriva Linux is a distro backed by the french compagny mandriva. It is one of the greatest distros and is focused on begginers. Cause of financial problems in Mandriva, a dev team decided to fork it and name it Mageia. Mageia is now one of the most used distros.

SUSE - Novell backed corporate distro, you pay for it but it got free derivates, the OpenSUSE fork is said to be one of the best Kde desktop implementation. SUSE is used in servers compared to opensuse which is more for users.

Puppy Linux - older pcs distro compatible with some others distros, could be run from ram at a blazing speed. It is the base for a lot of distros like macpup. The installation iso is really lightweight. Puppy linux have his own package format.

RedHat - most known corporate distro, 10 years of support, you pay for it but it got free derivates, the Fedora fork installer is one of the most featured. RedHat is known in the server industry for the popular RHEL.

Slackware - oldest distro, minimal, use vanilla packages, stable, manage dependencies manually, could be support for 13 years or almost. It is known for having really long devellopement cycles and to be extremly stable.

Linux Mint - One of the most popular and user friendly distros in the world, Linux Mint is notably fast and low on system resources. It has many repositories but you can also add more in a similar way to Debian and Ubuntu. Linux Mint can be used by beginners and experts alike. New users may want to try out Linux Mint whereas Expert users may want to try LMDE (Linux Mint Debian Edition) which is more complex and requires more care but it is rolling release and allows for more in depth learning of a Debian system. This distro is perfect for first time linux users.

As long as you stay near theses distros, you will have more support if needed, derivates are acceptable but it's far better if they are still compatible with the base distro to be usable even if it get discontinued, rolling releases distros are always updated and don't need releases, derivates from releases without rolling releases will need some patience before you could get new versions ...

4- Architecture :

Old computers use mostly 32 bits, new pcs of 5 years or less could use 64 bits except some, mobile devices uses arm, old macs use ppc, this could influence you distro choice mostly if you use arm or ppc, Debian and Gentoo support any architecture ...

Some distro uses 32 bits content on 64 bits for some applications that may need them, mostly old apps not upgraded for 64 bits, try to don't use them if possible and use a 64 bits equivalent if possible because it may slow the system a bit but it's negligeable and almost nothing, but this count on an old pc as always.32 bits run slower on 64 bits than on 32 bits, however some distro added x32 support to circonvent that like Gentoo, also pretty negligeable ...

Note : If you choose 64 bit architecture then You need more RAM.. If you have less RAM choose 32 bit.

5- Desktop choice :

The interface that you distro will use, leading most of the standards, Freedesktop.org is to follow if you are not ready to be a little on your own ...

Desktop manager/environment Full-featured

GNOME (GTK), MATE, KDE (Qt), Trinity, Cream

Gnome - second oldest desktop environment, could have seemed stable but they always reinvented the wheel in background now it's more seen, create some new freedesktop specifications. Gnome is based on the simplicity and easy to use.
Recommended System Requirements for GNOME 2.x

Required RAM 384 MB  Required CPU  800 MHz
Recommended System Requirements for the GNOME 3.x shell
Required RAM 768 MB  Required CPU  400 MHz
Kde - oldest desktop manager, focus on making apps work together and on customisations, could be used on Windows. Need a more recent PC to run it smooth. *Note : use Qt a component with a non-free license*
Recommended System Requirements for KDE
Required RAM 615 MB Required CPU  1 GHz

Mate - Fork of Gnome2,Is used to emulate the gnome 2 experience. Some new features are added like the bluetooth file sharing.
Recommended System Requirements for MATE
Required RAM 384 MB  Required CPU  800 MHz

Trinity - Fork of kde 3.5x The trinity desktop is available on Porteus as a default desktop.

Cream - a do it yourself desktop. Turn around widgets and the apps. The project seem to be inactive but theres still works around it.


Mid-range
CDE (Motif), Xfce (GTK), IRIX Interactive Desktop (Motif)

Xfce - follow opendesktop standards, don't try to reinvent the wheel so they use existing technologies without making others, don't impose much to use theirs apps, try to stay relatively lightweight ... The windows manager used in xfce is xfwm.
Recommended System Requirements for Xfce
Required RAM 192 MB Required CPU  300 MHz

IRIX IE - The default window manager on the IRIX Interactive Desktop is 4Dwm.
IRIX IE is a desktop environment normally used as the default desktop on Silicon Graphics workstations running IRIX.
CDE - For a long period, it was the "classic" Unix desktop associated with commercial Unix workstations. It was released as free software on 6 August 2012, under the GNU Lesser General Public License,after many years as a proprietary software.

Lightweight

EDE (FLTK), Étoilé (GNUstep), LXDE (GTK), Razor-qt (Qt), Mezzo, ROX, UDE, Sugar, FVWM-crystal, Pantheon

Lxde - maked from Xfce code so it, focus on independants lightweight applications, lightweight and very energy efficient, use Openbox WM as backend and you could switch to *box Wms easily when experienced enough with it, fairly new but his code base make it more stable than expected, you could mix apps from it on any desktop without slowing your system much ...
Recommended System Requirements for LXDE
Required RAM 128 MB Required CPU  266 MHz

Razor-Qt - Lightweight, come from Kde with focus on simplicity and ease of use, recommended to use Openbox with it, fairly new could be less stable but using known code make it more stable than it should. Razor-Qt is wrote in Qt like Kde.
System Requirements for Razor-Qt
Required RAM 192 MB Required CPU 300 MHz

Sugar - focus to be usable 5-12 years childs. Easy to use for childrens. Not too recommended for power using or normal user but still usefull for schools.
Étoilé - Étoilé is a desktop environnement based on GNUstep. Have some similaritys to mac osx because they have the same base. Étoilé is still in work but its a lot difficult to install it on your system. A live cd of ubuntu with Étoilé exist, but the version of ubuntu and the version of étoilé is obselete. A pretty interesting desktop environnement that i don't recommand to begginers.

FVWM-crystal - A desktop environnement based on FVWM that come with a elegant interface and cool desktop switching functionalities. Some apps seem to don't appear in the menus and required to be launched from the terminal from some reason. Not recommanded for end-users but guys who are multitasking a lot will find himself in fvwm-crystal

Mezzo - The default desktop environnement for Symphony, an old discontinued linux distribution. Mezzo disposes of standard concepts like "The desktop is a folder" and nested menu systems and instead presents all needed information directly to the user via the main desktop and four desk targets for tasks and files related to System, Programs, Files, and Trash. This tries to simplify the desktop. Inspired projects like the Kuartet desktop, based on kde.

ROX - The ROX Desktop is a graphical desktop environment for the X Window System. It is based on the ROX-Filer which is a drag and drop spatial file manager. It is free software released under the GNU General Public License. The environment was inspired by the user interface of RISC OS. Programs can be installed or removed easily using Zero Install. As some interesting features. The desktop is still in devellopement.

UDE - In computing, UDE, the Unix Desktop Environment, is a desktop environment for the X Window System. Given its efficient and lightweight design it can be used on almost any Unix-like operating system, mostly without any porting effort. UDE's user interface philosophy is quite different from that of other desktop environments. It is designed to be used very efficiently after a short learning phase. There is no taskbar or desktop panel or equivalent. Windows lack a title bar and as such there are no buttons to close, resize, iconify or maximize windows on the window borders. These buttons are replaced by the so-called hex menu or honeycomb that appears when the user clicks on the window border.

Pantheon - ElementaryOS desktop manager *new*

Shell *Most shells are based on Gnome 3*

Unity, Unity2D, GNOME Shell, Gnome classic, Cinnamon, KDE Plasma, Manokwari - Manokwari

Gnome classic - Fallback mode for GNOME shell.

KDE Plasma - A shell develloped for kde 4.x

GNOME Shell - Shell used on gnome3

Unity/Unity2D - Shell developped for Ubuntu
Recommended System Requirements for Unity
Required RAM 1 GB  Required CPU  1 GHz

Cinnamon - Shell build for Linux Mint.A fork of GNOME 3.
Recommended System Requirements for Cinnamon
Required RAM 512 MB  Required CPU  1 GHz

Manokwari - Shell made for Blank On *Use html5/css3*

Windows manager Full-featured

Enlightenment, AfterStep, Compiz, KWin, Metacity, Mutter, Sawfish, Window Maker
awesome, Blackbox, Fluxbox, FVWM, IceWM, JWM, Openbox, twm, WindowLab, Gala

Enlightenment - Try to bring bells and whistles on very low specs hardware
Recommended System Requirements for Enlightenment (E17)
Required RAM 64 MB Required CPU  200 MHz
Openbox - could be used as backend for most desktop environnements to make them faster than their original window manager, try to follow freedesktop standards
KWin - It's the default windows manager of KDE. It as 3D functions.

Compiz - 3D windows managers known for its effects. Default WM of the unity desktop.

Mutter - Mutter is the default windows manager of gnome 3.

Metacity - Default windows manager for gnome until gnome3.

Afterstep - Windows manager who is emulating the NEXTStep experience.

Tom's windows manager - Long time default windows manager for X.

Gala - ElementaryOS windows manager *new*

Minimalistic

amiwm, cwm, dwm, ratpoison, wmii, xmonad

CLI ( Command Line Interface )
ash • Bash • BusyBox • csh • dash • es shell • fish • ksh • psh • rc • rsh • Sash • Scsh • sh • tcsh • Thompson shell • zsh

Note 1 : You have to accept the philosophy of your desktop manager if you use one, this way you won't have troubles with it when it change, Window manager are independant so they keep you safe from unwanted changes, the lighter you choose the faster you get, all have their way to be and to be used so read a little, try them before you install a distro, it may drive your distro choice but all distros could use any of them ...

Note 2 : try to don't mix Qt, GTK, FLTK, GNUstep, Motif, Xfce types apps, don't that may slower your system a little, could not be relevant for powerful computers but watch for that on older pcs, Lxde apps try stay independant so it don't really count.

6- Use of distros and why most distro could almost do the same things :
General use - a desktop with a few apps
Education - Stellarium, Gcompris, Tuxpaint, *OpenDNS*
Firewall - spamassasin, clamtk, *OpenDNS*, OpenVPN, OpenSSL, iptables
100% free software - kernel-libre, gnash, lightspark
Gaming - wine, lutris, desura, playonlinux, djl, gelide, stream my game
Live session - *to ram option*, flash player, codecs, drivers, portable apps
Multimedia - realtime kernel, cinerella, ardour, cinepaint, blender, inkscape
Htpcs - mythtv, xbmc
Netbooks - lightweight desktop, lxlauncher, midori/epiphany for webapps
Old pcs - lightweight desktop, mplayer, abiword, gnumeric, pcmanfm, midori, dillo
Privacy - tor, truecrypt, *https everywhere*
Rescue - gparted, ntfs-3g, clamtk
Server - apache, mysql, php, php my admin, webmin
Voip - ekiga, skype, asterisk, openvpn
Mac-like - cairo-dock, awn, docky, slingshot
Virtualization - Oracle virtualbox, VMware, qemu, xen, kvm

7- When forks are decents :
Fork or derivates distros maybe worth a look in some case, mostly for special uses like Framakey ubuntu-fr remix, if they help to install an harder distro easily like Bridge-Linux for Archlinux or Sabayon for Gentoo, if they come in with the bare minimal like k/l/ubuntu slim remix that come just with a minimal graphical interface with apps just enough to build your desktop on it as you wish easily and in some cases if it install the desktop or window manager of choice, other than that, you lose your time and another distro may do the same for you easily by messing a little ...

8- Applications choices :

When it come to apps, the choice is wide and even a less usable/fonctional choice may be better in the end depending of your needs, let see some things that may drive your choices ...You could get packages from others distros compatible with your distro by using alien but don't expect it to always work well.

Most desktop environments come with applications, some of the most used applications come with Kde, Gnome, Xfce, Lxde ...

License : 100% free software mean that you will be able to use the app forever or almost if you have knowledge and time to keep it alive, proprietary software or restricted licenses software may mean that your application may die one day ...

List of the licenses :
  • BSD license
  • Apache license
  • Free software foundation license
  • GNU general public license
  • Mozilla public license
  • MIT license

Stabilty & Perfomance :
Weight : Want speed, even command lines apps could be now pretty usable by beginners, lightweight GUI apps come second, command line and lightweight apps mean however less fonctionalities but well used they compare easily with regular apps, for example Mplayer make you view videos on almost nothing, MPD make you listen music in command line so if you switch users, restart xorg or work without GUI it will stay open for your pleasure ...

App type : As said before, it's not recommanded to fit many types of apps, it could not fit aestheticly with your setup and slow it down, some apps may don't have any alternatives but try to keep an eye on that, they're also great on Windows when you travel a lot or for less used apps to don't slow your system and for privacy, they keep your settings so you're at home anywhere ...

Developpement type and branches : The development of a distro may be focused on stability like Debian and on rolling release like Arch, this affect stability, also there's many developpement branches, so watch for theses words significating that it will be stable enough for a all-around desktop distro ...
*release candidate, final release, frozen, stable, long term support ...*

Community repositories : They could be personnal packages repositories from launchpad, Aur, Rpm fusion, Getdeb, Playdeb and many more, many like to use them but remember that theses may harm your security, break your system and more, you will also be dependant of them when it could be best to use a tool from the officials repositories in the long run or to compile it yourself, suggested if you absolutely need a tool that you cannot install by yourself only ...

Note 1 : You could also use apps from Windows with various solutions, your mileage may vary, you may also try portable apps that I suggest you to use for occassionnal Windows uses when traveling ...

Note 2 : There's some tools to make an app from website *webapp*, so you could include you prefered online app easily, they open on a browser but you don't have to put the link or remember the link, you need a web browser able to make web apps *Chrome/Chromium/Iron/Epiphany/Midori*, just take care because they aren't usable offline but it may make a desktop far lighter without losing the ease of use, just watch your internet connection bandwith, theses web apps are just web pages so they are usable on any operating system ...

Note 3 : Some apps could be prefered because that they are usable on most operating system, so you will fell at home almost anywhere, they're named cross-platform applications ...




No comments:

Post a Comment