G3M8Z

    В художественной литературе повторение одного и того же 
    слова в пределах абзаца -- признак плохого стиля.
    Ищите синонимы, избегайте вложенных циклов for:

      #include<stdio.h>
      #define N 5
      void main(){
      for(int x=0,y=N;x<N;y=N,x++)while(y)printf("%d %d\n",x,N-y--);}

Как возникла операционная система Unix?
---------------------------------------

..Переселившись с равнины в пещеру, у Охотника возникла новая проблема: нужно было повалить мамонта, и одновременно не допустить того, чтобы огонь в очаге погас (в пещере было значительно холоднее, кроме того жителям этой коммуналки теплая вареная мамонтятина казалась вкуснее запасенного впрок мороженого.. сырого мяса*0)

Задачка решалась "разделением труда" через доверие к однокашникам. Затем еще 100.000 лет люди развивали свое общество идя придуманным Охотником путем. Женщины рожали и воспитывали все новых детей, площадь же суши Земли оставалась константной. Потребовались новые изобретения:

  -- воинская повинность -- одна соломинка ломается тремя пальцами,
                            веник не сломать и обеими руками.
  -- материнское право.
  -- римское право.
  -- презумпция невиновности.
  -- как юзать страх перед неизвестным.
  
Дешевые носители данных и наличие глобальной компьютерной сети внесли свои изменения во многие стороны жизни: от воспитания детей (лицом к стене!, а там.. "умные" обои с подключением в интернет, можно залезть в чат :]), до методов ведения следствия (от сбора информации на подозреваемого с момента появления "версии", до непрерывного мониторинга каждого жителя планеты с момента рождения (2050?)).

И причем тут UNIX? Есть сказки про говорящих динозавров, разумную Землю по имени Гея.. Нынче вся электроника -- это Unix (смартофоны, интернет вещей, роботы -- гуманоидные и не очень (пылесосы), не говоря уже о компьютерах). Так почему бы не пойти дальше :]? (ОС Plan 9 от создателей UNIX, перепрошивка мозгов -- "Plan 9 from outer space", 1959).

Замечания

  + Для связи по uucp, cимулятор pdp11 запускать 
    в виртуальной машине Hackitano
  + ^E -- выход из симуляции на уровень simh
  + simh> quit -- выход из simh

Задача 1.

  +-------+
  |  @    |
  |     * |
  |       |
  +-------+
 
Построить из исходников "Стар Трек" в стиле "Демос" для Unix V.6, 1976, SIMH (@ -- суперкомандер бежал). За основу взять [3]

Задача 2.

Организовать обмен данных с Unix машиной по UUCP [4][5].

--------

Выполнение Unix v5 на SIMH
Перевод с английского.
-----------------------

  http://gunkies.org/wiki/Running_Unix_v5_in_SIMH
      
Версия 5 существует только как образ диска rk05, так что весьма просто заставить ее работать.

Прежде всего Вам понадобится образ диска, его можно взять на любом зеркале TUHS. Прямая ссылка на файл здесь:

  http://ftp.math.utah.edu/pub///mirrors/minnie.tuhs.org/PDP-11
  /Distributions/research/Dennis_v5/v5root.gz

boot.ini

  set cpu 11/45
  att rk0 v5root
  boot rk0

Процесс загрузки выглядит как-то так:

  PDP-11 simulator V3.8-1
  Disabling XQ
  @unix

  ;login: root
  #

Вы должны сказать загрузчику, чтобы он загрузил ядро unix.
У рута (root) нет никакого пароля.
 

Инсталляция Unix v6 (PDP-11) на SIMH
Перевод с английского.
------------------------------------

  http://gunkies.org/wiki/Installing_Unix_v6_%28PDP-11%29_on_SIMH

