Комментарии к выпуску Debian GNU/Linux 2.2 (`potato'), SPARC ------------------------------------------------------------ Josip Rodin, Bob Hilliard, Adam Di Carlo, Anne Bezemer Тимур Саттаров Алексей Новодворский Павел Романченко Михаил Соболев $Id: release-notes.ru.sgml,v 1.18 2000/11/19 06:01:48 aph Exp $ ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- Содержание ---------- 1. Что нового в Debian GNU/Linux 2.2 1.1. Что нового в Системе установки? 1.2. Что нового в дистрибутиве? 2. Новая установка 3. Обновление предыдущих выпусков 3.1. Подробное описание изменений в системе 3.2. Необходимые действия до обновления 3.3. Процесс обновления ------------------------------------------------------------------------------- 1. Что нового в Debian GNU/Linux 2.2 ------------------------------------ [Последняя версия этого документа доступна как http://www.debian.org/releases/2.2/sparc/release-notes/. Если экземпляр документа, что вы читаете, был выпущен раньше, чем месяц назад, мы вам рекомендуем проверить не появилась ли новая версия.] Предыдущий выпуск Debian, Debian GNU/Linux 2.1, включает четыре официально поддерживаемые архитектуры: Intel x86 (``i386''), Motorola 680x0 (``m68k''), Alpha (``alpha''), и SPARC (``sparc''). В новом выпуске мы представляем две дополнительные архитектуры: PowerPC (``powerpc'') и ARM (``arm''). Подробную информацию о состоянии портов, а также дополнительную информацию о конкретных архитектурах вы можете найти на страницах по портированию Debian (http://www.debian.org/ports/sparc/). Debian GNU/Linux 2.2 для архитектуры SPARC поставляется ядро версии 2.2.19pre11. Серия ядер 2.2 -- это новое поколение ядер, предлагающих много полезных изменений как в самом ядре, так и в программах, основанных на этих свойствах ядра, а также большое количество новых драйверов и исправленных старых. 1.1. Что нового в Системе установки? ------------------------------------ Пакеты `boot-floppies' и `debian-cd' имеют несколько усовершенствований по сравнению с Debian 2.1. Они включают значительные изменения в установке сетевой поддержки, включая настройку с использованием DHCP. Нужно также отметить поддерживаемую на значительном количестве платформ установку с использованием консоли, подключенной к последовательному порту. Старые шаблоны и системы выбора задач были заменены на так называемые "мета-пакеты" (пакеты, чья задача состоит только в том, чтобы основываться на других пакетах) и интерфейс называемый `tasksel'. Это означает, что набор может быть использован в любое время, а не только во время установки, и может быть сохранен во время обновлений. Настройка после перезагрузки, которая, по обыкновению, была основана на группе командных файлов, написанных на shell'е, сейчас осуществляется с помощью пакета `base-config', который, в свою очередь, использует пакет `debconf'. Ожидается, что в следующем выпуске Debian пакет `debconf' будет основным интерфейсом для процессов установки и настройки. 1.2. Что нового в дистрибутиве? ------------------------------- Все поддерживаемые Debian архитектуры теперь основываются на новой библиотеке C от GNU версии 2.1.3. Хотя новая библиотека делает невозможным установку новых пакетов на предыдущих выпусках, она поддерживает старые пакеты, скомпилированные для glibc версии 2.0 из выпусков Debian GNU/Linux 2.1 и 2.0, и почти полностью совместима со старыми исходными текстами, написанными для старых библиотек. В этом выпуске многие базовые системные утилиты начали использовать PAM (Pluggable Authentication Modules -- Подключаемые модули аутентификации), которые дают системному администратору мощные инструменты контроля доступа в систему и авторизации в ней. PAM позволяет администрировать идентификацию в системе и управлять учетными записями из одной точки. Если вы хотите перенастроить вашу программу авторизации на иную схему (например OPIE, Kerberos, и.т.д.) вы должны только изменить настроечный файл PAM, вместо того, чтобы пересобирать саму программу. Выпуск 2.2 -- это первая версия Debian, которая включает полную поддержку для наших японских пользователей, которые для того, чтобы получить поддержку мультибайтных символов, должны были использовать дополнительные пакеты из Debian JP. Дополнительно мы повысили уровень интернационализации и улучшили поддержку для многих, не основанных на латинском алфавите, языков. Число пакетов в основном дистрибутиве сейчас около 3700, увеличивая количество пакетов на 50%, как обычно. Характерной чертой выпуска 2.2 стало обновление следующих важных программ и библиотек: XFree86 3.3.6, Perl 5.005.03, GCC 2.95.2, PAM 0.72, GTK+/GLib 1.2.7, GNOME 1.0.56, ncurses 5.0, teTeX 1.0.6, XEmacs 21.1.8, S-Lang 1.3.9, GGI 1.99.2, и многих других. Так же как и при обновлении от выпуска 2.0 к 2.1, отличия между 2.1 и 2.2 увеличились. Много новых пакетов и новых версий старых, с множеством новых возможностей и исправленных ошибок. Для обновления используется та же система для работы с пакетами dpkg+apt, и мы постарались сделать переезд на новую систему как можно более безболезненным и безупречным. `apt', сейчас версии 0.3.19, в сочетании с `dpkg', который сейчас версии 1.6.13, предпочтительный инструмент для установки пакетов, так как он поддерживает несколько различных источников пакетов (CD-ROM и другие сменные диски, локальные или сетевые диски или удаленный доступ к FTP или HTTP сайтам). Он может быть использован из командной строки как `apt-get' или как метод перекачки пакетов в `dselect', чтобы установить новые или обновить существующие пакеты или исходные тексты. Официальный набор CD-ROM включает _три_ диска с бинарными пакетами. Первый `binary' диск содержит часть раздела `main', но он также может содержать и раздел `non-US/main'. Остальные два диска содержат оставшуюся часть `main' и `contrib'. Если ваш поставщик добавил разделы `non-free' и/или `non-US/non-free', то могут быть дополнительные диски. Первый CD-ROM диск из набора -- загрузочный и обычно используется для запуска новой установки. Каждый из CD дисков самодостаточен, это значит, что вы можете вставить любой из них и работать с содержимым без использования остальных. `apt-cdrom' используется для управления несколькими CD, как через командный интерфейс, `apt-cdrom', так и через метод доступа `apt' программы `dselect'. Также есть _три_ CD диска с исходными текстами, первый из которых может содержать исходные тексты раздела non-US/main. (Замечание: некоторые сайты могут предоставлять CD #1, содержащий как US так и non-US, делая, таким образом, 4 диска). ------------------------------------------------------------------------------- 2. Новая установка ------------------ Если вы устанавливаете Debian впервые на этой машине, вам следует прочитать документацию об установке, которая доступна на Официальном CD: /dists/potato/main/disks-sparc/current/install.txt (or .html) Или через Интернет: http://www.debian.org/releases/2.2/sparc/install Установочная система Debian, которая также называется `boot-floppies' (даже если это больше чем просто дискеты), была усовершенствована и улучшена по просьбам пользователей. ------------------------------------------------------------------------------- 3. Обновление предыдущих выпусков --------------------------------- 3.1. Подробное описание изменений в системе ------------------------------------------- Эта версия Debian GNU/Linux для архитектуры SPARC требует установки ядра 2.2.x (желательно 2.2.7 или выше), так как некоторые функции библиотеки GNU C нуждаются в нем. Новая библиотека GNU C, однако, совместима со старыми программами. Если вы попробуете обновить версию 2.1 до настоящей версии Debian GNU/Linux на системе без ядра 2.2.x, то установка пакета `libc6' не удастся. НЕ ПЫТАЙТЕСЬ форсировать обновление этого пакета на системе с ядром до 2.2.x ---, если вы это сделаете, то возникнут проблемы, требующие загрузки со спасательного диска для исправления ситуации. Для обновления ядра используйте одно из ядер дистрибутива (т.е. из пакетов `kernel-image-*') или соберите свое ядро. После этого обновление можно продолжить. Обратная бинарная и по текстам совместимость GNU LibC 2.1 означает, что большинство программ предыдущей версии будут работать и в текущей (но не наоборот). Все пакеты Debian GNU/Linux 2.2 собраны для работы в новой среде. Старые программы, в большинстве, можно пересобрать в новом дистрибутиве без изменений. Однако, всегда бывают исключения, и некоторые из ваших программ могут потребовать модификации и/или перекомпиляции с новой версией glibc для корректной работы. При работе с ядром 2.2 и glibc 2.1, система автоматически смонтирует дополнительный виртуальный драйвер `devpts' для поддержки Unix98 PTYs, и некоторые из ваших демонов (Unix-серверов) автоматически переключатся на использование новых файлов устройств (`/dev/pts/*' вместо `/dev/ttyp*'). При работе с ядром 2.2.x, устройства печати PC именуются от lp0 вместо lp1, как при работе с 2.0.x, так что вам нужно исправить printcap и другие файлы настроек (`/dev/lp0' вместо `/dev/lp1', `/dev/lp1' вместо `/dev/lp2' и т.д.). Переход к новому ядру весьма прост, так как мы почти все к этому подготовили уже в версии 2.1. Однако, несколько замечаний сохранились, в основном касательно сети: * Утилита управления защитным экраном (firewall) `ipfwadm' заменена на `ipchains'. При обновлении пакета `netbase' вам будет задан вопрос об установке ссылки на скрипт эмуляции, который обеспечит функционирование вашего firewall; вы можете также прочесть `/usr/share/doc/netbase/ipchains-HOWTO.txt.gz' и адаптировать установки firewall к `ipchains'. * Скрипт `/etc/init.d/network' настроенный прежней программой установки Debian, выводит сообщения об ошибках при работе с новым ядром; это может быть исправлено добавлением установкой параметров `netmask' and `dev' при вызове `route' в этом файле. * К сожалению, обновление ядра может привести к проблемам у пользователей, система которых имеет очень мало оперативной памяти. Вам необходимо прочитать `Documentation/Changes' из документации ядра для получения более подробной информации по обновлению программ для работы с новым ядром. Использование PAM позволяет приложениям системы стать более цельными и интегрированными. В большинстве случаев, новая конфигурация не отличается внешне от старой, без PAM. Однако, не во всех случаях это так. Если изменения необходимы, то вы можете установить пакет `libpam-doc', содержащий подробное описание библиотеки PAM, в том числе советы по изменению существующих не-PAM приложений для поддержки новой модели аутентификации. Большой частью работ по интеграции PAM было включение пакета `secure-su' в главный пакет поддержки входа в систему. Обычная программа `su', входившая в пакет `shellutils', теперь находится в пакете `login' и, таким образом, интеграция PAM сделана более полной и общесистемной. Если вы используете обычную программу `su', то не должны заметить никаких изменений при переходе на новую версию. Однако, пользователи устаревшего пакета `secure-su' могут проверить его настройки с тем, чтобы убедиться в их совместимости с новым PAM. Обратите внимание, что настоящий дистрибутив содержит две версии Perl: 5.004 (в пакетах `perl-5.004*') и 5.005 (в пакетах `perl-5.005*'). Мы настоятельно рекомендуем использовать последнюю, более новую версию, и удалит старую, которая сохранена только для совместимости и для удобства программистов. [1] Если вы используете любой модуль Perl из новых пакетов `lib*-perl' в ваших скриптах, то установите ссылку `/usr/bin/perl' (используя `update-alternatives') на Perl 5.005, иначе возникнут проблемы. Пожалуйста, заметьте, что архив Debian non-US слегка реорганизован для отделения свободных программ от несвободных. Если вы уже используете пакет `apt' для доступа к нему, то необходимо изменить строки для non-US в файле `/etc/apt/sources.list' примерно так: deb http://non-US.debian.org/debian-non-US potato/non-US main contrib non-free Предыдущая версия `inetd' (из пакета `netbase') имела ошибку. При остановке `inetd', существующие соединения с некоторыми внутренними сервисами не разрешали `inetd' перезапуститься. Эта ошибка исправлена в текущем пакете `netbase', но старая версия ее имеет. Если вы обнаружите, что `inetd' не перезапускается корректно, посмотрите на процессы `inetd', которые работают, или такие процессы "-discard" или "-echo". Если у вас установлен пакет `psmisc', то исполнение: sed 's/[[:space:]][[:space:]]*/ /g' /etc/inetd.conf | grep '^ *[^#]' | cut -d" " -f1,3 | while read serv type; do fuser -n $type $serv; done с правами root покажет вам, на какие процессы, использующие порты `inetd' надо обратить внимание. Сообщаем пользователям почтового сервера smail, что версия 2.2 не содержит более этого пакета вследствие серьезных ошибок, обнаруженных при нашем тестировании. Обновленные пакеты smail можно пока найти в нестабильной версии дистрибутива или на http://www.fs.tum.de/~bunk/smail.html. Новый пакет XFree86 и другие пакеты `xserver-*', входящие в настоящую версию, имеют улучшенную поддержку графического оборудования в сравнении с предыдущей версией, особенно новых графических карт и акселерации. Если вы не знаете, какой из пакетов с X-серверами выбрать, то попробуйте программу `xviddetect' (из пакета `xviddetect'), которая выведет имя необходимого вам X-сервера, основываясь на информации, полученной с шин PCI/AGP. Если пакет `gpm' не установлен но вы хотите запустить X на вашем компьютере, сначала вы должны удалить файл `/dev/gpmdata'. Пользователи Intel i810 должны иметь в виду, что для корректного функционирования соответствующего X-сервера необходим модуль ядра, который не поставляется в исходных текстах ядра. Его исходные тексты и инструкции по компиляции и использованию можно найти на странице X Strike Force (http://www.debian.org/~branden/). Если используемый вами X server обращается к обновляющемуся хосту за сервисом шрифтов `xfs', то он потеряет соединение с сервером шрифтов, когда `xfs' будет остановлен. Это не критично, но неприятно. Замечание: подобное может случиться и с другими демонами, будьте к этому готовы. [1] Это будет сделано при установке пакета perl-5.005, используя `apt-get install perl-5.005' 3.1.1. Переименованные пакеты ----------------------------- Следующие пакеты переименованы, как это показано ниже. В большинстве, если не во всех случаях, поля Conflicts:, Replaces: и Provides: (или даже пустые пакеты) обеспечат автоматическую установку и/или безопасные замену/удаление старых. ada-rm -> gnat-doc [1] alsa-modules -> alsa-base alsalib -> libasound0.4 ax25-utils -> libax25 blt8.0-unoff -> blt8.0 c-client-dev -> libc-client4.7-dev console-tools-data -> console-tools [2] cti-ifhp -> ifhp cwnn -> freewnn-cserver cwnn-dev -> freewnn-cserver-dev data-dumper -> perl-5.005-doc [3] dhcp-beta -> dhcp dhcp-client-beta -> dhcp-client dhcp-relay-beta -> dhcp-relay egcc -> gcc egcs-docs -> gcc-doc emacspeak-bs-tcl, emacspeak-dt, emacspeak-dt-tcl -> emacspeak-ss eterm-backgrounds -> eterm [4] fte-cfgdocs -> fte-docs fvwm -> fvwm1 fvwm2 -> fvwm gltt2 -> libgltt2 gltt2-dev -> libgltt2-dev gmp2 -> libgmp2 gmp2-dev -> libgmp2-dev gnome-gnobots -> gnome-gnobots2 gnome-gnothello -> gnome-iagno gnome-gyahtzee -> gnome-gtali gsl -> libgsl0 gsl-dev -> libgsl0-dev gstep-base -> gstep-base0 gstep-base-dev -> gstep-base0-dev gstep-extensions -> gstep-extensions0 gstep-gui -> gstep-gui0 gstep-gui-dev -> gstep-gui0-dev gstep-guile -> gstep-guile0 gtkicq -> gnomeicu intlfonts-arabic -> xfonts-intl-arabic intlfonts-asian -> xfonts-intl-asian intlfonts-chinese -> xfonts-intl-chinese intlfonts-chinese-big -> xfonts-intl-chinese-big intlfonts-european -> xfonts-intl-european intlfonts-japanese -> xfonts-intl-japanese intlfonts-japanese-big -> xfonts-intl-japanese-big intlfonts-phonetic -> xfonts-intl-phonetic ivtools -> ivtools-unidraw kwnn -> freewnn-kserver kwnn-dev -> freewnn-kserver-dev lam -> lam-runtime lesstifg-dbg -> lesstif-dbg lesstifg-dev -> lesstif-dev libapache-mod-auth-sys -> apache-common libapache-mod-put -> apache-common libatalk1 -> netatalk libatalk1-dev -> netatalk-dev libc6-doc -> glibc-doc libdatecalc-perl -> libdate-calc-perl libg++2.8.2-dev -> libg++2.8.1.3-dev libgg0 -> libgii0 libgg0-dev -> libgii0-dev libggi1 -> libgii0, libggi2 libgnome0 -> libgnomesupport0 libjpegg-dev -> libjpeg62-dev liblockdev0-perl -> liblockdev1-perl liblockdev0g-dbg -> liblockdev1-dbg liblockdev0g-dev -> liblockdev1-dev libmd5-perl -> libdigest-md5-perl libpam0g-util -> libpam-runtime libwcsmbs, wcsmbs-locale-ja -> locale-ja libwine0.0.971116 -> libwine libxml0 -> libxml1 maplay -> maplay3 mysql-base -> mysql-gpl-client, mysql-client mysql-dev -> libmysqlclient6-dev newt0.25-dev -> libnewt-dev open -> console-tools [5] palmpython -> pyrite perl -> perl5 perl-base -> perl5-base popt -> libpopt0, libpopt-dev ppp-pam -> ppp [6] ptx -> textutils [7] python-bsddb, python-curses, python-misc, python-net -> python-base [8] python-mysql -> python-mysqldb python-pil -> python-imaging rgrep -> grep [9] r-pdl -> pdl sgmlspm -> libsgmls-perl smbfsx -> smbfs sorcerer -> pccts t1lib0-bin -> t1lib-bin t1lib0-dev -> t1lib-dev tcd -> gnome-media [10] timezones -> libc6 [11] tm -> wemi toshiba-fan, toshiba-hotkey -> toshutils v-bin -> libv-bin v-dbg -> libv-dbg v-dev, vm-dev -> libv-dev v1g -> libv1.22 vnc-doc -> xvncviewer, vncserver wcsmbs-locale-ko -> locale-ko wnn -> freewnn-jserver wnn-common -> freewnn-common wnn-dev -> freewnn-jserver-dev www-search -> libwww-search-perl wxxt1 -> libwxxt1 wxxt1-dev -> libwxxt-dev xfntbig5p-cmex24m -> xfonts-cmex-big5p xfntil2 -> xfonts-biznet-iso-8859-2-{base,75dpi,100dpi} xntp3-doc -> ntp-doc xpm-bin -> xpm4g-dev [12] Несмотря на то, что мы старались сделать этот список исчерпывающим, он может быть не полон. [1] Справочное руководство по Ada включено в пакет gnat-doc. [2] Данные из пакета console-tools-data были снова помещены в пакет console-tools. [3] Пакет data-dumper был объединен с пакетом perl-5.005. [4] Пакет eterm-backgrounds был объединен с пакетом eterm. [5] Пакет open был объединен с пакетом console-tools. [6] Пакет ppp с поддержкой PAM включен в ppp. [7] Пакет ptx был объединен с пакетом textutils. [8] Эти пакеты включены в python-base. [9] Пакет rgrep был объединен с пакетом grep. [10] Пакет tcd был объединен с пакетом gnome-media. [11] Пакет timezones возвращен в libc6. [12] Пакет xpm-bin возвращен в xpm4g-dev. 3.1.2. Разделенные пакеты ------------------------- Между версиями 2.1 (`slink') и 2.2 (`potato'), некоторые пакеты были разделены на два и более пакетов. Основанием для такого деления, в целом, является то обстоятельство, что оригинальный пакет предоставляет большой набор функций, но лишь немногие из них используются большинством пользователей. Некоторые пакеты будут показывать сообщение о разделении во время установки, некоторые содержат предупреждение в описании, а некоторые просто игнорируют это обстоятельство. Если вы обнаружите, что пакет потерял часть функциональности, посмотрите на список, приведенный ниже, для восстановления нужной функциональности. Если это не удастся, проверьте список изменений пакета, который можно найти в `/usr/doc//changelog.Debian.gz'. Это список пакетов, которые были разделены (возможно неполный): gmc: mc gmc mc-common [1] libpgtcl: libpgtcl pgaccess mozilla: mozilla libnspr3 libnspr3-dev netbase: netbase tcpd libwrap0 libwrap0-dev netstd: bootp bootparamd bootpc finger fingerd fping ftp ftpd icmpinfo pidentd rdate rdist routed rsh-client rsh-server ruptime rusers rusersd rwall rwalld rwho rwhod tftp tftpd traceroute wdsetup [2] perl-base: perl-base perl-5.004-base perl-5.005-base [3] perl: perl-5.004 perl-5.004-doc perl-5.005 perl-5.005-doc [4] postgresql: postgresql postgresql-client postgresql-test vim: vim vim-gtk [5] [1] Важная новость состоит в том, что gmc теперь содержит только GNOME-версию, mc - только текстовую версию и они не конфликтуют. [2] После обновления пакета netstd и всех пакетов, зависящих от него, вы должны его удалить. [3] При обновлении пакета perl-base будет установлена необходимая версия Perl 5.004. Для получения той же функциональности в новой версии Perl, нужно установить пакет perl-5.005-base, после чего можно удалить пакет perl-5.004-base. [4] При обновлении пакета perl будет установлен полный дистрибутив Perl версии 5.004. Для получения той же функциональности в новой версии Perl, нужно установить пакеты perl-5.005 и perl-5.005-doc, после чего пакеты perl-5.004 и perl-5.004-doc можно удалить. [5] Vim содержал программы для консоли и X (GTK+). Теперь он разбит для поддержки установки без X. 3.2. Необходимые действия до обновления --------------------------------------- Перед обновлением системы настоятельно рекомендуется сделать ее полную резервную копию, или, по крайней мере, копию всех данных и файлов настроек, которые нежелательно потерять. Средства обновления весьма надежны, но сбой оборудования в течение этого процесса может разрушить систему. Главный совет -- сохраните содержимое каталогов `/etc', `/var/lib/dpkg' и вывод `dpkg --get-selections'. Очень важно сообщать всем пользователям о предстоящих обновлениях, несмотря на то, что, по крайней мере, пользователи имеющие доступ по ssh ничего не заметят и смогут продолжать работу. Если вы хотите быть особо осторожным, то сделайте резервную копию или размонтируйте разделы пользователей (`/home') перед обновлением. Обновление дистрибутива должно производиться локально из текстовой виртуальной консоли (или подсоединенного напрямую последовательного терминала) или удаленно через `ssh' . вы _не_ должны обновлять систему, используя `telnet', `rlogin', `rsh' или из сеанса X, управляемого `xdm' на обновляемой системе. Это объясняется тем, что каждый из этих сервисов может быть остановлен при обновлении, что приведет к _недоступности_ наполовину обновленной системы. Независимо от метода обновления, рекомендуется вначале проверить статус всех пакетов и убедиться, что все они являются обновляемыми. Для этого можно выполнить: dpkg -l | pager или dpkg --get-selections > filename (и затем исследовать `filename'), или проверить статус при помощи `dselect'. Все операции по установке должны выполняться с привилегиями суперпользователя, так что войдите в систему как root или используйте `su' или `sudo' для получения соответствующих прав. Настоятельно рекомендуется использовать программу `/usr/bin/script' для записи описания сеанса обновления[1]. В этом случае, если случится неприятность, вы будете иметь полное описание произошедшего и, при необходимости, сможете послать сообщение об ошибке. Для начала записи, исполните: script -a /upgrade-2.2.typescript или что-то вроде этого. Запомните, что нельзя помещать typescript-файл во временный каталог (такой как `/tmp' или `/var/tmp'). Очень важно удалить все задержанные (hold) пакеты перед обновлением. Если пакет, существенный для обновления, задержан, то обновление не удастся. Если вы изменили или пересобрали пакет локально, и при этом не переименовали его и не изменили поле epoch в версии, то, напротив, необходимо присвоить ему статус задержанного, чтобы предохранить от обновления. Статус задержанного (`hold') пакета может быть изменен при помощи программы `dselect' (в меню Select, используйте клавиши `H' и `G' для установки и снятия этого статуса соответственно) или выполнив dpkg --get-selections > filename отредактировав `filename' для изменения "hold" на "install" и затем, с правами root, выполните dpkg --set-selections < filename Может быть неплохой идеей будет присвоить пакету `ssh' статус задержанного (`Hold') (если установлен), так как иначе он будет заменен на OpenSSH (новый пакет `ssh'), который пока имеет немного другой файл настроек, что может привести к неудачному запуску `sshd' после обновления. Задержкой этого пакета вы обеспечите доступность системы; вы можете разрешить эту проблему позже, или установить пакет `ssh-nonfree', который полностью совместим с прежним, но пока не свободен. (Замечание: даже если обновляться без `Hold', существующие соединения будут сохранены.) Обратите внимание, что пакет `ssh' в этой версии по умолчанию запрещает вход пользователя root. Если вас не устраивает это, то после обновления вам понадобится изменить файл `/etc/ssh/sshd_config', указав в качестве значения параметра `PermitRootLogin' `yes'. (Чтобы программа dpkg не обновила файл, установив новые умолчания, вы можете просто его изменить. Достаточно добавить пустую строку.) Важно, чтобы каталог `/etc/rcS.d' существовала до обновления; иначе установка пакета `libc6' не удастся. Не забудьте смонтировать все необходимые разделы (в частности root и `/usr') в режиме read-write, с помощью команд типа: mount -o remount,rw / Каталог `/usr/share/doc' (если он уже существует) не должен быть ссылкой (например, на `/usr/doc'), так как это не даст установить некоторые пакеты. Напротив, ссылка `/usr/doc' на `/usr/share/doc' допустима. Заметьте, что при наличии такой ссылки вы получите несколько сообщений о каталоге `/usr/doc', который не удается удалить. Это нормально, вы можете спокойно игнорировать эти сообщения. Рекомендуемый метод обновления -- использование `apt-get' напрямую, как описано в следующей главе. APT -- это следующее поколение программ управления пакетами Debian, он позволяет производить обновление и установку очень просто. Вы _не_ должны выполнять большие обновления пакетов с помощью умалчиваемого метода доступа в `dselect', потому что он, в отличие от метода `apt' не выполняет все логические проверки пакетов при установке и, таким образом, не столь надежен. Кроме того, такой способ обновления меньше тестировался. [1] На самом деле, правильно использовать `script' для записи любых сессий `dselect', и во многих других случаях. 3.3. Процесс обновления ----------------------- Перед обновлением системы с архитектурой SPARC, вам необходимо установить ядро Linux версии 2.2.x, как описано в раздел 3.1, `Подробное описание изменений в системе'. Если вы хотите обновляться с использованием CD, то вам нужны последние версии пакетов `apt' и `dpkg' для Debian 2.1 (`slink'); это версии 0.3.11 и 1.4.0.34 соответственно. вы можете проверить версии, при помощи `apt-get --version' и `dpkg --version'. Если у вас нет этих версий, то вы найдете их в каталоге http://http.us.debian.org/debian/dists/potato//main/upgrade-sparc/ на вашем зеркале Debian, или в каталоге `upgrade/' на первом CD из комплекта Debian 2.2. После загрузки пакетов, установите их, используя (в указанном порядке): dpkg -i dpkg_1.4.0.34_sparc.deb dpkg -i apt_0.3.10slink11_sparc.deb Если вы обновляетесь с Debian GNU/Linux версии 2.1 (любого выпуска) с использованием сети (FTP, HTTP) или локального зеркала (возможно раздела диска или смонтированного раздела NFS), то используйте пакеты `apt' и `dpkg', которые есть в этой версии. Конечно, если пакет `apt' не установлен (по умолчанию он не устанавливается), то установите его. Рекомендуем почитать страницы man apt-get(8) и sources.list(5). Перед началом обновления вы должны создать файл настроек `apt' для списка пакетов, `/etc/apt/sources.list'. `apt' учтет все пакеты, найденные по адресам из строк "`deb'", и установит пакеты с наибольшими номерами, отдавая приоритет источнику, указанному ранее (таким образом, при наличии нескольких источников, обычно вначале указывают локальный диск, затем CD-ROM, и потом зеркала FTP/HTTP). 3.3.1. Настройка обновления через Internet ------------------------------------------ Умалчиваемая конфигурация предусматривает установку с наших главных Internet-серверов, но вы можете желать изменить `/etc/apt/sources.list' для использования других зеркал поблизости от вас. В этом случае, поставьте знаки комментария (`#'I в начале существующих строк файла `sources.list'. Адреса зеркал Debian FTP или HTTP можно найти на http://www.debian.org/distrib/ftplist (см. раздел "Full list of mirrors"). Например, пусть ваше ближайшее зеркало - `ftp://alea.iacta.est/debian/' При проверке этого зеркала web-броузером или ftp-клиентом, вы обнаружили каталоги: ftp://alea.iacta.est/debian/dists/potato/main/binary-sparc/... ftp://alea.iacta.est/debian/dists/potato/contrib/binary-sparc/... Для использования этого зеркала программой `apt', добавьте такую строку к вашему файлу `sources.list' : deb ftp://alea.iacta.est/debian potato main contrib Заметьте, что ``dists'' будет добавлен автоматически, и аргументы, начиная с третьего, используются для указания путей к нескольким каталогам. Если зеркало содержит также каталог non-US/* в дереве ftp://alea.iacta.est/debian/debian-non-US, то добавьте также строку: deb ftp://alea.iacta.est/debian/debian-non-US potato/non-US main contrib Все пакеты, необходимые для установки и загружаемые из сети хранятся в `/var/cache/apt' (и подкаталоге `partial/' во время загрузки), так что убедитесь в наличии достаточного места перед попыткой начала установки. Для расширенной установки вы должны ожидать не менее 300 MB загруженных данных. 3.3.2. Настройка для обновления с локального зеркала ---------------------------------------------------- Вместо использования зеркал FTP или HTTP, вы при желании можете модифицировать файл `/etc/apt/sources.list' для использования зеркала на локальном диске (возможно, раздела NFS). В этом случае поставьте знаки комментария (`#') в первых позициях строк "`deb'" в файле `sources.list'. Например, ваше зеркало пакетов находится в `/var/ftp/debian/', и имеет такие главные каталоги: /var/ftp/debian/dists/potato/main/binary-sparc/... /var/ftp/debian/dists/potato/contrib/binary-sparc/... Для использования их программой `apt' добавьте такие строки к вашему `sources.list' : deb file:/var/ftp/debian potato main contrib Заметьте, что ``dists'' будет добавлен автоматически, и аргументы, начиная с третьего, используются для указания путей к нескольким каталогам. Если зеркало содержит также каталог non-US/* в дереве `/var/ftp/debian-non-US', то добавьте также строку: deb file:/var/ftp/debian-non-US potato/non-US main contrib 3.3.3. Настройка для обновления с дисков CD-ROM ----------------------------------------------- Если вы хотите использовать _только_ CD, то поставьте знаки комментария (`#') в первых позициях строк "`deb'" в файле `sources.list'. Убедитесь, что в вашем файле `/etc/fstab' есть строка, обеспечивающая монтирование CD-ROM на `/cdrom' (только точка монтирования `/cdrom' позволит использовать программу `apt-cdrom'). Например, если `/dev/hdc' - ваш дисковод CD-ROM, то файл `/etc/fstab' должен содержать строку наподобие: /dev/hdc /cdrom auto defaults,noauto,ro 0 0 Заметим, что не должно быть _пробелов_ между словами `defaults,noauto,ro' в четвертом поле. Для проверки, вставьте CD и попробуйте mount /cdrom (this will mount the CD to the mount point) ls -alF /cdrom (this should show the CD's root directory) umount /cdrom (this will unmount the CD) Далее, запустите: apt-cdrom add для каждого из Debian Binary CD-ROM, чтобы добавить сведения о каждом CD в базу данных APT. 3.3.4. Обновление ----------------- Если вы создали необходимый для `apt' файл `sources.list', то, с правами root, выполните: apt-get update Это позволит синхронизировать описание пакетов с указанными источниками, обновить информацию о новых и обновленных пакетах. Если вы обновляетесь с использованием CD, то теперь выполните: apt-get install dpkg apt Эта команда установит новейшие версии пакетов `dpkg' и `apt', которые нужны для оставшихся этапов обновления. Она также обновит некоторые системные библиотеки до их последних версий. Некоторые люди предпочитают такую команду apt-get --fix-broken --show-upgraded --simulate dist-upgrade | pager для того, чтобы посмотреть на происходящее. Это займет некоторое время, но может помочь избежать сюрпризов. Такая команда сообщит вам, что плохо в вашей системе (и как это исправить), или, более вероятно, что произойдет в процессе обновления. Обратите особое внимание на пакеты, которые будут удалены; никаких важных пакетов среди них быть не должно. После проверки работоспособности `apt-get', запустите: apt-get --fix-broken --show-upgraded dist-upgrade Эта команда осуществит полное обновление системы, т.е. установку всех доступных новых версий пакетов и разрешит все возможные зависимости пакетов разных версий. Если необходимо, она установит несколько новых пакетов (обычно новых версий библиотек, или удаленных пакетов) и удалит конфликтующие устаревшие пакеты. При обновлении с комплекта CD-ROM, программа попросит вас вставлять нужные CD несколько раз в процессе обновления. Возможно, вам придется вставлять один и тот же CD несколько раз; это объясняется перекрестными ссылками пакетов с разных CD. Новые версии установленных пакетов, которые не могут быть обновлены без изменения статуса установки другого пакета останутся в своей текущей версии (будут отображены как "held back"). Несмотря на это, может оказаться необходимо при помощи `dpkg' или `dselect' удалить или переустановить несколько испорченных пакетов или зависимостей. В качестве альтернативы можно использовать `apt-get dselect-upgrade' после `apt-get -f dist-upgrade'. (См. страницу man apt-get(8).) Параметр `--fix-broken' (или просто `-f') заставляет `apt' попытаться скорректировать систему с нарушенными зависимостями. `apt' делает невозможным существование нарушенных зависимостей в системе. 3.3.5. Возможные проблемы во время или после обновления ------------------------------------------------------- Иногда бывает необходимо разрешить опцию APT::Force-LoopBreak в APT для возможности временно удалить важный пакет с целью разрешения цикла Conflicts/Pre-Depends. `apt-get' сообщит вам об этом и прервет обновление. вы можете обойти этот случай, указав параметр `-o APT::Force-LoopBreak=1' в командной строке `apt-get' . Возможно, что структура зависимостей системы настолько нарушена, что понадобится "ручное" вмешательство. Обычно это означает, что вам придется воспользоваться командой `dselect' или dpkg --remove для удаления некоторых пакетов-нарушителей или apt-get --fix-broken --show-upgraded install dpkg --configure --pending В крайнем случае вы можете произвести переустановку пакета при помощи команды dpkg --install /path/to/packagename.deb После этих действий, вам необходимо продолжить обновление, воспользовавшись описанной выше командой `dist-upgrade'. Во время обновления, программа спросит вас о настройке или перенастройке некоторых пакетов. Когда/если вы получите вопрос об замене файлов в каталогах `/etc/init.d' или `/etc/terminfo' или замене файла `/etc/manpath.config', то, как правило, необходимо ответить `yes' для сохранения согласованности компонентов системы. вы всегда сможете вернуться к старым версиям этих файлов, так как они сохраняются с расширением `.dpkg-old'. Если вы не уверены в том, что делаете, то запишите имя пакета или файла и отложите анализ ситуации на более позднее время. Вы сможете поискать информацию в журнале, чтобы осмыслить сообщения на экране во время обновления. Когда команда `apt-get dist-upgrade' отработает, то "формально" обновление завершено, но есть еще несколько действий, которые должны быть выполнены из осторожности, _перед_ последующей перезагрузкой. Очень важно, чтобы пакеты `locales' и `util-linux' были установлены. Это можно сделать так: apt-get install locales util-linux Если вы обновляетесь с Debian версии 2.0 или более ранней, то при этом будет удален пакет `getty', так как `getty' теперь в пакете `util-linux' . Возможно есть еще несколько пакетов, которые надо установить, но которые не замечены `apt-get', потому что `apt-get' не выбирает автоматически пакеты, от которых не зависят другие (например, пакеты в полях Recommends: и Suggests:). Нужные пакеты можно легко найти при помощи `dselect' или другой программы с экранным интерфейсом. В `dselect', выберите метод `apt' в экране [A]ccess и обновите базу данных информацией о новых пакетах, используя опцию [U]pdate. После этого, на экране [S]elect нажимайте `o', `o', `v' и Shift-d, и ищите заголовок --- Obsolete and local packages present on system --- В этом разделе, все такие пакеты будут показаны. Например, старые пакеты `gimp-smotif' и `gimp-dmotif' заменены на `gimp' в Debian GNU/Linux 2.1. вы можете сразу установить новые пакеты при помощи `dselect' (который покажет вам экран "dependency conflict resolution"), говорящий о том, что старые пакеты должны быть удалены, или используя: apt-get install gimp который одновременно удалит старые пакеты (вам просто надо подтвердить это). Другой пример, который часто не показывает даже `dselect', это telnet, клиент и сервер talk, и сервер NFS, которые были выведены из старого пакета `netstd' . вы можете установить их с помощью командной строки: apt-get install telnet telnetd talk talkd nfs-server То же относится к пакету `manpages-dev', который выделен из пакета `manpages'. Посмотрите, пожалуйста, документ Release Notes для Debian GNU/Linux 2.1 для подробной информации о том, какие пакеты были разделены в этой версии. Обратите внимание, что ядро Linux _не было_ обновлено в ходе описанных процедур. вы можете сделать это сами, установив один из пакетов `kernel-image-*' или собрав собственное ядро из исходных текстов. Наслаждайтесь: у вас теперь установлена система Debian GNU/Linux 2.2! :-) ------------------------------------------------------------------------------- Комментарии к выпуску Debian GNU/Linux 2.2 (`potato'), SPARC Josip Rodin, Bob Hilliard, Adam Di Carlo, Anne Bezemer Тимур Саттаров Алексей Новодворский Павел Романченко Михаил Соболев $Id: release-notes.ru.sgml,v 1.18 2000/11/19 06:01:48 aph Exp $