<%@ Language=JavaScript %> Описание Slush
 
           На начало  
Карта сайта
О себе
TINI ?
"Железо"
Справочник
Софт
Проекты
Документация
FAQ
Ссылки
Связь

 

Slush

Введение

Файлы и файловая система

TTY Сервер

Telnet Сервер

FTP Сервер

Команды

                 

Введение

По умолчанию Slush грузится в 7й банк и запускается при каждой загрузке TINI Board.

Ну что сказать, ну что сказать… «синтементальная болтовня (Lingvo 7.0)» или Slush малюсенькая такая системная оболочка с ярко выраженными чертами операционной системы. UNIXоиды скажут что мол, копия sh, ну почти. Так что, это и оболочка и операционка в одном лице.

Slush разрабатывался как многопользовательская, многопоточная система. Так же аналогично *NIX поддерживается аутентификация на уроне пользователей и естественно в наличии его величество ROOT.

Что еще из общих слов, да, далее все сравнения и аналогии будут идти от *NIX, так видимо проще.

Файлы и файловая система

Структура системных файлов:

После первого запуска системы создаются несколько основных файлов хранимых в директории /etc -

.tininet, .startup и passwd.

 

Имя файла

Назначение

Значение по умолчанию

/etc/.tininet

Хранение имени хоста и доменного имени Hostname= TINI Domain=неопределенно

/etc/.startup

Явствует из названия, выполнение заранее определенных действий, запуск программ, выполнение команд при старте TINI При этом все .tini программы запускаются и «крутятся» в фоновом режиме

/etc/.passwd

Содержится вся информация о пользователях, в т.ч., User name, User ID и хэш пароля. Используется для идентификации пользователей . User =Root – password=tini ;

User=guest – password=guest

По умолчанию файл .startup имеет вид:

    ########
    #Autogen'd slush startup file
    setenv FTPServer enable
    setenv TelnetServer enable
    setenv SerialServer enable
    ##
    #Add user calls to setenv here:
    ##
    initializeNetwork
    ########
    #Add other user additions here:
 
В принципе я думаю что все понятно. Для отключения ненужного Вам сервера 
вполне  достаточно его просто закомментировать (т.е. поставить тильду #) перед 
словом setenv. 
 
В «болтуне» есть одна Виндузовая примочка, если во время загрузки Slush на 
терминале удерживать клавишу «5» то отработки .startup файла не произойдет.

 

TTY Сервер

TTY сервер необходим для поддержания входа и работы в системы по последовательному каналу.

К конфигурационным опциям TTY сервера относятся две переменные:

Переменная

Опции

Описание

setenv HISTORY

[размер] Размер буфера истории команд

setenv BROADCASTS       

[true/false] Разрешить либо запретить рассылку сообщений ВСЕМ пользователям в системе. По умолчанию – разрешить (true)

 

 

Внимание: Для принятия изменений необходим перезапуск сервера

Что еще интересного есть в TTY ?

А) Можно для каждого юзверя завести /Home dir и по заходу в систему он автоматом будет попадать туда. По умолчанию все попадают в корневую директорию.

Б) Проистекает из А) в /Home директории можно будет создать файлец .login и он будет отрабатываться для конкретного пользователя как системный .startup Я же говорил ну просто Sh ^-)

 

FTP Сервер

Как и везде FTP «слушает» стандартный 21й порт.

К конфигурационным опциям FTP сервера относится несколько переменных

Переменная Опции Описание

setenv FTP_ALLOW_ROOT

   [true/false]

Автоматическое присвоение имени пользователя =root при соединении с TINI. По умолчанию = true

setenv FTP_TIMEOUT   

        [ms]

Период ожидания при неактивности. 0= бесконечное ожидание. По умолчанию = 0

setenv FTP_ALLOW_ANON

[true/false]   Разрешить/запретить анонимное подключение. По умолчанию = разрешить.

setenv FTP_LOG_ANON  

