CITKIT.ru - свободные мысли о свободном софте
Деловая газета CitCity.ru Библиотека CITForum.ru Форумы Курилка
Каталог софта Движение Open Source Дискуссионный клуб Дистрибутивы Окружение Приложения Заметки Разное
23.08.2017

Последние комментарии

ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)
24 December, 22:53
Kubuntu Feisty (15)
24 December, 18:42
Один на один с Windows XP (3758)
24 December, 11:46

Каталог софта

Статьи

Дискуссионный клуб
Linux в школе
Open Source и деньги
Open Source и жизнь
Windows vs Linux
Копирайт
Кто такие анонимусы
Лицензии
Нетбуки
Нужен ли русский Linux?
Пользователи
Дистрибутивы
Идеология
Выбор дистрибутива
Archlinux & CRUX
Debian
Fedora
Gentoo
LFS
LiveCD
Mandriva
OpenSolaris
Slackware
Zenwalk
Другие линуксы
BSD
MINIX
Движение Open Source
История
Классика жанра
Окружение
shell
Библиотеки UI
Графические среды
Шрифты
Приложения
Безопасность
Управление пакетами
Разное
Linuxformat. Колонки Алексея Федорчука
Заметки
Блогометки
Файловые системы
Заметки о ядре

Дистрибутивы

Крошка Цахес по прозванию Tiny Core Linux

http://alv.me/

На дистрибутив Tiny Core Linux я наткнулся совершенно случайно, просматривая Distrowatch — занятие, которому я предаюсь ежедневно. Появился он там на первой странице по понятной причине — в связи с выходом очередной версии, 2.1. Каюсь, что все предыдущие версии прошли мимо меня — тем интересней было с ним ознакомиться.

Первичное знакомство пришлось произвести по материалам на самом Distrowatch'е и по данным там ссылкам на обзоры — официальный сайт проекта в тот момент не работал (надо сказать, что у меня он не работает и по сей момент, когда пишутся эти строки). Некоторые из этих материалов я не только прочитал, но даже перевёл (их можно видеть здесь и здесь).

Дистрибутив Tiny Core разрабатывается Робертом Шинглдекером (Robert Shingledecker), судя по всему, совсем недавно — первое упоминание его на Distrowatch'е датируется 11 марта 2009 года (версия 1.2).

Из приведённых описаний можно было понять, что это — суперминималистический дистрибутив, размер iso-образа которого составляет 11 (!) Мбайт. И который, тем не менее, включает не только комплект консольных утилит, обеспечиваемый busybox'ом, но даже Иксы и оконный менеджер JWM. Есть и чисто консольный вариант — minicore, который вообще тянет всего на 7 Мбайт.

Скачать оба варианта образов можно отсюда , в отличие от собственно сайта, этот источник работает.

Дистрибутив работает в режиме LiveCD, но может быть "установлен" на винчестер или флэшку. При старте с любого носителя он целиком грузится в оперативную память, то есть если использовать CD-носитель, то привод высвобождается для других целей.

Сам по себе дистрибутив практически не содержит никаких приложений. Однако таковые, именуемые в терминологии TC расширениями (extentions) могут быть получены из репозитория и "установлены" посредством собственного пакетного менеджера. Из дальнейшего рассмотрения станет ясно, почему в обоих случаях слово "установлены" я употребляю в кавычках.

Списки доступных пакетов можно видеть здесь и здесь. Они идентичны, и различаются лишь способом обращения: пакеты TCE устанавливаются по сети, инкорпорируясь в виртуальный корень файловой системы в оперативной памяти, пакеты же TCZ разворачиваются из локально хранимых сжатых архивов. Есть ещё один режим работы — сохранение на локальном носителе пакетов TCE. Впрочем, всё это описано в одной из переводных заметок, так что углубляться в детали режимов работы TC я не буду.

Минимальные требования к аппаратуре более чем скромны: процессор i486DX и 32 Мбайт RAM. Рекомендуется, однако, процессор Pentium 2 или выше, и 128 Мбайт оперативной памяти. При этом, в отличие от многих компактных аналогов, дистрибутив позиционируется разработчиком как не столько реаниматор старого "железа", сколько вполне полноценная самостоятельная система. В связи с этим он включает в себя вполне современные компоненты, в частности, ядро 2.6.29.1; версии пакетов в репозитории также достаточно актуальны.

Прочитанное вызвало интерес и желание пощупать Tiny Core руками. Скачать и сболванить 11 Мбайт было делом недолгим, загрузить с компакта — и того быстрее: сам по себе старт системы происходит практически мгновенно, основное время уходит на поиски DHCP-сервера и сканирование дисков на предмет понятных для TC разделов, вносимых автоматически в виртуальный /etc/fstab в режиме noauto. Чтобы более не возвращаться к этому вопросу, замечу, что в число понятных входят разделы с ext3, но не с ext4 — и это несмотря на достаточно современное ядро, что следует поставить в безусловный минус.

