Обновление системы
Установив однажды Plan 9 вам, возможно, захочется поддерживать вашу систему в обновленном состоянии относительно изменений, которые делаются в лабораториях. Предполагается, что вы владеете скромный сетевым доступом, тогда самый легкий путь обновления системы — это открытие эккаунта обновлений и использование replica/pull.
Чтобы открыть новый эккаунт на сервере обновлений, следуйте инструкциям на странице:
http://plan9.bell-labs.com/plan9dist/newaccount.html
Здесь вас попросят ответить на вопрос поддерживаете ли вы лицензию Plan 9 (на условиях которой распространяется как дистрибутив системы, так и обновления) и ознакомились ли вы с положениями относительно экспорта ПО и пр., затем введите ваш логин и пароль для доступа к исходным текстам обновлений. Если вы сделали все правильно, то для вас будет создан эккаунт в домене outside.plan9.bell-labs.com. (Вы можете добавить ваш логин и пароль в factotum (proto=p9sk1) или же вводить их каждый раз после подсказки replica/pull.) На следующей странице вам представят листинг сценария оболочки для обновления файловой системы kfs, после запуска которого вы можете выполнять главные команды.
disk/kfscmd allow replica/pull -v /dist/replica/network disk/kfscmd disallow
Теперь коротко о каждой из команд:
- Устанавливает режим игнорирования проверки прав доступа файловой системы kfs, который позволяет обновлять все что угодно;
- Обновляет ваши исполняемые файлы и их исходный код в соответствии с текущим состоянием сервера sources.bell-labs.com;
- Выход из режима игнорирования прав доступа.
Опция -v команды replica/pull выдает информацию о текущих действиях. Она полезна, если вы хотите наблюдать какой именно файл в данный момент обновляется, но у нее есть один недостаток: она может выводить очень большое количество информации, так что ее следует запускать со включенной прокруткой окна, или совсем опускать эту опцию.
Заметьте также, что replica/pull не перезаписывает локальные изменения, при этом происходят конфликты флагов с сообщениями об ошибках, так что вы можете разрешать их исполнение вручную.
9P соединяется с TCP портами 564 (9fs) и 567 (удостоверение) на сервере. Если вы работаете за брандмауэром, убедитесь, что вы соединяетесь с указанными портами.
Если при соединении у вас возникли проблемы, утилита authchk очень полезна для их диагностики. Ее можно найти по адресу: http://www.acl.lanl.gov/plan9/sprogs/.
Чтобы получить доступ к исходным текстам и дополнительному ПО, введите:
9fs sources ls /n/sources
В случае, если вы не владеете сетевым соединением Plan 9, то можете всегда получить ночной снимок исходных текстов в виде iso-образа на странице дополнительного ПО. Скачайте plan9-new.iso и подмонтируйте его в /n/dist вот так:
mount /srv/9660 /n/dist /n/kfs/dist/plan9-new.iso
Обновление оригинальной 4-ой версии Plan 9
Когда была выпущена 4-ая версия Plan 9, в ней еще не было программы replica/pull. Перед обновлением системы в первый раз следует выполнить несколько незначительных изменений.
Добавьте следующую строку в файлы /net/ndb и /lib/ndb/local:
auth=sources.cs.bell-labs.com authdom=outside.plan9.bell-labs.com
Сценарий /dist/replica/network должен иметь такой вид:
#!/bin/rc s=/n/dist/dist/replica serverroot=/n/dist serverlog=$s/plan9.log serverproto=$s/plan9.proto fn servermount { srv tcp!sources.cs.bell-labs.com sources /n/sources bind /n/sources/plan9 /n/dist } fn serverupdate { status='' } fn clientmount { 9fs kfs } c=/n/kfs/dist/replica clientroot=/n/kfs clientdb=$c/client/plan9.db clientexclude=(dist/replica/client) clientlog=$c/client/plan9.log applyopt=(-u -T$c/client/plan9.time)
После редактирования сетевой базы данных перезагрузите систему или выполните команду:
echo -n refresh >/net/cs
Если вы получите сообщения об ошибках, связанных с аутентификацией, попробуйте запустить auth/factotum перед replica/pull, чтобы получить приглашение к вводу логина и пароля эккауна обновлений.
Комментарии
- В своем письме http://groups.google.com/groups?selm=c05edee8cfcf7f0481e8e8a084278ed8%40plan9.bell-labs.com&output=gplain Расс Кокс (Russ Cox) отмечает, что ночной снимок делается в 05:00 США, что отвечает 5 (зимнего) или 4 (летнего времени) часам по Гринвичу. Обычно процедура занимает около часа, но иногда может затягиваться и на 4 часа.
- 19 декабря 2002 года — обновление CPU/аут/kfs сервера: теперь по-умолчанию
factotum на CPU серверах не запрашивает ввода дополнительных ключей,
так как обычно никто не сидит за консолью для их непосредственного ввода.
Таким образом, вам необходимо загружать factotum со всеми ключами
или же загружать новый:
auth/factotum 9fs sources
echo 'key proto=p9sk1 user=bozo !password=not.telling dom=outside.plan9.bell-labs.com' >/mnt/factotum/ctl
Если у вас возникли какие-то проблемы, пишите по адресу 9trouble@plan9.bell-labs.com, и как всегда, не забывайте смотреть в 9fans за новостями, в частности, объявления о больших обновлениях иногда публикуются заранее.
Copyright © 2003 Перевод Андрей С. Кухар. Последняя модификация 22.08.2003