[файл] Ведение журнала для анонимных подключений.

setenv FTP_WELCOME   

[файл] Файл приветственного сообщения после штатного входа.

setenv FTP_CONNECT   

[файл] Я бы обозвал как 00index в больших FTP серверах

Внимание: Для принятия изменений необходим перезапуск сервера

 

Telnet Сервер

Telnet сервер «висит» на 23 порту.

К конфигурационным опциям Telnet сервера относится несколько переменных:

Переменная

Опции

Описание

setenv TELNET_ALLOW_ROOT

   [true/false]  

Автоматическое присвоение имени пользователя =root при соединении с TINI. По умолчанию = true

setenv HISTORY   

[размер]

Размер буфера истории команд

setenv TELNET_TIMEOUT   

[ms]

Период ожидания при неактивности. 0= бесконечное ожидание. По умолчанию = 0

setenv TELNET_WELCOME   

[файл]

Файл приветственного сообщения после штатного входа.

setenv BROADCASTS   

[true/false]

Разрешить либо запретить рассылку широковещательных сообщений всем пользователям системы. По умолчанию = разрешить.

Внимание: Для принятия изменений необходим перезапуск сервера.

Команды Slush

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

Первая команда это конечно help. Для получения помощи по конкретной команде наберите:

         help’ <команда>

очень интересное наблюдение. Хотя команды и есть, но в стандартном пакете Slush их нет J, т.ч. надо просто взять исходники «болтуна» и подключить их.

Slush позволяет перенаправлять стандартный вывод в/из файла. Для направления стандартного вывода в файл как обычно используется указатель ‘>’, для направления из файла на стандартный вывод используется ‘<’. Так же возможно перенаправление stdout и stderr в файл, для этого применяется конструкция ‘>&’. Еще одна «фича», возможен запуск java программ в фоновом режиме, для этого используйте ‘&’.Вы ожидаете что и команды можно крутить в фоне ? Нет, к сожалению пока нет (естественно я имею ввиду команды Slush).  При этом есть возможность перенаправления стандартного вывода в «космос» и последовательный порт. Для вывода в пустоту, команда будет иметь вид:

      Java space.tini > null

Для вывода в порт:

         Java serial.tini > S0

При этом, возможет вывод только в порт serial0 (S0=serial0), остальные не поддерживаются . Так же для вывода в последовательный порт необходимо запускать свою «прогу» с админовскими привилегиями. Еще маленькое замечание, не стоит перенаправлять вывод в порт если Вы сами (имею ввиду терминал) подключены к TINI. TTY сервер уйдет в down и соединение будет однозначно потеряно.

К примеру можно сделать так – надо брать данные из файла (file.in), стандартные сообщения программы и сообщения об ошибка писать в другой файл (file.out) при этом Ваша программа(myprog.tini) будет жить в фоне:

   java myprog.tini < file.in >& file.out &
 

Встроенные команды

append

Дописывает исходный файл в файл назначения
 

-append SRC DEST

arp

Отображение текущих записей ARP КЭШа

- arp

cat

Отображение содержимого файла
 

-cat FILE

cd

Смена текущей директории
        

-cd DIR

chmod

Смена прав на файл

