======Разработка======
SliTaz предоставляет некоторые средства разработки для веб-дизайна, редактирования скриптов и исходного кода. В этой статье содержится общая информация для разработчиков и желающих к ним приобщиться.
=====Скрипты командной строки=====
Написание скриптов командной строки (shell-скриптов) — самый простой способ начать программировать, т.к. они дают быстрые результаты и всё, что вам нужно уметь, перед тем как садиться писать такой скрипт — это открыть терминал и использовать текстовый редактор: Nano, Leafpad или Geany. Shell-скрипты в Linux способны на многое — загружать систему, делать резервные копии, осуществлять рутинные операции, выводить информацию о системе, создавать и изменять файлы и т.д. В таких скриптах можно использовать переменные, функции или вызовы для запуска того или иного файла. Скрипту можно давать любое удобное для вас имя, при этом широко используется расширение //.sh//.
===Создание shell-скриптов===
Перед тем как создавать shell-скрипт, необходимо выяснить, какой интерпретатор используется в системе. Большинство скриптов используют ///bin/sh//, поскольку он более портативен, но существуют также скрипты, опирающиеся на ///bin/bash//, поэтому он тоже должен быть установлен в системе. Чтобы скрипт можно было запустить, его нужно сделать исполняемым, изменив его права доступа в командной строке утилитой //chmod//. Чтобы создать скрипт //script.sh// и сделать его исполняемым, используйте команды
$ touch script.sh
$ chmod +x script.sh
Получив исполняемый файл, можно приступать к его редактированию. Вы можете оставаться в терминале и использовать редактор Nano (для сохранения и выхода нажмите Ctrl+X) или Leafpad:
$ nano script.sh
$ leafpad script.sh
Ниже приведен скрипт, содержащий переменную //NAME// и выводящий ее значение командой //echo//:
#!/bin/sh
NAME="Кеша"
echo "$NAME хороший."
После создания или редактирования скрипта его можно запустить для проверки:
$ ./script.sh
Это было краткое введение в shell-скрипты. В Интернете очень много информации по этой теме, если она вас заинтересует.
=====Dialog=====
Приложение //dialog// может создавать консольные программы с графическим интерфейсом, как, например, инсталлятор SliTaz. Файлы настроек программы находятся в папках ///etc/dialogrc// и/или //~/dialogrc// для каждого пользователя. Вот простой пример использования //dialog// через командную строку:
$ dialog --title "Привет, $USER" \
--msgbox "Сообщение, выданное при помощи dialog." 5 54
Огромное количество примеров скриптов можно найти в папке ///sample// в исходниках //dialog//, которые можно скачать с [[http://invisible-island.net/dialog/dialog.html|invisible-island.net]]. Чтобы скачать и распаковать архив с исходниками, введите
$ wget ftp://invisible-island.net/dialog/dialog.tar.gz
$ tar -xzf dialog.tar.gz
=====Geany IDE=====
Geany относится к интерактивным средам разработки (Interactive Development Environment, IDE). Geany — простая и быстрая программа, она имеет подсветку синтаксиса, вкладки и функцию автозавершения. Geany использовался при создании большей части документации на этом сайте (и еще немного Nano).
Для установки Geany выполните команду
$ tazpkg get-install geany
При первом запуске программы вы можете изменить ее настройки в меню //Правка// → //Настройки//. Также Geany можно запустить из терминала командой
$ geany
Интересно, что при компиляции исходного кода в скрипте //./configure// будет указана опция //-enable-the-force//... (задействовать Силу). Она понадобится вам, если вы захотите почувствовать себя Люком Скайуокером!
=====Perl (Microperl) — создание и использование Perl-скриптов=====
В SliTaz вы можете использовать мощный скриптовый язык Perl, запустив его как //perl// или //microperl//. Microperl — это модернизированная версия Perl, собранная из официальных исходников. Perl-скрипты, использующие Microperl, совместимы с полной версией Perl. Одна из сильных сторон Perl — его портативность: его можно использовать на любой системе и он является интерпретируемым языком, что означает отсутствие необходимости в компилировании кода и возможность его запуска напрямую. В SliTaz Perl и Microperl по умолчанию не входят в состав Live CD, поэтому вам понадобится либо перепаковать Live CD, либо установить Perl через менеджер пакетов. К сведению: Microperl имеет размер всего 1 Мб и не предоставляет модулей. Установку Perl (или Microperl) можно произвести командой
$ tazpkg get-install perl
$ tazpkg get-install microperl
=====Скрипт «Hello World!»=====
Для примера можно создать простейший скрипт, выводящий надпись «Hello World!». Вначале создайте файл и сделайте его исполняемым, а затем отредактируйте в Geany. Скрипт в нашем примере имеет название //hello.pl//, но вы можете дать ему любое другое имя, как с расширением //.pl//, так и без.
$ touch hello.pl
$ chmod +x hello.pl
$ geany hello.pl &
Первая строка скрипта определяет путь к интерпретатору Perl, обычно это ///usr/bin/perl//. Для вывода на экран текста используется команда //print//. Нужно отметить, что Perl чувствителен к регистру и что каждая строка кода должна заканчиваться точкой с запятой. Вот сам код (вы можете его скопировать и вставить в редактор):
#!/usr/bin/perl
#
print "Hello World!\n";
Чтобы выполнить скрипт, в командной строке наберите
$ ./hello.pl
===CGI-скрипты и Perl===
CGI-скрипты разработаны для отображения динамически изменяющихся веб-страниц. Язык Perl, ассоциированный с веб-сервером LightTPD, позволяет использовать CGI-скрипты в общем адресном пространстве или в виртуальных машинах. Perl вполне приспособлен к Web 2.0 и может генерировать страницы в формате xHTML. Перед тем как использовать CGI-скрипты в SliTaz, вам нужно установить Perl или Microperl и настроить сервер LightTPD. По умолчанию Shell-скрипты (расширение //.sh//) помещаются в папку ///cgi-bin//.
Когда сервер настроен должным образом, можно поместить скрипты в папку //$HOME/Public/cgi-bin//, задав им расширение //.pl// или //.cgi//, и просматривать их на локальном или удаленном компьютере. Пример использования скрипта Perl CGI:
#!/usr/bin/perl
#
print "content-type : text/html\n\n";
print "Hello World!\n";
=====Python=====
Язык программирования Python доступен в качестве пакета для установки. По окончании установки вы можете создавать скрипты и программы, а также использовать CGI-приложения вместе с веб-сервером LightTPD, не забывая при этом его правильно настраивать.
Официальный репозиторий SliTaz под названием Mercurial базируется на веб-интерфейсе CGI/Python; такое сочетание подходит для создания надежного и мощного продукта.
Для установки Python выполните команду
# tazpkg get-install python
=====Ruby=====
Язык программирования Ruby также доступен в виде установочного пакета. Ruby можно охарактеризовать как «динамический язык программирования с открытыми исходными кодами, цель которого — простота и продуктивность, имеющий элегантный синтаксис, легкий для чтения и написания программ» (цитата с официального сайта Ruby). Ruby управляет исключениями, поддерживает объектно-ориентированное программирование (ООП), автоматическое управление памятью и обладает очень хорошей портабельностью.
Чтобы установить Ruby, наберите
# tazpkg get-install ruby
=====Toolchain — библиотеки, компилятор С и различные утилиты=====
Чтобы компилировать программное обеспечение из сторонних или ваших собственных исходников, вам понадобится по крайней мере минимальный набор утилит, куда войдут Binutils, Glibc, компилятор С, заголовочные файлы ядра Linux и утилита Make. Toolchain также используется разработчиками SliTaz для сборки системы из исходников. Для установки //toolchain// со всеми зависимостями введите
# tazpkg get-install slitaz-toolchain
Текущая версия //toolchain// может без проблем компилировать простые программы в режиме командной строки, используя Ash из состава Busybox, но некоторые программы посложнее потребуют наличия Bash для компиляции. GNU Bash доступен в качестве пакета вместе с другими средствами разработки, например, Flex, M4, Bison или Pkg-config. Если вам нужно найти //pkg-config//, то используйте команду
$ tazpkg search pkg-config
Если вы хотите компилировать программы, использующие библиотеку Ncurses, потребуется установить пакет //ncurses-dev//. Этот пакет также имеет в своем составе несколько маленьких программ, к примеру, //tic// и //tac//.
$ tazpkg search ncurses
----
Статью перевел [[http://forum.slitaz.org/index.php/profile/1273/Cyril|Cyril]]