По завершении загрузки я оказался в среде JWM — это такой легкий, но весьма функциональный оконный менеджер, разработанный Джо Вингбермюле (Joe Wingbermuehle). Доступ к приложениям обеспечивается из контекстного меню, вызываемого щелчком правой или средней кнопкой мыши на рабочем столе. Кроме того, наиболее употребимые приложения (терминал, управляющая панель, менеджер пакетов) можно запустить из нижней панели запуска, сделанной в Mac'овском стиле. Имеется и верхняя dock-подобная панель запущенных задач. В общем, несмотря на непритязательный внешний вид, вполне функциональная рабочая среда:

Реактивность системы просто фантастическая, что и не удивительно: ведь она целиком сидит в оперативной памяти.

Вход в систему осуществляется от специального аккаунта tc, имеющего права обычного пользователя. Так что действия, требующие прав администратора (например, монтирование накопителей), следует выполнять через sudo — для пользователя tc она не требует пароля. Команда же su не работает, требуя установки на неё бита суидности. Поскольку su извлекается из busybox'а, простого способа изменить такое положение я не вижу.

А вот /usr/sbin/sudo — это отдельная команда, со своим собственным конфигом /etc/sudoers, хотя и виртуальным. Так что при желании её можно настроить. Есть также средство для создания обычных пользовательских аккаунтов — adduser. В общем, в отличие от ряда аналогичных систем (например, Puppy), в Tiny Core в принципе можно организовать обычное для "настоящих" Unix-систем разграничение прав доступа. Разумеется, при работе с компакта все эти настройки будут действенны только в текущем сеансе. Правда, при выходе из системы предлагается опция — выполнить backup оных. Для чего сначала через кнопку Backup/Restore надлежит определить устройство для сохранения (например, флэшку или раздел диска). Тем не менее, это не очень интересно.

Набор штатных приложений не велик и сводится, в сущности, к терминалу (rxvt), в котором функционирует командная оболочка ash и набор утилит, обеспечиваемых, как уже говорилось, busybox'ом. Имеется также вьювер изображений и средство для изготовления скриншотов. Всё остальное можно получить из репозиториев с помощью собственного средства управления пакетами.

Менеджер управления пакетами, работающий в графическом режиме, прост до предела. Для начала надо соединиться с одним из репозиториев (TCZ или TCE), после чего в левом фрейме появляется список доступных пакетов:

При выборе какого-либо из них в правом фрейме выводится его описание, список зависимостей и так далее. Для установки достаточно нажать кнопку Install Selected, после чего пакет скачивается и устанавливается. Разрешение зависимостей происходит автоматически. Пакеты инкорпорируются в виртуальную корневую файловую систему. То есть при работе чисто с компакта инсталляция их действенна только на текущий сеанс.

Так что всё сказанное, естественно, вызвало желание установить систему на локальный носитель — флэшку или раздел диска (я выбрал второй вариант, благо места у меня нынче хоть отбавляй).

Никакого штатного установщика в среде LiveCD я не обнаружил. Присутствующие в обзорах ссылки на подробные инструкции с официального сайта были бесполезны ввиду неработосопосбности последнего, так что пришлось действовать методом дедукции, индукции и повышения продукции.

Для начала я ознакомился с содержимым компакта. Оно оказалось следующим:

  • каталог isolinux с файлами, обеспечивающими загрузку системы с CD;
  • ядро системы bzImage, объёмом 1,9 Мбайт,
  • сжатый образ корневой файловой системы tinycore,gz, объёмом 8,7 Мбайт.
И это было всё. Из чего метод установки системы на винчестер вытекал, как четыре из дважды два. То есть потребовались следующие действия:
  • создание раздела да диске — я сделал логический раздел /dev/sda9;
  • создание файловой системы на нём — по указанной выше причине таковой следовало выбрать ext3;
  • копирование образов ядра и корневой файловой системы на новый раздел.
Теперь оставалось только обеспечить загрузку Tiny Linux, для чего в свой общий конфиг GRUB'а я внёс следующие строки:
title           Tiny Core
root            (hd0,8)
kernel          (hd0,8)/bzImage tce=sda9
initrd          (hd0,8)/tinycore.gz
quiet
Передаваемый ядру параметр tce=sda9 определяет устройство, на которое должны сохраняться устанавливаемые пакеты. Оно же потом будет определено как устройство для хранения backup'ов индивидуальных настроек.

Выполнив указанные действия, я перезагрузил Tiny Core уже с винчестера — столь же успешно и быстро, как и с CD. В результате раздел /dev/sda9 оказался автоматически смонтированным при старте, и на него помещались образы устанавливаемых пакетов, которые потом разворачивались в оперативную память — вся система по прежнему помещалась в tmpfs. Так что на быстродействие это ничуть не повлияло.

