понеділок, 30 березня 2009 р.

Дістровотч пише про тінікоре лінукс.







http://distrowatch.com/weekly.php?issue=20090330#feature

Цікаво, що ж воно там! ;-)

навсяк випадок зайнявся копіпейстом... А то ... пропаде на дістровотч, чи ще щось!

Review of Tiny Core Linux 1.2 and 1.3 RC2

Introduction

Normally I judge a distribution on what it claims to achieve as set out in the project's goals. Tiny Core Linux is a mini distro, but founder Robert Shingledecker claims it's not just designed for use on older hardware. The distro sets up a small, clean base running completely in memory which the user can then customise by adding extra packages (also called extensions). The system can use two types of packages, either standard compressed tarballs (TCE) which are extracted over the live system, or compressed ROM files (TCZ) which are loopback-mounted. It is designed to run as a live CD (with the potential to install to hard drive, but still run in RAM) and has the ability to save data and packages to a hard drive upon shut-down. When the computer is later booted back up, it can restore data and applications to the live environment. Can it be used as a decent desktop replacement? I sought to find out.


Installation

'Installation' is a bit of a misnomer as Tiny Core doesn't really 'install' to your hard drive. Instead, it has four modes of operation. The first mode (Cloud/Internet) basically is just a live environment, where both the core system and all applications are running and stored in system memory (RAM), which is the default. Then there are three different methods for using Tiny Core from a hard drive. The first two are examples of what is called a Persistent Personal Repository (PPR), essentially a local repository for the install files, which will be loaded on boot. You simply specify a partition on a hard drive for Tiny Core to store any packages you install, which will then be loaded each time you boot. The first PPR uses TCE packages (which are extracted over your RAM system), while the second uses TCZ (which are loopback-mounted to save RAM). The final method is called Persistent Personal Installation (PPI), which is more like a conventional Linux install. The packages you have installed are actually extracted and written out to disk, rather than having the install files loaded on boot. In each variation, the core system remains running entirely in RAM.

I chose to use the PPR/TCE method to begin with and downloaded both the current stable 1.2 release, as well as the recent 1.3rc2 version. I could have run Tiny Core from the live CD; however, I wanted to be able to test operations using the optical drive, so I 'installed' it to the hard drive instead. The installation process is relatively simple for someone with some technical knowledge - you just copy the kernel and initial RAM disk to a drive and add a GRUB entry. While an extremely simple concept, it can be tricky as it's done manually. Fortunately, there are some instructions on how to do it. I plugged in a spare 40 GB IDE hard drive into the computer, which is an AMD Athlon XP 2500+ with 1 GB RAM, ATI Radeon 9600 AGP video card, NVIDIA nForce 2 chipset mainboard. From within the booted Tiny Core environment of the live CD I installed GRUB via the package manager, partitioned and formatted the hard drive, mounted it, as well as the CD, and created a boot/grub/ directory on the mounted device. Next, I copied over the GRUB application from the live environment to the drive, copied the kernel and initramfs from the CD, created a GRUB configuration file (adding tce=hda1 to my kernel line to enable the PPR) and installed the boot loader to the hard drive's master boot record. Simple! :-) Now all I had to do was take out the CD and reboot. Now Tiny Core could boot freshly from my drive, rather than the CD. Excellent.


Using the system

The system boots up very quickly without any custom applications running, taking 15 seconds and using 30 MB of memory. During boot-up, Tiny Core detects your hard drive partitions and automatically populates /etc/fstab with entries for them. It scans your partitions to see if you have a PPR and if so, loads any applications stored there. It then checks for a tarball of your home directory and restores that too. It loads Xvesa rather than a full blown X server such as X.Org, but it is possible to configure this if you like (although it will take some manual configuration to enable it). Finally, the system automatically logs you into an environment running Joe's Window Manager (JWM), which is very light and quick. It has multiple desktops, as well as the ability to layer application windows. There is also an OS X-like quick launch bar at the bottom, courtesy of wbar (yes, it does the whole magnification thing). There is a terminal and various BusyBox commands at your disposal. Apart from that, the default applications selection is pretty slim, and it's meant to be that way!




Tiny Core boot process
(full image size: 13kB, screen resolution: 720x400 pixels)


I had added the boot option tce=hda1 to my kernel line in the GRUB menu.lst file to enable the PPR/TCE. This means that any programs which I install will be stored locally and then automatically re-loaded on boot. Tiny Core uses a simple package manager, which lists all available applications. There is a simple search feature which lists any results. Simply select the package and hit the Install Selected button. This will download the package and any required dependencies, store the packages on the local drive and then install them into the live environment which is always running in RAM. As far as I can tell, there is no complex database keeping track of what you have installed, it's just a simple 'extract into root' process. To remove what you have installed, you simply need to delete the tarball from your PPR partition and reboot (assuming you are using a PPR).




Tiny Core package manager
(full image size: 15kB, screen resolution: 693x429 pixels)