Я собираюсь попытаться описать процедуру установки, используемую Тимом Нюшемом для Unix v6 на PDP-11/40.
Примечание: Комментарии в конце строки вида:

   [## Комментарий]

просто, чтобы сказать вам, что делать, когда есть неопределенность; пожалуйста, не вводите их в буквальном смысле !.

Содержание
----------

  1 материалы
  2 загрузка c ленты
  3 доинсталляция на диске
     3.1 Загрузка в однопользовательский режим
     3.2 Перенастройка терминала
     3.3 Сборка ядра
     3.4 Строим файлы устройств
     3.5 Восстановление остальной части ОС
     3.6 Конфигурация boot
     3.7 Перекомпиляция команды df
     3.8 Проверка файловых систем
     3.9 Разрешить multiser
     3.A Перезагрузка
  4 Работа в нормальном режиме
  
Материалы
---------

Предполагается, что имеются в наличии:
  -- симулятор SIMH версии 3.8-1 или выше
  -- лента с Unix v6: Unix-v6-Ken-Wellsch.tap

  http://sourceforge.net/projects/bsd42/files/Install%20tapes
        /Research%20Unix/Unix-v6-Ken-Wellsch.tap.bz2/download
        
Загрузка c ленты
----------------

Здесь мы загружаем загрузочный блок и корневой раздел в файл дискового устройства rk

Сперва, приведем содержимое tboot.ini файла. Удалите комментарии для запуска на более свежих билдах SIMH.

  set cpu 11/40
  set tm0 locked
  attach tm0 dist.tap
  attach rk0 rk0
  attach rk1 rk1
  attach rk2 rk2
  d cpu 100000 012700        ; mov #172526,R0
  d cpu 100002 172526
  d cpu 100004 010040        ; mov R0,-(R0)
  d cpu 100006 012740        ; mov #60003,-(R0)
  d cpu 100010 060003
  d cpu 100012 000777        ; br 100012
  g 100000

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

Введите:

  g 0

И отдельная программа будет готова ответить. Вот моя сессия по установке ОС:

  PDP-11 simulator V3.8-1
  sim> set cpu 11/40
  Disabling XQ
  sim> set tm0 locked
  sim> attach tm0 dist.tap
  sim> attach rk0 rk0
  RK: creating new file
  sim> attach rk1 rk1
  RK: creating new file
  sim> attach rk2 rk2
  RK: creating new file
  sim> d cpu 100000 012700
  sim> d cpu 100002 172526
  sim> d cpu 100004 010040
  sim> d cpu 100006 012740
  sim> d cpu 100010 060003
  sim> d cpu 100012 000777
  sim> g 100000

  Simulation stopped, PC: 100012 (BR 100012)
  sim> g 0
  =tmrk
  disk offset
  0
  tape offset
  100
  count
  1
  =tmrk
  disk offset
  1
  tape offset
  101
  count
  3999
  =                      [## Hit CTRL-E here]
  Simulation stopped, PC: 137300 (BGE 137274)
  sim> q
  Goodbye

Доинсталляция на диске
----------------------

Вот наш dboot.ini файл для загрузки с жесткого диска:

  set cpu 11/40
  set tto 7b
  set tm0 locked
  attach tm0 dist.tap
  attach rk0 rk0
  attach rk1 rk1
  attach rk2 rk2
  dep system sr 173030
  boot rk0

Загружаемся в однопользовательский режим
----------------------------------------

И это будет загружать нас до bootloader'а, которому мы просто скажем  загрузить ядро 'unix'.

  PDP-11 simulator V3.8-1
  sim> set cpu 11/40
  Disabling XQ
  sim> set tto 7b
  sim> set tm0 locked
  sim> attach tm0 dist.tap
  sim> attach rk0 rk0
  sim> attach rk1 rk1
  sim> attach rk2 rk2
  sim> dep system sr 173030
  sim> boot rk0
  @rkunix
  mem = 1030
  RESTRICTED RIGHTS

  Use, duplication or disclosure is subject to
  restrictions stated in Contract with Western
  Electric Company, Inc.
  #

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

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

  # STTY -LCASE

Сборка ядра
-----------

Мы собираемся пересобрать ядро, чтобы включить поддержку соответствующего оборудования, которое обеспечивается симулятором SIMH. Во-первых, мы должны построить программу mkconf

  chdir /usr/sys/conf
  cc mkconf.c
  mv a.out mkconf

Скормим основной конфигурационный файл построенной программе mkconf. Для этого просто запустите mkconf, затем введите список устройств, которые мы хотим.

  rk
  tm
  tc
  8dc
  lp
  done

И вы получите следующее:

  # ./mkconf
  rk
  tm
  tc
  8dc
  lp
  done
  #

Теперь мы можем скомпилировать config, и прилинковать к остальной части ядра, и скопировать его в корневой каталог.

  as m40.s
  mv a.out m40.o
  cc -c c.c
  as l.s
  ld -x a.out m40.o c.o ../lib1 ../lib2
  mv a.out /unix

для проверки: наше ядро должно быть размером 30kb.

  # ls -l /unix
  -rwxrwxrwx  1 root    30346 Oct 10 12:43 /unix

Строим файлы устройств
----------------------

Теперь мы будем строить файлы устройств. Просто copy-paste.

  /etc/mknod /dev/rk0 b 0 0
  /etc/mknod /dev/rk1 b 0 1
  /etc/mknod /dev/rk2 b 0 2
  /etc/mknod /dev/mt0 b 3 0
  /etc/mknod /dev/tap0 b 4 0
  /etc/mknod /dev/rrk0 c 9 0
  /etc/mknod /dev/rrk1 c 9 1
  /etc/mknod /dev/rrk2 c 9 2
  /etc/mknod /dev/rmt0 c 12 0
  /etc/mknod /dev/lp0 c 2 0
  /etc/mknod /dev/tty0 c 3 0
  /etc/mknod /dev/tty1 c 3 1
  /etc/mknod /dev/tty2 c 3 2
  /etc/mknod /dev/tty3 c 3 3
  /etc/mknod /dev/tty4 c 3 4
  /etc/mknod /dev/tty5 c 3 5
  /etc/mknod /dev/tty6 c 3 6
  /etc/mknod /dev/tty7 c 3 7
  chmod 640 /dev/*rk*
  chmod 640 /dev/*mt*
  chmod 640 /dev/*tap*

Восстановление остальной части ОС
---------------------------------

  dd if=/dev/mt0 of=/dev/rk1 count=4000 skip=4100
  /etc/mount /dev/rk1 /usr/source
  dd if=/dev/mt0 of=/dev/rk2 count=4000 skip=8100
  mkdir /usr/doc

Конфигурация boot
-----------------

Я просто использую cat, чтобы добавить операторы загрузки для других дисков.

  /etc/mount /dev/rk1 /usr/source
  /etc/mount /dev/rk2 /usr/doc

И я дополняю файл следующим образом:

  # cat >> /etc/rc
  /etc/mount /dev/rk1 /usr/source
  /etc/mount /dev/rk2 /usr/doc

теперь нажмите  CTRL+D

Перекомпиляция команды df
-------------------------

Чтобы сконфигурировать df:

  # chdir /usr/source/s1
  # ed df.c
  /rp0/d
  .-2a
    "/dev/rk0",
    "/dev/rk1",
  .
  w
  q
  # cc -s -O df.c
  # cp a.out /bin/df
  # rm a.out

Проверка файловых систем
------------------------

fsck не существовало тогда.. Так что мы запускаем icheck/dcheck.

  icheck /dev/rrk0
  dcheck /dev/rrk0
  icheck /dev/rrk1
  dcheck /dev/rrk1
  icheck /dev/rrk2
  dcheck /dev/rrk2

Разрешить multiser
------------------

по умолчанию файл /etc/ttys не прослушивает последовательные порты, так что мы изменим эту ситуацию просто редактируя файл..

  # ed /etc/ttys
  1,8s/^0/1/p
  w
  q
  # 

Перезагрузка
------------

Там нет команды перезагрузки, так что выполните sync несколько раз, а затем нажмите Ctrl+E, чтобы прервать выполнение и выйти из симулятора.

  # sync
  # sync
  # sync
  # sync
  #                               [## Hit CTRL-E here]
  Simulation stopped, PC: 002502 (MOV (SP)+,177776)
  sim> q
  Goodbye

  C:\temp\v6\myv6>

Обычный режим работы
--------------------

С инсталляцией сделано все, давайте использовать следующий INI-файл для обычных операций.

  set cpu 11/40
  set cpu idle
  set tto 7b
  set tm0 locked
  attach rk0 rk0
  attach rk1 rk1
  attach rk2 rk2
  attach lpt printer.txt
  set dci en
  set dci lines=8
  set dco 7b
  att dci 5555
  boot rk0

Когда мы запустим симулятор мы можем прикрепиться к TCP-порту 5555 для дополнительных пользователей. Для загрузки UNIX, нужно просто передать имя unix загрузчику (bootloader).

  PDP-11 simulator V3.8-1
  Disabling XQ
  Listening on port 5555 (socket 108)
  @unix

  login: root
  #

Стоит также отметить, что у root пользователя нет пароля.


UNIX V7 на SIMH
---------------

  https://sites.google.com/site/jamestownson/unix-7-on-simh
  
macbook:UNIX james$ SIMH/simhv38-0/BIN/pdp11

  PDP-11 simulator V3.8-0
  sim> set cpu u18
  Disabling XQ
  sim> set cpu idle
  sim> set tto 7b
  sim> attach rl unix_v7_rl.dsk
  sim> boot rl
  @boot
  New Boot, known devices are hp ht rk rl rp tm vt 
  : rl(0,0)rl2unix
  mem = 177856
  # cat /etc/passwd
  root:VwL97VCAx1Qhs:0:1::/:
  daemon:x:1:1::/:
  sys::2:2::/usr/sys:
  bin::3:3::/bin:
  uucp::4:4::/usr/lib/uucp:/usr/lib/uucico
  dmr::7:3::/usr/dmr:
  # mkdir /usr/dmr
  # chown dmr /usr/dmr
  # chgrp 3 /usr/dmr
  # mkdir /tmp
  # chmod 777 /tmp
  # ^D
  # Restricted rights: Use, duplication, or disclosure
  is subject to restrictions stated in your contract with
  Western Electric Company, Inc.
  Thu Sep 22 07:05:57 EDT 1988

  login: dmr
  $ pwd

  $ cat > .profile
  stty erase '^H'
  stty kill '^C'
  ^D
  $ ^D

  login: dmr
  ...

  $ ^E
  Simulation stopped, PC: 002306 (MOV (SP)+,177776)

Реальный живой 20-летний Unix!


[SIMH-PDP11] UNIX V7 и UUCP на Linux (2)
автоперевод с японского
----------------------------------------

  http://pcmemo.take-uma.net/unixv7/unixv7_uucp1
  
Если вы хотите принести файл с ОС хоста Linux на UNIX V7 и вы работаете в SIMH, Каждый раз делать изображение ленты хлопотно, на этот раз я хотел бы иметь возможность передавать файлы по UUCP.

В эру UNIX V7 протокола TCP/IP еще не существовало. UUCP это кажется тот способ связи, который использовался до подключения к Интернету по протоколу TCP/IP (обобщение UUCP). UNIX V7 содержит программы, необходимые для перемещения с помощью UUCP по умолчанию. Я прочитал  статьи UUCP, на этот раз, я думаю попробовать.

В эпоху UUCP, кажется, соединение компьютеров друг с другом осуществлялось с помощью дозвона по телефонной линии. Тем не менее, в симуляторе SIMH для PDP-11 нет устройств поддержки подключения к удаленному компьютеру, таких, как дозвона. Таким образом, на этот раз UNIX V7 из SIMH является только входящим, попробуйте со стороны Linux принимающей ОС идти связать вынуждены UNIX V7 в UUCP Over TCP/IP. Соперник Это метод, пригодный исключительно для эмулятора. Это ересь, ясное дело, ну да ладно.

К сожалению, UUCP соединения по тому, как UNIX V7 была оставлена, потому что нет никакой передачи для устройства.

Входящее только и не означает, что он не может отправить файл на Linux от UNIX V7 сказать, он может теперь также быть отправлены файлы Linux, которые накопились в очереди, когда происходит соединение с Linux от UNIX V7.

<UNIX V7 сторона Настройки>
---------------------------

Прежде всего, в качестве предварительного условия, то эта статья должна быть с внешней стороны, чтобы иметь возможность Telnet к процедуре, написанной в. (Если вы использовали DC11 подтвердил только таким образом, которые используют .DZ11 не общались хорошо)

Когда вы будете готовы к подключению телнет делают сторону UNIX V7 входящего набора с помощью следующей процедуры.

Настройка пользователя UUCP
---------------------------

В связи с UUCP, программа под названием uucico на стороне Linux является автоматическое Telnet в системе UNIX V7, вы должны войти в систему с пользователем UUCP. Для того, чтобы отправлять и получать файлы во время разговора с вами, если uucico пользователем UUCP оболочки еще в uucico, он будет в форме.

UNIX V7 был есть UUCP пользователя по умолчанию, но вы немного переделок. Во-первых, установить пароли пользователя UUCP.

  # passwd uucp
  New password: uucp
  Retype new password:
  #

Кроме того, /etc/password был установлен uucico как путь оболочки по умолчанию, но вы исправить, потому что путь реально и в шахматном порядке.

  # ed /etc/passwd
  154
  5
  uucp:y/Rxa0fP2UtmA:4:4::/usr/lib/uucp:/usr/lib/uucico
  5s/uucico/uucp\/uucico/
  5
  uucp:y/Rxa0fP2UtmA:4:4::/usr/lib/uucp:/usr/lib/uucp/uucico
  w
  159
  q
  # 

Создание каталога spool
-----------------------

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

  # mkdir /usr/spool/uucp
  # chown uucp /usr/spool/uucp

Следует отметить, что для того, чтобы изменить путь к каталогу золотника вам нужно будет восстановить программы UUCP, связанные с модификацией /usr/src/cmd/uucp/uucp.h. Она не делает так хлопотно на этот раз.

Определение удаленного сайта
----------------------------

файлы конфигурации UUCP связанные расположены в / USR / Lib / UUCP. Добавьте следующую строку к отдельным L.sys, сделать определение хостов Linux, которые подключаются к.

  centos6 Any tty00 9600 tty00 login uucp assword: uucp
  
Самое левое положение "centos6" это имя удаленного сайта.

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

После того, как представляется, ощущение того, что, общаться со скоростью 9600 бод, используя tty00. Кроме того Войти ~ за те настройки, которые вы будете нуждаться, когда вы идете соединиться с UNIX V7 к другой машине. В частности, UUCP отправки При получении строки входа в систему, assword: отправить UUCP Когда вы получаете строку, это, кажется, ощущение того, что. Короче говоря, это последовательность Логин для подключения к другой стороне. На этот раз UNIX V7 сторона входящие только и непосредственно Paku 'настройки от оригинала в L.sys.

определение прав доступа удаленного пользователя
------------------------------------------------

Далее следуют / USR / Lib / UUCP / UserFile редактировать и установить права доступа со стороны Linux пользователя. Только пользователи Linux, которые определены в этом файле будет иметь возможность отправить файл в UNIX V7. Упомянутый здесь, "пользователь Linux" относится к пользователю, который пытается отправить файл в UNIX V7 в команде UUCP. На данный момент, вы можете добавить следующую строку.
  
  user,centos6 /
  
Если вы, то это будет что пользователь пользователь на удаленном сайте centos6 можно получить в любом месте в каталоге /. пользователь, пожалуйста, внесите необходимые изменения в режиме реального пользователя. В реальной работе я думаю, что не это опасно установка, но, ну, ты и соглашайтесь, потому что только на этот раз попробовать.
Однако, поскольку этот процесс является пользователем UUCP из UNIX V7, вы не должны быть в состоянии читать и писать, где пользователь UUCP не может получить доступ.

проверка работы
---------------

Операция Убедитесь После того, как вы настроили здесь.

Чтобы подключиться к UNIX V7, а затем войти с пользователем UUCP. В этом случае вместо программы терминала Linux GNOME и KDE, такие как Windows, из TeraTerm, то лучше быть связано с внешней стороны. (Причина описана ниже).

Connected to the PDP-11 simulator DZ device, line 0

  login: uucp
  Password: uucp
  Shere           чтобы увидеть, если отображается это

Если это "Shere" появляется, введите следующим образом.

  (Ctrl+P)Scentos6(Ctrl+Space)

Это означает, что источник подключения названия сайта является centos6. Введите этот

  ROKPg

Вы не можете связаться, если оно появится. Это соединение разрешено общаться с г протоколом, то это означает, что.
 
Вот, это Linux GNOME и KDE, может Ctrl+Space был назначен на японский вход, операция не может быть подтверждено также в том, что это его. Так как каждый раз, когда проблема также изменить настройку, чтобы попытаться с внешней стороны это удобно.

В конце

  (Ctrl+P)(Ctrl+H)(Ctrl+Space)

Связь отключается, и печатать.

Установка SIMH файла запуска
----------------------------

После того, чтобы положить конец UNIX V7, чтобы изменить файлы.

  set dz 8b lines=32    # 7b и 8b

Топ-бит во время сеанса связи путем изменения 7b и 8b удержит от того, ясно. Тем не менее, он будет искажен при попытке подключиться извне происходит в Telnet.

Так как чем дольше мы здесь один раз отрежь. Следующим шагом будет писать о настройке на стороне Linux.
  
  
[SIMH-PDP11] UNIX V7 и UUCP на Linux (2)
перевод с японского
----------------------------------------

  http://pcmemo.take-uma.net/unixv7/unixv7_uucp2
  
Обмен данными по UUCP. В предыдущей статье были показаны настройки на стороне UNIX V7, на этот рассматривается конфигурирование UUCP в Linux CentOS6. 

Настройки исходящий стороны (Linux) по Тейлору*7.

Если включить внешний репозиторий EPEL, я смогу установить UUCP yum командой, но на этот раз я пытался построить из исходных текстов самостоятельно, написана процедура.

UUCP исходный код будет загружен со следующего URL.

  http://airs.com/ian/uucp.htm
  
Нажмите здесь, чтобы получить доступ и скачать по ссылке исходный код UUCP.

  ftp://ftp.gnu.org/pub/gnu/uucp/uucp-1.07.tar.gz

Как построить UUCP
------------------

Раcпаковать загруженный UUCP-1.07.tar.gz

  linux$ tar zxvf uucp-1.07.tar.gz
  linux$ cd uucp-1.07
  linux$ vi policy.h

Редактировать policy.h.

  /* If you use other programs that also lock devices, such as cu or
     uugetty, the other programs and UUCP must agree on whether a device
     is locked.  This is typically done by creating a lock file in a
     specific directory; the lock files are generally named
     LCK..something or LK.something.  If the LOCKDIR macro is defined,
     these lock files will be placed in the named directory; otherwise
     they will be placed in the default spool directory.  On some HDB
     systems the lock files are placed in /etc/locks.  On some they are
     placed in /usr/spool/locks.  On the NeXT they are placed in
     /usr/spool/uucp/LCK.  */
  /* #define LOCKDIR "/usr/spool/uucp" */
  #define LOCKDIR "/var/spool/uucp"   /* Добавьте эту строку */
  /* #define LOCKDIR "/etc/locks"        ~~~~~~~~~~~~~~~~~~~ */
  /* #define LOCKDIR "/usr/spool/locks" */
  /* #define LOCKDIR "/usr/spool/uucp/LCK" */
  /* #define LOCKDIR "/var/spool/lock" */
  /* #define LOCKDIR "/var/lock" */

После редактирования policy.h, построить UUCP

  linux$ ./configure --prefix=/usr/local
  linux$ make
  linux$ sudo make install

настройки UUCP
--------------

Создать каталог /usr/local/conf/uucp чтобы скопировать туда файлы из каталога примеров. Затем перейти в указанную папку /usr/local/conf/uucp.

  linux$ sudo mkdir /usr/local/conf/uucp
  linux$ sudo cp samples/* /usr/local/conf/uucp/
  linux$ cd /usr/local/conf/uucp
  
Затем для файла, который вы скопировали, нужно отредактировать конфигурационный файл.

Во-первых, вы определяете имя сайта, искать предметы, которые NodeName. На этот раз вы centos6. Кроме того, она переписывается всем /var/spool, поскольку каталог очереди печати по умолчанию находится в /usr/spool. Ниже показан diff правок.

  linux$ diff -u ./sample/config /usr/local/conf/uucp/config 
  --- ./sample/config 2003-05-29 15:08:48.000000000 +0900
  +++ /usr/local/conf/uucp/config 2014-03-05 00:04:24.494808788 +0900
  @@ -20,12 +20,14 @@
   # you want to use, you do not need to set the name in this file.
   # Otherwise uncomment and edit the following line.
   # nodename uucp                # The UUCP name of this system
  +nodename centos6               # The UUCP name of this system
    
   # The default spool directory is set in policy.h (the default is
   # /usr/spool/uucp).  All UUCP jobs and status information are kept
   # in the spool directory.  If you wish to change it, use the spool
   # command.
   # spool /usr/spool/uucp            # The UUCP spool directory
  +spool /var/spool/uucp          # The UUCP spool directory
    
   # The default public directory is set in policy.h (the default is
   # /usr/spool/uucppublic).  Remote systems may refer to a file in this
  @@ -34,6 +36,7 @@
   # of.  If you wish to change the public directory, use the pubdir
   # command.
   # pubdir /usr/spool/uucppublic     # The UUCP public directory
  +pubdir /var/spool/uucppublic       # The UUCP public directory
    
   # The names of the UUCP log files are set in policy.h.  The default
   # names depend on the logging option you have chosen.  If
  @@ -43,8 +46,11 @@
   # /usr/spool/uucp/Debug.  These file names may be set by the
   # following commands.
   # logfile /usr/spool/uucp/Log      # The UUCP log file
  +logfile /var/spool/uucp/Log        # The UUCP log file
   # statfile /usr/spool/uucp/Stats   # The UUCP statistics file
  +statfile /var/spool/uucp/Stats # The UUCP statistics file
   # debugfile /usr/spool/uucp/Debug  # The UUCP debugging file
  +debugfile /var/spool/uucp/Debug    # The UUCP debugging file
    
   # uuxqt is the program which executes UUCP requests from other
   # systems.  Normally one is started after each run of uucico, the
  linux$ 

Затем создайте файл с содержимым следующей именем SYS.

  call-login *
  call-password *
  local-send /
  remote-send /
  local-receive /
  remote-receive /
  time any
  system unixv7
  port TCP
  address 127.0.0.1
  protocol g

Это также без каких-либо соображений по поводу безопасности.

Затем название сайта назначения, когда вы идете для подключения к UNIX V7 для вызова файла, имя пользователя, а затем задать пароль. Добавьте следующую строку.

  # строку, вы установили пароль в качестве UUCP пользователя в UNIX V7 стороне в предыдущей статье
  unixv7 uucp !uucp 

Затем откройте файл порта, добавьте следующее описание.

  port TCP
  type tcp
  service 4096　← UNIX V7 # Укажите номер порта, если подключение к Telnet.

Создание каталога spool
-----------------------

Кроме того, в стороне ОС Linux нужно создать буферный каталог для UUCP.

  linux$ su -
  linux# mkdir /var/spool/uucp
  linux# mkdir /var/spool/uucppublic
  linux# chown uucp:uucp /var/spool/uucp
  linux# chown uucp:uucp /var/spool/uucppublic

Проверьте настройки
-------------------

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

  linux$ uuchk
  config file: /usr/local/conf/uucp/config
  sys file: /usr/local/conf/uucp/sys
  port file: /usr/local/conf/uucp/port
  dial file: /usr/local/conf/uucp/dial
  dialcode file: /usr/local/conf/uucp/dialcode
  passwd file: /usr/local/conf/uucp/passwd
  call file: /usr/local/conf/uucp/call
  Local node name centos6
  Spool directory /var/spool/uucp
  Public directory /var/spool/uucppublic
  Lock directory /var/spool/uucp
  Log file /var/spool/uucp/Log
  Statistics file /var/spool/uucp/Stats
  Debug file /var/spool/uucp/Debug
  Global debugging level 
  uucico -l will strip login names and passwords
  uucico will strip UUCP protocol commands
  Start uuxqt once per uucico invocation
   
  System: unixv7
   When called using any login name
   Call out using port TCP
   The possible ports are:
    Port name TCP
     Port type tcp
     TCP service 4096
     Characteristics: eight-bit-clean reliable end-to-end fullduplex
   Remote address 127.0.0.1
   Chat script "" \r\c ogin:-BREAK-ogin:-BREAK-ogin: \L word: \P
   Chat script timeout 10
   Chat script incoming bytes stripped to seven bits
   Login name uucp
   Password !uucp
   At any time may call if any work
   May retry the call up to 26 times
   May make local requests when calling
   May make local requests when called
   May send by local request: /
   May send by remote request: /
   May accept by local request: /
   May receive by remote request: /
   May execute rnews rmail
   Execution path /bin /usr/bin /usr/local/bin
   Will leave 50000 bytes available
   Public directory is /var/spool/uucppublic
   Will use protocols g

Копирование файлов с помощью команды UUCP (Linux > UNIX V7)
-----------------------------------------------------------

До этого момента вы сможете скопировать файл в UUCP команды устанавливается.
При копировании файла из Linux выглядит следующим образом.

  linux$ uucp /usr/local/conf/uucp/passwd 'unixv7!/tmp/passwd'

Копия будет отправлена на 'компьютер!имя_файла'.

Здесь вы можете скопировать файлы в UNIX V7 в UUCP команде, но необходимо соблюдать осторожность, чтобы копировать только пользователем, который определен в файле /usr/lib/uucp/USERFILE машины UNIX V7 (как я уже писал в предыдущей статье). Если вы запускаете UUCP пользователями, которые не определены, инструкция копирования игнорируется, а на стороне UNIX V7 в файле /usr/spool/uucp/LOGFILE появится вывод, такой, как следующий.

  linux$ uustat
  unixv7.NON1uU6AAFEC unixv7 user 03-09 00:11 Sending /usr/local/conf/uucp/passwd (936 bytes) to /tmp/passwd
  
Выход uustat команды будет пустым, когда передача завершена. Повторная попытка ожидания будет выводиться следующим образом: при взгляде на журнал UUCP командой uulog.

  linux$ uulog
  ..
  uucico unixv7 - (2014-03-09 00:19:14.25 19601) Retry time not reached

В этом случае, вы можете выполнить соединение немедленно, выполнив команду uucico вручную.

  linux$ uucico -S unixv7

Когда копирование прошло успешно, следующий вывод получается при запуске uulog команды.

  linux$ uulog
  ..
  uucico unixv7 - (2014-03-09 00:29:38.08 19677) Calling system unixv7 (port TCP)
  uucico unixv7 - (2014-03-09 00:29:39.53 19677) Login successful
  uucico unixv7 - (2014-03-09 00:29:39.69 19677) Handshake successful (protocol 'g' sending packet/window 64/3 receiving 64/7)
  uucico unixv7 user (2014-03-09 00:29:39.77 19677) Sending /usr/local/conf/uucp/passwd (936 bytes)

На стороне UNIX V7, появится запись /usr/spool/uucp/LOGFILES вроде следующей в выходных данных.

  uucp centos6 (3/6-23:32) REQUESTED (S /usr/local/conf/uucp/passwd /temp/passwd user)
  user centos6 (3/6-23:32) COPY (SUCCEEDED)

uucp Копирование файлов с помощью команды - (UNIX V7 > linux)
-------------------------------------------------------------

Даже если вы хотите скопировать файл из UNIX V7, вы используете один и тот же способ -- команды UUCP.

  unixv7# uucp /usr/src/games/quiz.c 'centos6!/tmp/quiz.c'

Тем не менее, это не представляется возможным. Чтобы подключиться к стороне Linux от UNIX V7, после выполнения команды UUCP на стороне UNIX V7, следует сделать соединение вручную для исполнения команды uucico, как описано выше со стороны Linux. Файлы, которые были накоплены в очереди UNIX V7 в этом случае будут приниматься на сторону Linux.

Когда передача прошла успешно, то такой, как следующий вывод виден в файле UNIX V7 /usr/spool/uucp/LOGFILE.

  root centos6 (3/6-22:56) REQUEST (S /usr/src/games/quiz.c /tmp/quiz.c root)
  root centos6 (3/6-22:56) REQUEST (SUCCEEDED)

С другой стороны, на стороне Linux, вы получите журнал, такой как следующий.

  uucico unixv7 - (2014-03-08 23:52:25.38 19303) Calling system unixv7 (port TCP)
  uucico unixv7 - (2014-03-08 23:52:25.59 19303) Login successful
  uucico unixv7 - (2014-03-08 23:52:25.72 19303) Handshake successful (protocol 'g' sending packet/window 64/3 receiving 64/7)
  uucico unixv7 root (2014-03-08 23:52:25.90 19303) Receiving /tmp/quiz.c
  uucico unixv7 - (2014-03-08 23:52:26.75 19303) Protocol 'g' packets: sent 5, resent 0, received 104
  uucico unixv7 - (2014-03-08 23:52:26.80 19303) Call complete (1 seconds 6339 bytes 6339 bps)

Руководство по использованию UUCP
---------------------------------

Только текстовые файлы могут быть отправлены по UUCP. Бинарные файлы будут посланы закодированные с UUENCODE, но в UNIX V7 нет uuencode и uudecode. Поэтому бинарный файл должен быть собран на месте из исходника.

Статьи по теме
--------------

  Попробуйте отправить почту на Linux из [SIMH-PDP11] UNIX V7
    http://pcmemo.take-uma.net/unixv7/unixv7_mail
  [SIMH-PDP11] UNIX V7 и UUCP в Linux (1)
    http://pcmemo.take-uma.net/unixv7/unixv7_uucp1
  Для того, чтобы установить дату вокруг [SIMH-PDP11] UNIX V7
    http://pcmemo.take-uma.net/unixv7/unixv7_date
  [SIMH-PDP11] часть2, чтобы иметь возможность TELNET извне к UNIX V7
    http://pcmemo.take-uma.net/unixv7/unixv7_dc
  Для того, чтобы иметь возможность TELNET от внешнего [SIMH-PDP11] UNIX V7
    http://pcmemo.take-uma.net/unixv7/unixv7_dz
  [SIMH-PDP11] UNIX V7 установить с кассетного изображения
    http://pcmemo.take-uma.net/unixv7/install-unixv7-2
  Чтобы установить [SIMH-PDP11] Версия 7 Unix
    http://pcmemo.take-uma.net/unixv7/install-v7-1
  Попробуйте установить SIMH
    http://pcmemo.take-uma.net/simh/install_simh


V7/x86 на VirtualBox. Краткое содержание
----------------------------------------

  http://www.nordier.com/articles/v7x86_vbox.html

Распаковать http://www.nordier.com/v7x86/releases/v7x86-0.8a-vm.zip

1. Создать машину 16МБ ОЗУ, диск v7x86.vmdk, шорткат на hd0.img, OS: Other, Other/Unknown

2. Загрузиться. Клавиша 'Enter' пустит вас в 'single-user mode'. Здесь можно проверить диски с помощью /etc/fsck. Чтобы продолжить в 'multi-user mode' нужно нажать ^D (Ctrl+d).

  login: guest
  password: отсутствует

Рутом можно стать подав команду 'su' пароль 'password'
Выход через ^D

Shutdown
--------

Рутом дать команду 'kill -1 1', затем несколько раз 'sync'. Теперь безопасно сделать VirtualBox -> Power Off.

--------

Ссылки

[0] http://www.laska.at/uploads/tx_laskaproducts
         /RU_LASKA_ИЗМЕЛЬЧИТЕЛИМОРОЖЕНОГОМЯСА.pdf
         
[1] Running Unix v5 in SIMH
      http://gunkies.org/wiki/Running_Unix_v5_in_SIMH
      
[2] Installing Unix v6 (PDP-11) on SIMH
      http://gunkies.org/wiki/Installing_Unix_v6_%28PDP-11%29_on_SIMH

[3] UNIX V7 on SIMH
      https://sites.google.com/site/jamestownson/unix-7-on-simh

[4] [simh-pdp11] UNIX V7 and UUCP in Linux (Японский язык)
      http://pcmemo.take-uma.net/unixv7/unixv7_uucp1

[5] [simh-pdp11] UNIX V7 and UUCP on Linux
      http://pcmemo.take-uma.net/unixv7/unixv7_uucp2

[6] V7/x86 - x86 port of UNIX V7 (games are in /usr/src/games)
      http://www.nordier.com/v7x86/
      
[7]. Taylor UUCP was written by Ian Lance Taylor.
     http://airs.com/ian/, http://airs.com/ian/uucp.html