-chmod [[u|o][+|-][r|w|x]] OR [##]

Пример использования chmod:

Снятие прав чтения/записи в файл s.txt

-chmod -r-w s.txt <OR> chmod 10 s.txt

Снятие прав на выполнение и добавления прав на чтение файла s.txt


-chmod o+r-x s.txt <OR> chmod 75 s.txt

chown

Смена владельца файла

-chown USER FILE

clear

Очистка экрана. В данный момент (firmware 1.02e) работает только с Telnet сессией. Обещаются добавить следующий релиз Java Kit

-clear

cp

Копирование исходного файла в файл назначения. (Возможно использование псевдонима –copy)

-cp SRC DEST

date

Отображение и установка системного времени:

-date MMDDYYYYHHMMSS[am | pm] [временная зона]

Пример использования date. Устанавливаем 17-марта-1980. 18:00:24

-date 03171980060024pm  или date 03171980180024

В первом варианте время описывается в 12 часовом формате, где am c 00:00 до 12:59, pm с 13:00 до 23:59. Установка секунд не обязательна.

df

Отображение суммы свободного ОЗУ. Стоит помнить о том, что ОЗУ одновременно используется «кучей» и файловой системой. Около 64 байт в верхней части ОЗУ «занимается» при обработке каждой команды slush.

      -df

echo

Команда echo выводит строку текста в стандартный поток System.out (т.е. текущую консоль) по умолчанию. Так же возможно переназначение вывода в файл.

-echo TEXT

gc

Запуск «сборщика мусора».

-gc

genlog

Управление генерацией системного «лога» (/etc/.log)  при загрузке системы. Для использования команды необходимо обладать администраторскими привилегиями.

-genlog [опции]


 [-e] включить ведение лога

 [-d] выключить ведение лога

 

help

И так ясно. При использовании команды без аргументов происходит вывод списка всех доступных команд. Для получения помощи по конкретной команде необходимо в качестве аргумента указать интересующею Вас команду.


-help [команда]

history

Индикация текущего списка «истории» команд. Для перемещения по спуску используйте: вверх -!!, на строку - !<строка>, вниз - !#

-history

hostname

Установка и индикация имени «хоста» и домена. Для использования озаботьтесь получением привилегий администратора.

-hostname

Пример использования hostname:

Установка имени «хоста»:

-hostname AKTITIY

Установка имени «хоста» и домена:

-hostname AKTITIY.home.net

ipconfig

Команда используется для установки и индикации сетевых установок TINI Board.  Без аргументов команда просто выводит текущую настройку.

В случае изменения установок, запущенные серверы (Telnet и FTP) будут остановлены, конфигурация системы будет обновлена и серверы стартую автоматически. Так же следует помнить что при использовании ipconfig в Telnet сессии, эта сессия будет потеряна.

Для использования команды необходимы привилегии админа:

         -ipconfig [опции]

поддерживаемые опции:

[-a xx.xx.xx.xx]- Установка IP адреса. Используется совместно с опцией -m

[-n domainname] - Установка имени домена
[-m xx.xx.xx.xx]- Наложение маски подсети. Используется совместно с опцией -a

[-g xx.xx.xx.xx]- Установка адреса шлюза

[-p xx.xx.xx.xx]- Установка адреса основного DNS сервера
[-s xx.xx.xx.xx]- Установка адреса вторичного DNS сервера

[-d]- Использовать DHCP для получения IP адреса

[-r]- Удерживать выделенный DHCP адрес

[-x]- Показать данные по всем интерфейсам

[-h xx.xx.xx.xx]- Установка адреса «Почтового Сервера»
[-f]- Не требовать дополнительного подтверждения ввода

 

Пример использования ipconfig:

Установим IP адрес, маску и шлюз:

-ipconfig  -f -a 192.168.0.10 -m 255.255.255.0 -g 192.168.0.254

Запросим DHCP на предмет получения адреса:

-ipconfig -f -d

java

Эта команда позволяет запустить Ваш файл Java класса (.tini). При этом автоматически запускается процесс. Стоит обратить внимание, что, если процесс запускается не в фоне (для запуска процесса в фоновом режиме укажите в конце команды &), то до конца выполнения своего файла Вы не сможете сделать что либо другое, т.к. не будет приглашения командной строки. Хм.. стоит глянуть на команду KILL J.

Тут существует специфическая особенность: при работе в Telnet сессии с процессом в фоновом режиме, вы сможете лицезреть сообщения своей проги и получите доступ к командному интерпретатору slush. При работе же с последовательным портом Вы не увидите «мессаги» своей программы, но получите доступ к командной строке. Это происходит по причине того, что система не может «расшарить» вывод Slush и Вашей программы.  Как выход, можно посоветовать перенаправить вывод из своей программы с «терминала» в файл.

Перед запуском стоит проверить свои привилегии на данный файл.

- java AK.tini

Пример использования java:

Просто запустим нужную нам прогу:

-java ak.tini

Запустим программу в фоновом режиме, вывод перенаправим в файл:

-java ak.tini > out.txt &

Так же можно хитро переназначить ввод и вывод из программы вместо стандартного ввода-файл:

-java ak.tini < in.txt > out.txt

Запустим программу в фоне, вывод «индикации» нам не нужен:

-java Pepe.tini > null &

В общем думаю хватит о перенаправлениях, о них уже писал.

kill

Для того что бы «грохнуть» процесс используется убивец. Для убийства надо знать ID нужного процесса, которое можно получить при помощи команды ps:

 

-kill PROCESS_ID

logout

Завершение текущего сеанса пользователя. Если вы использовали «супер пользователя –su), выход на уровень выше (т.е. в сеанс пользователя под именем которого Вы входили в систему).