By default, the system is configured to use Open Sound System (OSS) version 4 for sound, which can be enabled through the entry in the application menu. You can easily install ALSA, but I found that the configuration for my sound card was lost after each reboot and required re-running the command sudo alsaconf. Presumably this is because the changes to the configuration files are not saved on shut-down, so the original settings are restored on boot-up and it remains unconfigured. The first application I wanted to get working was a web browser. Searching for firefox returned minefield, a non-official version of Mozilla's Firefox built from source. This worked very well and I was able to install various addons like Download status, Adblock Plus, Flashblock, Firebug and Greasemonkey. There is a package for Flash player 9, which is actually a script to download the player directly from Adobe and install the player. This worked well and I was able to watch YouTube without any hassle. Currently the latest version of Firefox is 3.0.8, but Tiny Core only offers 3.0.4. I'd be more comfortable if this was the most recent browser, as security issues are most likely to come from the Internet through the browser. However, this is part of the beauty of the Tiny Core ideology - every boot results in the system being completely refreshed! If the computer was indeed compromised and changes were made to the system (live environment), they would be lost on next boot. Pretty neat, huh?

Once I had a web browser, I wanted to install packages for other everyday usage. Firstly, I wanted to get a graphical file manager and settled on ROX-Filer. The system did not have VLC, so I installed MPlayer to handle video and audio. As instructed by the package manager, I manually downloaded the codecs package from mplayerhq.hu and extracted it to the respective directory. I downloaded some movies in different formats and, to my pleasure, most played successfully. Optical burning was handled by KDE's brilliant K3b application, while OpenOffice.org 2.3.1 handled my documents and GIMP was there for my image manipulation requirements. I was also able to install other essentials, Git and Vim, while rsync was included in the base environment. I did have a few issues with missing libraries, like GTK+ which was a dependency of Vim, libglade was needed by ROX-Filer and Gitk was missing Wish. It was not hard to fix, but it would be good if the package manager would more strictly enforce required dependencies (or rather, the package maintainer correctly specify them). The package selection itself does appear rather limited, with most of the applications on offer being reasonably old versions. Even though there are some great applications, there often appears to be only one choice for each task. K3b for burning, MPlayer for video, Firefox for browsing, etc. It would be good if there were more, which I'm sure will happen over time as more developers get involved in the project. Tiny Core does provide source code to all the packages included in the system, as well as a build toolchain (including the compiletc extension) to create your own packages.

With a wider range of more recent software and the ability to easily tweak the boot process, I think Tiny Core could be a killer distribution, even for beginners. Presently the main stumbling block is the limited range of packages and lack of complete suites of software. Perhaps also an easy way of enabling and disabling software from the PPR. If I install a package for temporary use, I don't necessarily want it to always be loaded, but I may not want to delete it either. A list of all programs in the PPR, where you could disable them if desired would be a great addition. Taking this a step further, this should work for dependencies too. If I remove K3b, how do I know what dependencies should also go? Even if I delete K3b, the dependencies are still going to be loaded on boot which seems like a waste of resources and makes the system feel less clean. I have discovered that there is currently a way to install applications temporarily, by clicking the Download Only button within the package manager. This package is then placed in the tce/optional directory on your hard drive which will not be automatically loaded on boot. To load it within your live environment, select File -> Install Optional from the package manager's menu. If the system does become too cluttered (after installing lots of packages you no longer need) Tiny Core has an ability to boot to a clean system without loading any packages, by adding the base boot option to the kernel line. This will bypass the loading of any extensions which will then allow you to set up the system afresh using File -> Install Local from the package manager. These current features appear to be a decent compromise for now, and I'm informed that the ability to remove packages is currently in the works.

Tiny Core comes with a control panel which lets you configure certain aspects of your system, including network (there is no GUI for wireless, but wireless-tools and wpa_supplicant packages exist), set your background, and various others, like a mounting tool to mount your devices and turn on a few essential services, including SSH, Cron and DHCP client. It would be great if there was a section to start and stop all detected services, rather than just being limited to a few. Still, it's a neat little tool which helps you easily configure those on offer.




Tiny Core control panel
(full image size: 43kB, screen resolution: 1024x768 pixels)


The distro also includes a few tools for configuring your system, accessible through the desktop menu. These include tools to configure the Xvesa resolution and colour depth, a graphical kill program, synchronise the clock with an Internet server, set up Tiny Core terminal server, encrypt home files, add executables to the local boot script and more. While very simple, these tools are a welcome addition to the desktop and help to make life a that little bit easier.




Tiny Core system tools
(full image size: 30kB, screen resolution: 1024x768 pixels)


Using PPR/TCE with all these applications loaded, the system now uses over a gigabyte of RAM and takes 35 seconds to load. Quite a considerable difference, but still not slow. Plus, once the system has loaded, everything is in RAM and lightning fast! On top of this, it feels like I have a fresh system every time I boot, which is nice. I can really see why Shingledecker likes this way of computing. If you are using the fourth method, where packages are actually extracted onto disk rather than into RAM, then you will not have the issue of a slower boot as there are no packages to extract. Likewise, if you use the third method (PPR/TCZ) the packages are loaded on boot, but quickly mounted as loopback rather than extracted into RAM. This means they are loaded when needed, saving precious resources and time. For me, if you are going to use this distribution as your default desktop, go the TCZ route as it seems to provide the best balance between speed and Tiny Core features.