Интересно, что в системе существует единственная локаль — POSIX, и единственный поддерживаемый язык (сами знаете, какой). Тем не менее, установив первым делом браузер links, я с удивлением обнаружил, что могу спокойно читать русские веб-страницы. Столь же успешно кириллица воспринималась и текстовым редактором nano, хотя вводить символы кириллицы, разумеется, было невозможно. Эти два приложения я выбрал для первоочередной установки из-за их простоты и компактности, на пробу.

Всё это вселило в меня оптимизм — ведь для превращения Tiny Core во всамделишнюю систему оставалось только доустановить необходимые пакеты и выполнить должные настройки. Чем я и планирую заняться на досуге в ближайшее время.

В заключение — несколько слов о том, зачем всё это нужно. Ведь, казалось бы, при нынешних объёмах винчестеров разница между 10 и 100 Мбайтами нечувствительна, и экономия тут выглядит не актуальной.

На мой взгляд, главной особенностью Tiny Core является не её компактность как таковая, а как раз наоборот — расширяемость. Посредством её можно осуществить вековую мечту истинных линуксоидов всех времён, стран и народов — собрать систему, в которой не было бы ни единой ненужной программы. Причём сделать это куда быстрее и эффективнее, нежели при использовании source based дистрибутивов типа Gentoo. А практически такие системы могут быть востребованы в двух сферах — пресловутых АРМах и современных недобуках.

В заметке использованы иллюстрации из обзора с Distrowatch'а.

А официальный сайт проекта у меня так и не заработал...

Комментарий Владимира Попова

С Tiny Core Linux знаком около полугода. Очаровательно, познавательно и может быть весьма полезно.

С финалом "системы могут быть востребованы в двух сферах — пресловутых АРМах и современных недобуках" согласен абсолютно.

Среди трудностей использования — локализация. Не сложно, но нужно делать.

Сравнение с обычными дистрибутивами (включая LFS) — исключительно пользовательская точка зрения. Которая, как я уже не раз говорил, интерес представляет весьма условный. Для меня — так никакого. Tiny Core Linux интересен с конструкторской точки зрения (причём, конструктором вполне может быть отдельно взятый линуксоид). И в этом смысле он интересен гораздо более, чем ещё один клон известного дистрибутива.




Комментарии

Alk, Mon Nov 23 00:05:33 2009:
Как локализовать, просветите пожалуйста. Хотя бы в общих чертах.
Temujeen, Wed Nov 18 20:05:50 2009:
у мну это чудо работает на ноуте(у него матрицу раздавили и винт разбился) с SD 32Мб(от фотика родная) в качестве шлюза.
Alexander, Thu Nov 5 16:15:29 2009:
Добрый день.
"Интересно, что в системе существует единственная локаль — POSIX, и единственный поддерживаемый язык (сами знаете, какой)."
У меня вот возникла проблемма: нужна поддержка ввода кирилицы. Подскажите, пожалуйста, как установить и настроить.
Спасибо.
evil_user, Fri Sep 18 21:17:35 2009:
а еще я собираю на нем ThinClient-ы для допотопного железа.
симпатичное игрушко
аноним, Thu Jul 23 21:43:21 2009:
Не удалось соединиться с репозиториями...
druid3, Mon Jul 13 18:39:01 2009:
>>>А как насчёт установки компилятора?

Можно попробовать tcc... Он конечно страшно упрощен, но это и хорошо - компилит очень быстро а места занимает очень мало в сравнении с gcc. Для простых приложений - покатит. кстати он есть и для ARM :-D
Andrey, Mon Jul 13 09:48:39 2009:
Когда будет портировано на ARM ?
аноним, Thu Jul 9 18:09:00 2009:
прочииал, скачал 11 мб (2 мин), подцепил образ в Daemon Tools, запустил в дефолтном VirtualPC (1 мин). Проще не бывает. Быстрее - еще поискать
аноним, Thu Jul 9 02:16:47 2009:
А как насчёт установки компилятора?
аноним, Wed Jul 8 11:59:17 2009:
Хм...Отлично)))
А какЖУ нет Мана...
Вот http://www.tinycorelinux.com/install.html

Комментарии заморожены.

Новости:

Все новости на CitCity.ru

Компании месяца

 
Последние комментарии
Почему школам следует использовать только свободные программы (101)
20 Декабрь, 14:51
ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)

24 Декабрь, 22:53
Linux в школе: мифы про школу и информатику (334)
24 Декабрь, 22:43
Kubuntu Feisty (15)
24 Декабрь, 18:42
Software is like sex: it's better when it's free.
©Linus Torvalds