LINUX.ORG.RU

Сообщения filin

 

сcылка на характеристики DLT/SDLT/LTO(Ultrium) магнитофонов в одном месте...

Форум — Talks

по заданию начальника слепил табличку по некоторым характеристикам ленточных магнитофонов во внешнем исполнении (тк старенький DLT на 20GB уже не потянет текущие требования), выложил и опубликовал на гугле, можно поглазеть по сцылке:

http://spreadsheets.google.com/pub?key=pcY7axEo1Kg1xfoL8E_-dNg

цены понятно со временем уплывут, но характеристики останутся (кстати характеристики не на 100% достоверны - кое-какие скорости по аналогии заполнил, не всё удалось отыскать, да и продавцы не всегда дают верные данные)

filin
()

Даёшь библиотеку на ЛОРе!

Форум — Linux-org-ru

товарищ президент сказал, что надо создавать национальную библиотеку (имени первого президента России), предлагаю организовать на ЛОРе её филиал и делиться электронными книжками. Доступ можно ограничить для местных айпишников с логинами. Готов внести посильный вклад.

filin
()

планировщик ввода-вывода на с/с++

Форум — Development

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

* есть фифо в виде темплейта, параметрами коей являются тип хранимых данных, индексный тип (для счётчиков/размеров), операция смещения (functor), data storage, block states. Фифо непростая, иначе бы не стал её делать, хранит данные блоками произвольной длины (кратной типу), причём каждый блок может увеличиваться в несколько приёмов, для чего и нужна операция смещения, чтобы сместить блок, если он вылез за верхнюю границу буфера (буфер тоже разный мб - сплошной кусок или порезанный на равные куски). Выделение/освобождение блоков - операция конкурентная и может выполняться в разных тредах/процессах одновременно, по сути получился template-конструктор, подставляя разные параметры в который получается фифо для разных типов данных/хранилищ данных/синхро-примитивов. Реализовал для тредов (pthreads/boost::thread), UNIX processes, зашла речь об distributed fifo, вот тут и возник сабж.

* описанние фифо помещено для понимания, что хотелось бы написать интерфейс для "слейва ввода-вывода" подобный вышеописанному темплейту, параметрами которого дб коротенькие (как и в случае фифо) классы (тем не менее содержащие весь необходимый функционал), реализующие конкретный специфичный случай, например: асинхронный ввод-вывод в том же треде (когда слейв как dedicated поток управления отсутствует), или в slave треде/процессе, балансировка нагрузки если несколько разных фифо обслуживаются одним IO slave, фифо дублируемое на mirror hosts и тд. Изучаю разный софт по теме: http://www.monkey.org/~provos/libevent/, http://liboop.ofb.net/. Конкретные реализации main loop'ов мне мало интересны, хотелось бы иметь легко адаптируемый под конкретную задачу подход.

хотелось бы услышать какие-нибудь (желательно ценные :) ) идеи по такому интерфейсу

ЗЫ повторю: замечания вроде "вот ссылка на проект N c планировщиком M" мне не интересны, интересны идеи (или ссылки на них) интерфейса, в который, например, легко интегрируется любой планировщик или интерфейс ввода-вывода.

ЗЗЫ идеи "жирных" интерфейсов (под каждый конкретный случай своя реализация) идут лесом, нужен конструктор.

filin
()

SiCortex: персональные суперкомпьютеры

Новости — Кластеры
Группа Кластеры

Контора SiCortex анонсировала два суперкомпьютера, годных для владения небольшой группой исследователей или даже персонального использования:

* SC5832, мощностью 5.8 Teraflop, до 8 Terabytes памяти, умещающийся в один шкаф с энергопотреблением 18 киловатт;

* SC648, мощностью 648 Gigaflop, до 864 Gigabytes памяти, умещающийся в половину 19-дюймовой стойки с энергопотреблением 2 киловатта.

управляются машины Линуксом, ядро 2.6, дистрибутив на основе Gentoo

тех. описание: http://www.sicortex.com/press/sicorte...

новость на русском: http://www.ixbt.com/news/all/index.sh...

>>> сайт конторы

filin
()

The 2006 Linux File Systems: день второй и третий

Форум — Development

Закончил перевод остального текста конфы и предлагаю его вашему вниманию. Мне особенно понравилось заключение, где линуксоиды вечером напились пива и поехали кататься на тракторе, будем надеяться, что никакие зверушки при этом не пострадали :)))