-logout


Возможно использовать псевдонима bye, exit, quit

 

ls

Вывод списка файлов в текущей директории, а так же информации об указанном файле:

-ls [опции] [FILE]


Опции: [-l] Показать все атрибуты файла

Возможно использовать псевдонима - dir

Пример использования ls -l:

 

результат работы команды ls -l

И что сие значит спросите Вы:

Знак

Описание

1

- (d)

Признак директории

2

r

Владелец – право на чтение

3

w

Владелец – право на запись

4

x

Владелец – право на исполнение

5

r

Все остальные – право на чтение

6

-

Все остальные – нет права на запись

7

-

Все остальные – нет права на исполнение

8

1 root

Владелец файла – root

9

admin

Группа к которой относится владелец

10

101

Длина файла

11

Jan 05

Дата создания или последней модификации файла

12

04:06

Время создания или последней модификации файла

13

passwd

Имя файла

 

Стоит отметить что Slush не поддерживает разделение пользователей на группы. Единственная существующая группа это –admin. Добавлена для совместимости FTP сервера с *NIX.

mkdir

Создание директории

-mkdir DIR

Возможно использовать псевдонима - md

mv

Перемещение файла с места расположения (SRC) в место назначения (DEST). Может использоваться для переименования файла.

-mv SRC DEST


Возможно использовать псевдонима
- move

nslookup

Индикация имени [NAME или IP] адреса в зависимости от установленного аргумента

-nslookup [NAME | IP]

 passwd

Установка пароля доступа для указанного пользователя. В случае отсутствия имени пользователя как аргумента команды, по умолчанию применяется имя текущего пользователя. Для использования команды необходимы администраторские привилегия.

-passwd [имя пользователя]

 

ping

Проверка соединения с другим «хостом»[HOST] в сети. Используется стандартное ICMP эхо.

-ping HOST [кол-во запросов]

 

ps

Вывод «листинга» текущих запущенных процессов и идентификаторов (ID) процессов

-ps

 

pwd

Индикация текущей используемой директории

-pwd

 reboot

Остановка всех серверов Slush и перезагрузка системы. При этом возможно указать на необходимость очистки «кучи» и системной памяти.

-reboot [опции]
используемые опции:
[-f] Не требовать подтверждения перезагрузки
[-h] Очистить «кучу» и перезагрузиться
[-a] Очистить «кучу» и системную память, перезагрузиться
 

rm

Удалить указанный файл

-rm FILE
Возможно использовать псевдонима - del

 

rmdir

Удалить указанную директорию

-rmdir DIR
Возможно использовать псевдонима - rd

sendmail

Отправка электронной почты указанным абонентам. Можно отправить нескольким абонентам одновременно, для этого необходимо разделить адреса назначения запятой. В конце сообщения обязательно поставить точку. Отправка сообщения происходит после нажатия на <Enter>.В случае если Вы забыли указать необходимы параметры в командной строке, sendmail запросит их у Вас.