Conclusion

I have to admit that I never really saw the point of these mini distributions in the past where you had to use a cut-down set of applications which made life harder. Sure, they were small, but in a time when computers are really fast and powerful, who cares about little tiny systems that can't do everything out of the box? Well I never liked big bloated systems either and I'm a fan of simplicity. My time using Tiny Core has really opened my eyes to a completely different way of computing, and I love it. It's not a crippled tiny system with hopeless applications, but rather an excellent framework which you can then build into anything you want. The packages on offer are on the old side, however, and there is a limited range of software available. To me, this seems like the only thing holding Tiny Core back and is something that I'm sure will change over time. After having used Tiny Core for a short time, it does appear to have everything I need to work with out of the box. I can't wait to see what else I can discover.




Tiny Core custom desktop
(full image size: 292kB, screen resolution: 1280x1024 pixels)

2 коментарі:

  1. Інсталяція

    'Інсталяція'. Не зовсім так. Оскільки Тіні Коре (Tiny Core) насправді не істалюється на ваш жорсткий диск. Натомість є 4 моделі використання. Перша - Хмарка інтернету (Cloud/Internet) базується на живому оточенні, коли обоє - ядро системи та всі додатки запущені і зберігаються в системні пам'яті (RAM), вона є за замовчуванням. Також існує три інші методи для використання ТініКоре із диску. Перші два - приклади того, що називається Постійний Персональний Репозитарій, ППР (Persistent Personal Repository, PPR). Він базується на локальному репозитарії для встановлювальних файлів, котрі будуть завантажуватися при завантаженні системи. Ви просто вказуєте розділ на жорсткому диску для Тіні Коре, де зберігати всі пакунки, що ви інсталюєте, і які будуть завантажуватися кожного разу при завантаженні ПК. Перший ППР використовує ТСЕ-пакунки (котрі розпаковуються у вашій оперативці), другий використовує TCZ (котрі підмонтовані, щоб зекономити RAM). Останній, четвертний, метод називається Постійна Персональна Інсталяція (ППІ), котра більш схожа на звичайну інсталяцію Лінукса. Пакунки, що ви інсталювали, насправді розпаковані і записані на диск, а не істальовані при завантаженні. В кожному випадку ядро системи повністю завантажено в оперативці.

    ВідповістиВидалити
  2. Вступ

    Як правило, я складаю думку про дистр по тому, що досягають із проголошеного у меті проекту. Тіні Коре Лінукс - міні-дист, але творець Роберт Шінгледекер проголосив, що дистр не задумувався для старих машин. Вміщується повністю в оперативній пам'яті, дуже маленький з чистою базою, яку користувач може налаштувати, додаючи екстра-пакунки (їх ще називають розширеннями). Система може використоувати 2 типи пакунків, або стандартні стиснені тарболи (ТСЕ), які розстискаються поверх лайв-системи, або стиснені ROM-файли (TCZ), які підмонтовуються (loopback-mounted). Створений як лайвСД (з можливістю інсталюватися на жорсткий диск, але запускатися в оперативній пам'яті) і записувати дані і пакунки на диск перед вимкненням. Коли комп завантажиться наступного разу, то можна відновити дані і додатки в живу систему. Чи може використовуватися як десктопна система? Я спробую це з'ясувати.

    Інсталяція

    'Інсталяція'. Не зовсім так. Оскільки Тіні Коре (Tiny Core) насправді не істалюється на ваш жорсткий диск. Натомість є 4 моделі використання. Перша - Хмарка інтернету (Cloud/Internet) базується на живому оточенні, коли обоє - ядро системи та всі додатки запущені і зберігаються в системній пам'яті (RAM), вона є за замовчуванням. Також існує три інші методи для використання ТініКоре із диску. Перші два - приклади того, що називається Постійний Персональний Репозитарій, ППР (Persistent Personal Repository, PPR). Він базується на локальному репозитарії для встановлювальних файлів, котрі будуть завантажуватися при завантаженні системи. Ви просто вказуєте розділ на жорсткому диску для Тіні Коре, де зберігати всі пакунки, що ви інсталюєте, і вони будуть завантажуватися кожного разу при завантаженні ПК. Перший ППР використовує ТСЕ-пакунки (котрі розпаковуються у вашій оперативці), другий використовує TCZ (котрі підмонтовані, щоб зекономити RAM). Останній, четвертий, метод називається Постійна Персональна Інсталяція (ППІ), котра більш схожа на звичайну інсталяцію Лінукса. Пакунки, що ви інсталювали, насправді розпаковані і записані на диск, а не істальовані при завантаженні. В кожному випадку ядро системи повністю завантажено в оперативці.

    2-га версія. Вже відредагована.

    ВідповістиВидалити