лучшее - враг хорошего, посему стиль и авторские "выражёвывания" сохранены, ошибки перевода не исправлялись, надеюсь не ущерб восприятию, некоторые термины - тупая транслитерация, что больше подходит для технического сленга специалистов, на кого и расчитан сей перевод
---------------------------------------

День Второй: Идеи
-----------------
Второй день начался с поломки лампы проектора что было здорово для нас поскольку препятствовало использованию очень скушного slideware (прим перев - видимо имеется ввиду софт для презентаций). Мы приписали часть удивительной продуктивности конфы отсутствию проектора и факту, что большинство из нас не имели никакой сетевой связи из комнаты конференций, что заставило нас уделить внимание происходящему а не чтению почты.

Второй день был посвящён обсуждению интересных идей в архитектуре ФС. Нам повезло с присутствием экспертов в главных ФС (ext2/3, reiserfs, XFS, JFS) также как экспертов в других ФС (OCFS2, Lustre, ZFS) и конечно символический представитель подсистемы ввода-вывода (SCSI).

Для начала краткий обзор наших целей. Нам нужна ФС которая легко обнаруживает и исправляет дисковую порчу без перевода ФС в офф-лайн на часы или дни. Мы особенно не хотим терять целую ФС или её большие куски кода портится малая часть диска. Восстановление ФС должно занимать много меньше времени чем откат из бекапа; фактически мы должны проектировать размещение ФС с производительностью fsck в уме, а не просто производительностью ФС. Эти цели могут быть выражены как "repair-driven file system design" - проектирование нашей ФС для быстрого и лёгкого востановления с самого начала, а не допиливание впоследствии.

Мы также хотим избежать двойной записи, перевыделения блоков на каждую запись и слишком сложных реализаций, которые трудны для понимания и способствуют багам (прим перев - "keep it simple stupid" - одна из основополагающих идей UNIX является одним из главных условий создания новой ФС :) ). Мы хотим эффективно хранить маленькие файлы и с другой стороны желаем пожертвовать дисковым пространством в угоду надёжности. Мы можем воспользоваться кешируемыми дисковыми треками и сфокусироваться на уменьшении числа поисков вместо расположения данных точно последовательно.

filin
()

Подвисания со SCSI, P-IV(HT), linux-2.4.37, linux-2.6.9

Форум — Linux-hardware

Есть файл-сервер на асусовской материнке, четвёртым пнём с гипертредингом и скази-контроллером, на котором железный рейд. Две сгоревших гигабитных сетевухи (марвел, одна была встроенная) были замененны на гигабитные тренднетовские. Под большой сетевой нагрузкой система виснет, повторить сложно, от чего зависит непонятно. Смена системы - slc3(rhel3, ядро 2.4.37 не smp) на slc4(rhel4, ядро 2.6.9 не smp) - не помогла. Мемтест проходит без проблем. Есть ещё одна машина на той же материнке с пнём без гипертрединга и без скази-контроллера, никаких проблем. Интересно что скази-контроллер негативно влияет на скорость ФС на идешном диске, последний работает на операциях с ФС в полтора раза медленнее значения, которое даёт hdparm на тесте.

Есть ещё машина на 2xP-III со скази-контроллером, никаких проблем не было за несколько лет.

У кого-нибудь похожие проблемы были?

filin
()

Обзор вопросов, обсуждавшихся на конференции The 2006 Linux File Systems

Новости — Linux General
Группа Linux General

Вызовы для разработчиков файловых систем Linux, вызываемые развитием железа, не могут быть пройдены простым эволюционным развитием и требуют нетривиальных решений. Объём дисков вскоре превысит терабайтную границу и уровень ошибок чтения/записи поставит под вопрос текущие способы борьбы с этим непрятным явлением (текущие реализации fsck, журналирование...). В обзоре описаны слабости текущих подходов и выработанный набор идей, которые могут помочь решить проблемы.

>>> Подробности

filin
()

Конференция по высокопроизводительным вычислениям и GRID-технологиям

Новости — Кластеры
Группа Кластеры

Спешу обрадовать всех имеющих дело и просто заинтересованных в линукс-кластерах и базирующихся на них технологиях, на LORе появилась новая новостная рубрика - Кластеры. Прошу любить и жаловать :)

