Диски, ленты, файловые системы

Диски, ленты, файловые системы

 
  • Диски, ленты, файловые системы.

    * Какие есть SCSI устройства *

  • MOTOROLA: Какие есть SCSI устройства.
  • SUN: Какие есть SCSI устройства.
  • LINUX: Какие есть SCSI устройства и жесткие диски.
  • HP-UX
  • True64

    * Описание геометрии диска при подключении *

  • Linux, FreeBDS: ничего описывать не надо
  • MOTOROLA: описание геометрии диска
  • SUN: описание геометрии диска

    * Как называются диски и разделы на машине *

  • MOTOROLA: Общий формат имени:
  • SUN:.
  • Linux:.
  • HP-UX

    * Как отформатировать SCSI диск * .

  • MOTOROLA: низкоуровневое форматирование диска
  • SUN:
  • HP-UX

    * Разметка диска на разделы. Partition Table *

  • Linux: fdisk
  • SUN: Разметка форматированного диска на разделы
  • SUN: Создание файловой системы.
  • MOTOROLA: Разметка форматированного диска на разделы.

    * Какого типа у нас файловые системы *

  • MOTOROLA: Какого типа у нас файловые системы
  • mkfs - создает пустую файловую систему.
  • Linux: создание файловой системы
  • HP-UX: создание файловой системы
  • HP-UX: JFS vs HFS
  • Linux. Запись директории на writable CDROM

    * Монтирование файловых систем * .

  • MOTOROLA: Монтирование CD-ROM.
  • Отмонтирование файловых систем.

    * Изменение параметров fs *

    * Bad-блоки * .

  • Фирменные операционки: лечится, но с трудом-с
  • Motorola: Bad-блоки
  • Linux: Bad-блоки

    * Диагностика оборудования *

  • MOTOROLA: Утилита тестирования оборудования GOLD
  • SUN: Утилита тестирования оборудования sundiag
  • Unix для PC
  • Linux: изменение размеров NTFS-раздела
  • Linux: опрос состояния IDE-диска

  • * Какие есть SCSI устройства *


    MOTOROLA: Какие есть SCSI устройства.



          scsiscan - эта утилита сообщит вам, какие SCSI
          устройства подключены и как они
          называются (SCSI-id)

          После подключения новых устройств к компьютеру Motorola 922 он самостоятельно их распознает при очередной начальной загрузке и запускает программу из каталога /sbin/auto-boot, которая создает специальные файлы, соответствующие этим устройствам.

    SUN: Какие есть SCSI устройства.



          На компьютере Sun SPARC для определения SCSI-устройств: Перейдите в BOOT-prom монитор (Нажмите клавиши Stop+A) Введите команду probe-scsi

          ok probe-scsi


          Чтобы создать специальные файлы, выполните "reconfiguration boot": из BOOT-промпта

          ok boot -r

    LINUX: Какие есть SCSI устройства и жесткие диски.



          IBM PC/Linux сообщает об опознанных устройствах при начальной загрузке. Предполагается, что соответствующий драйвер SCSI (if exists) сконфигурирован в ядре. Чтобы еще раз просмотреть эти сообщения, выполните команду

          dmesg

          Все специальные файлы для дисков и лент уже созданы

          echo 'scsi add-single-device 1 0 5 0' > /proc/scsi/scsi
          заставит адаптер scsi1 просканировать SCSI канал 0,
          чтобы найти свежеподключенное устройство с ID 5 и LUN 0.

    HP-UX


    Перехватить boot-промпт, дать команду SEA (search) Или на живой машине ioscan -funC disk

    True64



          dsfmgr - Device Special Files manager
          hwmgr - Hardware manager
          drdmgr - Device Request Dispatcher manager
    hwmgr -scan scsi hwmgr -view devices hwmgr -view devices -cluster hwmgr -view hierarchy -member membername hwmgr -show scsi

    * Описание геометрии диска при подключении *



          Для нормальной работы с диском, возможно, (зависит от системы) придется позаботиться об описании геометрии диска.

          При покупке диска ТРЕБУЙТЕ с поставщика бумажки с характеристиками и геометрией диска.
          Seagate, например, все характеристики держит на http://www.seagate.com

    Linux, FreeBDS: ничего описывать не надо



          Переходите к следующему разделу.

    MOTOROLA: описание геометрии диска



          Уже имеющиеся описания для "фирменных" дисков расположены в каталоге /etc/dskdefs/. Выберите описание "похожего" диска, запомните его имя, например, 1Gb Seagate-ST31 - "msea11200". Подсказка: загляните в /etc/scsifmt.info

          Командой ddefs записать геометрию диска и сохранить ее под новым именем. В ответ на запрос "Template" введите имя описания "похожего" диска. Поправьте параметры, которые вы знаете, и оставьте как есть, если не знаете, зачем они.

          ddefs -n filename
    Актуальные параметры: естественно, число голов, секторов... А также (по собственной шкуре проверено):

          Root offset: 648 (т.к. VTOC занимает 648 блоков)
          Slice count: 16 (Положено 16 разделов на диске)
          Interleave: 1 (Что означает "отсутствует")
          Precomp cylinder: {последний} (Ныне прекомпенсация не используется)
          Bad spots: 100 (Резерв для замещения bad-блоков)
          Controller attribute: 850 (кто его знает, зачем, но так
          Attribute: 10 у всех остальных дисков)
          Word attribute: 10
    Выход из команды ddefs "w" и "q" в ДОКУМЕНТАЦИИ НЕ ОПИСАН. Подсказка по остальным командам ddefs выводится командой "help"

          В таблице /etc/scsifmt.info добавить строчку со ссылкой на файл с геометрией диска. В качестве ключевых слов указать то, что выводит команда scsiscan. Например, так:
    scsiscan SEAGATE ST51080N m187_0c0d1 ...
    cat >> /etc/scsifmt.info "SEAGATE" "ST51080N" filename 7 "1GB SCSI" ^D

    SUN: описание геометрии диска



          Чтобы диск опознавался Sun'ом, для него должно существовать описание геометрии в файле /etc/format.dat

    * Как называются диски и разделы на машине *



          Каждое "устройство" имеет соответствующий ему "специальный файл". От системы к системе имена эти абсолютно друг на друга не похожи. Одно, пожалуй, постоянно: все специальные файлы обычно расположены в каталоге /dev или его подкаталогах.

          В SVR4 устройства собраны в отдельные каталоги:

          /dev/rdsk/* - бесструктурные диски и разделы дисков
          /dev/dsk/* - блочные диски и разделы дисков
          /dev/rmt/* - стриммерные накопители на магнитной ленте
          /dev/term/* - линии для подключения терминалов (dial-in)
          /dev/cua/* - линии с модемным управлением (dial-out)
          /dev/pts/* - псевдотерминальные линии

    MOTOROLA: Общий формат имени:


          controller_cXdYsuffix где:
          controller - тип устройства
          X - номер контроллера
          Y - логический номер устройства
          suffix - зависит от устройства, например:
          номер раздела на жестком диске

          Логические диски (разделы физического SCSI диска)
          с блочной структурой на станции Motorola 922
    /dev/dsk/m197_c0d0s1 SCSI контроллер m197 номер 0,
          SCSI устройство 0
          логический раздел (slice) 1 /dev/dsk/m328_c0d0s0 SCSI контроллер m328 номер 0,
          . . . SCSI устройство 0
          логический раздел (slice) 0

          Физический диск (целиком)
    /dev/rdsk/m328_c0d0s7 Условное обозначение всего жесткого /dev/rdsk/m197_c0d1s7 диска, целиком

          Бесструктурные (сырые) разделы
    /dev/rdsk/m197_c0d0s1 /dev/rdsk/m197_c0d1s2

          Магнитные ленты.
    /dev/rmt/ctape1 а также /dev/rmt/m197_c0d4

          CD-ROM.
    /dev/rdsk/m197_c0d6s7 - "сырой" (физический) /dev/dsk/m197_c0d6s0 - раздел CD-ROM с файловой системой
          "Моторольного" формата ufs /dev/dsk/m197_c0d6s7 - CD-ROM со стандартной файловой
          системой iso9660

    SUN:.



          Логические разделы (блочные) на станции SPARCstation: Диск может быть разбит на 8 логических разделов с 0 по 8.

          Общий формат имени SCSI устройства:
    /dev/dsk/c0t2d0s3 Controller 0 (обычно 0)
          Taget 2 (SCSI ID)
          Disk 0 (LUN Logical Unit Number
          - обычно 0)
          Slice 3 (Номер раздела)

          Физический диск (целиком)
    /dev/rdsk/c0t3d0s2 Весь жесткий диск представляется разде-
          лом 2
          Загрузочный внутренний жесткий диск SPARC-
          station имеет 3-й SCSI номер.

          CD-ROM (целиком)
    /dev/dsk/c0t6d0s2 CD обычно вешают на 6-й SCSI номер.
          Имеет ровно один раздел - весь диск.

          Магнитные ленты.
    /dev/rmt/0 1-я лента (обычно 150Мб) /dev/rmt/1 2-я лента (обычно DAT 4Гб)

          После подключения новых устройств к Sun'у. Нужно выполнить "reconfiguration boot". Из boot prom'a:

          ok boot -r

    Linux:.



          Диск может быть разбит на 4 primary раздела с 1 по 4. Один из разделов может быть extended - тогда он может быть разбит еще на 4 раздела с 5 по 8

          Физический диск (целиком)
    /dev/hda Первый IDE жесткий диск /dev/hdb Второй IDE жесткий диск /dev/hdc IDE hd (или CD) - master на втором интерфейсе /dev/hdc IDE hd (или CD) - slave на втором интерфейсе /dev/sda Первый SCSI жесткий диск ...
    /dev/sda1, /dev/sda2, ... ,8 Разделы жесткого SCSI диска /dev/hdb1, /dev/hdb2, ... ,8 Разделы жесткого IDE диска

          CD-ROM
    /dev/sbpcd,/dev/sonycd, ... /dev/hdc - IDE CD
          а лучше /dev/cdrom

          Магнитные ленты.
    /dev/rmt1

          Дискеты.
    /dev/fd0 - флоппи A: /dev/fd1 - флоппи B:

    HP-UX



          Физический диск (целиком)
    /dev/rdsk/c0t6d0 Весь жесткий диск (raw) /dev/dsk/c0t6d0 Весь жесткий диск

          Жестких разделов в HP-UX нет, зато есть LVM - и в нем логические тома
    /dev/vg00/lvol12 char logical volume /dev/vg00/rlvol12 block logical volume

          Магнитные ленты /dev/rmt/0m лента с перемоткой /dev/rmt/0mn лента без перемотки

    * Как отформатировать SCSI диск * .




          Форматировать SCSI на низком уровне не умеет ни один Unix в мире.Форматирование обычно заключается в тестировании bad block'ов и нанесении логической разметки диска - делении его на логические разделы.

    MOTOROLA: низкоуровневое форматирование диска



          Хотите по-простому - воспользуйтесь командой scsifmt. Применяется она к БЕССТРУКТУРНОМУ цельному диску (каталог /dev/rdsk, slice номер 7). Например:

          scsifmt /dev/rdsk/m197_c0d1s7
          scsifmt /dev/rdsk/m328_c1d0s7

          ВНИМАНИЕ: вы уже набрали эту команду? Сосчитайте до 20 и немного подумайте. Подумали? Теперь нажмите Ctrl-C. Вы нажали ENTER вместо Ctrl-C ? У вас есть 30 свободных минут. Можете за это время ознакомиться с главой "Инсталляция Unix". Ведь команда scsifmt ничего не переспрашивает и сразу начинает форматировать указанный диск, не требуя никаких подтверждений.

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

          Инициализация диска(низкоуровневое форматирование, тестирование бад-блоков, загрузочная запись) делается командой dinit.
    dinit [-f] [-q] [-b] filename /dev/rdsk/m187_c0d1s7
          -X 9 debug-level
          -f переформатировать
          -q "быстрый" формат
          -b сделать диск загрузочным
          -v {0-4} write тест
    man dinit сообщить все остальные подробности

    SUN:



          Физическое форматирование диска на SunOS не делают. Считается, что диск должны отформатировать на заводе. Можно посмотреть информацию о диске.

          prtvtoc /dev/rdsk/c0t0d0s2

    HP-UX



          Физическое форматирование
    format /dev/rdsk/c0t6d0

    * Разметка диска на разделы. Partition Table *


    Linux: fdisk



          Раметка partiotion table в Linux делается командой fdisk. Это диалоговая утилита - без особых изысков, все делается просто.

          fdisk /dev/hda # или /dev/sdb ...

          mke2fs /dev/hda1
          # создает файловую систему типа ext2 на первом разделе

          Распечатать таблицу разделов:

          fdisk -p /dev/hda # или /dev/sdb ...

    SUN: Разметка форматированного диска на разделы



          Чтобы диск опознавался Sun'ом, для него должно существовать описание в файле /etc/format.dat

          Из-под СуперПользователя запустите команду format, и в диалоговом режиме сможете проинициализировать и протестировать диск и разбить его на разделы.

          format
    Boot-монитор при загрузке операционной системы ищет на корневом разделе boot-блок. Он записывается командой installboot или dd

          installboot /dev/rdsk/c0t3d0s0
          dd if=/usr/lib/fs/ufs/bootblk bs=1k skip=1 of=/dev/dsk/c0t3d0s0

    SUN: Создание файловой системы.



          newfs /dev/dsk/c0t0d0s7

          SUN: виды файловых систем.

          ufs Unix File System
          основной тип файловых систем для жестких дисков
          hsfs High Sierra, ISO 9660, Rock Rige Extension
          файловая система на CD-ROM'ах
          pcfs MS-DOS FAT для дискет 3"

          nfs Network File System
          наиболее популярная сетевая файловая система
          rfs Remote File System
          тяжелое наследие System V - еще одна сетевая FS

          tmpfs для хранения Временной Файловой системы используется
          свободное место swap-области
          lofs Loop Back FS
          фактически mount -F nfs localhost:/ /mnt

          procfs Process FS - "для каждого процесса имеется файл"
          fifofs FIFO FS
          fdfs File Descriptors FS
          namefs

    MOTOROLA: Разметка форматированного диска на разделы.



          Производится Disk Slice Editorom dse. На диске может быть до 15 slice'ов (разделов). Они нумеруются числами от 0 до 6, от 8 до f. Номер 7 зарезервирован, чтобы обозначать весь диск целиком.

          dse имя_бесструктурного_диска # например:
          dse /dev/rdsk/m197_c0d0s7
    DSE имеет экранный интерфейс, схожий с редактором VI
          Команды:

          :q! выйти без внесения изменений в таблицу разделов
          :wq сохранить изменения и выйти
          h,j,k,l команды перемещения по экрану (это если у вас не ра-
          ботают стрелочки)
          C создать раздел на свободном месте
          dw стереть поле
          dd уничтожить раздел
          cw изменить значение поля
    ВНИМАНИЕ: самый первый раздел должен начинаться с блока номер 648 (или больше), поскольку на диске должно оставаться место для хранения разметки диска VTOC (Volume Table Of Contents).

          На создаваемом разделе должна быть создана файловая система. В SVR4/88 используются 3 разных типа - ufs, s5, bfs. Выбирайте "UFS".

          Motorola: виды файловых систем.

          ufs Unix File System
          основной тип файловых систем для жестких дисков
          s5 System V. Устарелый тип файловой системы, исполь-
          зовался в старых версиях SV 3.1. Более медленная,
          но занимает меньше места под служебную информацию
          bfs Boot File System для каталога /stand Служебная "очень простая" файловая система. В ней
          лежат файлы начальной загрузки boot и unix
          cdfs CD File System
          Стандартная для CD ROM'ов разметка ISO 9660

          После переразметки диска dse автоматически запустит команду mkfs со всеми необходимыми параметрами - для создания чистых файловых систем на новых разделах, поэтому пункт, относящийся к команде mkfs, имеет скорее академический интерес.

          Реально dse только ГОТОВИТ описание VTOC, а прописывает ее на диск команда fmthard. Параметры у нее непростые, именно она применяется при инсталляции системы.

          fmthard -S file_with_vtoc_description /dev/rmt/m187_c0d1s7

          Для обычных же юзеров к ней написан пользовательский интерфейс dse.

          Распечатать таблицу разделов:
    prtvtoc /dev/rdsk/m187_c0d0s7

    * Какого типа у нас файловые системы *


    MOTOROLA: Какого типа у нас файловые системы



          fstyp имя_дискового_раздела

          Рекомендуемый тип для неспециализированных (т.е. не тех, которые /stand, /boot и некоторые другие) файловых систем стандартный Unix'овский "ufs" - Unix File System. Это быстрая файловая система BSD-подобного типа с символическими линками, длинными именами файлов (до 256 байт), изменяемым размером блока, "размазанной" таблицей inod'ов (описатели файлов расположены группами, которые равномерно распределены по диску)

    mkfs - создает пустую файловую систему.


    # создаем файловую систему типа s5 на 4-ом разделе диска, раз- # мером 200 Мб !!! Размер указывается в 512-байтных блоках

          mkfs -F s5 /dev/rdsk/m328_c2d0s4 400000

    # создаем файловую систему типа ufs на 5-ом разделе диска

          mkfs -F ufs -o bsize=4096,nsect=36,ntrack=9,free=1 \
          /dev/rdsk/m328_c2d0s5

    Linux: создание файловой системы



          mke2fs /dev/hda9

    HP-UX: создание файловой системы



          newfs -F hfs /dev/rvol12

    HP-UX: JFS vs HFS


    HP-UX использует два формата файловых систем:
          HFS (High Perfomance) - AKA старая добрая ufs,
          и новомодная JFS (Journal) AKA Verytas vxfs

          0. vxfs - это не файловая система, а база данных с журналом транзакций и откаткой. Любая операция записи в файловую систему содержит только завершенные транзакции, поэтому fs на диске _всегда_ находится в корректном состоянии. В лог пишется "протокол намерений", и его можно использовать для откатки.
    Плюсы:
          1. vxfs использует физический журнал для записи критической метаинформации на диск. Это гарантирует эффективное восстанавление fs. Большая сохранность позволяет дольше кэшировать данные. Очень заметен выигрыш по скорости "close file" - закрытие файла НЕ форсирует sync inod'а на диск, в отличие от ufs.
          2. vxfs применяет кластерную адресацию последовательных блоков - выигрыш в адресации блоков и скорости доступа к большим файлам.
          3. inod в vxfs-е имеет длину 256 байт (а не 128), и короткие (<=96байт) директории или симлинки хранятся прямо в inod'е
          4. Директории vxfs проиндексированы - следовательно, повышена скорость поиска файла по имени.
          5. По необходимости vxfs умеет создавать дополнительные области inod'ов, и вообще - место в vxfs распределяется по мере заполнения.
    Написать подробнее про транзакции.
    Минусы:

          1. Служебные структуры vxfs занимают больше места на диске
          2. Загрузчик ядра не умеет читать формат vxfs, поэтому каталог /stand обязан быть HFS'ным
    Плюсы для Live JFS (AKA OnLine VxFS) Only:
          Это расширение стандартной vxfs, коммерческий продукт, поставляемый за отдельные деньги, после его установки стандартная vxfs получает дополнительные возможности:
          6. Увеличение размера fs без отмонтирования.
          7. Уменьшение размера fs (а-ля speed disk) без отмонтирования.
          8. Snapshot (заморозка) fs. По команде возникает параллельное дерево-копия раздела - "остановленное" на момент подачи команды. Реализация: использует дополнительно раздел диска для сохранения изменяемых блоков с данными. При обращении к "замороженным" данным блоки, еще не измененные - считываются из оригинальной файловой системы, если же менялись, то оригинал берется с сохраненной на отдельный раздел копии.

          Примеры, на которых vxfs дает заметный (в 2-4 раза) выигрыш
          cd /hfs ; time tar xf /tmp/big.tar
          cd /vxfs ; time tar xf /tmp/big.tar

          time cat bigfile bigfile bigfile bigfile bigfile > /vxfs/big
          time cat bigfile bigfile bigfile bigfile bigfile > /hfs/big

          Вывод: в некоторых операциях vxfs быстрее, в остальных - не медленнее, устойчивее к выключению питания, но несколько больше съедает дискового пространства.
          HFS имеет смысл на статических "readonly" каталогах, например /usr - скорость чтения одинакова, а hfs компактнее.

    Linux. Запись директории на writable CDROM



          mkisofs -R -o image directory
          затем записать образ на cd-r командой cdrecord

    * Монтирование файловых систем * .


    Чтобы сделать "видимыми" файлы, лежащие на дисковом разделе, Unix использует команду mount. Mount "подцепляет" файловую систему к общему дереву файлов. При монтировании нужно указать "точку монтажа" - каталог, к которому "подцепляется" наша новая файловая система. Например:

          mount -F ufs /dev/dsk/m197_c0d0s8 /home1
    Чтобы посмотреть, какие файловые системы у нас смонтированы, выполните команду

          df
    Чтобы наши файловые системы монтировались, а swap области акти- визировались автоматически при каждой загрузке, необходимо вставить соответствующие строки в файл /etc/vfstab . Формат строчек можно посмотреть в этом же файле.

    MOTOROLA: Монтирование CD-ROM.


    Если на CDROM'е записана файловая система формата "ufs" - т.е. это "родной", моторольный cdrom, то монтировать его нужно по тем же правилам, что и обычный жесткий диск, только "read only"

          mount -F ufs -r /dev/dsk/m197_c0d6s0 /cdrom
    Если же это обычный "game'овый" диск для MSDOS'а, а точнее, CDROM стандартного формата iso9660, то монтировать его надо так:

          mount -F cdfs -o ro /dev/dsk/m197_c0d6s7 /cdrom
    (использование ключей -r и -o ro - равнозначно)

    Отмонтирование файловых систем.



          umount /home1

    * Изменение параметров fs *


    Sun: tunefs Linux: tune2fs HP-UX: fsadm

    * Bad-блоки * .



          Симптомы достаточно красноречивы: заметные задержки при доступе к диску (из-за retrying'a), и на консоль сыплются страшные сообщения "Bad media", "Read failure"... "при доступе к блоку такому-то".
          Запишите номера bad-блоков - их можно "подлечить".

    Фирменные операционки: лечится, но с трудом-с



          Современные SCSI адаптеры сами заменяют bad-блоки. Если засекли бад-блоцк, пропишите по нему (или файлу с ним) нули, адаптер заодно и пропишет, и подменит, и навсегда спрячет его, и он больше не покажется.

    Motorola: Bad-блоки



          Рекомендую ознакомиться с документацией - раздел "Bad blocks" в Томе "Disks and Tapes Managment"

          см. также man по ddefs, mvme328, scsi1x7, dinit, ...

          Надеюсь при описании геометрии диска командой ddefs вы не поскупились указать число "Bad spots" больше нуля. Замещение бад-блоков выполняется все той же командой dinit
    dinit -n dskdeffilename /dev/rdsk/m187_c0d107
          -n номера bad-блоков вводятся с клавиатуры
    dinit -t bad-list dskdeffilename /dev/rdsk/m187_c0d107
          -t bad-list файл со списком bad-блоков

          Как протестировать диск на бад-блоки? У dinit есть ключ
          -v 1 - verify with pattern

    Linux: Bad-блоки



          Linux'овский fsck с ключом "-c" умеет сам находить и лечить от bad-блоков (они собираются в отдельный "bad" inode)

          # -y yes на все вопросы, -f force checking, -c bad-blocks
          e2fsck -c -y -f /dev/hda3

    * Диагностика оборудования *


    MOTOROLA: Утилита тестирования оборудования GOLD



          Для тестирования и диагностики оборудования станции Motorola 922 можно воспользоваться утилитой gold. Она имеет систему меню, очень похожую на систему меню утилиты sysadm.

    SUN: Утилита тестирования оборудования sundiag



          Sundiag - многофункциональная утилита тестирования оборудования на Sun

    Unix для PC



          Да чего там выпендриваться. Грузитесь в MSDOS и там тестируйте железо всем, чем пожелаете.


    Linux: изменение размеров NTFS-раздела


    скачать и установить с linux-ntfs.sourceforge.org пакет ntfsprogs
    ntfsresize -i /dev/hda9 # посмотреть статус и возможности
    # тест возможности обрезать раздел под 15000 Мегабайт ntfsresize -n -s 15000M /dev/hda9
    umount /dev/hda9
    ntfsresize -s 15000M /dev/hda9 # обрезать по настоящему
    Командой fdisk /dev/hda удалить, затем вновь создать партицию /dev/hda9 размером 15000M partition id 7 (NTFS)
    После перезагрузки отчекать файловую систему NTFS.

    Linux: опрос состояния IDE-диска



          smartctl -a /dev/hda


    Home | UK Shop Center |Contact | Buy Domain | Directory | Web Hosting | Resell Domains


    Copyleft 2005 ruslib.us