-sendmail [абонент(ы)] [CC's] ТЕКСТ сообщения

setenv

Установка значения указанной переменной рабочей среды. Без указанная переменной будет выдана распечатка параметров рабочей среды.


        
-setenv VAR VALUE

source

По сути спецификация указанного [FILE] файла как сценарного файла. Позволяет выполнять каждую строку в файле, как будто вы вводите эти строки в Slush

-source FILE

sled

Команда запускает базовый текстовый редактор (типа vi)

Внимание! На данный момент sled работает только в Telnet сессии. Возможно что данная возможность Slush будет реализована и в JavaKit.

Sled поддерживает некоторые расширения стандартного vi.

Полный перевод всего описания Sled будет дан отдельно.

- sled [FILE]

stats

Отображение текущего статуса системы

-stats

startserver

Запуск указанного сервера. Необходимы администраторские привилегия.

-startserver [опции]

Доступные опции команды:

[-s] Сервер обслуживания последовательного порта S0
[-t] Telnet сервер
[-f] FTP сервер

 stopserver

Остановка указанного сервера. Необходимы администраторские привилегия. Так же эта команда используется для отключения сообщений Slush передаваемых по последовательному порту S0 во время загрузки.

-stopserver [опции]

Доступные опции команды:

[-s] Сервер обслуживания последовательного порта S0
[-d] Отключение сообщений с консоли. Используется только совместно с опцией –s.
[-t] Telnet сервер
[-f] FTP сервер

Возможно использовать псевдонима - downserver

su

Получение прав указанного пользователя [USER]. По умолчанию принимается как root.

-su [USER]

 

touch

Изменяет время последней модификации файла [FILE]. В случае отсутствия файла, он будет создан, размер файла в этом случае будет равен 0.

-touch FILE

useradd

Добавление указанного пользователя в список пользователей системы. Для внесения пользователя необходимо указать: имя пользователя, его пароль, а так же идентификатор (ID) пользователя. При этом считаются правильными ID в диапазоне от 0 до 255. Следует обратить внимание на то, что, ID=0 закреплено за гостевым входом, ID=127 зарезервирован для super user, ID=128 соответствует привилегиям root. Т.е. по сути ID является определяющим правилом для назначения привилегий пользователя. Для использования команды необходимо иметь администраторские привилегия.

-useradd [опции]

 

Доступные опции команды:
[-n имя пользователя] Имя нового пользователя
[-p пароль] Пароль нового пользователя
[-i ID пользователя] Идентификатор нового пользователя

userdel

Удаление указанного пользователя [USER] из списка пользователей системы. Возможно использование команды для удаления нескольких пользователей, при этом имена пользователей указываются через пробел. Для использования необходимо быть админом.

-userdel [USER] [USER]

wall

«Широковещательное» сообщение  всем подключенным к системе пользователям. Broadcast a

-wall сообщение

wd

Установка и отображение значения «сторожевого» таймера (WatchDog). При использовании команды без аргументов отображается текущее значение. Использование данной команды полезно при отладке программ, да и вообще грамотно настроенный «сторожевой пес» позволит избежать множества проблем. Для использования необходимы администраторские привилегия.

-wd [опции]


Доступные опции команды:


[-i интервал] Установка интервала WD (ms). Используется в паре с опцией -p.
[-p интервал] Установка интервала срабатывания WD(ms). Значение должно быть меньше значения «Установки интервала WD» .
[-s] Остановка счета текущего WD.

 

who

Отображение списка всех подключенных к системе в данный момент пользователей    

-who

 

whoami

Отображение имени пользователя текущей сессии (т.е. по сути того Login под которым Вы в данный момент находитесь в системе).

-whoami

 

 (C) 2002-2003 AK

 

| TINI? | Железо | Справочник | Софт | Проекты | Документация | FAQ | Связь |

Ссылки | На главную страницу

Используются технологии uCoz