Как видно из программы конференции (http://www.hpcc.unical.it/hpc2006/ann...) большинство докладов было посвящено около-GRID-овским темам.

>>> Подробности

filin
()

HA & cluster-related тема

Форум — Linux-org-ru

Есть предложение выделить новую тему в новостях и форуме: cluster & high availability (туда же и grid). Если даже игрушки выделяются в отдельный раздел, то почему эта серьёзная и самостоятельная тема не выделяется? Конечно она перекрывается и с железом и с администрированием, но эта тема всё же весьма специфическая и часто вопросы по ней несмотря на схожесть вопросов по железу и администрированию имеют несколько другие ответы, главным образом вследствие учёта архитектуры кластеров. Возможно далеко не всем посетителям ЛОРа она будет интересна, но не все уже существующие темы всем интересны. Возможно не будет много новостей, но будут новые люди, которым эти новости интересны и у которых будет чему поучиться остальным посетителям, потому что по этой весьма горячей теме активно проводятся исследования тут же уходящие в прикладную область.

Если тема появится, то обещаю регулярно добавлять новости по ней и поддерживать разговоры :)

filin
()

Пробовал ли кто-нибудь DRDB?

Форум — Admin

Если кто пробовал/работал сам с DRDB (http://www.drbd.org), поделитесь плиз опытом. Как оно живёт при перегрузке сети/ЦПУ? есть ли проблемы с потерей данных при сбоях primary/secondary? Не пробовали ли организовать локальные диски рабочих нодов кластера в цепочку primary-secondary (каждая нода содержит свой primary и secondary одного соседа)?

filin
()

CELL мог бы предложить значительный подъём в научных вычислениях

Новости — Hardware and Drivers
Группа Hardware and Drivers

Товарищи из LBNL (Lawrence Berkeley National Laboratory) провели первое формальное академическое исследование пытаясь ответить на вопрос даст ли CELL выигрыш в high-performance computing (HPC). Тестами являлись небольшие куски кода, реализующие вычислительные алгоритмы, такие как: быстрое преобразование Фурье, перемножение матриц. Для сравнения использовались Cray X1E, AMD Opteron, Intel's Itanium2.

Исследование проводилось на точном-до-такта симуляторе от IBM, дающем очень близкую к реальности производительность, вполне возможно реальный CELL будет иметь даже лучшие характеристики.

Изначально оптимизированный под игрушки процессор показывает максимальную производительность на вычислениях с одинарной точностью, оставляя далеко позади конкурентов. На двойной почти во всех тестах побеждает противников. Авторы статьи предлагают небольшие улучшения в микроархитектуре (названные CELL+), позволяющие получить значительный выигрыш в вычислениях с двойной точностью.

Код тестов был вручную оптимизирован под CELL с учётом задержек передачи данных и его иерархии памяти (!), что позволила сделать модель программирования, основанная на параллелизме уровня данных, а не задач, которая проталкивается IBM на рынок игрушек. Если CELL будет продаваться только в составе PS3, то очень вероятно, что найдутся товарищи попытающиеся собрать кластер для HPC из пары сотен приставок. Не следует ожидать таких же успехов процессора на более широком классе алгоритмов, реализуемых на более высоком уровне абстракции железа и использующих параллелизм уровня задач.

Статья: http://www.cs.berkeley.edu/~samw/proj...

>>> Подробности

filin
()

Plone powered или CMS на службе российских физиков

Галерея — Скриншоты

В феврале рассматривал несколько CMS и остановился на Plone. Достаточно удобная и гибкая CMS для неискушённого пользователя ресурса (спасибо разработчикам - почти всё сделано через интуитивно-понятный ГУЙ). Посетители тоже не оставлены разработчиками Plone в обиде, куча "фенечек" вроде live search и календаря идёт штатно с этой CMS. Среди нескольких сотен add-ons попадаются весьма полезные (как например PloneArticle), но напильником работать всё равно приходится, а благодаря питону делается это на раз-два-три, больше времени уходит на чтение доков по Plone. Пока не настроил extern storage, не получилось с наскока, в результате всё содержимое хранится в ZODB, что нехорошо. Содержимого пока немного - сам физ-эксперимент только строится.

>>> Просмотр (1280x1024, 318 Kb)

filin
()

быстрый взгляд на C++0x

Новости — Linux General
Группа Linux General

Страуструп описал вкратце улучшения, грозящие всем программёрам С++ в следующем стандарте, который должен выйти к 2009 году. Немалая толика софта под линукс пишется на С++ поэтому новость будет интересна не только разработчикам, пишущим на С++. Итак, что же нам светит:

* язык будет лучше поддерживать системное программирование
* язык будет проще в обучении и преподавании

Обещается опциональная сборка мусора и поддержка параллелизма. Внимание разработчиков стандарта фокусируется на расширениях, которые "меняют способ которым люди думают" (дословно!). Добавлено наиболее значительное расширение - "концепция" как "тип типов" (посредством where-выражения) и обобщенный список инициализации. Обещано, что вектора базовых типов будут работать не медленнее встроенных массивов тех же типов. В общем всё для того, чтобы сделать обощённое программирование таким же мейнстримом как объектно-ориентированное.
Также комитет по языку уже проголосовал за добавку в STL хешей, регекспов, смарт-поинтеров, генераторов случайных чисел и математических спец-функций. Появится новый тип итераторов - auto с автоопределением своего типа. Наконец-то стандартизаторы обещают уделять внимания простоте не меньше, чем гибкости но, тем не менее, не в ущерб последней.

Просьба языковой флейм не начинать, языки всякие важны, языки всякие нужны.

>>> Подробности

filin
()

Compex RL1000T 32-bit 10/100/1000Mbps - дерьмо!

Форум — Linux-hardware

Народ, не покупайте subj, у мну из десяти карточек сломалась одна, плюс ещё две строенные на мамках, все на том же жуке (Marvell) меньше, чем за год работы, причём сломались под P4, на атлонах пока живут, все мамки ASUS.
Пока меняю её на TrendNet TEG-PCITXR (10/100/1000Mbps, PCI), надеюсь проживут дольше (у них гарантия 5 лет, а не год как у comdex)

filin
()

Fish: дружественный интерактивный шелл

Новости — Open Source
Группа Open Source

Fish это интерактивный командный интерпретатор, лицензированный под GPL, написанный для Linux и других POSIX-совместимых операционных систем. Fish основан на тех же идеях, что и другие UNIX шеллы такие как bash и zsh, но содержит множество улучшений в пользовательском интерфейсе и превращает скриптинг в пристойный язык программирования. Fish очень "крутой" шелл, полный увлекательных новых идей, исправляющий кучу старых проблем и имеющий хорошо продуманный дизайн.

I. Дизайнерские решения.

Синтаксис fish сделан настолько мал и ортогонален насколько это возможно, множество схожих способов объединены в один более мощный, всё что можно вынести наружу во внешние утилиты вынесено

II. Пользовательский интерфейс.

* Интеграция с X clipboard: ^K, ^Y используют клипбоард,
* Syntax highlighting: сигнализируются проблемы с неправильными перенаправлениями ввода-вывода, несуществующие опции команд и другие,
* таб дополняет всё: возможно дополнить строки, содержащие wildcards и bracket expantions,
* fish без настройки поддерживает дополнения к около 150 командам
* все дополнения показываются с описанием их назначения
* все команды встроенные в fish имеют опцию -h/--help, показывающую краткое описание команды
* fish идёт с внешней командой (утилитой) mimedb, которая может использовать Freedesktop.org mimetype базу данных и файлы .desktop для идентификации дефолтного приложения для данного типа фалов. Эта утилита используется shellscript функцией open для открытия каждого типа файлов соответствующим дефолтным приложением...

скриншоты: http://roo.no-ip.org/fish/screenshots...

>>> Подробности

filin
()

Секретное оружие корпораций или старичка Tcl/Tk ещё рано выбрасывать на помойку

Галерея — Скриншоты

За неделю наваял GUI к управлению триггером на Tcl/Tk, причём последний увидел в первый раз и поэтому одновременно с "ваянием" учил этот самый Tcl/Tk. Впечатления от Tcl/Tk самые приятные, GUI на нём лепятся "нараз", а поскольку компилять/пересобирать после изменений не нужно, разработка идёт почти "со скоростью мысли". Печать канваса в postscript автоматически даёт отчёт, который будет вклеиваться в "бортовой журнал" установки во время сеанса, чему будут несказано рады и народ из смен (не надо записывать ручками), и обработчики (использующие инфу из журнала при обработке). К сожалению есть и недостатки (может я чего не знаю и кто-нибудь знает, как с ними бороться):

* показан только для маленьких проектов, тк набор widget'ов в Tk ограничен (нет, например, выпадающей менюхи) как и их функциональность (привязка мышиных-клавиатурных событий к text часто приводит к глюкам)
* с кодировками проблема (не могу заставить печатать в postscript по-русски, хрен его знает, что за postscript-драйвер используется Tk'ом), выход - в канвасе создавать widget и выводить текст через него, при печати встроенные в канвас widget'ы растеризуются и русские буквы будут присутствовать как часть картинки
* сам Tcl далеко не сахар, видимо его авторы не задумывали его как general-purpose scripting language

Надо "долепить" годоскопы, триггерный процессор, утилиты к нему и всё, GUI готов к труду и обороне.

>>> Просмотр (1280x1024, 133 Kb)

filin
()

настраиваем удалённый запуск утилит

Форум — Admin

В случаях, когда пользователи не имеют возможности залогинится на 
batch nodes в кластере под управлением одной из batch submission 
systems провести полноценную отладку и мониторинг становится 
невозможным, тк встроенные "куцие" возможности батчёвых систем по 
мониторингу заданий (обычно утилитой qstat) не дают полной информации 
о системе и процессах на нодах. Администратор системы для удобства 
может настроить ssh-аутентификацию по ключу без пароля, чем и можно 
воспользоваться для удалённого запуска утилит. Ниже описывается вся 
процедура:

* генерим RSA ключ для ssh-аутентификацию по ключу:

bash> ssh-keygen -t rsa # generate RSA keys for SSH protocol version 2
<Enter># enter empty passphrase (no passphrase)
bash> ssh-keygen -t rsa # generate RSA keys for SSH protocol version 2
... # enter empty passphrase (no passphrase)
bash> PUB_KEY=`cat $HOME/.ssh/id_rsa.pub`
bash> ssh sgeadmin@bn001 echo $PUB_KEY '>> $HOME/.ssh/authorized_keys2'
sgeadmin@bn001's password: # enter remote host password
bash> ssh sgeadmin@bn001
remotehost:bash> # voila! login without password

если в настройках удалённого ssh-сервера была разрешена аутентификация
 по ключу, мы сможем залогиниться без ввода пароля, если нет, 
попробуйте запустить клиента в verbose mode и заодно посмотреть лог на
 удалённом хосте, ssh-сервер пишет в логах какие методы аутентификации
 были опробованы. Аналогично копируем public-key на остальные ноды.


* создаём скрипт "туннелирующий" нужную утилиту и её вывод и запускаемый через sudo:

bash> cat > /home/sgeadmin/bin/cluster_utility_starter.sh
#!/bin/bash

function usage() {
    echo "Usage: PROGRAM [OPTION]... [HOST]
Run a program from list:
  ${util_nm[*]}
on HOST from list:
  $batch_host_list
Exit program by SIGINT/^C if a programm is looped.

 -h       print help and exit
 -l       List available hosts and exit"
}

# cluster work nodes
readonly batch_host_list="@bn001 @bn002 @bn003" # batch nodes

# util list for remote execution
util_nm[0]="Qtop"
util_cm[0]="/usr/bin/top b"

util_nm[1]="Qps"
util_cm[1]="/bin/ps"

util_nm[2]="Qfree"
util_cm[2]="/usr/bin/free"

util_nm[3]="Qvmstat"
util_cm[3]="/usr/bin/vmstat"

util_nm[4]="Qstat"
util_cm[4]="/usr/bin/stat"

util_nm[5]="Qls"
util_cm[5]="/bin/ls"

util_nm[6]="Qcat"
util_cm[6]="/bin/cat"

util_nm[7]="Qpstree"
util_cm[7]="/usr/bin/pstree"


if test $# -le 1
then usage $0
     exit 1
fi

i=0
cmd_name="$1"
shift
util_name=""

while :; do
    if test $i -ge ${#util_nm[*]}; then
	echo >&2 "$cmd_name: no such command"
	usage
	exit 1
    fi
    if test "${util_nm[$i]}" == "$cmd_name"; then
	util_name="${util_cm[$i]}"
	break
    fi
    let $((++i))
done

host_name=""
options=""

while test $# -gt 0
  do case "$1" in
        -h) echo -e "Copyright (C) 2005 Alexey Filin\n"
            usage
            exit ;;
        -l) echo -n "Available batch hosts: "
            echo $batch_host_list
            exit ;;
        @*) if test -n "$host_name"; then
		usage
		exit
           fi
	   for i in $batch_host_list; do
		if test "$i" == "$1"; then
		    host_name="$1"
		    break
		fi
	   done
           if test -z "$host_name"; then
		echo "$1: no such host name"
		exit
	   fi
           shift ;;
        *) options="$options $1"
	   shift ;;
        esac
     done
if test -n $host_name; then
    #echo ssh -x "sgeadmin$host_name" "sudo -u $SUDO_USER $util_name $options"
    ssh -x "sgeadmin$host_name" "sudo -u $SUDO_USER $util_name $options"
else
    usage
    exit
fi
exit
^D
bash> chmod +x /home/sgeadmin/bin/cluster_utility_starter.sh

заметьте, что утилита на удалённом хосте запускается под пользователем
 запустившим скрипт-обёртку описываемый ниже.
filin
()

конфигурим gdm

Галерея — Скриншоты

gdm достаточно гибок в конфигурации (gdm.conf длиной более 300 строк вместе комментариями), что я и использовал для вывода top вместе с login-окном для быстрого просмотра, что происходит на машине. Смотреть по сети не всегда удобно: пришёл чел, хочет залогиниться на одно из рабочих мест, а некоторые из хостов загружены фоновыми заданиями по самые помидоры, он быстренько выбирает наименее загруженный, логинится и счастливый начинает работу. А теперь подробности:

* сначала надо выставить standard mode вместо graphical для gdm с помощью gdmsetup,

* затем поправить /etc/X11/gdm/gdm.conf:

BackgroundType=0
BackgroundProgram=/etc/X11/gdm/bgr.sh

где bgr.sh простенький скрипт (не забыть про права на исполнение):

#!/bin/bash
/usr/bin/display -window root -geometry +0+0 -colors 16 /etc/X11/gdm/lightrays_with_slclogo.jpg
/usr/bin/xterm +sb -geometry 80x60+10+200 -fn 8x13 -e /usr/bin/top s

выравниваем login-окно:

SetPosition=true
PositionX=680
PositionY=200

Как видите, top запущен в секъюрной моде, специально спроектированной для таких случаев. Фонты и выравнивание взято из файла с машины другой, не той, на которой делался скриншот.

>>> Просмотр (1600x1200, 95 Kb)

filin
()

«обучение» на физфаке

Форум — General

господа, занимаюсь тут "образованием" физфаков на тему линуха, униха, да и программизма тоже (не в качестве часов учебной программы, а по соб желанию, сидючи за компом рядом со студентами). В общем народ пишет диплом по обработке, а в работе под унихом, да и в программизме полный ноль. Я знаю старшекласников, которые уже в школе с линухом "на ты". Что за фигня творится в МГУ? Я заканчивал физтех в 90-х и работать в унихе (на альфах) приходилось учиться самому, но нас хотя бы в сях натаскивали в вузе, а тут народ почти ноль. Кто имеет возможность, поставьте на вид разработчикам учебной программы физфаков, пусть добавят некое число часов в учебную программу для обучения программизму и работе под унихом для приобретения базиса, а то стыд и срам лучшему универу страны. :(

filin
()

Программируемые дополнения в bash

Новости — Open Source
Группа Open Source

Ян Макдональд выпустил скрипт, позволяющий сделать ваш (любимый :) командный интерпретатор значительно лучше понимающим ваши намерения при работе в командной строке.

Вооружив bash этим дополнением вам больше не придётся, например желая посмотреть man, вспоминать полное имя редко используемой функции из какой-то библиотеки, или административной утилиты. Просто введите "man [<номер раздела>] <начало чего-то><TAB>" и bash выведет список доступных дополнений. Аналогично для ssh - список хостов, для mount - список ФС, для make - список targets из Makefile в текущей директории, для cvs - список команд, и т.д. Поставьте скрипт, наберите complete -p и на экран выведется список "разумных" команд.

Я "писал кипятком" :).

>>> Подробности

filin
()

RSS подписка на новые темы