Часто задаваемые вопросы о Debian GNU/Linux ------------------------------------------------------------------ Список авторов можно найти в ЧаВо о Debian: Авторы версия 5.0.2 от 2 Июнь 2013 ------------------------------------------------------------------------------- Аннотация ------------------ В этом документе содержатся ответы на часто задаваемые вопросы о Debian GNU/Linux. Сведения об авторских правах ----------------------------------------------------- Copyright (C) 1996-2013 by Software in the Public Interest, portions copyright (C) 2004, 2005, 2006 Kamaraju Kusumanchi Permission is granted to make and distribute verbatim copies of this document provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this document under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this document into another language, under the above conditions for modified versions, except that this permission notice may be included in translations approved by the Free Software Foundation instead of in the original English. ------------------------------------------------------------------------------- Содержание -------------------- 1. Определения и краткий обзор 1.1. О чём данные ЧаВо? 1.2. Что такое Debian GNU/Linux? 1.3. Я понял, что такое Debian, а что такое Linux?! 1.4. Debian работает только с GNU/Linux? 1.5. Чем Debian GNU/Linux отличается от других дистрибутивов Linux? Почему я должен отдать предпочтение Debian, а не какому-то другому дистрибутиву? 1.6. Как соотносятся проект Debian и проект GNU Free Software Foundation? 1.7. Как произносится слово Debian и что оно означает? 2. Получение и установка Debian GNU/Linux 2.1. Какая версия Debian является последней? 2.2. Обновляются ли пакеты в «stable»? 2.3. Где и как получить установочные диски Debian? 2.4. Как установить Debian с компакт-дисков? 2.5. Зачем на CD официального стабильного дистрибутива нужны символьные ссылки «frozen» и «unstable»? Я думал, что на этих CD только стабильный дистрибутив! 2.6. Можно ли установить Debian прямо с Интернет-сайта? 2.7. Есть ли другие способы запуска программы установки системы? 3. Выбор дистрибутива Debian 3.1. Какой дистрибутив Debian (стабильный/тестируем ый/нестабильный) лучше всего мне подойдёт? 3.1.1. Вы предлагаете установить стабильный дистрибутив, но при его использовании не обнаруживается или не работает такое-то аппаратное обеспечение. Что делать? 3.1.2. Есть ли разница между версиями пакетов в различных дистрибутивах? 3.1.3. В стабильных дистрибутивах содержатся устаревшие версии программ. Только взгляните на Kde, Gnome, Xorg или даже ядро. Они очень старые. Почему? 3.1.4. Возможно ли позже перейти на другой дистрибутив и как это сделать? 3.1.5. Что выбрать --- тестируемый или нестабильный дистрибутив? 3.1.6. Вы упомянули, что тестируемый дистрибутив иногда ломается. Что имеется в виду? 3.1.7. Почему тестируемый дистрибутив может быть сломанным несколько месяцев? Разве исправления из нестабильного дистрибутива не попадают сразу в тестируемый? 3.1.8. С точки зрения администратора, какой дистрибутив требует большего внимания? 3.1.9. Что происходит при выходе новой версии дистрибутива? 3.1.10. У меня на настольном компьютере/кластере установлен Debian. Как узнать, какой дистрибутив используется? 3.1.11. Я отслеживаю изменения в стабильном дистрибутиве. Можно ли заменить его на тестируемый или нестабильный? Если да, то как? 3.1.12. Сейчас я использую тестируемый дистрибутив (wheezy). Что произойдёт после выпуска следующей версии? У меня по-прежнему будет отслеживаться тестируемый дистрибутив, или на моей машине будет новый стабильный дистрибутив? 3.1.13. Всё равно непонятно. Так что же нужно устанавливать? 3.2. Но ещё есть Knoppix, Linex, Ubuntu и другие? 3.2.1. Я знаю, что Knoppix/Linex/Ubuntu/… сделан на основе Debian. Смогу ли я после установки его на жёсткий диск использовать для него утилиты управления пакетами apt? 3.2.2. Я установил Knoppix/Linex/Ubuntu/… на жёсткий диск. У меня возникла проблема. Что делать? 3.2.3. Я использую Knoppix/Linex/Ubuntu/... и теперь хочу поставить Debian. Как бы мне переехать? 4. Проблемы совместимости 4.1. На каких архитектурах/системах работает Debian GNU/Linux? 4.2. На каких ядрах работает Debian GNU/Linux? 4.3. Насколько Debian совместим с другими дистрибутивами Linux? 4.4. Насколько исходный код Debian совместим с другими системами Unix? 4.5. Можно ли использовать пакеты Debian (файлы «.deb») в системе RedHat/Slackware/… Linux? Можно ли использовать пакеты RedHat (файлы «.rpm») в системе Debian GNU/Linux? 4.6. Как установить не-Debian программу? 4.7. Почему не получается собрать программы, которым нужна библиотека libtermcap? 4.8. Почему не получается установить AccelX? 5. Программное обеспечение, доступное в системе Debian 5.1. Какие виды приложений и средств разработки программ доступны в Debian GNU/Linux? 5.2. Кто написал все эти программы? 5.3. Как получить текущий список программ, для которых в Debian собраны пакеты? 5.4. Как установить окружение разработчика для сборки пакетов? 5.5. Чего не хватает в Debian GNU/Linux? 5.6. Почему иногда выдаются сообщения «ld: cannot find -lfoo» при компиляции программ? Почему не хватает каких-то файлов libfoo.so в пакетах Debian с библиотеками? 5.7. Поддерживает ли Debian Java (и если да, то как)? 5.8. Как узнать, что у меня система Debian, и какой она версии? 5.9. Как в Debian поддерживаются языки, отличные от английского? 5.10. А где pine? 5.11. Где qmail/ezmlm/djbdns? 5.12. Где проигрыватель Flash (SWF)? 5.13. Где Google Earth? 5.14. Где программы для VoIP? 5.15. У меня есть беспроводная сетевая карта, которая не работает в Linux. Что делать? 6. FTP-архивы Debian 6.1. Сколько существует дистрибутивов Debian? 6.2. Что означают названия вроде etch, lenny и т. д.? 6.2.1. Какие кодовые имена уже использовались? 6.2.2. Откуда берутся эти кодовые имена? 6.3. Что такое «sid»? 6.4. Что содержится в каталоге stable? 6.5. Что содержится в тестируемом дистрибутиве? 6.5.1. Что происходит с «testing»? Как его «замораживают»? 6.6. Что содержится в нестабильном дистрибутиве? 6.7. Что содержат каталоги в FTP-архивах Debian? 6.8. Что находится в каталогах внутри `dists/stable/main'? 6.9. Где находятся исходные коды? 6.10. Что находится в каталоге `pool'? 6.11. Для чего нужен каталог «incoming»? 6.12. Как создать свой собственный apt-репозиторий? 7. Основы системы управления пакетами Debian 7.1. Что такое пакет Debian? 7.2. Какой формат у двоичных пакетов Debian? 7.3. Почему имена файлов пакетов Debian такие длинные? 7.4. Зачем нужен файл control? 7.5. Зачем нужен файл conffile? 7.6. Зачем нужны сценарии preinst, postinst, prerm и postrm? 7.7. Что такое _Пакет первой необходимости_ (_Essential_), _Необходимый_ (_Required_), _Важный_ (_Important_), _Стандартный_ (_Standard_), _Необязательный_ (_Optional_) или _Дополнительный_ (_Extra_) пакет? 7.8. Что такое виртуальный пакет? 7.9. Что имеется в виду, когда говорят, что пакет _Рекомендует_ (Recommends), _Предлагает_ (Suggests), _Заменяет_ (Replaces), _Ломает_ (Breaks) или _Предоставляет_ (Provides) другой пакет, _Зависит_ (Depends) от него или _Конфликтует_ (Conflicts) с ним? 7.10. Что значит Пред-зависит (Pre-Depends)? 7.11. Что означают слова _неизвестно_ (_unknown_), _установить_ (_install_), _удалить_ (_remove_), _вычистить_ (_purge_), _зафиксировать_(_hold_) в строке состояния пакета? 7.12. Как зафиксировать (hold) пакет? 7.13. Как установить пакет исходного кода? 7.14. Как собрать двоичный пакет из пакета исходного кода? 7.15. Как самому создать пакет Debian? 8. Инструменты управления пакетами Debian 8.1. Какие программы для управления пакетами имеются в Debian? 8.1.1. dpkg 8.1.2. APT 8.1.3. aptitude 8.1.4. synaptic 8.1.5. tasksel 8.1.6. Другие инструменты управления пакетами 8.2. Говорят, что Debian способен обновить работающую программу; как это делается? 8.3. Как узнать, какие пакеты установлены в системе Debian? 8.4. Как посмотреть список файлов установленного пакета? 8.5. Как определить пакет, которому принадлежит определённый файл? 8.6. Почему при удалении «foo» не удаляется «foo-data»? Как вычистить старые неиспользуемые пакеты библиотек? 9. Поддержание обновлений системы Debian 9.1. Как поддерживать систему Debian в актуальном состоянии? 9.1.1. aptitude 9.1.2. apt-get, dselect и apt-cdrom 9.1.3. aptitude 9.1.4. mirror 9.1.5. dpkg-mountable 9.2. Нужно ли для обновления пакета переходить в однопользовательский режим? 9.3. Нужно ли хранить на диске все файлы-архивы .deb? 9.4. Как поддерживать учёт пакетов, которые я добавлял в систему? Хотелось бы знать, когда какие пакеты обновлялись или удалялись! 9.5. Возможно ли автоматическое обновление системы? 9.6. Есть несколько машин, как скачивать для них обновления только один раз? 10. Debian и ядро 10.1. Можно ли установить и собрать ядро без некоторых специфичных для Debian настроек? 10.2. Какие инструменты для самостоятельной сборки ядра есть в Debian? 10.3. Как сделать собственную загрузочную дискету? 10.4. Есть ли какие-либо особенности при работе с модулями в Debian? 10.5. Можно ли безопасно удалить пакет со старой версией ядра и как это сделать? 11. Пользовательская настройка установленного Debian GNU/Linux 11.1. Как убедиться, что все программы используют одинаковый формат бумаги? 11.2. Как обеспечить доступ к файлам устройств без нарушения защиты системы? 11.3. Как в Debian правильно сменить консольный шрифт при запуске системы? 11.4. Как настроить параметры по умолчанию для приложений X11? 11.5. Кажется, каждый дистрибутив имеет собственный порядок загрузки. Расскажите, как это устроено в Debian. 11.6. Похоже, что в Debian не используется `rc.local' для донастройки процесса загрузки; что используется вместо этого? 11.7. Как система управления пакетами работает с пакетами, содержащими настроечные файлы для других пакетов? 11.8. Как заменить программу, установленную из какого-либо пакета, на свою собственную? 11.9. Как включить самостоятельно собранный пакет в список доступных пакетов, известных системе управления пакетами? 11.10. Некоторым пользователям нравится mawk, другим gawk; некоторым vim, другим elvis; некоторым trn, другим tin. Как осуществляется поддержка предпочтений в Debian? 12. Поддержка Debian GNU/Linux 12.1. Какая ещё документация существует по системе Debian? 12.2. Есть ли какие-нибудь онлайн-ресурсы для обсуждения Debian? 12.2.1. Списки рассылки 12.2.2. Веб-форумы 12.2.3. Вики 12.2.4. Сопровождающие 12.2.5. Группы новостей Usenet 12.3. Как быстро найти информацию по Debian GNU/Linux? 12.4. Существуют ли журналы известных ошибок? 12.5. Как сообщить об ошибке в Debian? 13. Помощь проекту Debian 13.1. Как стать разработчиком программного обеспечения Debian? 13.2. Как помочь проекту Debian своими ресурсами? 13.3. Как оказать финансовую помощь проекту Debian? 13.3.1. Software in the Public Interest 13.3.2. Free Software Foundation 14. Распространение Debian GNU/Linux в коммерческом продукте 14.1. Можно ли штамповать CD-диски Debian и продавать их? 14.2. Можно ли укомплектовать Debian несвободным ПО? 14.3. Я делаю специальный дистрибутив Linux для «вертикального маркетинга». Могу я использовать Debian GNU/Linux как основу этой системы и добавлять мои собственные приложения поверх него? 14.4. Можно ли создать «пакет» Debian из коммерческой программы, чтобы её можно было без проблем установить в любой системе Debian? 15. Изменения, ожидаемые в следующем выпуске Debian 15.1. Расширенная поддержка не-англоговорящих пользователей 15.2. Ускорение загрузки ОС: последовательность загрузки на основе зависимостей 15.3. Улучшения в программе установки Debian 15.4. Ещё больше архитектур 15.5. Больше ядер 16. Общая информация о ЧаВо 16.1. Авторы 16.2. Обратная связь 16.3. Где взять 16.4. Формат документа ------------------------------------------------------------------------------- 1. Определения и краткий обзор ------------------------------------------------------ 1.1. О чём данные ЧаВо? ------------------------------------- Здесь собраны вопросы (с ответами!) о дистрибутиве Debian (Debian GNU/Linux и других) и о проекте Debian. Там, где есть другая документация по определённому вопросу, даётся ссылка: мы не хотим цитировать здесь большие части сторонней документации. В ряде ответов предполагается наличие некоторых знаний по Unix-подобным операционным системам. Однако допуская, что знаний у читателя может быть совсем немного, мы постараемся отвечать на общие вопросы новичков как можно проще. Если в этих ЧаВо вы не нашли то, что искали, см. раздел 12.1, `Какая ещё документация существует по системе Debian?'. Если даже это не помогло, см. раздел 16.2, `Обратная связь'. 1.2. Что такое Debian GNU/Linux? ---------------------------------------- Debian GNU/Linux --- это один из _дистрибутивов_ операционной системы Linux с большим количеством пакетов. Debian GNU/Linux: * _самодостаточен_: сейчас в Debian входит более 29000 пакетов программ. Пользователи могут выбирать нужные пакеты для установки; для этого в Debian есть специальный инструмент. Список и описания входящих в Debian пакетов можно найти на любом из серверов-зеркал (http://www.debian.org/distrib/ftplist) Debian. * _свободен для использования и дальнейшего распространения_: для участия в его распространении и разработке не требуется членства или оплаты. Все пакеты, которые формально являются частью Debian GNU/Linux, свободны для дальнейшего распространения обычно на условиях универсальной общественной лицензии GNU (GNU General Public License). В FTP-архивах Debian содержится ещё приблизительно 187 пакетов программ (в разделах `non-free' и `contrib'), которые распространяются на специальных условиях, определённых в каждом пакете. * _динамичен_: благодаря усилиям примерно 880 добровольцев, постоянно работающих над улучшением существующего и над добавлением нового кода, Debian быстро развивается. FTP-архивы обновляются дважды в день. Большинство пользователей Linux работают с одним из _дистрибутивов_ Linux, таким же как и Debian GNU/Linux. В принципе, пользователь может взять ядро Linux из Интернет или ещё откуда-нибудь и собрать его сам. Таким же образом он может найти исходный код многих приложений, собрать программы и установить их на своей системе. В случае сложных приложений это не только может отнять много времени, но и чревато ошибками. Чтобы избежать этого, пользователи часто используют операционную систему и пакеты приложений, предлагаемые одним из распространителей Linux. Разные распространители (дистрибьюторы) Linux предлагают разный набор программного обеспечения (ПО), протоколы и методы упаковки, установки и сопровождения пакетов приложений в пользовательских системах, включая инструментарий для установки и управления, документацию и другие вещи. Debian GNU/Linux --- это результат усилий добровольцев по созданию свободной, высококачественной Unix-совместимой операционной системы с полным набором приложений. Идея свободной Unix-подобной системы исходит от проекта GNU, и многие приложения Debian GNU/Linux, сделавшие дистрибутив таким удобным, были разработаны в рамках проекта GNU. Для Debian свобода имеет тот же смысл, как и в определении GNU (см. Критерии Debian по определению Свободного ПО (http://www.debian.org/social_contract#guidelines)). Когда мы говорим о свободном ПО, мы говорим именно о свободе, а не о цене. Свободное ПО означает, что вы свободны распространять его копии, что вам доступен его исходный код или при желании его можно получить, что вы можете изменять это ПО или использовать его части в новых свободных программах; и что вы знаете, что вы можете всё это делать. Проект Debian был создан Иэном Мёрдоком (Ian Murdock) в 1993 году при спонсорском участии проекта GNU Free Software Foundation. Сегодня, разработчики Debian считают его прямым наследником проекта GNU. Хотя Debian GNU/Linux и сам по себе является свободным ПО, на его основе можно строить и другие дистрибутивы Linux. Предлагая надёжную, самодостаточную основу системы, Debian предоставляет пользователям Linux улучшенную совместимость, и позволяет создателям дистрибутивов Linux избежать двойной работы и сфокусироваться на вещах, отличающих их собственные дистрибутивы от прочих. Подробности об этом см. в раздел 14.3, `Я делаю специальный дистрибутив Linux для «вертикального маркетинга». Могу я использовать Debian GNU/Linux как основу этой системы и добавлять мои собственные приложения поверх него?'. 1.3. Я понял, что такое Debian, а что такое Linux?! -------------------------------------------------------------------------- В двух словах, Linux --- это ядро Unix-подобной операционной системы. Исходно оно разрабатывалось для машин с процессорами 386 (и более новых), а сейчас может работать и на десятке других архитектур. Ядро Linux было написано Линусом Торвальдсом (Linus Torvalds) и многими компьютерщиками со всего мира. Кроме ядра, в «Linux»-систему обычно входит: * файловая система, соответствующая стандарту иерархии файловой системы Linux (Linux Filesystem Hierarchy Standard), http://www.pathname.com/fhs/. * разнообразные Unix-утилиты, многие из которых были разработаны проектом GNU и Free Software Foundation. Ядро Linux, файловая система, утилиты GNU, FSF и другие разрабатываются в соответствии со стандартом POSIX (IEEE 1003.1), см. раздел 4.4, `Насколько исходный код Debian совместим с другими системами Unix?'. Более подробную информацию о том, Что такое Linux (http://www.linux.org/info/), см. на сайте Linux Online (http://www.linux.org/info). 1.4. Debian работает только с GNU/Linux? ------------------------------------------------------- В настоящий момент, Debian доступен только с ядром Linux, но мы уже начали предлагать ОС Debian на ядрах GNU/Hurd и BSD для разработки, серверов и рабочих станций. Однако, эти не-linux переносы пока официально не выпускались. Первой попыткой переноса является Debian GNU/Hurd. Hurd --- это набор серверов, запущенных поверх микроядра GNU Mach. Эта комбинация составляет основу операционной системы GNU. Дополнительную информацию о GNU/Hurd вообще можно найти на http://www.gnu.org/software/hurd/, а о Debian GNU/Hurd --- на http://www.debian.org/ports/hurd/. Второй стала попытка переноса системы на ядро BSD. Работа ведётся как над ядром NetBSD, так и над FreeBSD. Подробности о не-linux переносах см. на странице http://www.debian.org/ports/#nonlinux. 1.5. Чем Debian GNU/Linux отличается от других дистрибутивов Linux? Почему я должен отдать предпочтение Debian, а не какому-то другому дистрибутиву? ---------------------------------------------------------------------------- Вот ключевые возможности, отличающие Debian от других дистрибутивов Linux: Свобода Как заявлено в общественном договоре (http://www.debian.org/social_contract), Debian будет всегда свободным на 100%. В Debian распространяется только действительно свободное программное обеспечение. Такое ПО отвечает критериям Debian по определению свободного ПО (http://www.debian.org/social_contract#guidelines). Система управления пакетами Debian Система в целом или любая её часть может быть обновлена без переформатирования, без потери пользовательских настроек и (в большинстве случаев) без перезагрузки системы. В большинстве современных дистрибутивов Linux тоже есть свои системы управления пакетами; система управления пакетами Debian уникальна и хорошо продумана (см. Глава 7, `Основы системы управления пакетами Debian'). Открытая модель разработки В то время как другие дистрибутивы Linux разрабатываются индивидуально, маленькими, закрытыми группами или коммерческими фирмами, Debian --- это единственный дистрибутив Linux, который разрабатывается совместно многими людьми через Интернет в духе Linux и другого свободного программного обеспечения. Более 880 сопровождающих, действующих по собственной инициативе, работают над более чем 29000 пакетами и улучшением Debian GNU/Linux. В большинстве случаев разработчики Debian помогают проекту не написанием новых приложений, а пакетированием существующего ПО в соответствии со стандартами проекта, отправкой сообщений о найденных ошибках разработчикам программ и предоставлением поддержки пользователям. О том, как стать таким сотрудником, см. раздел 13.1, `Как стать разработчиком программного обеспечения Debian?'. Универсальная операционная система В Debian входит более 29000 пакетов (http://packages.debian.org/stable/), он работает на 9 компьютерных архитектурах (http://www.debian.org/ports/). Это гораздо больше, чем для любого другого дистрибутива GNU/Linux. раздел 5.1, `Какие виды приложений и средств разработки программ доступны в Debian GNU/Linux?' описывает имеющееся ПО, а раздел 4.1, `На каких архитектурах/системах работает Debian GNU/Linux?' --- поддерживаемые аппаратные платформы. Система отслеживания ошибок В связи с территориальной рассредоточенностью разработчиков Debian для ускорения разработки системы и быстрого исправления ошибок им требуется подходящий инструментарий. Пользователи присылают сообщения об обнаруженных ошибках в специальном формате, которые становятся доступны через WWW-архивы и электронную почту. Для дополнительной информации о ведении журнала ошибок см. раздел 12.4, `Существуют ли журналы известных ошибок?'. Политика Debian В Debian есть всестороннее описание стандартов качества --- политика Debian (Debian Policy). Этот документ определяет качества и стандарты, согласно которым мы разрабатываем пакеты Debian. Дополнительную информацию об этом можно найти на странице причин выбора Debian (http://www.debian.org/intro/why_debian). 1.6. Как соотносятся проект Debian и проект GNU Free Software Foundation? ---------------------------------------------------------------------------- Система Debian построена на идеалах свободного ПО, впервые выдвинутых Free Software Foundation (http://www.gnu.org/) и, в частности, Ричардом Столлманом (Richard Stallman) (http://www.stallman.org/). Мощные средства системной разработки, утилиты и приложения FSF также являются ключевой частью системы Debian. Проект Debian не является частью FSF, однако мы регулярно общаемся и совместно работаем над различными проектами. FSF попросила, чтобы мы называли нашу систему «Debian GNU/Linux», и мы счастливы были выполнить их просьбу. Давняя цель FSF --- разработка новой операционной системы, называемой GNU, на основе ядра Hurd (http://www.gnu.org/software/hurd/). Debian работает вместе с FSF над этой системой, называемой Debian GNU/Hurd (http://www.debian.org/ports/hurd/). 1.7. Как произносится слово Debian и что оно означает? ---------------------------------------------------------------------------- Имя проекта произносится как Дебиан, с коротким е и ударением на первом слоге. Это слово образовано из имён Debra и Ian Murdock, которые основали проект. (Кажется, словари дают несколько двусмысленную транскрипцию слова Ian (!), но Иэн предпочитает транскрипцию ee'-en.) ------------------------------------------------------------------------------- 2. Получение и установка Debian GNU/Linux ------------------------------------------------------------ Официальным документом с инструкциями по установке является руководство по установке Debian GNU/Linux (http://www.debian.org/releases/stable/installmanual). Здесь мы приведём дополнительную информацию о получении и установке Debian GNU/Linux. 2.1. Какая версия Debian является последней? ------------------------------------------------------------------------ В настоящее время существует три версии Debian GNU/Linux: _выпуск 7.0, также известен как «стабильный (stable)» дистрибутив или wheezy_ Это стабильное и хорошо протестированное ПО, которое изменяется, если в него включаются существенные исправления, касающиеся безопасности или удобства использования. _«тестируемый» (testing) дистрибутив, в настоящий момент называется wheezy_ Он включает пакеты, которые войдут в следующую «стабильную» версию; эти пакеты прошли некоторое тестирование в нестабильной версии, но для выпуска пока не готовы. Данная версия обновляется намного чаще, чем «стабильная», но не так часто, как «нестабильная». _нестабильный дистрибутив_ Это разрабатываемая версия дистрибутива, она непрерывно обновляется. Вы можете получить пакеты из архива «нестабильной» версии с любого FTP-сервера Debian и использовать их для обновления своей системы в любое время, но не ждите, что система останется стабильной как прежде --- эта версия всё же называется «_нестабильной_»! Подробности см. в раздел 6.1, `Сколько существует дистрибутивов Debian?'. 2.2. Обновляются ли пакеты в «stable»? ------------------------------------------------------------ В стабильный выпуск новые возможности не добавляются. После того как версия Debian была выпущена и помечена как «стабильная», в неё поступают только обновления безопасности. То есть обновления получат только те пакеты, в которых была найдена какая-то уязвимость. Все обновления безопасности поступают с security.debian.org (ftp://security.debian.org). Обновления безопасности служат одной цели: исправить уязвимость. Это не какой-то хитрый способ протащить изменения в стабильный выпуск в обход обычной процедуры выпуска. Поэтому исправление проблем безопасности в пакетах не приводит к обновлению ПО. Команда безопасности Debian переносит изменения для исправления уязвимости именно в ту версию, которая входит в «стабильный» выпуск. Более полная информация о поддержке безопасности дана в ЧаВо по безопасности в Debian (http://www.debian.org/security/faq) или в руководстве по безопасности Debian (http://www.debian.org/doc/manuals/securing-debian-howto/). 2.3. Где и как получить установочные диски Debian? ---------------------------------------------------------------------------- Вы можете получить установочные диски, просто скачав соответствующие файлы с одного из серверов-зеркал Debian (http://www.debian.org/mirror/list). Более подробная информация об образах CD (и DVD) представлена на странице Debian GNU/Linux на компакт-дисках (http://www.debian.org/CD). 2.4. Как установить Debian с компакт-дисков? ----------------------------------------------------------------------- Установка Debian с CD проста: настройте систему на загрузку с CD, вставьте CD и перезагрузитесь. Ваш компьютер запустит программу установки Debian. Её описание можно найти в руководстве по установке Debian GNU/Linux (http://www.debian.org/releases/stable/installmanual). 2.5. Зачем на CD официального стабильного дистрибутива нужны символьные ссылки «frozen» и «unstable»? Я думал, что на этих CD только стабильный дистрибутив! ---------------------------------------------------------------------------- На официальных образах Debian CD действительно есть символьные ссылки /dists/frozen -> wheezy/ /dists/stable -> wheezy/ /dists/testing -> wheezy/ /dists/unstable -> wheezy/ Они нужны для того, чтобы эти диски работали, если в sources.list есть запись типа deb cdrom:[<имя как на метке cd>]/ unstable main […] Наличие этих символьных ссылок вовсе _не_ означает, что это «нестабильный», «тестируемый» или какой-то другой дистрибутив. Чтобы узнать, какой дистрибутив Debian на нём записан, прочтите метку CD-диска в файле `/.disk/info'. Эта информация есть и на CD в файле `/README.txt'. О том, какой дистрибутив сейчас считается стабильным, а какой тестируемым, можно узнать здесь (http://www.debian.org/releases/). 2.6. Можно ли установить Debian прямо с Интернет-сайта? ---------------------------------------------------------------------------- Да. Вы можете загрузить систему установки Debian с помощью набора файлов, которые можно скачать с нашего FTP-сервера и его зеркал. Можно скачать маленький файл CD-образа, создать из него загрузочный CD, установить с него базовую систему, а оставшуюся часть установить из сети. Более подробно об этом написано здесь (http://www.debian.org/CD/netinst/). Можно также скачать файлы образов дискет ещё меньшего размера, создать загрузочные дискеты, запустить процедуру установки и получить оставшуюся часть Debian из сети. 2.7. Есть ли другие способы запуска программы установки системы? ---------------------------------------------------------------------------- Да. Помимо CD или DVD, Debian GNU/Linux можно установить, загрузившись с дискет, USB-накопителя, прямо с жёсткого диска, или используя TFTP --- протокол загрузки по сети. Установка на несколько компьютеров может быть полностью автоматизирована. Замечание: не на всех компьютерных архитектурах поддерживаются все эти методы установки. После того как программа установки запустится, оставшуюся часть системы можно скачать из сети, или загрузить с локальных носителей. Подробности об этом см. в руководстве по установке Debian GNU/Linux (http://www.debian.org/releases/stable/installmanual). ------------------------------------------------------------------------------- 3. Выбор дистрибутива Debian --------------------------------------------- Существует несколько различных дистрибутивов Debian. И очень важно сделать правильный выбор. В этой главе приводится информация, полезная для тех пользователей, которые хотят выбрать дистрибутив, наиболее подходящий для своей системы, а также рассматриваются ответы на вопросы, которые могут возникнуть в этом случае. Здесь речь идёт не о том, «почему лучше выбрать Debian», а о том, «какой из дистрибутивов Debian больше вам подходит». Подробности о доступных дистрибутивах смотрите раздел 6.1, `Сколько существует дистрибутивов Debian?'. 3.1. Какой дистрибутив Debian (стабильный/тестируемый/нестабильный) лучше всего мне подойдёт? ---------------------------------------------------------------------------- Ответить на этот вопрос не так-то просто. На самом деле это зависит от того, для чего он вам нужен. Лучше всего было бы спросить друга, который уже знаком с Debian. Но это не значит, что решение нельзя принять самостоятельно. Фактически, вы сможете принять решение после прочтения этой главы. * Если для вас очень важна безопасность или стабильность --- устанавливайте стабильный. Точка. Это самый лучший вариант достичь желаемого. * Если вы новичок, и подбираете дистрибутив для настольного компьютера, --- начните со стабильного. Некоторые программы в нём довольно сильно устарели, но зато вы получите рабочее окружение, наименее подверженное ошибкам. Вы сможете легко переключиться на нестабильный, как только почувствуете себя немного увереннее. * Если у вас есть некоторый опыт работы в Linux, и вас мало волнуют то и дело возникающие ошибки, --- ставьте нестабильный. В нём есть всевозможные наиновейшие и наилучшие программы, а ошибки обычно быстро исправляются. * Если вы настраиваете сервер, особенно такой, требования к стабильности которого довольно серьёзны, или если он доступен из сети Интернет, то устанавливайте стабильный. Это, безусловно, самый правильный и безопасный выбор. Надеемся, что ответы на дальнейшие вопросы больше прояснят ситуацию. Если после прочтения всех ЧаВо вам всё ещё трудно принять решение, остановитесь на стабильном дистрибутиве. 3.1.1. Вы предлагаете установить стабильный дистрибутив, но при его использовании не обнаруживается или не работает такое-то аппаратное обеспечение. Что делать? ---------------------------------------------------------------------------- Попробуйте поискать в каком-нибудь поисковике в Интернет, может быть кто-то заставил работать это аппаратное обеспечение в стабильном дистрибутиве. Большинство аппаратуры будет работать. Но если у вас современные, самые последние модели аппаратуры, они могут и не заработать. В этом случае вам может потребоваться установка/обновление до нестабильного дистрибутива. Список работающих в Linux ноутбуков можно найти на этом (http://www.linux-on-laptops.com/) замечательном сайте. Там не описывается работоспособность именно в Debian, но это потрясающий ресурс. Для настольных компьютеров такого сайта не найти. Ещё один вариант --- спросить в списке рассылки debian-user, отправив письмо на адрес debian-user@lists.debian.org. Сообщения в список рассылки можно отправлять, не подписываясь на него. Архивы списка рассылки можно посмотреть здесь (http://lists.debian.org/debian-user/). Инструкция о том, как подписаться на список рассылки, находится там же. С вопросами лучше всего обращаться именно в список, а не в IRC (http://www.debian.org/support). Сообщения списка рассылки архивируются, поэтому решение вашего вопроса может помочь и другим пользователям с такими же проблемами. 3.1.2. Есть ли разница между версиями пакетов в различных дистрибутивах? ---------------------------------------------------------------------------- Да. В нестабильном дистрибутиве находятся самые новые (последние) версии. Но пакеты в нём недостаточно хорошо протестированы и могут содержать ошибки. С другой стороны, стабильный дистрибутив содержит старые версии пакетов. Но пакеты в нём были хорошо протестированы и, по всей вероятности, не содержат неизвестных ошибок. Пакеты в тестируемом дистрибутиве --- что-то среднее между двумя этими крайностями. 3.1.3. В стабильных дистрибутивах содержатся устаревшие версии программ. Только взгляните на Kde, Gnome, Xorg или даже ядро. Они очень старые. Почему? ---------------------------------------------------------------------------- Да, в общем вы правы. Возраст пакетов в стабильном дистрибутиве зависит от времени выпуска. Так как обычно между выпусками проходит больше года, отсюда и получаются старые версии пакетов. Однако, они были хорошо протестированы на момент выпуска и работают даже сейчас. Можно уверенно сказать, что в пакетах нет неизвестных серьёзных ошибок, проблем с безопасностью и т. д. Пакеты в стабильном дистрибутиве очень тесно подогнаны друг к другу. Все перечисленные плюсы очень важны для рабочих серверов, которые функционируют 24 часа в день, 7 дней в неделю. С другой стороны, в пакетах тестируемого и нестабильного дистрибутивов могут быть скрытые ошибки, проблемы с безопасностью и т. д. Кроме того, некоторые пакеты могут работать не так, как предполагалось. Обычно люди, работающие за обычным настольным компьютером, предпочитают использовать самые новые версии пакетов. Нестабильный дистрибутив --- это то, что им нужно. Как видите, стабильность и новизна находятся на разных концах спектра. Если нужна стабильность, устанавливайте стабильный дистрибутив. Если хотите работать с самыми новыми версиями пакетов, ставьте нестабильный. 3.1.4. Возможно ли позже перейти на другой дистрибутив и как это сделать? ---------------------------------------------------------------------------- Да, но это односторонний процесс. Вы можете перейти со стабильного на тестируемый, а затем на нестабильный. Но обратно вернуться невозможно. Лучше дважды подумать, прежде чем устанавливать/переходить на нестабильный дистрибутив. На самом деле, если вы опытный пользователь, и у вас есть немного времени, и если вы действительно осторожны, и если вы знаете что делаете, то может быть получится перейти обратно на тестируемый дистрибутив, а потом и на стабильный. Но сценарии программы установки на это не рассчитаны. Так что в процессе некоторые файлы настроек можно потерять … 3.1.5. Что выбрать --- тестируемый или нестабильный дистрибутив? ---------------------------------------------------------------------------- Здесь нужен индивидуальный подход. Точный ответ дать нельзя, можно только указать правильное направление. Мой (эта глава изначально была отдельным документом, написанным одним человеком, --- прим. пер.) выбор в порядке предпочтения: стабильный, нестабильный и тестируемый. На такой выбор повлияло следующее: * Стабильный надёжен. Он никогда не ломается. * Тестируемый ломают не так часто, как нестабильный. Но когда это происходит, проходит немало времени, прежде чем его починят. Иногда это могут быть дни, а иногда и месяцы. * Нестабильный часто изменяется и может в любой момент сломаться. Однако, это быстро исправляют, чаще всего за пару дней, и в нём всегда самые последние версии пакетов программ для Debian. Но иногда тестируемый предпочтительнее нестабильного. Автор этих строк испытал на себе переход с gcc3 на gcc4. Он пытался установить пакет `labplot' на машину с нестабильным дистрибутивом и не смог этого сделать, так как некоторые его зависимости уже перешли на использование gcc4, а некоторые нет. А пакеты из тестируемого дистрибутива можно было бы установить, так как уже перешедшие на gcc4 пакеты ещё бы не успели в него попасть. 3.1.6. Вы упомянули, что тестируемый дистрибутив иногда ломается. Что имеется в виду? ---------------------------------------------------------------------------- Бывает, что пакет невозможно установить с помощью системы управления пакетами. Иногда пакет может быть недоступен совсем, может быть (временно) удалён из-за ошибок или неудовлетворённых зависимостей. Иногда пакет устанавливается, но работает неправильно. Когда такое случается, говорят, что дистрибутив сломан (по крайней мере, применительно к этому пакету). 3.1.7. Почему тестируемый дистрибутив может быть сломанным несколько месяцев? Разве исправления из нестабильного дистрибутива не попадают сразу в тестируемый? ---------------------------------------------------------------------------- Исправления ошибок и улучшения, появившиеся в нестабильном дистрибутиве, попадают в тестируемый только через несколько дней. Скажем, дней через 10. Пакет из нестабильного переходит в тестируемый, только если в нём нет RC-ошибок (ошибок, тормозящих выпуск). Если в пакете есть RC-ошибка, он не попадёт в тестируемый дистрибутив и по прошествии 10 дней. Идея в том, что, если какие-то проблемы с пакетом, пусть они будут обнаружены людьми, использующими нестабильный дистрибутив, и исправлены до того, как он попадёт в тестируемый. Это сохраняет тестируемый дистрибутив в рабочем состоянии большую часть времени. Слишком идеальная теория, скажу я вам. Но вещи не так просты, как кажутся. Рассмотрим следующую ситуацию: * Предположим, что вам нужен пакет XYZ. * Также представим, что на 10 июня его версия в тестируемом дистрибутиве XYZ-3.6, а в нестабильном XYZ-3.7. * Прошло 10 дней, XYZ-3.7 из нестабильного перешёл в тестируемый. * Итак, на 20 июня в тестируемом и нестабильном одинаковая версия XYZ-3.7. * Пользователь тестируемого дистрибутива видит, что для пакета XYZ есть обновление, и он устанавливает его, переходя с XYZ-3.6 на XYZ-3.7. * Теперь, 25 июня кто-то использующий тестируемый или нестабильный дистрибутив обнаруживает RC-ошибку в XYZ-3.7 и пишет письмо об этом в BTS. * Сопровождающий XYZ исправляет эту ошибку и загружает исправленную версию в нестабильный дистрибутив, скажем, 30 июня. Здесь предполагается, что потребовалось 5 дней, чтобы сопровождающий исправил ошибку и закачал новую версию. Число 5 не следует воспринимать как постоянную величину. Оно может быть меньше или больше, в зависимости от сложности имеющейся RC-ошибки. * Планируется, что новая версия из нестабильного дистрибутива, XYZ-3.8, войдёт в тестируемый 10 июля. * Но 5 июля другой человек обнаруживает другую RC-ошибку в XYZ-3.8. * Предположим, что сопровождающий XYZ исправил эту новую RC-ошибку и закачал новую версию XYZ через 5 дней. * Итак, 10 июля в тестируемом дистрибутиве содержится XYZ-3.7, а в нестабильном XYZ-3.9. * Планируется, что новая версия XYZ-3.9 попадёт в тестируемый дистрибутив 20 июля. * Так как вы используете тестируемый дистрибутив, а версия XYZ-3.7 имеет ошибки, то вы, вероятно, сможете использовать XYZ только после 20 июля. То есть фактически целый месяц у вас стояла нерабочая версия XYZ. Ситуация может существенно осложниться, если, скажем, XYZ зависит от 4 других пакетов. Это может приводить к неработоспособности тестируемого дистрибутива на несколько месяцев. Приведённый выше вымышленный сценарий вполне может произойти и в жизни. Но такое случается редко. 3.1.8. С точки зрения администратора, какой дистрибутив требует большего внимания? ---------------------------------------------------------------------------- Одной из основных причин, по которой многие люди выбирают Debian среди других дистрибутивов Linux, является то, что он не отнимает много времени на администрирование. Люди хотят систему, которая просто работает. В общем, можно сказать, что стабильный дистрибутив не требует много усилий для поддержания работоспособности, а тестируемый и нестабильный требуют постоянного внимания администратора. Если вы работаете со стабильным дистрибутивом, то всё, что вам нужно, --- это следить за обновлениями безопасности. При использовании тестируемого или нестабильного лучше быть в курсе новых обнаруженных ошибок в установленных пакетах, новых исправлений/возможностей и т. д. 3.1.9. Что происходит при выходе новой версии дистрибутива? ---------------------------------------------------------------------------- Этот вопрос не поможет вам в выборе дистрибутива Debian. Но рано или поздно он встанет перед вами. В настоящее время стабильным дистрибутивом является wheezy; следующий стабильный дистрибутив будет называться wheezy. Рассмотрим что случится, когда wheezy станет новой стабильной версией. * Старый стабильный (oldstable) = squeeze; стабильный (stable) = wheezy; тестируемый (testing) = wheezy; нестабильный (unstable) = sid * Нестабильный всегда указывает на sid, независимо от того, вышла ли новая версия или нет. * Пакеты постоянно переносятся из sid в тестируемый (то есть в wheezy). А пакеты в стабильном (то есть в wheezy) не меняются (за исключением обновлений безопасности). * По прошествии какого-то времени тестируемый замораживают. Но он всё равно пока будет называться тестируемым. В этот период никакие новые пакеты из нестабильного дистрибутива в тестируемый перемещаться не могут, за исключением лишь тех, что содержат исправления ошибок, критических для выпуска (release-critical --- RC). * Когда тестируемый заморожен, каждое из этих новых исправлений вручную проверяется членами выпускающей команды. Это делается для того, чтобы не добавить каких-нибудь неизвестных серьёзных проблем. * Полностью исправляются все RC-ошибки в «замороженном тестируемом» дистрибутиве. * «Замороженный тестируемый» без RC-ошибок выпускается как новая стабильная версия. В нашем примере новый стабильный выпуск будет называться wheezy. * На этой стадии старый стабильный = wheezy, стабильный = wheezy. Содержимое стабильного и «замороженного тестируемого» в этот момент одинаково. * Новым тестируемым дистрибутивом становится копия текущего нестабильного. * Пакеты начинают поступать из sid в тестируемый, и сообщество Debian начинает работать над следующим стабильным выпуском. 3.1.10. У меня на настольном компьютере/кластере установлен Debian. Как узнать, какой дистрибутив используется? ---------------------------------------------------------------------------- В большинстве случаев это очень легко сделать. Посмотрите файл `/etc/apt/sources.list'. Там будет строка, подобная этой: deb http://ftp.us.debian.org/debian/ unstable main contrib Третье поле («unstable» в вышеприведённом примере) указывает на отслеживаемый дистрибутив Debian, установленный в системе. Также вы можете использовать команду `lsb_release' (из пакета `lsb-release'). Если вы запустите эту программу на компьютере с нестабильной системой, то получите: $ lsb_release -a LSB Version: core-2.0-noarch:core-3.0-noarch:core-3.1-noarch:core-2.0-ia32:core-3.0-ia32:core-3.1-ia32 Distributor ID: Debian Description: Debian GNU/Linux unstable (sid) Release: unstable Codename: sid Однако, это не всегда так легко. В некоторых системах могут быть файлы `sources.list' с несколькими строками, указывающими на различные дистрибутивы. Так бывает, когда администратор следит за различными пакетами из различных дистрибутивов Debian. Это часто называется apt-pinning. На таких компьютерах может использоваться смесь дистрибутивов. 3.1.11. Я отслеживаю изменения в стабильном дистрибутиве. Можно ли заменить его на тестируемый или нестабильный? Если да, то как? ---------------------------------------------------------------------------- Если вы используете стабильный дистрибутив, то третье поле в файле `/etc/apt/sources.list' будет содержать wheezy или stable. Вам нужно изменить это значение на название того дистрибутива, который вы хотите использовать. Если вам нужен тестируемый дистрибутив, то замените значение третьего поля в `/etc/apt/sources.list' на testing. Если нужен нестабильный, замените на unstable. В настоящее время тестируемый называется wheezy. Поэтому, если вы измените значение третьего поля в `/etc/apt/sources.list' на wheezy, то также переключитесь на работу с тестируемым дистрибутивом. Но когда wheezy станет стабильным, у вас всё ещё будет продолжаться отслеживаться wheezy. Нестабильный всегда называется Sid. Поэтому, если вы измените значение третьего поля в `/etc/apt/sources.list' на sid, то у вас будет отслеживаться нестабильный дистрибутив. В настоящее время, Debian предлагает обновления безопасности для тестируемого дистрибутива, но не для нестабильного, так как исправления в нестабильном дистрибутиве сразу же попадают в главный архив. Поэтому, если вы используете нестабильный дистрибутив, проверьте, что удалили из `/etc/apt/sources.list' строки, касающиеся обновлений безопасности. Если для дистрибутива, до которого выполняется обновление, доступна информация о выпуске (даже если официально он ещё не вышел), разумно будет её просмотреть, так как в ней может содержаться информация о том, как проводить обновление. Тем не менее, после того как были произведены вышеуказанные изменения, вы можете запустить `aptitude update' и затем устанавливать нужные вам пакеты. Заметим, что установка пакетов от другого дистрибутива может привести к обновлению половины системы. Если вы устанавливаете отдельные пакеты, то получите систему, работающую на смеси дистрибутивов. В некоторых ситуациях лучше выполнить полное обновление до нового дистрибутива, запустив `apt-get dist-upgrade', `aptitude safe-upgrade' или `aptitude full-upgrade'. Подробнее об этом можно узнать из справочных страниц по apt и aptitude. 3.1.12. Сейчас я использую тестируемый дистрибутив (wheezy). Что произойдёт после выпуска следующей версии? У меня по-прежнему будет отслеживаться тестируемый дистрибутив, или на моей машине будет новый стабильный дистрибутив? ---------------------------------------------------------------------------- Это зависит от записей в файле `/etc/apt/sources.list'. Если сейчас у вас отслеживается тестируемый дистрибутив, то там будут строки вида: deb http://ftp.us.debian.org/debian/ testing main или deb http://ftp.us.debian.org/debian/ wheezy main Если в третьем поле файла `/etc/apt/sources.list' стоит «testing», то даже после выхода нового выпуска у вас будет отслеживаться тестируемый дистрибутив. Поэтому после выхода wheezy вы будете работать на новом дистрибутиве Debian с другим кодовым именем. Сначала изменения будут незаметны, но они проявятся, как только новые пакеты начнут переходить из нестабильного дистрибутива в тестируемый. Но если третье поле содержит «wheezy», то вы перейдёте на стабильный дистрибутив (так как wheezy станет новым стабильным дистрибутивом). 3.1.13. Всё равно непонятно. Так что же нужно устанавливать? ---------------------------------------------------------------------------- Если не знаете, что выбрать, устанавливайте стабильный дистрибутив. 3.2. Но ещё есть Knoppix, Linex, Ubuntu и другие? ----------------------------------------------------------------- Это не дистрибутивы Debian, это дистрибутивы, _построенные на основе Debian_. Хотя в них есть много общего и похожего, но есть также и принципиальные различия. У каждого из этих дистрибутивов есть свои достоинства, и они очень подходят под определённые задачи. Подробнее об этом можно узнать на странице Дистрибутивы GNU/Linux, основанные на Debian (http://www.debian.org/misc/children-distros) на сайте Debian. 3.2.1. Я знаю, что Knoppix/Linex/Ubuntu/… сделан на основе Debian. Смогу ли я после установки его на жёсткий диск использовать для него утилиты управления пакетами apt? ---------------------------------------------------------------------------- Эти дистрибутивы сделаны на основе Debian. Но это не Debian. Да, вы можете заставить инструменты управления пакетами apt использовать репозитории этих дистрибутивов, указав их в файле `/etc/apt/sources.list'. Но тогда у вас будет не Debian, а другой дистрибутив. Они не тождественны друг другу. В большинстве случаев, если вы начали использовать определённый дистрибутив, то должны использовать только его пакеты и не устанавливать пакеты из других дистрибутивов. Очень часто происходят поломки в работе из-за того, что люди пытаются установить в Debian пакеты из других дистрибутивов. Тот факт, что они используют одинаковый формат и расширение (.deb), не делает их совместимыми между собой. Например, Knoppix --- это дистрибутив Linux, разработанный для запуска с CD (live-CD), а Debian разрабатывался для установки на жёсткий диск. Knoppix очень полезен, если вы хотите узнать, заработает ли определённое аппаратное обеспечение, или если вы просто хотите узнать, что такое Linux. Knoppix замечательно подходит для демонстрационных целей, в то время как Debian предназначен для работы 24 часа в сутки 7 дней в неделю. Более того, по числу доступных пакетов и поддерживаемых архитектур Debian значительно превосходит Knoppix. Если вам нужен Debian, то лучше всего и ставить сразу Debian. Хотя и возможно установить Debian через другие дистрибутивы, такие как Knoppix, такая процедура требует опыта. Если вы читаете эти ЧаВо, то я предполагаю, что вы новичок в Debian и Knoppix. В таком случае, не создавайте сами себе проблем, и устанавливайте сразу Debian. 3.2.2. Я установил Knoppix/Linex/Ubuntu/… на жёсткий диск. У меня возникла проблема. Что делать? ---------------------------------------------------------------------------- Советуем вам не просить о помощи на форумах Debian (или в списках рассылки, или по IRC), так как люди могут подумать, что вы используете Debian, и их «исправления» могут не подойти для вашего дистрибутива. Это даже может нанести ещё больший вред. Сперва воспользуйтесь форумами по установленному дистрибутиву. Если там не помогут решить проблему, то можете попытаться спросить в форумах по Debian, но не забудьте, о чём говорилось в предыдущем параграфе. 3.2.3. Я использую Knoppix/Linex/Ubuntu/... и теперь хочу поставить Debian. Как бы мне переехать? ---------------------------------------------------------------------------- Считайте смену дистрибутива на основе Debian сменой одной операционной системы на другую. Вам нужно сделать резервную копию всех данных и переустановить операционную систему с нуля. Не пытайтесь выполнить «обновление» до Debian с помощью программ управления пакетами, так как это может привести к неработоспособности системы. Если пользовательские данные (то есть `/home') расположены на отдельном разделе, то перейти на Debian очень просто, вам нужно просто указать системе установки смонтировать (но без форматирования) этот раздел при переустановке. Не забудьте сделать резервную копию данных, а также файлов настроек предыдущей системы (то есть `/etc/' и, может быть, `/var/'). ------------------------------------------------------------------------------- 4. Проблемы совместимости ---------------------------------------------- 4.1. На каких архитектурах/системах работает Debian GNU/Linux? ---------------------------------------------------------------------------- Debian GNU/Linux содержит исходный код всех входящих в него программ, поэтому он должен работать на всех системах, которые поддерживаются ядром Linux. Подробности см. в Linux FAQ (http://en.tldp.org/FAQ/Linux-FAQ/intro.html#DOES-LINUX-RUN-ON-MY-COMPUTER). Текущий выпуск Debian GNU/Linux 7.0 содержит двоичный код для следующих архитектур: * _amd64_: системы с 64-битными процессорами AMD с расширением AMD64 и любыми процессорами Intel с расширением EM64T, и 64-битным пользовательским окружением; * _armel_: машины ARM с процессором с обратным порядком байт; * _armhf_: альтернатива armel для машин ARMv7 с аппаратной плавающей запятой. * _i386_: ПК с процессорами Intel и совместимыми с ними, включая Intel 386, 486, Pentium, Pentium Pro, Pentium II (Klamath и Celeron), Pentium III и почти все совместимые процессоры от AMD, Cyrix и другие; * _ia64_: компьютеры Intel IA-64 («Itanium»); * _mips_:MIPS системы от SGI с прямым порядком байт --- Indy и Indigo2; _mipsel_: MIPS системы с обратным порядком байт --- Digital DECstation; * _powerpc_: некоторые машины IBM/Motorola PowerPC, включая модели PowerMac Apple Macintosh и машины с открытой архитектурой CHRP и PReP; * _s390_: мэйнфреймы IBM S/390; * _s390x_: 64-битный перенос для машин IBM System z, предназначен для замены s390. * _sparc_: SPARC от Sun и большинство систем UltraSPARC, а также некоторые выросшие из них системы на базе архитектуры sun4. В настоящее время ведётся разработка дистрибутивов двоичных пакетов Debian для _armhf_ (платы и устройства ARM с блоком вычисления чисел с плавающей запятой), _arv32_ (32-битные процессоры Atmel на основе архитектуры RISC), _m32_ (32-битные процессоры Renesas Technology на основе архитектуры RISC), _s390x_ (64-битное пользовательское окружение для мэйнфреймов IBM System z) и _sh_ (процессоры Hitachi SuperH). Поддержка архитектуры _m68k_ была прекращена в выпуске Etch (Debian 4.0), так как она не удовлетворяла требованиям ответственных за выпуск Debian. К данной архитектуре относятся машины Amiga и ATARI с процессорами Motorola 680x0, где x>=2 означает встроенный модуль MMU. Однако, даже не будучи частью официального стабильного выпуска, данный перенос всё ещё остаётся активным и доступен для установки, и может быть возвращён в число действующих в будущих выпусках. Поддержка _hppa_ (машины Hewlett-Packard с архитектурой PA-RISC ) и _alpha_ (системы Compaq/Digital с архитектурой Alpha) была прекращена в выпуске Squeeze (Debian 6.0) по схожим причинам. Также в этом выпуске прекращена поддержка архитектуры _arm_, вследствие перехода на поддержку _armel_. Подробности см. на странице переносов (http://www.debian.org/ports/). Информация о загрузке, разметке диска, включении устройств PCMCIA (PC Card) и о прочих вопросах такого рода приведена в руководстве по установке (http://www.debian.org/releases/stable/installmanual). 4.2. На каких ядрах работает Debian GNU/Linux? ------------------------------------------------------------------ Debian предлагает полные дистрибутивы двоичных пакетов для следующих ядер операционных систем: * FreeBSD: предоставляется посредством переносов _kfreebsd-amd64_ и _kfreebsd-i386_ для 64-битных и 32-битных ПК, соответственно. Данные переносы впервые появились в Debian 6.0 Squeeze как _технологические пробы_. Кроме этого, ведётся работа над следующими переносами: * _avr32_ — перенос для 32-битной архитектуры Atmel, * _hurd-i386_ — перенос для 32-битных ПК. В данном переносе будет использована GNU Hurd — новая операционная система, собираемая группой GNU, * _sh_ — перенос для процессоров Hitachi SuperH. Были попытки переноса дистрибутива на ядро NetBSD, где предоставлялись ядра _netbsd-i386_ (для 32-битных ПК) и _netbsd-alpha_ (для машин Alpha), но эти переносы никогда не выпускались, и в данный момент работа над ними свёрнута. Подробности см. на странице переносов (http://www.debian.org/ports/). 4.3. Насколько Debian совместим с другими дистрибутивами Linux? ---------------------------------------------------------------------------- Разработчики Debian ведут диалог с создателями других дистрибутивов Linux с целью достижения двоичной совместимости между разными дистрибутивами Linux. Большинство коммерческих продуктов для Linux также хорошо работает в Debian, как и на тех системах, где они были собраны. Debian GNU/Linux соблюдает Стандарт Иерархии Файловой Системы (http://www.pathname.com/fhs/). Однако, в правилах стандарта остались места, интерпретация которых может несколько различаться между системой Debian и другими системами Linux. В Debian GNU/Linux есть поддержка ПО, разработанного в соответствии с Linux Standard Base (http://www.linuxbase.org/). LSB --- это спецификация, позволяющая использовать один двоичный пакет сразу в нескольких дистрибутивах. Выпуск Debian Etch сертифицирован по LSB Release 3.1, см. страницу Linux Foundation Certification (https://www.linux-foundation.org/lsb-cert/productdir.php). Обсуждение и координирование усилий по улучшению Debian в плане соблюдения требований Linux Standard Base проходит в списке рассылки debian-lsb (http://lists.debian.org/debian-lsb/). 4.4. Насколько исходный код Debian совместим с другими системами Unix? ---------------------------------------------------------------------------- Исходный код большинства приложений Linux совместим с другими системами Unix. Поддерживается почти всё, что есть в системах Unix System V, а также в свободных и коммерческих системах, происходящих от BSD. Однако, для бизнеса такое утверждение о Unix почти не имеет значения, потому что доказать это никак нельзя. В области разработки программного обеспечения необходима полная совместимость, а не совместимость «в большинстве случаев». Поэтому несколько лет тому назад назрела необходимость в стандартах, и теперь POSIX.1 (IEEE Стандарт 1003.1-1990) является одним из основных стандартов по совместимости исходного кода для Unix-подобных операционных систем. ОС Linux ориентирована на соответствие POSIX.1, но стандарты POSIX стоят настоящих денег, а сертификация POSIX.1 (и FIPS 151-2) довольно дорога; это ещё более усложняет разработчикам Linux работу по достижению полного соответствия POSIX. Ввиду высокой стоимости сертификации маловероятно, что Debian получит официальное подтверждение о соответствии, даже если он полностью пройдёт аттестационный пакет. (Аттестационный пакет теперь свободно доступен, так что ожидается, что ещё больше людей будет работать над вопросами соответствия POSIX.1). В Unifix GmbH (Брауншвейг, Германия) была разработана Linux-система, которая была сертифицирована как удовлетворяющая FIPS 151-2 (расширенный набор POSIX.1). Эта технология была доступна в собственном дистрибутиве Unifix, названном Unifix Linux 2.0, и в Lasermoon Linux-FT. 4.5. Можно ли использовать пакеты Debian (файлы «.deb») в системе RedHat/Slackware/… Linux? Можно ли использовать пакеты RedHat (файлы «.rpm») в системе Debian GNU/Linux? ---------------------------------------------------------------------------- В различных дистрибутивах Linux используются различные форматы пакетов и различные программы управления пакетами. _То, что вы, вероятно, сможете сделать_ Существует программа для распаковки пакета Debian на Linux-машине, работающей под «чужим» дистрибутивом, и она, в общем, работает, в том смысле, что файлы будут распакованы. Вариант наоборот, скорее всего, тоже будет работать, т. е. программа сможет распаковать пакет для RedHat или Slackware на машине, работающей под Debian GNU/Linux, и разместить большинство файлов по нужным каталогам. Это, в значительной степени, стало возможным благодаря существованию (и строгому соблюдению) Стандарта Иерархии Файловой Системы Linux. Для преобразования различных форматов пакетов друг в друга используется программа Alien (http://packages.debian.org/alien). _То, что вы, скорее всего, делать не захотите_ Большинство программ управления пакетами при распаковке архива сохраняют какие-то управляющие файлы. Эти файлы обычно не стандартизированы. Поэтому распаковка пакета Debian на «чужой» машине может непредсказуемым (и навряд ли положительным) образом повлиять на программу управления пакетами этой системы. Таким же образом и архивы других дистрибутивов могут быть успешно распакованы их утилитами в системе Debian, но это может привести к сбоям системы управления пакетами Debian, когда придёт время обновления или удаления каких-нибудь пакетов, или даже просто при выводе списка пакетов, установленных в системе. _Лучший способ:_ Стандарт Файловой Системы Linux (а, следовательно, и Debian GNU/Linux) требует, чтобы подкаталоги в `/usr/local/' полностью находились в распоряжении пользователей. Поэтому пользователи могут распаковывать «чужие» пакеты в этот каталог, а затем лично управлять их настройкой, обновлением и удалением. 4.6. Как установить не-Debian программу? ---------------------------------------------------------------- Файлы в каталоге `/usr/local/' не контролируются системой управления пакетами Debian. Поэтому хорошим вариантом будет размещение исходного кода нужных вам программ в каталоге /usr/local/src/. Например, файлы из пакета «foo.tar» можно распаковать в каталог `/usr/local/src/foo'. После сборки поместите двоичные файлы в `/usr/local/bin/', библиотеки в `/usr/local/lib/', а файлы настроек в `/usr/local/etc/'. Если ваша программа и/или файлы на самом деле должны находиться в каком-то другом каталоге, их всё равно можно сохранить в `/usr/local/', а в нужных местах создать соответствующие символьные ссылки на файлы из `/usr/local/'. Можно, например, сделать так: ln -s /usr/local/bin/foo /usr/bin/foo В любом случае, если вы получили пакет, авторские права на который позволяют его дальнейшее распространение, вам стоило бы подумать о создании из него пакета для Debian и отправке его в систему Debian. О том, как стать разработчиком пакета, читайте в руководстве по политике Debian (см. раздел 12.1, `Какая ещё документация существует по системе Debian?'). 4.7. Почему не получается собрать программы, которым нужна библиотека libtermcap? ---------------------------------------------------------------------------- Для работы с терминалом в Debian используется база данных `terminfo' и библиотека `ncurses', а не база данных `termcap' и библиотека `termcap'. Пользователям, собирающим программы, требуются некоторые знания по работе с терминалом для того, чтобы преобразовать вызовы `libtermcap' в вызовы `libncurses'. Для поддержки двоичных файлов, которые уже скомпонованы с библиотекой `termcap' и для которых нет исходного кода, в Debian предлагается пакет `termcap-compat'. В нём содержится библиотека `libtermcap.so.2' и файл `/etc/termcap'. Если программа отказывается запускаться с сообщением об ошибке «can't load library 'libtermcap.so.2» или жалуется на отсутствие файла `/etc/termcap', установите этот пакет. 4.8. Почему не получается установить AccelX? ------------------------------------------------------------------------ Для установки AccelX используется библиотека `termcap'. Смотрите раздел 4.7, `Почему не получается собрать программы, которым нужна библиотека libtermcap?'. ------------------------------------------------------------------------------- 5. Программное обеспечение, доступное в системе Debian ---------------------------------------------------------------------------- 5.1. Какие виды приложений и средств разработки программ доступны в Debian GNU/Linux? ---------------------------------------------------------------------------- Как и многие другие дистрибутивы Linux, Debian GNU/Linux предоставляет: * основные приложения GNU для разработки программного обеспечения, работы с файлами и обработки текста, включая gcc, g++, make, texinfo, Emacs, оболочку Bash и множество усовершенствованных утилит Unix; * Perl, Python, Tcl/Tk и множество программ, модулей и библиотек для этих языков; * TeX (LaTeX) и Lyx, dvips, Ghostscript; * оконную систему Xorg, предоставляющую сетевой графический пользовательский интерфейс в Linux, и несметное количество X-приложений, в том числе окружения рабочих столов GNOME, KDE и Xfce; * полный набор сетевых приложений, в том числе серверы для сетевых протоколов Интернета, такие как HTTP (WWW), FTP, NNTP (новости), SMTP и POP (почта) и DNS (серверы имён); реляционные базы данных PostgreSQL, MySQL; помимо этого имеются веб-браузеры, в том числе различные продукты Mozilla [1], * полный комплект офисных приложений, в том числе офисный пакет OpenOffice.org, Gnumeric и другие программы работы с электронными таблицами, WYSIWYG-редакторы, календари. Дистрибутив состоит из более 28200 пакетов, от новостных служб и программ чтения новостей до поддержки звука, приложений работы с факсами, баз данных и табличных процессоров, программ обработки изображений, связи, сетевых и почтовых утилит, веб-серверов и даже программ любительского радио. Кроме того, в Debian доступно ещё 187 пакетов, но формально они не являются частью Debian в связи с лицензионными ограничениями. [1] Правда с изменённой символикой и под другими именами из-за соглашений по торговым маркам 5.2. Кто написал все эти программы? ------------------------------------------------------------ _Авторы_ программ, входящих в каждый из пакетов, указаны в соответствующих файлах `/usr/share/doc/ПАКЕТ/copyright', где вместо ПАКЕТ нужно подставить имя пакета. _Сопровождающие_ --- это те, кто создаёт пакеты для системы Debian GNU/Linux; они перечислены в управляющем файле Debian (смотрите раздел 7.4, `Зачем нужен файл control?'), который имеется в каждом пакете. В файле изменений Debian, `/usr/share/doc/ПАКЕТ/changelog.Debian.gz', перечислены люди, которые также принимали участие в создании пакета Debian. 5.3. Как получить текущий список программ, для которых в Debian собраны пакеты? ---------------------------------------------------------------------------- Полный список доступен с любого сервера-зеркала Debian (http://www.debian.org/distrib/ftplist) в файле `indices/Maintainers'. Этот файл содержит имена пакетов, и имена и адреса электронной почты их сопровождающих. WWW-интерфейс для пакетов Debian (http://packages.debian.org/) обеспечивает удобный доступ к пакетам в каждом из тридцати «разделов» архива Debian. 5.4. Как установить окружение разработчика для сборки пакетов? ---------------------------------------------------------------------------- Если вы хотите собирать пакеты в системе Debian, то вам нужно иметь минимальное окружение для разработки, включающее компилятор C/C++ и несколько других важных пакетов. Чтобы получить такое окружение, вам нужно просто установить `build-essential'. Это метапакет, в зависимости которого включены стандартные инструменты разработки, необходимые для сборки пакетов Debian. Однако, для пересборки некоторых программ может потребоваться дополнительное программное обеспечение, в том числе заголовочные файлы библиотек или дополнительные инструменты, такие как, например, `autoconf' или `gettext'. Debian предоставляет множество инструментов, необходимых для упаковки другого ПО в пакеты Debian. Иногда бывает довольно сложно выяснить, какие именно программы требуются для сборки, если вы, конечно, не планируете просто пересобирать пакеты Debian. Последнюю задачу решить довольно легко, так как в каждый официальный пакет должен включаться список дополнительного программного обеспечения (кроме пакетов из `build-essential'), необходимого для его сборки, то есть так называемые `сборочные зависимости (Build-Dependencies)'. Для установки всех пакетов, необходимых для сборки определённого пакета исходного кода, и затем собственно для сборки этого пакета достаточно запустить: # apt-get build-dep # apt-get source --build Учтите, что если вы хотите собирать ядра Linux, распространяемые в Debian, то вам также нужно установить пакет `kernel-package'. Подробности см. в раздел 10.2, `Какие инструменты для самостоятельной сборки ядра есть в Debian?'. 5.5. Чего не хватает в Debian GNU/Linux? ------------------------------------------------------ Пакеты, которые ждут упаковки для Debian, перечислены в списке требующих доработки и будущих пакетов (http://www.debian.org/devel/wnpp/). О том, как добавить недостающие пакеты, см. раздел 13.1, `Как стать разработчиком программного обеспечения Debian?'. 5.6. Почему иногда выдаются сообщения «ld: cannot find -lfoo» при компиляции программ? Почему не хватает каких-то файлов libfoo.so в пакетах Debian с библиотеками? ---------------------------------------------------------------------------- Политика Debian требует, чтобы определённые символьные ссылки (на libfoo.so.x.y.z или подобные) размещались в отдельных пакетах --- пакетах разработки. Эти пакеты обычно называются libfoo-dev или libfooX-dev (если библиотечный пакет называется libfooX, где X --- целое число). 5.7. Поддерживает ли Debian Java (и если да, то как)? ---------------------------------------------------------------------------- В Debian доступно несколько _свободных_ реализаций технологии Java в виде пакетов, предоставляющих Java Development Kits и Runtime Environments. В Debian можно и писать, и отлаживать, и запускать программы Java. Для запуска апплетов Java требуется веб-браузер с соответствующей поддержкой. В некоторых браузерах Debian, как например в Mozilla или Konqueror, есть поддержка Java-плагинов, позволяющих выполнять в них Java-апплеты. Более подробно об этом написано в ЧаВо по Debian Java (http://www.debian.org/doc/manuals/debian-java-faq/). 5.8. Как узнать, что у меня система Debian, и какой она версии? ---------------------------------------------------------------------------- Чтобы проверить, что система установлена с настоящих дисков Debian, проверьте наличие файла `/etc/debian_version' из пакета `base-files'. В этом файле должна быть одна единственная запись, которая и укажет вам номер версии выпуска. Наличие программы `dpkg' подскажет вам, что вы можете устанавливать пакеты Debian на своей системе, но так как эта программа уже перенесена как во многие другие операционные системы, так и на другие архитектуры, то её наличие не даст полной гарантии, что ваша система представляет собой именно Debian GNU/Linux. Однако пользователи должны понимать, что система Debian состоит из многих частей, каждая из которых может обновляться (почти) независимо от других. Каждый «выпуск» Debian содержит строго определённое и неизменяемое содержимое. Обновления доступны отдельно. Чтобы получить состояние установки пакета `foo', используйте команду `dpkg --list foo'. Чтобы посмотреть версии установленных пакетов, запустите: dpkg -l Более подробное описание можно получить по команде: dpkg --status foo 5.9. Как в Debian поддерживаются языки, отличные от английского? ---------------------------------------------------------------------------- * Debian GNU/Linux распространяется с большим количеством клавиатурных раскладок для множества типов клавиатур и с утилитами (в пакете `kbd'), которые позволяют устанавливать, просматривать и редактировать таблицы клавиатурных раскладок. При установке пользователь может указать нужную раскладку. * Огромное количество программ в собираемых нами пакетах поддерживает ввод не-US-ASCII символов, используемых для других латинских языков (например, ISO-8859-1 или ISO-8859-2), а также множество программ поддерживает многобайтовые языки, такие как японский или китайский. * В настоящий момент, поддержка справочных страниц на немецком, испанском, финском, французском, венгерском, итальянском, японском, корейском, польском, португальском, русском, турецком и китайском языках осуществляется через пакеты `manpages-ЯЗЫК', где ЯЗЫК --- двухбуквенный ISO-код страны). Чтобы получить доступ к справочной странице на нужном языке, пользователь должен установить переменную оболочки LC_MESSAGES в соответствующее значение. Например, для чтения на итальянском языке LC_MESSAGES нужно установить в 'italian'. Программа `man' будет искать справочные страницы на итальянском языке в каталоге `/usr/share/man/it/'. 5.10. А где pine? --------------------- Из-за своей несвободной лицензии он лежит в разделе для несвободных программ. Более того, поскольку лицензия не позволяет распространять изменённые двоичные файлы, вам придётся компилировать его из исходного кода и заплат Debian самостоятельно. Пакет с исходным кодом называется `pine'. Для слежения за обновлениями можно использовать пакет `pine-tracker'. Обратите внимание, что существует множество замен и для pine, и для pico, например, `mutt' и `nano', которые представлены в разделе main. 5.11. Где qmail/ezmlm/djbdns? -------------------------------- Даниэл Бернстайн (Daniel J. Bernstein) использует для распространения всего своего ПО (http://cr.yp.to/software.html) ограничивающую лицензию, которая не позволяет распространять изменённые двоичные файлы. Однако в ноябре 2007 Бернстайн сказал: «[…] я решил сделать всё написанное мной ПО и то, которое ещё напишу, общественным достоянием.» См. ЧаВо от распространителей (http://cr.yp.to/distributors.html) на предмет условий его распространения. По состоянию на сентябрь 2008 года `daemontools', `djbdns' и `ucspi-tcp' вошли в Debian lenny (в раздел main). На момент написания этих строк (сентябрь 2008 года), `qmail' и `ezmlm' ещё не попали в Debian main; текущее состояние смотрите в Bug #457318 (ITP qmail) (http://bugs.debian.org/457318) и Bug #469193 (ITP ezmlm-idx) (http://bugs.debian.org/469193). По состоянию на сентябрь 2008 года `publicfile' по-прежнему является несвободным ПО. 5.12. Где проигрыватель Flash (SWF)? ---------------------------------------------------- В Debian есть `gnash' и `swfdec' --- два свободных проигрывателя видео в формате SWF. 5.13. Где Google Earth? -------------------------- Программное обеспечение Google Earth для GNU/Linux доступно на веб-сайте Google, но оно не только не является свободным, его даже никому не разрешено распространять, кроме разработчика. Однако, для работы с этим ПО может помочь пакет `googleearth-package' (из раздела contrib). 5.14. Где программы для VoIP? -------------------------------------------- Для передачи голоса через IP используются два открытых протокола: SIP и H.323. Оба реализованы в целом ряде программ раздела Debian main. Одним из популярных клиентов является `ekiga'. 5.15. У меня есть беспроводная сетевая карта, которая не работает в Linux. Что делать? ---------------------------------------------------------------------------- Купить ту, которая работает :) Как вариант, попробуйте с помощью `ndiswrapper' использовать в своей системе Linux драйвер для Windows (если он у вас, конечно, есть). Подробности см. на вики-странице Debian ndiswapper (http://wiki.debian.org/NdisWrapper). ------------------------------------------------------------------------------- 6. FTP-архивы Debian -------------------------- 6.1. Сколько существует дистрибутивов Debian? --------------------------------------------------------------------------- Есть три основных дистрибутива: стабильный («stable»), тестируемый («testing») и нестабильный («unstable»). Тестируемый дистрибутив иногда «замораживается» (смотрите раздел 6.5.1, `Что происходит с «testing»? Как его «замораживают»?'). Кроме этого, есть ещё старый стабильный дистрибутив («oldstable») (т. е. предыдущий стабильный) и экспериментальный дистрибутив («experimental»). Экспериментальный дистрибутив используется для пакетов, которые пока ещё разрабатываются и могут сломать систему. Он используется разработчиками, которым нравится изучать и тестировать самое новое ПО. Обычные пользователи не должны использовать пакеты из его состава, так как они могут быть опасны и вредны даже для опытных пользователей. Чтобы определиться с выбором дистрибутива Debian, см. Глава 3, `Выбор дистрибутива Debian'. 6.2. Что означают названия вроде etch, lenny и т. д.? ---------------------------------------------------------------------------- Это всего лишь «кодовые имена». Когда дистрибутив Debian находится в состоянии разработки, ему присваивается не номер версии, а кодовое имя. Эти имена облегчают зеркалирование дистрибутивов Debian (если бы настоящее имя каталога, например `unstable', вдруг изменилось на `stable', то пришлось бы без реальной необходимости скачивать кучу пакетов заново). Сейчас `stable' --- это символьная ссылка на `wheezy' (т. е. на Debian GNU/Linux 7.0), а `testing' --- это символьная ссылка на `wheezy'. Это означает, что `wheezy' сейчас является стабильным дистрибутивом, а `wheezy' --- текущим тестируемым. `unstable' --- это постоянная символьные ссылка на `sid', так как имя `sid' навсегда закреплено за нестабильным дистрибутивом(смотрите раздел 6.3, `Что такое «sid»?'). 6.2.1. Какие кодовые имена уже использовались? ---------------------------------------------------------------------------- Уже использовались следующие кодовые имена: `buzz' для выпуска 1.1, `rex' для выпуска 1.2, `bo' для выпусков 1.3.x, `hamm' для выпуска 2.0, `slink' для выпуска 2.1, `potato' для выпуска 2.2, `woody' для выпуска 3.0, `sarge' для выпуска 3.1, `etch' для выпуска 4.0, `lenny' для выпуска 5.0, `squeeze' для выпуска 6.0 и `wheezy' для выпуска 7.0. 6.2.2. Откуда берутся эти кодовые имена? -------------------------------------------------------------------- Уже давно они выбираются из имён героев мультфильма «История игрушек» (Toy Story) компании Pixar. * _buzz_ (Buzz Lightyear) --- это космонавт, * _rex_ --- это тиранозавр, * _bo_ (Bo Peep) --- это девочка, которая пасла овечку, * _hamm_ --- это свинья-копилка, * _slink_ (Slinky Dog) --- это игрушечная собака, * _potato_ --- это, естественно, Мистер Картошка (Mr. Potato), * _woody_ --- это ковбой, * _sarge_ --- это сержант зелёной пластмассовой армии, * _etch_ --- это доска для рисования (Etch-a-Sketch), * _lenny_ --- это бинокль, * _squeeze_ --- это имя трёхглазого инопланетянина, * _wheezy_ --- это имя резинового пингвина с красным галстуком-бабочкой, * _jessie_ --- это имя поющей девочки-ковбоя. * _sid_ --- это соседский мальчишка, который ломает игрушки. 6.3. Что такое «sid»? ------------------------------- _sid_ или _unstable_ --- это место, куда попадает большая часть пакетов при первоначальной закачке. Он никогда не будет выпущен, так как пакет сначала должен быть включён в _testing_, а позже в _stable_. sid содержит пакеты для выпускаемых и невыпускаемых архитектур. Имя «sid» также взято из мультфильма «История Игрушек»: там Sid --- это соседский мальчишка, который ломает игрушки :-) [1] [1] Когда современный sid ещё не существовал, в организации FTP-сайта был один существенный изъян: предполагалось, что если в текущем каталоге нестабильного дистрибутива «unstable» создаётся каталог для какой-то архитектуры, то когда этот дистрибутив становится новым стабильным, в выпуск новой версии войдут и её пакеты. Но для многих архитектур этого не происходило, и, как следствие, их каталоги во время выпуска новой версии дистрибутива должны были перемещаться в другое место. Это было непрактично, так как их перемещение порой сильно ухудшало пропускную способность сети. Несколько лет администраторы архивов обходили эту проблему, помещая двоичные файлы для ещё не выпускавшихся архитектур в специальный каталог под названием «sid». При первом выпуске версии для тех архитектур, что ранее не выпускались, создавалась ссылка со «stable» на «sid», а после этого пакеты для них начинали создаваться внутри дерева «unstable», как обычно. Но такое расположение сбивало пользователей с толку. С появлением пула пакетов (см. раздел 6.10, `Что находится в каталоге `pool'?') он стал каноническим местом хранения двоичных пакетов, независимо от того, к какому дистрибутиву они относятся, поэтому выпуски новых версий больше не приводят к сильному ограничению пропускной способности каналов серверов-зеркал (однако, имеет место довольно большой постоянный трафик в процессе разработки). 6.4. Что содержится в каталоге stable? ------------------------------------------------------------ * stable/main/: В этом каталоге находятся пакеты, официально составляющие последний выпуск системы Debian GNU/Linux. Эти пакеты соответствуют критериям Debian по определению Свободного ПО (DFSG) (http://www.debian.org/social_contract#guidelines) и могут свободно использоваться и распространяться. * stable/non-free/: В этом каталоге находятся пакеты, распространение которых ограничено требованиями, указанными в их лицензии. Например, в лицензиях некоторых пакетов запрещается их коммерческое распространение. Другие пакеты могут распространяться третьими лицами, но только как условно-бесплатное и несвободное ПО. Перед включением таких пакетов в какие бы то ни было дистрибутивы для дальнейшего распространения (например, на CD-диски) требуется изучение и, возможно, обсуждение лицензии каждого из них. * stable/contrib/: В этом каталоге находятся пакеты, которые свободны в полном соответствии с DFSG и сами по себе _распространяются свободно_, но каким-либо образом зависят от _НЕ_свободных пакетов, доступных только в разделе non-free. 6.5. Что содержится в тестируемом дистрибутиве? ---------------------------------------------------------------------------- Пакеты попадают в каталог «testing» после того, как пройдут некоторое тестирование в unstable. Пакеты должны быть синхронизированы для всех архитектур, для которых они собраны, и не должны иметь зависимостей, из-за которых их нельзя удалить из системы; кроме того, они должны иметь меньше ошибок, критических для выпуска, чем версии тех же пакетов, уже находящиеся в «testing». Таким образом, мы надеемся, «testing» всегда будет близок к состоянию кандидата на выпуск. Более подробную информацию как о «testing» вообще, так и о его пакетах можно найти здесь (http://www.debian.org/devel/testing). 6.5.1. Что происходит с «testing»? Как его «замораживают»? ---------------------------------------------------------------------------- Когда дистрибутив «testing» почти готов, ответственный за выпуск начинает его «заморозку». Задержки обычного продвижения новых версий пакетов увеличиваются, чтобы как можно меньше новых ошибок попало из «unstable» в «testing». Спустя какое-то время дистрибутив «testing» становится по-настоящему «замороженным». Это означает, что новые версии пакетов, за исключением лишь тех, что содержат исправления критических ошибок, больше в «testing» не попадают. В таком же состоянии глубокой заморозки дистрибутив может оставаться на время так называемого «тестового периода» перед выпуском. Когда дистрибутив «testing» «замораживают», дистрибутив «unstable» также становится частично замороженным. Разработчики перестают добавлять очень новое ПО в нестабильный дистрибутив из-за боязни, что замороженное ПО в «testing» потребует небольших обновлений и исправлений критичных для выпуска ошибок, которые не дают «testing» стать «stable». Для дистрибутива «testing» мы ведём учёт как тех ошибок, что не дают отдельным пакетам попасть в следующий выпуск, так и тех, что и вовсе могут задержать выход новой версии дистрибутива. Подробности см. в описании текущего состояния тестируемого выпуска (http://www.debian.org/releases/testing/). Как только количество ошибок понижается до минимально приемлемого значения, замороженный дистрибутив «testing» объявляется стабильным и выпускается с новым номером версии. Самым важным счётчиком ошибок является счётчик «критичных для выпуска» (Release Critical) ошибок, который можно посмотреть в список ошибок Release-critical (http://bugs.debian.org/release-critical/). Основная цель выпуска — NoRCBugs (http://wiki.debian.org/ReleaseGoals/NoRCBugs), что означает, что дистрибутив не должен содержать ошибок, помеченных как критичные, важные и серьёзные. Полный список проблем, считающихся критическими, можно найти в документе по RC-политике (http://release.debian.org/testing/rc_policy.txt). Каждый раз при выпуске новой версии предыдущий дистрибутив «stable» становится устаревшим и перемещается в архив. Подробности см. на странице архива Debian (http://www.debian.org/distrib/archive). 6.6. Что содержится в нестабильном дистрибутиве? ---------------------------------------------------------------------------- В каталоге «unstable» находится «срез» текущей разработки системы. Пользователи вполне могут использовать и тестировать пакеты оттуда, если они осознают степень их готовности. Преимущество использования нестабильного дистрибутива в том, что у вас всегда будут самые передовые достижения программной индустрии GNU/Linux, ну а если какая программа и сломается, у вас будет целых две половинки :-) В «unstable» тоже есть подкаталоги main, contrib и non-free, содержащие пакеты, разделённые по тем же признакам что и в «stable». 6.7. Что содержат каталоги в FTP-архивах Debian? --------------------------------------------------------------------------- На каждом сервере-зеркале Debian всё ПО, которое было упаковано для Debian GNU/Linux, распределено по нескольким каталогам. Каталог `dists' --- это сокращённое название «distributions» (дистрибутивы); это канонический путь доступа к имеющимся на данный момент выпускам Debian (и предварительным выпускам). В каталоге `pool' содержатся собственно пакеты, см. раздел 6.10, `Что находится в каталоге `pool'?'. Есть несколько вспомогательных каталогов: _/tools/_: Утилиты DOS для создания загрузочных дискет, разметки жёсткого диска, сжатия/распаковки файлов и загрузки Linux. _/doc/_: Основная документация Debian, например ЧаВо по Debian, инструкции по отправке сообщений об ошибках и т. д. _/indices/_: Различные индексные файлы (файл Maintainers и файлы переназначений). _/project/_: В основном, материалы для разработчиков и некоторые другие файлы. 6.8. Что находится в каталогах внутри `dists/stable/main'? ---------------------------------------------------------------------------- Внутри каждого основного каталога[1] находится по три набора подкаталогов, содержащих индексные файлы. Есть набор подкаталогов `binary-<что-то>' с индексными файлами для двоичных пакетов для каждой доступной компьютерной архитектуры, например `binary-i386' --- для пакетов, собранных для компьютеров Intel x86, или `binary-sparc' --- для машин Sun SPARCStation. Полный список доступных архитектур для каждого выпуска есть на веб-странице выпуска (http://www.debian.org/releases/). Для списка текущего выпуска см. раздел 4.1, `На каких архитектурах/системах работает Debian GNU/Linux?'. Индексные файлы в binary-* называются Packages(.gz, .bz2) и включают сводку по каждому двоичному пакету, вошедшему в дистрибутив. Реальные файлы двоичных пакетов находятся на самом верхнем уровне дерева в каталоге `pool'. Кроме этого, есть подкаталог с именем source/, в котором находятся индексные файлы вошедших в дистрибутив пакетов с исходными кодами. Индексный файл называется Sources(.gz, .bz2). И последнее, но не менее важное: есть набор подкаталогов, предназначенных для индексных файлов системы установки, они называются `debian-installer/binary-<архитектура>'. [1] `dists/stable/main', `dists/stable/contrib', `dists/stable/non-free' и `dists/unstable/main/' и т. д. 6.9. Где находятся исходные коды? --------------------------------------------------------- Исходные коды в Debian есть для каждого пакета. Более того, в лицензиях большинства программ содержатся _требования_ распространять вместе с ними и их исходные коды, либо сопровождать их предложением о том, откуда их можно получить. Исходные коды находятся в каталоге `pool' (смотрите раздел 6.10, `Что находится в каталоге `pool'?') вместе со всеми зависящими от архитектуры каталогами двоичных файлов. Для получения исходного кода необязательно знать структуру FTP-архива, достаточно выполнить команду `apt-get source имя_пакета'. Некоторые пакеты распространяются только в виде исходных кодов согласно требованиям их лицензий. Например, это касается пакета `pine', подробности см. в раздел 5.10, `А где pine?'. Для пакетов из каталогов «contrib» и «non-free» исходного кода может и не быть, поскольку формально данные каталоги не являются частью системы Debian. 6.10. Что находится в каталоге `pool'? ----------------------------------------------------------- Пакеты содержатся в огромном «пуле», структурированном по именам пакетов с исходным кодом. Для большей управляемости пул разбит по разделам («main», «contrib» и «non-free») и по первым буквам имён пакетов с исходным кодом. В этих каталогах содержится по несколько файлов: двоичные пакеты для каждой архитектуры и пакеты с исходным кодом, из которых были собраны двоичные пакеты. Чтобы выяснить, где находится определённый пакет, можно воспользоваться командой `apt-cache showsrc имя_пакета' и посмотреть на строку «Directory:». Например, пакеты `apache' находятся в `pool/main/a/apache/'. Также, из-за того, что пакетов, начинающихся с `lib*', слишком много, они распределены чуть по-другому: например, пакеты libpaper находятся в `pool/main/libp/libpaper/'. [1] [1] Раньше пакеты хранились в подкаталогах каталога `dists', согласно названию дистрибутива. Это вызывало различные проблемы, например, огромный трафик, снижающий пропускную способность каналов серверов-зеркал при выполнении больших изменений. Это было исправлено с вводом пула пакетов. Каталоги в `dists' всё ещё используются для хранения индексных файлов, которые нужны программам вроде `apt'. 6.11. Для чего нужен каталог «incoming»? ------------------------------------------------------------- После того как разработчик закачал пакет, до того, как он будет проверен на подлинность, и ему будет разрешено попасть в архив, он какое-то время хранится в каталоге входящих пакетов «incoming» Обычно никто не должен устанавливать пакеты из этого каталога. Однако, на случай крайней необходимости, каталог incoming доступен по адресу http://incoming.debian.org/. Оттуда можно вручную выкачать нужные пакеты, проверить подпись GPG и контрольную сумму MD5 в файлах .changes и .dsc и установить их. 6.12. Как создать свой собственный apt-репозиторий? ---------------------------------------------------------------------------- Если вы собрали для себя из исходных кодов какие-то пакеты, и хотели бы устанавливать их с помощью стандартных утилит управления пакетами Debian, то можете создать свой apt-архив пакетов. Это также удобно, если вы хотели бы сделать свои пакеты общедоступными, пока они ещё не вошли в дистрибутив Debian. О том, как это сделать, можно узнать в Debian Repository HOWTO (http://www.debian.org/doc/manuals/repository-howto/repository-howto). ------------------------------------------------------------------------------- 7. Основы системы управления пакетами Debian --------------------------------------------------------------------------- В этой главе вкратце рассматривается внутренняя низкоуровневая организация системы управления пакетами Debian. Если вас главным образом интересует вопрос о том, как _использовать_ соответствующие утилиты, переходите сразу к Глава 8, `Инструменты управления пакетами Debian' или Глава 9, `Поддержание обновлений системы Debian'. 7.1. Что такое пакет Debian? ----------------------------------------- Пакет обычно содержит полный комплект файлов, необходимых для реализации определённого набора команд или возможностей. Существует два типа пакетов Debian: * _Двоичные (binary) пакеты_. Содержат исполняемые файлы, файлы настроек, справочные страницы в форматах man и/или info, информацию об авторских правах и другую документацию. Эти пакеты распространяются в виде архивов особого, Debian-специфичного формата (см. раздел 7.2, `Какой формат у двоичных пакетов Debian?'); их обычно можно отличить по расширению '.deb'. Двоичные пакеты могут быть распакованы при помощи утилиты Debian `dpkg' (возможно, через пользовательский интерфейс типа `aptitude'); подробности см. в её справочной странице. * _Пакеты исходного кода (source)_. Состоят из файла с расширением `.dsc', содержащего описание этого пакета (в том числе имена перечисленных далее файлов), файла `.orig.tar.gz', содержащего tar-архив немодифицированного исходного кода, сжатый с помощью gzip, и обычно файла `.diff.gz', содержащего особые Debian-специфичные изменения к оригинальному исходному коду. Утилита `dpkg-source' служит для упаковки и распаковки пакетов исходного кода; подробности см. в её справочной странице. (В качестве пользовательского интерфейса к `dpkg-source' можно использовать программу `apt-get'.) При установке программного обеспечения система управления пакетами использует «зависимости» (dependencies), которые тщательно подобраны сопровождающим пакета. Эти зависимости указаны в файле `control', имеющемся в каждом пакете. Например, пакет, содержащий компилятор C от GNU (`gcc'), «зависит» от пакета `binutils', в котором содержатся компоновщик и ассемблер. Если пользователь попытается установить `gcc' до того, как установит `binutils', то система управления пакетами (dpkg) выдаст сообщение об ошибке, содержащее указание на необходимость установить `binutils', и прервёт установку пакета `gcc' (однако, очень настойчивый пользователь может отключить эту возможность, см. dpkg(8)). Подробности см. ниже в раздел 7.9, `Что имеется в виду, когда говорят, что пакет _Рекомендует_ (Recommends), _Предлагает_ (Suggests), _Заменяет_ (Replaces), _Ломает_ (Breaks) или _Предоставляет_ (Provides) другой пакет, _Зависит_ (Depends) от него или _Конфликтует_ (Conflicts) с ним?'. Инструменты управления пакетами Debian могут использоваться для: * манипулирования и управления пакетами или их частями; * управления локальными заменами файлов пакета; * помощи разработчикам в сборке пакетов; * помощи пользователям в установке пакетов с удалённых FTP-серверов. 7.2. Какой формат у двоичных пакетов Debian? ----------------------------------------------------------------------- «Пакет» (или «файл-архив») Debian содержит исполняемые файлы, файлы настроек, библиотеки и документацию для определённого программного комплекта или набора связанных программ. Обычно имя файла-архива Debian имеет расширение `.deb'. Внутренняя структура данных формата двоичных пакетов Debian описана в справочной странице deb(5). Этот формат может меняться (от версии к версии Debian GNU/Linux), поэтому всегда, когда вам нужно работать с файлами `.deb' на низком уровне, используйте dpkg-deb(1). 7.3. Почему имена файлов пакетов Debian такие длинные? ---------------------------------------------------------------------------- Для именования файлов двоичных пакетов Debian используется следующее соглашение: _<НомерВерсии>-<НомерРевизииDebian>_<АрхитектураDebian>.deb Здесь `foo' --- это собственно имя пакета. Если надо, имя пакета для конкретного файла-архива Debian (.deb-файла) можно узнать одним из следующих способов: * Просмотреть файл «Packages» в том каталоге, в котором он хранится на FTP-сайте архива Debian. В этом файле содержатся блоки описаний для каждого пакета; первое поле каждого блока представляет собой официальное имя пакета. * воспользоваться командой `dpkg --info foo_VVV-RRR_AAA.deb' (где VVV, RRR и AAA --- это, соответственно, версия, ревизия и архитектура пакета в запросе). В результате, помимо прочего, будет указано имя пакета, соответствующее распаковываемому файлу-архиву. Компонент `VVV' определяет номер версии, установленный разработчиком программы. Его формат не стандартизован, поэтому номер версии может быть любым, например «19990513» или «1.3.8pre1». Компонент `RRR' определяет номер ревизии Debian, и задаётся разработчиком Debian (или простым пользователем, если он решит собрать пакет самостоятельно). Этот номер соответствует степени ревизии пакета Debian, то есть, новая степень ревизии обычно указывает на изменения в Debian Makefile (`debian/rules'), файле Debian control (`debian/control'), сценариях установки или удаления (`debian/p*') или в файлах настроек, относящихся к самому пакету. Компонент `AAA' определяет тип процессора, для которого собран пакет. Как правило, это `i386', что указывает на процессоры, совместимыми с Intel 386 или более новыми моделями. Другие возможные типы можно увидеть в структуре каталогов Debian FTP (раздел 6.7, `Что содержат каталоги в FTP-архивах Debian?'). Подробности см. в справочной странице по архитектуре Debian dpkg-architecture(1). 7.4. Зачем нужен файл control? -------------------------------------------- Содержимое файла control подробно рассматривается в разделе 5 «Руководства по политике Debian» (Debian Policy Manual) (см. раздел 12.1, `Какая ещё документация существует по системе Debian?'). Краткий пример файла control для пакета Debian hello приведён ниже: Package: hello Priority: optional Section: devel Installed-Size: 45 Maintainer: Adam Heath Architecture: i386 Version: 1.3-16 Depends: libc6 (>= 2.1) Description: The classic greeting, and a good example The GNU hello program produces a familiar, friendly greeting. It allows nonprogrammers to use a classic computer science tool which would otherwise be unavailable to them. . Seriously, though: this is an example of how to do a Debian package. It is the Debian version of the GNU Project's `hello world' program (which is itself an example for the GNU Project). Поле Package содержит имя пакета. Это имя, по которому инструменты управления пакетами будут его опознавать. Обычно (но не обязательно) оно совпадает с первым компонентом имени файла архива Debian. Поле Version содержит номер версии программы, установленный её разработчиками, и (в последнем компоненте) номер ревизии пакета этой программы в Debian, см. раздел 7.3, `Почему имена файлов пакетов Debian такие длинные?'. Поле Architecture определяет тип процессора, для которого были скомпилированы двоичные файлы в данном пакете. Поле Depends содержит список пакетов, которые должны быть установлены для успешной установки данного пакета. Installed-Size отражает размер дискового пространства, который будет занят пакетом после установки. Этот параметр может использоваться программами установки для проверки достаточности дискового пространства перед установкой пакета. Строка Section определяет «раздел», в котором хранится пакет Debian на FTP-серверах. Поле Priority показывает, насколько установка этого пакета важна для системы; некоторые программы, например, dselect или aptitude, могут сортировать пакеты по категориям, см. раздел 7.7, `Что такое _Пакет первой необходимости_ (_Essential_), _Необходимый_ (_Required_), _Важный_ (_Important_), _Стандартный_ (_Standard_), _Необязательный_ (_Optional_) или _Дополнительный_ (_Extra_) пакет?'. В поле Maintainer указан адрес электронной почты человека, ответственного за поддержку данного пакета. В поле Description приводится краткое описание функциональности пакета. Более подробную информацию о всех возможных полях управляющего файла пакета см. в разделе 5 («Управляющие файлы и их поля») «Руководства по политике Debian» (Debian Policy Manual), см. раздел 12.1, `Какая ещё документация существует по системе Debian?'. 7.5. Зачем нужен файл conffile? --------------------------------------------- Conffile содержит список файлов настроек (обычно помещаемых в `/etc'), которые при обновлении пакета не будут перезаписываться системой управления пакетами. Это гарантирует, что содержимое файлов настроек будет сохранено, и позволяет обновлять пакеты, не прерывая работу системы. Чтобы точно определить, какие файлы сохраняются при обновлении, запустите: dpkg --status пакет и взгляните на строку «Conffiles:». 7.6. Зачем нужны сценарии preinst, postinst, prerm и postrm? ---------------------------------------------------------------------------- Это исполняемые сценарии, автоматически запускаемые до или после установки пакета. Вместе с файлом `control' эти файлы являются частью «управляющего» раздела файла-архива Debian. Более подробно: preinst Данный сценарий выполняется перед тем, как пакет будет распакован из файла-архива Debian (.deb). В сценариях preinst для многих пакетов при их обновлении задаётся остановка связанных с ними служб до тех пор, пока обновление или установка не закончится (последующим успешным выполнением сценария «postinst»). postinst Этот сценарий служит обычно для завершения всей необходимой настройки пакета `foo' после его распаковки из файла-архива Debian (.deb). Часто в сценарии «postinst» у пользователя запрашиваются различные параметры и/или пользователь предупреждается, что если он примет предлагаемые по умолчанию значения, позже он должен не забыть перенастроить этот пакет в соответствии со своей ситуацией. Затем во многих сценариях «postinst» выполняются команды, необходимые для запуска или перезапуска служб после установки или обновления пакета. prerm Этот сценарий обычно служит для остановки всех связанных с пакетом служб. Он выполняется перед удалением файлов данного пакета. postrm Этот сценарий обычно служит для изменения ссылок или других файлов, связанных с `foo', и/или удаления файлов, созданных пакетом. (См. также раздел 7.8, `Что такое виртуальный пакет?'.) В настоящее время все управляющие файлы находятся в каталоге `/var/lib/dpkg/info'. Имена файлов, относящихся к пакету `foo', начинаются с «foo» и имеют, соответственно, расширения «preinst», «postinst» и т. д. Файл `foo.list' в этом каталоге содержит список всех файлов, установленных из пакета `foo'. (Учтите, что местонахождение файлов определяется программой dpkg, поэтому нельзя иметь стопроцентную уверенность в том, что они будут находиться именно в этом каталоге.) 7.7. Что такое _Пакет первой необходимости_ (_Essential_), _Необходимый_ (_Required_), _Важный_ (_Important_), _Стандартный_ (_Standard_), _Необязательный_ (_Optional_) или _Дополнительный_ (_Extra_) пакет? ---------------------------------------------------------------------------- Для поддержки системы управления пакетами каждому пакету в Debian сопровождающими дистрибутива назначается _приоритет_. Возможные приоритеты: * _Необходимые (Required)_ --- пакеты, необходимые для правильного функционирования системы. Сюда входят все инструменты, необходимые для устранения неполадок в системе. Вам не следует удалять эти пакеты, иначе ваша система может перестать работать, и не исключено, что вы даже не сможете использовать dpkg для того, чтобы вернуть всё назад. Функциональность системы, в которой установлены только Необходимые пакеты, не слишком высока, но достаточна для того, чтобы позволить системному администратору загрузить её и установить больше программного обеспечения. * _Важные (Important)_ --- пакеты, которые должны быть в любой Unix-системе. Без этих программ не смогут работать или не будут обладать полной функциональностью другие пакеты. К ним _НЕ_ относятся Emacs, X, Tex или любое другое большое приложение. Это пакеты, образующие базовую структуру. * _Стандартные (Standard)_ --- пакеты, имеющиеся в любой Linux-системе, даже в сравнительно небольшой, хотя и не слишком ограниченной системе, работающей только в текстовом режиме. Сюда входят программы для просмотра веб (w3m), отправки почты (mutt) и скачивания файлов с FTP-серверов. Это то, что будет установлено по умолчанию, если пользователь не выберет чего-либо ещё. Сюда не входят многие большие приложения, но есть интерпретатор Python и некоторое серверное ПО типа OpenSSH (для удалённого управления), Exim (для доставки почты, хотя он может быть настроен только на локальную доставку), сервер identd (pidentd) и RPC зеркало портов (`portmap'). Сюда также входит немного основной документации общего характера, которая, вероятно, будет полезна для большинства пользователей. * _Необязательные (Optional)_ --- все те пакеты, которые, как правило, неплохо было бы установить, если вы либо не знаете, что они собой представляют, либо у вас нет каких-то особых требований к системе. Сюда входят X, полный дистрибутив TeX и множество других приложений. * _Дополнительные (Extra)_ --- пакеты, либо конфликтующие с другими пакетами, имеющими более высокий приоритет, полезные, скорее всего, только в том случае, когда вы уже знаете, что это такое, либо имеющие специфические требования, из-за которых им нельзя дать приоритет «Необязательный». Если вы выполните установку Debian по умолчанию, то будут установлены все пакеты с приоритетом _Стандартный_ или выше. Если вы выберете какие-то определённые задачи, то также будут установлены и пакеты с более низким приоритетом. Кроме того, некоторые пакеты классифицированы как _Пакеты первой необходимости_ (Essential), так как они абсолютно необходимы для правильной работы системы. Инструменты управления пакетами не допустят их удаления. 7.8. Что такое виртуальный пакет? --------------------------------------------------------- Виртуальный пакет --- это общее имя, применимое к любому из группы пакетов, каждый из которых предоставляет одинаковую возможность. Например, каждая из программ чтения новостей `tin' и `trn' может удовлетворить зависимость программы, для работы (или небесполезности) которой в системе должна быть программа чтения новостей. Поэтому про них говорится, что они обе предоставляют «виртуальный пакет» под названием `news-reader'. Аналогично, `smail' и `sendmail' обеспечивают функции агента пересылки сообщений. Поэтому говорят, что они предоставляют виртуальный пакет «mail transport agent». Если один из них установлен, то любая программа, зависящая от пакета `mail-transport-agent', будет удовлетворена наличием данного виртуального пакета. Кроме того, в Debian есть механизм, позволяющий системному администратору в том случае, когда в системе установлено несколько пакетов, предоставляющих определённый виртуальный пакет, выбрать предпочтительный. Для этого служит команда `update-alternatives', см. раздел 11.10, `Некоторым пользователям нравится mawk, другим gawk; некоторым vim, другим elvis; некоторым trn, другим tin. Как осуществляется поддержка предпочтений в Debian?'. 7.9. Что имеется в виду, когда говорят, что пакет _Рекомендует_ (Recommends), _Предлагает_ (Suggests), _Заменяет_ (Replaces), _Ломает_ (Breaks) или _Предоставляет_ (Provides) другой пакет, _Зависит_ (Depends) от него или _Конфликтует_ (Conflicts) с ним? ---------------------------------------------------------------------------- В системе пакетов Debian есть несколько типов «зависимостей» пакетов друг от друга, задуманных для определения (в одной переменной) степени независимости одной программы (например, А) от наличия в данной системе другой (Б). * Пакет A _зависит_ от пакета Б, если Б абсолютно необходим для работы A. В некоторых случаях A не просто зависит от Б, но дополнительно требует определённую версию Б. В этом случае обычно накладывается требование, чтобы версия Б была не ниже заданной. * Пакет A _рекомендует_ пакет Б, если сопровождающий пакета считает, что большинство пользователей не захотят пользоваться A, не имея функциональности, предоставляемой пакетом Б. * Пакет A _предлагает_ пакет Б, если Б содержит файлы, имеющие отношение к функциональности пакета A (и обычно её расширяющие). * Пакет A _конфликтует_ с пакетом Б, когда A не может работать, если установлен пакет Б. Наиболее часто конфликты возникают, когда A содержит усовершенствованные версии файлов, содержащихся в Б. «Конфликтует» часто задаётся вместе с «заменяет». * Пакет A _заменяет_ пакет Б, когда файлы, установленные из пакета Б, удаляются и (в некоторых случаях) замещаются файлами из A. * Пакет А _ломает_ пакет Б, когда нельзя одновременно настроить оба пакета в системе. Система управления пакетами предотвратит установку одного, если в системе уже установлен и настроен другой. * Пакет A _предоставляет_ пакет Б, когда все файлы и функциональность Б имеются в A. Этот механизм позволяет пользователям с ограниченным дисковым пространством получить только ту часть пакета А, которая действительно им нужна. Более подробную информацию об использовании этих терминов можно найти в разделе 7.2 («Двоичные зависимости») Руководства по политике Debian, см. раздел 12.1, `Какая ещё документация существует по системе Debian?'. 7.10. Что значит Пред-зависит (Pre-Depends)? ---------------------------------------------------------------- «Пред-зависимость» --- это особый тип зависимости. Для большинства пакетов файлы-архивы (то есть файлы `.deb') `dpkg' распаковывает независимо от того, существуют ли в системе файлы, от которых они зависят, или нет. Сильно упрощённо эту распаковку можно представить как извлечение файлов из файла-архива и помещение каждого из них в положенное место в файловой системе. Если такой пакет _зависит_ от наличия других пакетов в системе, то `dpkg' откажется завершать установку (то есть откажется выполнять действие «configure»), пока не будут установлены другие пакеты. Однако, некоторые пакеты `dpkg' даже не будет распаковывать, пока не будут разрешены некоторые зависимости. Про такие пакеты говорят, что они имеют «предварительную зависимость» от наличия некоторых других пакетов. Этот механизм предоставляется в Debian для поддержки безопасного перехода систем с формата `a.out' на `ELF', когда критична _очерёдность_ распаковки пакетов. Существуют и другие варианты больших обновлений, где этот приём также полезен, например для пакетов с приоритетом «необходимый», когда они зависят от LibC. Опять же, более подробную информацию об этом можно найти в руководстве по политике. 7.11. Что означают слова _неизвестно_ (_unknown_), _установить_ (_install_), _удалить_ (_remove_), _вычистить_ (_purge_), _зафиксировать_(_hold_) в строке состояния пакета? ---------------------------------------------------------------------------- Эти флаги определяют, что пользователь «хочет» сделать с пакетом (что определяется либо действиями пользователя при работе в разделе «Выбор» (Select) программы `dselect', либо непосредственным запуском `dpkg'). Их значения: * неизвестно (unknown) --- пользователь никоим образом не отметил, нужен ли ему этот пакет; * установить (install) --- пользователь хочет установить или обновить пакет; * удалить (remove) --- пользователь хочет удалить пакет, но не хочет удалять его файлы настроек; * вычистить (purge) --- пользователь хочет удалить пакет полностью, включая его файлы настроек; * зафиксировать (hold) --- пользователь хочет, чтобы над пакетом не совершалось никаких действий, т. е. он хочет сохранить текущую версию пакета, в каком бы состоянии она ни была. 7.12. Как зафиксировать (hold) пакет? ---------------------------------------------------------- Есть три способа перевода пакета в зафиксированное состояние: с помощью dpkg, aptitude или dselect. При использовании dpkg вам нужно экспортировать список состояний отметки пакетов: dpkg --get-selections \* > selections.txt Затем отредактировать полученный файл `selections.txt', заменив строку с именем пакета, который нужно зафиксировать, например `libc6', с: libc6 install на: libc6 hold Сохранить файл и загрузить его в базу данных dpkg: dpkg --set-selections < selections.txt При использовании aptitude пакет можно зафиксировать командой aptitude hold имя_пакета а снять фиксацию с помощью aptitude unhold имя_пакета При использовании dselect нужно перейти на экран Выбора пакетов (Select), найти нужный пакет и нажать клавишу «=» (или «H»). Изменения вступят в силу сразу же после выхода из режима Выбора пакетов. 7.13. Как установить пакет исходного кода? ------------------------------------------------------------------------- Пакеты исходного кода Debian на самом деле нельзя «установить», они просто распаковываются в любой указанный вами каталог для сборки двоичного пакета. Пакеты с исходным кодом распространяются с почти всех тех же серверов-зеркал, что и двоичные пакеты. Если вы добавите в файл настройки APT sources.list(5) соответствующие строки «deb-src», то сможете свободно скачивать пакеты с исходным кодом с помощью команды apt-get source имя_пакета Для облегчения сборки пакета в пакете исходного кода Debian предоставляется так называемый механизм сборочных зависимостей. Это означает, что сопровождающий пакета исходного кода ведёт список других пакетов, которые нужны для сборки его пакета. Чтобы увидеть насколько это удобно, выполните apt-get build-dep имя_пакета перед сборкой пакета. 7.14. Как собрать двоичный пакет из пакета исходного кода? ---------------------------------------------------------------------------- Лучше всего это делать с помощью различных утилит-обёрток. Мы покажем как использовать инструментарий `devscripts'. Установите этот пакет, если это ещё не сделано. Сначала добудьте пакет с исходным кодом: apt-get source имя_пакета и перейдите в дерево исходников: cd имя_пакета-* Затем установите необходимые сборочные зависимости (при их наличии): sudo apt-get build-dep имя_пакета После этого создайте отдельную версию своей сборки (для того, чтобы позже не удивляться, когда в Debian тоже выйдет новая версия) dch -l local 'Blah blah blah' И, наконец, соберите пакет debuild -us -uc Если всё прошло успешно, то вы сможете установить свой пакет, запустив sudo dpkg -i ../*.deb Если вы предпочитаете делать всё вручную и не хотите использовать `devscripts', то делайте так: Для компиляции исходного кода вам понадобятся файлы имя_пакета_*.dsc, имя_пакета_*.tar.gz и имя_пакета_*.diff.gz (учтите, что для некоторых родных пакетов Debian файла .diff.gz нет). Если у вас есть эти файлы (см. раздел 7.13, `Как установить пакет исходного кода?') и установлен пакет `dpkg-dev', то следующая команда: dpkg-source -x имя_пакета_версия-ревизия.dsc извлечёт пакет в каталог с именем `имя_пакета-версия'. Если вам нужно только скомпилировать пакет, перейдите в каталог `имя_пакета-версия' и выполните команду dpkg-buildpackage -rfakeroot -b для сборки пакета (обратите внимание, что для этого также понадобится пакет `fakeroot'), а затем dpkg -i ../имя_пакета_версия-ревизия_архитектура.deb для установки только что собранного пакета. 7.15. Как самому создать пакет Debian? ----------------------------------------------------------- Подробное описание этого процесса можно найти в "руководстве нового сопровождающего Debian" в пакете `maint-guide' или на странице http://www.debian.org/doc/devel-manuals#maint-guide. ------------------------------------------------------------------------------- 8. Инструменты управления пакетами Debian ---------------------------------------------------------------------- 8.1. Какие программы для управления пакетами имеются в Debian? ---------------------------------------------------------------------------- В Debian для управления пакетами имеется множество средств, от программ с графическими или текстовыми интерфейсами, до низкоуровневых утилит установки пакетов. Корректная работа всех доступных инструментов зависит от низкоуровневых утилит, и все они представлены здесь в порядке уменьшения уровня сложности. Важно понимать, что высокоуровневые инструменты управления пакетами, такие как `aptitude' или `dselect', для управления пакетами используют `apt', который, в свою очередь, использует `dpkg'. Подробнее об инструментах управления пакетами Debian написано в Chapter 2. Debian package management (http://www.debian.org/doc/manuals/debian-reference/ch02.en.html) справочнике Debian (http://www.debian.org/doc/manuals/debian-reference/)Этот документ доступен на различных языках и в разных форматах, см. пункт Debian Reference в описании руководств пользователя DDP (http://www.debian.org/doc/user-manuals#quick-reference). 8.1.1. dpkg ----------- Это основная программа управления пакетами. `dpkg' может вызываться с многими параметрами. Наиболее часто используемые из них: * Показать список всех параметров: `dpkg --help' * Показать управляющий файл (и другую информацию) для указанного пакета: `dpkg --info foo_VVV-RRR.deb' * Установить пакет на жёсткий диск (т. е. распаковать и настроить): `dpkg --install foo_VVV-RRR.deb' * Распаковать архив Debian на жёсткий диск (но не настраивать): `dpkg --unpack foo_VVV-RRR.deb'. Учтите, что в результате данной операции пакет _не обязан_ быть в рабочем состоянии; для правильной работы может потребоваться внесение изменений в некоторые файлы. Данная команда удаляет любую ранее установленную версию программы и запускает сценарий preinst указанного пакета (см. раздел 7.6, `Зачем нужны сценарии preinst, postinst, prerm и postrm?'). * Настроить пакет, который был распакован ранее: `dpkg --configure foo'. Кроме всего прочего, эта команда запускает сценарий postinst указанного пакета (см. раздел 7.6, `Зачем нужны сценарии preinst, postinst, prerm и postrm?'). Она также обновляет файлы, перечисленные в `conffiles'. Обратите внимание, что в качестве аргумента для параметра configure указывается имя пакета (т. е. foo), а _не_ имя файла-архива Debian (т. е. foo_VVV-RRR.deb). * Извлечь единственный файл с именем «blurf» (или группу файлов с именами по шаблону «blurf*») из архива Debian: `dpkg --fsys-tarfile foo_VVV-RRR.deb | tar -xf - blurf*' * Удалить пакет (но не его файлы настроек): `dpkg --remove foo' * Удалить пакет (вместе с файлами настроек): `dpkg --purge foo' * Вывести состояние установки пакетов, содержащих в имени строку (или регулярное выражение) «foo*»: `dpkg --list 'foo*'' 8.1.2. APT ---------- APT (_Advanced Package Tool_) --- расшифровывается как _усовершенствованный инструмент управления пакетами_, в него входит программа `apt-get'. Эта программа позволяет легко получать и устанавливать из командной строки пакеты из разных источников. В отличие от `dpkg', программа `apt-get' не понимает файлы .deb, она работает с именами пакетов, и может устанавливать архивы .deb только из источников, указанных в файле `/etc/apt/sources.list'. После скачивания архивов .deb команда `apt-get' запускает `dpkg'.[1]. Часто используемые команды `apt-get': * Обновить список пакетов, имеющихся в источниках: apt-get update (вы должны регулярно запускать эту команду для обновления списка пакетов) * Обновить все пакеты в системе (без установки дополнительных пакетов или удаления пакетов): apt-get upgrade * Установить пакет и все его зависимости: apt-get install foo * Удалить пакет из системы: apt-get remove foo * Удалить из системы пакет и все его файлы настроек: apt-get --purge remove foo * Обновить все установленные в системе пакеты с установкой или удалением дополнительных пакетов, если это потребуется для обновления какого-то пакета: apt-get dist-upgrade (Команда `upgrade' оставит старую установленную версию пакета, если для разрешения новых зависимостей при обновлении потребуется установка дополнительных пакетов. Команда `dist-upgrade' менее консервативна.) Учтите, что для выполнения каких бы то ни было команд для изменения пакетов в системе вам нужно иметь права суперпользователя. Обратите внимание, что в настоящее время `apt-get' по умолчанию устанавливает рекомендуемые пакеты, и эта программа является предпочтительной для управления пакетами из консоли при выполнении установки или больших обновлений системы вследствие её ошибкоустойчивости. В комплект инструментов apt входит также программа для обработки запросов по списку пакетов `apt-cache'. Её можно использовать для поиска пакетов, имеющих определённую функциональность, с помощью простых текстовых запросов или регулярных выражений, а также для получения списка зависимостей из системы управления пакетами. Часто используемые команды `apt-cache': * Найти пакеты, содержащие в своём описании <слово>: apt-cache search <слово> * Показать подробную информацию о пакете: apt-cache show <пакет> * Показать зависимости пакета: apt-cache depends <пакет> * Показать подробную информацию о доступных версиях пакета и о пакетах, от него зависящих (об обратных зависимостях пакета): apt-cache showpkg <пакет> Дополнительную информацию можно найти в справочных страницах apt-get(8), sources.list(5) из пакета `apt' и в файле `/usr/share/doc/apt-doc/guide.html/index.html' из пакета `apt-doc'. [1] К вашему сведению, существуют переносы, позволяющие использовать этот инструмент для работы и с другими системами управления пакетами, например с Red Hat package manager, также известной как `rpm' 8.1.3. aptitude --------------- `aptitude' --- это пакетный менеджер для систем Debian GNU/Linux, предоставляющий пользовательский интерфейс для инфраструктуры управления пакетами apt. `aptitude' имеет текстовый интерфейс, написанный с использованием библиотеки curses, позволяет удобно и быстро выполнять задачи управления пакетами. Помимо функциональности `dselect' и `apt-get', `aptitude' реализует много других дополнительных возможностей, которых нет ни в одной из этих программ: * обеспечивает лёгкий доступ ко всем версиям пакета; * позволяет легко отслеживать устаревшее ПО, занося его в «список устаревших пакетов и пакетов, созданных локально»; * включает достаточно мощную систему поиска и ограничения отображаемых пакетов. Пользователи, знакомые с `mutt', освоятся быстро, так как синтаксис регулярных выражений был навеян этой программой; * можно использовать для установки заранее сформированных наборов для определённых задач. Подробности см. в раздел 8.1.5, `tasksel'; * в полноэкранном режиме имеет встроенную функциональность команды `su' и может запускаться от обычного пользователя. Когда действительно понадобятся права администратора, вызовет `su' (и, если нужно, запросит пароль суперпользователя). С `aptitude' можно работать, используя визуальный интерфейс (просто запустить `aptitude'), или непосредственно из командной строки. Используемый синтаксис командной строки очень похож на синтаксис `apt-get'. Например, для установки пакета , можно выполнить `aptitude install '. Заметим, что `aptitude' является предпочтительной программой для ежедневного управления пакетами из консоли. Более подробную информацию можно найти в справочной странице aptitude(8) и в пакете `aptitude-doc'. 8.1.4. synaptic --------------- `synaptic' --- это менеджер пакетов с графическим интерфейсом. Он позволяет устанавливать, обновлять и удалять пакеты ПО через дружественный интерфейс. Помимо обеспечения всех возможностей aptitude, он также позволяет редактировать список используемых репозиториев, и поддерживает обзор всей доступной документации по пакету. Подробности см. на веб-сайте Synaptic (http://www.nongnu.org/synaptic/). 8.1.5. tasksel -------------- Иногда бывает трудно найти подходящий комплект пакетов для выполнения определённой задачи. Разработчики Debian определили `задачи', представляющие собой наборы из нескольких пакетов Debian, предназначенных для определённой деятельности. Задачи можно устанавливать с помощью программы `tasksel' или `aptitude'. Обычно программа установки Debian автоматически устанавливает задачу создания стандартной системы и окружения рабочего стола. Тип устанавливаемого окружения рабочего стола зависит от используемого носителя CD/DVD, как правило это рабочий стол GNOME (задача `gnome-desktop'). Также, в зависимости от ваших ответов во время установки, могут быть автоматически установлены другие задачи. Например, если вы выбрали какой-то язык, то также автоматически будет установлена задача, связанная с ним, и если программа установки обнаружит, что установка происходит на переносном компьютере, то также автоматически будет установлена задача `для ноутбука'. 8.1.6. Другие инструменты управления пакетами ---------------------------------------------------------------------------- 8.1.6.1. dselect ---------------- Данная программа предоставляет меню-ориентированный интерфейс для системы управления пакетами Debian. Для woody и более ранних версий это был основной интерфейс управления пакетами для первоначальной установки системы, но сейчас пользователям вместо неё предлагается использовать `aptitude'. Некоторым пользователям может быть более удобно пользоваться `aptitude', к тому же это рекомендуемая замена для `dselect' при масштабных обновлениях. Подробности об `aptitude' см. в раздел 8.1.3, `aptitude'. Основные возможности `dselect': * помогает пользователю выбрать пакеты для удаления или установки, обеспечивает, что устанавливаемые пакеты не будут конфликтовать с другими, и что для каждого пакета будут установлены все пакеты, необходимые для его правильной работы; * предупреждает пользователя о несогласованности или несовместимости их выбора; * определяет правильную последовательность установки пакетов; * автоматически выполняет установку или удаление; * помогает пользователю пройти процесс настройки каждого из пакетов. После запуска `dselect' показывает пользователю меню из 7 пунктов, каждый из которых выполняет определённое действие. Пользователь может выбрать одно из действий, перемещая с помощью клавиш со стрелками полосу подсветки, а затем нажав клавишу __ для выбора выделенного действия. Что пользователь увидит далее, зависит от выбранного действия. Если он выбрал какое-то действие, но не `Метод (Access)' или `Выбрать (Select)', то `dselect' просто продолжит выполнение указанного действия. Например, если пользователь выбрал действие `Удалить (Remove)', то dselect выполнит удаление всех файлов, помеченных для удаления пользователем, которые он выбрал в меню `Выбрать (Select)' ранее. Пункты меню `Метод (Access)' и `Выбрать (Select)' позволяют войти в дополнительные меню. В обоих случаях, меню представляют собой экран, разделённый надвое; в верхней части представлен список выбираемых пунктов, в нижней части выводится описание («справка») по каждому пункту. Доступна подробная справка; к ней можно обратиться в любой момент, нажав клавишу «?». Порядок представления действий в первом меню `dselect' соответствует тому порядку, в котором пользователь обычно выполняет действия для установки пакетов. Однако, любое действие из главного меню пользователь может выбирать как угодно часто (или совсем не выбирать --- в зависимости от того, что он хочет сделать). * Начните с выбора _метода доступа (Access Method)_. Здесь выбирается способ, с помощью которого пользователь получает доступ к пакетам Debian; например, у некоторых есть компакт-диски с пакетами Debian, другие же скачивают эти пакеты по FTP. Выбранный «метод доступа» сохраняется и после выхода из `dselect', поэтому, если он не изменился, то нет необходимости вызывать этот пункт меню каждый раз. * Затем _обновите (Update)_ список доступных пакетов. Для этого `dselect' читает файл «Packages.gz», который находится в верхнем уровне дерева каталогов, в котором хранятся пакеты Debian (если его там нет, `dselect' предложит его создать). * _Выберите (Select)_ нужные пакеты для установки в систему. После выбора данного пункта меню, пользователю будет показан экран помощи (если в командной строке не указан параметр «--expert»). После выхода из экрана помощи, будет показано разделённое меню для выбора устанавливаемых (или удаляемых) пакетов. Верхняя часть экрана представляет собой относительно узкое окно со списком 29000 пакетов Debian; нижняя часть экрана содержит описание пакета или группы пакетов, которые выделены выше. Для указания пакета или группы, над которым будет совершаться операция, следует навести подсветку на название пакета или метку группы. После этого можно выбрать требуемую операцию; Для установки: нажмите клавишу «+». Для удаления: пакеты можно удалить двумя способами. * Удалить (removed): эта команда удаляет большинство файлов принадлежащих пакету, но оставляет файлы, помеченные как настроечные (см. раздел 7.5, `Зачем нужен файл conffile?') и информацию о настройке пакета. Выполняется нажатием клавиши «-». * Вычистить (purged): команда удаляет _все_ файлы пакета. Выполняется нажатием клавиши «_». Заметим, что невозможно удалить «все пакеты». Если вы попытаетесь это сделать, то система будет сокращена до первоначально установленных базовых пакетов. Для «фиксации» Фиксация выполняется нажатием «=», и указывает `dselect' не выполнять обновление пакета, даже если установленная версия устарела по сравнению с той, что имеется в используемом вами хранилище пакетов Debian (указанном через _метод доступа (Access Method)_, и инициализируемом при выполнении _обновления (Update)_). Если пакет зафиксирован, то вернуть его в нормальное состояние можно, нажав «:». Это указывает `dselect', что пакет может быть обновлён, если доступна более новая версия. Такая настройка используется по умолчанию. Вы можете выбирать различный порядок показа пакетов, используя клавишу «o» для переключения между режимами сортировки. Изначально пакеты отсортированы по приоритету; в пределах каждого приоритета пакеты представлены в порядке появления в каталоге (также называемого разделом), в котором они хранятся. При задании такого порядка сортировки, сначала могут отображаться пакеты из раздела A (как пример), потом какие-то из раздела B, а за ними ещё пакеты (с меньшим приоритетом) из раздела A. Также можно получить описание значений меток в верхней части экрана, нажав клавишу «v». Данное действие увеличивает объём выводимого текста, и он выходит за правую границу экрана. Для прокрутки текста можно пользоваться клавишами со стрелками вправо и влево. Если вы выбрали пакет для установки или удаления, например, `package/foo.deb', и этот пакет зависит от других пакетов (или рекомендует их), например, `package/blurf.deb', то `dselect' выведет дополнительный экран, подобный основному экрану выбора. Там среди пакетов, относящихся к данному, вы сможете выбрать те, что следует установить. Вы можете принять предлагаемый вариант или отказаться от него. В последнем случае следует нажать Shift-D; для возврата к предлагаемому варианту нажмите Shift-U. В любом случае, свой выбор можно сохранить нажатием Shift-Q. * Возвратившись после выбора пакетов в главное меню, вы можете выбрать «Установить» (Install) для установки и настройки выбранных пакетов. Если вы отметили пакеты для удаления, то можете выбрать пункт «Удалить» (Remove). В любой момент времени можно выбрать пункт «Выход» (Quit) для выхода из dselect; при этом выбор пакетов, отмеченных для установки и удаления, `dselect' сохранит. 8.1.6.2. dpkg-deb ----------------- Данная программа позволяет манипулировать файлами-архивами Debian (`.deb' файлами). Часто используемые команды: * Вывести список допустимых параметров: `dpkg-deb --help' * Определить, какие файлы содержатся в файле-архиве Debian: `dpkg-deb --contents foo_VVV-RRR.deb') * Извлечь файлы из указанного архива Debian в определённый пользователем каталог: `dpkg-deb --extract foo_VVV-RRR.deb tmp' извлечёт все файлы из `foo_VVV-RRR.deb' в каталог `tmp/'. Это удобно для просмотра содержимого пакета в отдельном каталоге без его установки в основное дерево каталогов. * Извлечь из пакета файлы с управляющей информацией: `dpkg-deb --control foo_VVV-RRR.deb tmp'. Учтите, что любые пакеты, просто распакованные командой `dpkg-deb --extract', будут установлены некорректно, для установки следует использовать `dpkg --install'. Дополнительную информацию можно найти в справочной странице dpkg-deb(1). 8.1.6.3. dpkg-split ------------------- Эта программа делит большие пакеты на файлы меньшего размера (например, для записи на дискеты), а также может использоваться для объединения набора разделённых файлов обратно в один файл. Она может использоваться только в системах Debian (т. е. в системах, содержащих пакет `dpkg'), т. к. вызывает программу `dpkg-deb' для разделения файла пакета на отдельные компоненты. Например, для того чтобы разделить большой .deb файл на N частей, нужно: * Выполнить команду `dpkg-split --split foo.deb'. В результате в текущем каталоге получится N файлов, приблизительно по 460 Кбайт каждый. * Скопировать эти N файлов на дискеты. * Скопировать содержимое дискет на жёсткий диск другой машины. * Объединить эти части файлов вместе командой `dpkg-split --join "foo*"'. 8.2. Говорят, что Debian способен обновить работающую программу; как это делается? ---------------------------------------------------------------------------- Ядро (файловая система) в системах Debian GNU/Linux поддерживает замену файлов, даже когда они используются. Мы также предоставляем программу `start-stop-daemon', которая используется для запуска служб при загрузке компьютера или их останова при изменении уровня выполнения (например, при переключении из многопользовательского в однопользовательский или для выключения компьютера). Эта же программа используется сценариями установки при установке нового пакета со службой, для остановки работающей службы и её перезапуска при необходимости. 8.3. Как узнать, какие пакеты установлены в системе Debian? ---------------------------------------------------------------------------- Чтобы получить список всех установленных пакетов, выполните команду dpkg --list Эта команда выведет для каждого пакета однострочную сводку, включающую два символа состояния (объясняемые в заголовке), имя пакета, _установленную_ версию и краткое описание. Чтобы узнать состояние пакетов, имена которых начинаются с «foo», выполните команду: dpkg --list 'foo*' Чтобы получить более подробный отчёт о состоянии определённого пакета, выполните команду: dpkg --status имя_пакета 8.4. Как посмотреть список файлов установленного пакета? ---------------------------------------------------------------------------- Чтобы вывести список файлов установленного пакета `foo', выполните команду dpkg --listfiles foo Учтите, что файлы, созданные сценариями установки, не отображаются. 8.5. Как определить пакет, которому принадлежит определённый файл? ---------------------------------------------------------------------------- Чтобы определить, в каком пакете содержится файл с именем `foo', выполните одну из следующих команд: * `dpkg --search имя_файла' Эта команда ищет `имя_файла' в установленных пакетах. (Это, в настоящий момент, эквивалентно поиску всех файлов с расширением `.list' в каталоге `/var/lib/dpkg/info/' и выводу имён всех пакетов, которые содержат заданное имя файла и отклонения (diversions).) Более быстрая альтернатива этому --- программа `dlocate'. dlocate -S имя_файла * `zgrep foo Contents-ARCH.gz' Эта команда ищет файлы, содержащие в своих полных именах путей подстроку `foo'. Файлы `Contents-ARCH.gz' (где ARCH представляет нужную архитектуру) расположены в основных каталогах пакетов (main, non-free, contrib) на FTP-сайте Debian (то есть, в `/debian/dists/wheezy'). Файл `Contents' относится только к тем пакетам, что расположены в структуре подкаталогов того же каталога, где находится и он сам. Поэтому, чтобы найти пакет, содержащий файл `foo', пользователю нужно искать более чем в одном файле `Contents'. Преимущество этого метода над `dpkg --search' состоит в том, что будут найденыфайлы в тех пакетах, которые могут быть не установлены в вашей системе. * `apt-file search ' Если вы установите пакет `apt-file', то приведённая выше команда выполнит поиск файлов, содержащих в своих полных путях подстроку или регулярное выражение `foo'. Преимущество этой команды перед приведёнными ранее в том, что вам не нужно будет получать файлы `Contents-ARCH.gz', так как это будет сделано автоматически для всех источников, описанных в `/etc/apt/sources.list', при запуске (с правами суперпользователя) команды `apt-file update'. 8.6. Почему при удалении «foo» не удаляется «foo-data»? Как вычистить старые неиспользуемые пакеты библиотек? ---------------------------------------------------------------------------- Некоторые пакеты разделены на программы («foo») и данные («foo-data») (или на «foo» и «foo-doc»). Так в Debian сделано для многих игр, мультимедийных приложений и словарей, и объясняется это тем, что некоторым пользователям может быть нужно получить только данные без установки программ, или эти программы могут работать без данных, что делает их установку необязательной. Подобное относится и к библиотекам: обычно они устанавливаются, так как пакеты приложений зависят от них. Когда пакет приложения вычищается, пакет библиотеки может остаться в системе. Или когда пакет приложения больше не зависит, скажем, от libdb4.2, а зависит от libdb4.3, то пакет libdb4.2 может остаться в системе при обновлении пакета приложения. В таких случаях «foo-data» не зависит от «foo», поэтому при удалении пакета «foo» большинство инструментов управления пакетами не станет удалять его автоматически. То же самое относится и к пакетам библиотек. Это необходимо для избежания циклических зависимостей. Тем не менее, если для управления пакетами вы используете программу `aptitude' (см. раздел 8.1.3, `aptitude'), то она отслеживает автоматически устанавливаемые пакеты и удаляет их, когда в системе не остаётся пакетов, от них зависящих. ------------------------------------------------------------------------------- 9. Поддержание обновлений системы Debian -------------------------------------------------------------------- Одной из целей Debian является обеспечение процесса согласованных и безопасных обновлений. Мы всегда стараемся как можно больше сгладить переход со старых версий на новые. Если в процессе обновления появляются какие-то важные замечания для какого-либо пакета, то пользователь будет уведомлён, и часто ему предлагается решение возможной проблемы. Вам стоит также прочесть информацию о выпуске --- документ о деталях обновлений для конкретных случаев. Он имеется на сайте Debian http://www.debian.org/releases/stable/releasenotes, а также на Debian CD, DVD и дисках Blu-Ray. 9.1. Как поддерживать систему Debian в актуальном состоянии? ---------------------------------------------------------------------------- Можно просто подключиться к анонимному ftp с архивом Debian, затем внимательно просмотреть каталоги, пока не будет найден желаемый файл, а затем скачать и установить его с помощью `dpkg'. Учтите, что `dpkg' устанавливает файлы обновлений даже на работающей системе. Иногда обновляемый пакет может потребовать установки новой версии другого пакета, в этом случае установка не будет выполняться до тех пор, пока тот пакет не будет установлен. Многие люди сочтут предлагаемый способ отнимающим много времени, т. к. Debian развивается слишком быстро --- обычно каждую неделю обновляется где-то дюжина и более пакетов. Это число увеличивается по мере приближения в новому основному выпуску. Чтобы справиться с такой лавиной, многие люди предпочитают использовать более автоматизированный способ. Для этих целей существует несколько различных пакетов. 9.1.1. aptitude --------------- APT --- это усовершенствованный интерфейс к системе управления пакетами Debian. Он устанавливает пакеты в нужном порядке, может получать их из нескольких источников и имеет другие уникальные возможности, см. руководство пользователя `/usr/share/doc/apt-doc/guide.html/index.html' (вам будет нужно установить пакет `apt-doc'). `aptitude' является рекомендуемым средством управления пакетами в системах Debian GNU/Linux. Он представляет собой текстовый интерфейс к APT на основе библиотеки curses, и позволяет выполнять задачи управления легко и быстро. Перед тем как использовать `aptitude', вам нужно отредактировать файл `/etc/apt/sources.list'. Если вы хотите выполнить обновление до последней стабильной версии Debian, то вам, вероятно, понадобится указать источник пакетов вроде этого: http://ftp.us.debian.org/debian stable main contrib non-free ftp.us.debian.org можно заменить на более быстрый и близкий к вам сервер-зеркало Debian. Список зеркал можно найти здесь (http://www.debian.org/mirror/list). Более подробно об этом можно узнать из справочной страницы sources.list(8). Для обновления списка запустите aptitude update а затем aptitude dist-upgrade Ответьте на все возникающие вопросы, и система будет обновлена. См. также раздел 8.1.3, `aptitude'. 9.1.2. apt-get, dselect и apt-cdrom ------------------------------------ `apt-get' --- это командострочная утилита управления пакетами для APT, а метод APT в dselect --- это интерфейс к APT через `dselect'. Обе программы предоставляют простой, безопасный способ установки и обновления пакетов. Чтобы использовать `apt-get', установите пакет `apt' и отредактируйте файл `/etc/apt/sources.list' (см. раздел 9.1.1, `aptitude'). Затем выполните apt-get update а затем apt-get dist-upgrade Ответьте на все возникающие вопросы, и система будет обновлена. Посмотрите справочную страницу apt-get(8), а также раздел 8.1.2, `APT'. Чтобы использовать APT в `dselect', в выборе методов dselect (пункт 0) выберите метод доступа APT, а затем укажите источники, которые нужно использовать. Файлом настроек является `/etc/apt/sources.list'. См. также раздел 8.1.6.1, `dselect'. Если для установки пакетов вы хотите использовать CD-диски, то можете воспользоваться программой `apt-cdrom'. Подробнее об этом написано в информации о выпуске, в разделе про подготовку к обновлению с локального зеркала. Учтите, что когда вы получаете и устанавливаете пакеты, эти файлы так и остаются лежать в одном из подкаталогов /var. Чтобы не истратить всё свободное место раздела, не забывайте удалять лишние файлы с помощью команд `apt-get clean' и `apt-get autoclean', или перемещать их в другое место (подсказка: воспользуйтесь `apt-move'). 9.1.3. aptitude --------------- `aptitude' --- это пакетный менеджер для систем Debian с текстовым интерфейсом. Он позволяет пользователям просматривать список пакетов и выполнять задачи управления, например, установку, обновление и удаление пакетов (см. раздел 8.1.3, `aptitude'). Действия могут выполняться через текстовую оболочку или из командной строки. В командной строке параметры похожи на используемые в APT, поэтому для обновления системы выполните aptitude update а затем aptitude dist-upgrade Обратите внимание, что обновлять Debian GNU/Linux с одного выпуска до другого с помощью `aptitude' не рекомендуется. О том, как производить обновление, читайте замечания к выпуску (http://www.debian.org/releases/stable/releasenotes). В этом документе подробно описаны рекомендуемые шаги для обновления с предыдущих выпусков, а также известные проблемы, которые нужно учесть до обновления. Дополнительная информация приведена в справочной странице aptitude(8) и файле `/usr/share/aptitude/README'. 9.1.4. mirror ------------- Данный сценарий на Perl и его (необязательная) программа управления, называемая `mirror-master', может использоваться для выборки указанной пользователем части дерева каталога с заданного узла _посредством_ анонимного FTP. `mirror' особенно полезен при скачивании ПО в большом количестве. После первоначального скачивания файлов с сайта на локальной машине сохраняется файл под названием `.mirrorinfo'. `mirror' автоматически отслеживает изменения на удалённой файловой системе, сравнивая этот файл с подобным файлом на удалённой системе, и скачивает только изменившиеся файлы. Обычно программа `mirror' полезна для обновления локальных копий удалённых деревьев каталогов. Обновляемые файлы не обязательно должны быть файлами Debian. (Так как `mirror' --- Perl-сценарий, он может работать не только на Unix системах.) Хотя программа `mirror' и предоставляет механизмы для исключения имён файлов с помощью указываемых пользователем строк, она наиболее полезна при скачивании всего дерева каталогов, а не выборочных пакетов. 9.1.5. dpkg-mountable --------------------- dpkg-mountable добавляет в список dselect метод доступа под названием «mountable», позволяющий устанавливать файлы из любой файловой системы, указанной в /etc/fstab (например, с обычного раздела жёсткого диска или NFS-сервера), и при необходимости самостоятельно монтирует и размонтирует файловые системы. Кроме того, он имеет несколько дополнительных возможностей, отсутствующих в стандартных методах dselect, включающих, например, подготовку локального дерева файлов (или параллельно с главным дистрибутивом или полностью отдельно), что позволяет не тратить время на рекурсивное сканирование каталогов для получения только требуемых пакетов, а также протоколирование всех действий dpkg по установке. 9.2. Нужно ли для обновления пакета переходить в однопользовательский режим? ---------------------------------------------------------------------------- Нет. Пакеты можно обновлять сразу, даже на работающей системе. Если во время обновления пакета требуется остановка процесса, то на этот случай в Debian есть программа `start-stop-daemon', которая останавливает, а затем перезапускает работавший ранее процесс. 9.3. Нужно ли хранить на диске все файлы-архивы .deb? ---------------------------------------------------------------------------- Нет. Если вы скачали файлы на диск, то после установки пакетов вы можете удалить их из системы, например с помощью команды `aptitude clean'. 9.4. Как поддерживать учёт пакетов, которые я добавлял в систему? Хотелось бы знать, когда какие пакеты обновлялись или удалялись! ---------------------------------------------------------------------------- Параметром `--log' можно заставить `dpkg' вести журнал изменений и выполняемых действий. Протоколируются и все вызовы `dpkg' (например 2005-12-30 18:10:33 install hello 1.3.18 2.1.1-4 ), и их результаты (например 2005-12-30 18:10:35 status installed hello 2.1.1-4 ). Если вы хотите протоколировать все вызовы `dpkg' (даже те, которые выполняются другими программами, например `aptitude'), то добавьте log /var/log/dpkg.log в `/etc/dpkg/dpkg.cfg'. Убедитесь, что производится периодическая ротация файлов журнала. Если вы используете `logrotate', то можно создать файл `/etc/logrotate.d/dpkg', содержащий следующее: /var/log/dpkg { missingok notifempty } Более подробную информацию о протоколировании `dpkg' можно найти в справочной странице dpkg(1). `aptitude' записывает те действия, которые собирается выполнить по установке, удалению или обновлению пакетов, в файл `/var/log/aptitude'. Учтите, что _результаты_ этих действий в этом файле не сохраняются! Ещё один способ протоколирования действий --- запускать сеанс управления пакетами внутри программы script(1). 9.5. Возможно ли автоматическое обновление системы? ---------------------------------------------------------------------------- Да. Для этого можно использовать `cron-apt'; эта программа обновляет систему через равные промежутки времени с помощью задания cron. По умолчанию она только обновляет список пакетов и скачивает новые пакеты без запуска установки. Замечание: _НЕ_ рекомендуется выполнять автоматическое обновление пакетов в _тестовых_ или _нестабильных_ системах, так как это может привести к неожиданному поведению и удалению пакетов без уведомления. 9.6. Есть несколько машин, как скачивать для них обновления только один раз? ---------------------------------------------------------------------------- Если в вашей сети более одной машины Debian, то для поддержания систем Debian в актуальном состоянии можно использовать `apt-proxy'. `apt-proxy' сокращает требования к пропускной способности для серверов зеркал Debian, ограничивая частоту обновлений файлов Packages, Releases и Sources и получает любой файл лишь однократно, независимо от фактических запросов его у прокси. `apt-proxy' автоматически создаёт HTTP-зеркало Debian на основе запросов, проходящих через прокси. Подробности см. на домашней странице apt-proxy (http://apt-proxy.sourceforge.net/). Естественно, те же самые преимущества можно получить с помощью стандартного кэширующего прокси, если настроить все системы на его использование. ------------------------------------------------------------------------------- 10. Debian и ядро ---------------------- 10.1. Можно ли установить и собрать ядро без некоторых специфичных для Debian настроек? ---------------------------------------------------------------------------- Да. Есть только одно общее правило: библиотеки языка C в Debian собираются с самыми свежими заголовочными файлами _ядра_ из _стабильных_ выпусков. Если вам нужно собрать программу с заголовочными файлами ядра, которые новее, чем те, что находятся в стабильном выпуске, то вы должны или обновить пакет, содержащий заголовочные файлы (`libc6-dev'), или использовать заголовочные файлы из распакованного дерева более нового ядра. То есть, если исходные коды ядра находятся в `/usr/src/linux', то к строке команды компиляции нужно добавить `-I/usr/src/linux/include/'. 10.2. Какие инструменты для самостоятельной сборки ядра есть в Debian? ---------------------------------------------------------------------------- Пользователям, которые хотят (или должны) собрать собственное ядро, будет полезен пакет `kernel-package'. Он содержит сценарий для построения пакета ядра и позволяет создавать пакеты Debian `linux-image-<версия>' запуском одной команды make-kpkg --initrd kernel_image в корневом каталоге дерева исходных кодов ядра. Справку можно получить по команде make-kpkg --help и в справочной странице make-kpkg(1). Пользователи должны отдельно скачивать последнюю версию исходного кода ядра (или нужную им версию ядра) со своего любимого Linux-архива, если у них нет пакета `linux-source-<версия>' (где <версия> означает версию ядра). Подробные инструкции по использованию пакета `kernel-package' приведены в файле `/usr/share/doc/kernel-package/README.gz'. 10.3. Как сделать собственную загрузочную дискету? ---------------------------------------------------------------------------- В решении этой задачи может сильно помочь пакет `boot-floppies', который можно найти в разделе `admin' FTP-архива Debian. Сценарии оболочки из этого пакета создают загрузочные дискеты в формате `SYSLINUX'. Это дискеты, отформатированные для `MS-DOS', основная загрузочная запись которых изменена так, что с них сразу загружается Linux (или другая операционная система, указанная в файле `syslinux.cfg' на этой дискете). Другие сценарии этого пакета служат для создания дискет аварийного восстановления и даже дискет для базовой установки. Более подробную информацию об этом можно найти в файле `/usr/share/doc/boot-floppies/README' после установки пакета `boot-floppies'. 10.4. Есть ли какие-либо особенности при работе с модулями в Debian? ---------------------------------------------------------------------------- В Debian есть пакет `modconf', содержащий сценарий оболочки (`/usr/sbin/modconf'), который может использоваться для настройки модулей. Этот сценарий имеет интерфейс на основе меню, с помощью которого пользователь может определить, какие драйверы устройств нужно загружать в системе. Указания пользователя используются для настройки файла `/etc/modules.conf' (содержащего список псевдонимов и других параметров, которые должны использоваться в сочетании с различными модулями) через файлы каталога `/etc/modutils/' и файл `/etc/modules' (содержащий список модулей, которые должны загружаться в процессе загрузки системы). В пакет `modconf' входит набор файлов справки (в каталоге `/usr/lib/modules_help/') с подробным описанием соответствующих параметров каждого модуля, подобных (новым) файлам `Configure.help', которые полезны при построении нестандартных ядер. 10.5. Можно ли безопасно удалить пакет со старой версией ядра и как это сделать? ---------------------------------------------------------------------------- Да. Сценарий `linux-image-.prerm' проверяет, не пытаетесь ли вы удалить работающее ядро. Поэтому вы можете удалить ненужные пакеты с образами ядра командой: dpkg --purge linux-image- (, конечно же, нужно заменить на правильный номер версии и редакции ядра) ------------------------------------------------------------------------------- 11. Пользовательская настройка установленного Debian GNU/Linux ---------------------------------------------------------------------------- 11.1. Как убедиться, что все программы используют одинаковый формат бумаги? ---------------------------------------------------------------------------- Установите пакет `libpaper1', и вас попросят указать формат бумаги по умолчанию для всей системы. Настройка будет сохранена в файле `/etc/papersize'. Пользователи могут изменять формат бумаги через переменную окружения `PAPERSIZE'. Дополнительную информацию ищите в справочной странице papersize(5). 11.2. Как обеспечить доступ к файлам устройств без нарушения защиты системы? ---------------------------------------------------------------------------- Многие файлы в каталоге `/dev' принадлежат предопределённым группам. Например, `/dev/fd0' принадлежит группе `floppy', а `/dev/dsp' --- группе `audio'. Если вы хотите предоставить конкретному пользователю доступ к устройству, то включите пользователя в группу, которой принадлежит это устройство, т. е. сделайте: adduser пользователь группа Благодаря этому, вам не нужно изменять права доступа на сами файлы устройств. Если вы выполняли это из оболочки командной строки или графического окружения этого пользователя, то вам нужно выйти из системы и войти снова, чтобы стать членом этой группы. Чтобы посмотреть, в какие группы вы входите, введите команду `groups'. Заметим, что при использовании `udev' права доступа к оборудованию назначаются при обнаружении устройства в системе. Если вам нужно изменить права доступа, отредактируйте файлы правил в каталоге `/etc/udev'. 11.3. Как в Debian правильно сменить консольный шрифт при запуске системы? ---------------------------------------------------------------------------- Для этой задачи существуют пакеты `kbd' и `console-tools'. Для настройки используется файл `/etc/kbd/config' или `/etc/console-tools/config'. 11.4. Как настроить параметры по умолчанию для приложений X11? ---------------------------------------------------------------------------- В Debian файлы ресурсов программ X11 устанавливаются в каталог `/etc/X11/app-defaults/'. Если вы хотите глобально изменить настройки приложений X, то отредактируйте файлы настроек из этого каталога. Эти файлы считаются настроечными, так что их содержимое будет сохраняться при обновлениях системы. 11.5. Кажется, каждый дистрибутив имеет собственный порядок загрузки. Расскажите, как это устроено в Debian. ---------------------------------------------------------------------------- Как и все Uniх-ы, Debian загружается выполнением программы `init'. В настроечном файле для `init' (который называется `/etc/inittab') указывается, что первым должен выполняться сценарий `/etc/init.d/rcS'. Этот сценарий запускает все сценарии из каталога `/etc/rcS.d/' (в своём или отдельном процессе, в зависимости от расширения файла), которые проверяют и монтируют файловые системы, загружают модули, запускают сетевые службы, настраивают часы и производят прочие начальные действия. Затем, в целях совместимости, он запускает файлы (исключая те, что имеют «.» в имени файла) в каталоге `/etc/rc.boot/'. Сценарии в последнем каталоге обычно зарезервированы для администраторских задач, и не допускается их установка из пакетов. По окончании процесса загрузки `init' выполняет все сценарии запуска в каталоге, соответствующем установленному по умолчанию уровню запуска (этот уровень задаётся записью `id' в `/etc/inittab'). Как и в большинстве Uniх-ов, совместимых с System V, в Linux имеется 7 уровней запуска: * 0 (останов системы), * 1 (однопользовательский режим), * с 2 по 5 (различные многопользовательские режимы), и * 6 (перезагрузка системы). В системах Debian id=2, что означает, что по умолчанию будет установлен уровень запуска '2' (вход в многопользовательский режим), и будут запущены сценарии из каталога `/etc/rc2.d/'. В действительности, сценарии в любом из каталогов `/etc/rcN.d/' --- это только символьные ссылки на сценарии в `/etc/init.d/'. Однако, _имена_ файлов в каждом каталоге `/etc/rcN.d/' выбраны так, чтобы задавать _порядок_ выполнения сценариев из `/etc/init.d/'. А именно, перед переходом на какой-либо уровень запуска, запускаются все сценарии, начинающиеся с 'K'; эти сценарии останавливают службы. Затем начинается выполнение сценариев с именами, начинающимися с буквы 'S'; эти сценарии запускают службы. Двузначное число после 'K' или 'S' указывает последовательность запуска сценариев. Первыми выполняются сценарии с меньшими номерами. Для поддержки этого метода все сценарии в каталоге `/etc/init.d/' принимают один из параметров: «start», «stop», «reload», «restart» или «force-reload» и затем выполняют задачу, определяемую этим параметром. Эти сценарии можно использовать даже после окончания процесса загрузки системы для управления различными процессами. Например, при задании параметра «reload» команда /etc/init.d/sendmail reload посылает службе sendmail указание повторить чтение файла настроек. (Кстати, в Debian есть команда `invoke-rc.d' для запуска сценариев из `/etc/init.d/'.) 11.6. Похоже, что в Debian не используется `rc.local' для донастройки процесса загрузки; что используется вместо этого? ---------------------------------------------------------------------------- Допустим, при загрузке или при переключении на какой-либо уровень запуска (System V) система должна выполнять сценарий `foo'. В этом случае системный администратор должен предпринять следующее: * Поместить сценарий `foo' в каталог `/etc/init.d/'. * Запустить команду Debian `update-rc.d' с соответствующими параметрами, чтобы указать на каких уровнях должна запускаться и останавливаться служба. * Попробовать перезагрузить систему для проверки, что служба запускается правильно (предполагается, что вы хотели запускать службу для уровня запуска по умолчанию). Или же запустить службу вручную с помощью команды «`/etc/init.d/foo start'». Например, сценарий `foo' можно заставить выполняться при загрузке, поместив его в `/etc/init.d/' и установив необходимые ссылки командой `update-rc.d foo defaults 19'. Параметр «`defaults'» задаёт уровни запуска по умолчанию, то есть служба будет запускаться (по крайней мере, при отсутствии блока комментария LSB, указывающего этого не делать) на уровнях запуска с 2 по 5, и останавливаться на уровнях запуска 0, 1 и 6. (При использовании версии update-rc.d из sysv-rc любая из директив LSB Default-Start и Default-Stop в `foo' будет иметь приоритет, но в текущей версии update-rc.d из file-rc (v0.8.10) они игнорируются.) Параметр «`19'» гарантирует, что `foo' запустится после завершения выполнения всех сценариев, чьи номера меньше 19, и раньше всех сценариев, чьи номера равны 20 или более. 11.7. Как система управления пакетами работает с пакетами, содержащими настроечные файлы для других пакетов? ---------------------------------------------------------------------------- Предположим, что какие-то пользователи захотели настроить новый сервер, установив группу пакетов Debian и собственный пакет, состоящий из настроечных файлов. Вообще, это не очень хорошо, поскольку `dpkg' не будет знать о файлах настроек, если они находятся в отдельном пакете, и может затереть эти файлы при обновлении одного из пакетов исходной «группы». Вместо этого создайте собственный пакет, который правит настроечные файлы интересующей «группы» пакетов. Впоследствии `dpkg' и другие утилиты системы управления пакетов увидят, что файлы были отредактированы локальным «администратором», и не станут их трогать при обновлении указанных пакетов. 11.8. Как заменить программу, установленную из какого-либо пакета, на свою собственную? ---------------------------------------------------------------------------- Предположим, что системный администратор или пользователь хотят использовать программу «login-local» вместо «login» из пакета Debian `login'. _НЕ_ надо: * перезаписывать `/bin/login' программой `login-local'. Система управления пакетами не будет знать об этих изменениях и при последующих обновлениях или установках просто заменит изменённый вами `/bin/login' новым из пакета `login' (или любого другого пакета, предоставляющего `/bin/login'). Вместо этого * выполните: dpkg-divert --divert /bin/login.debian /bin/login чтобы заставить Debian при последующих обновлениях пакета `login' записывать файл `/bin/login' в `/bin/login.debian'. * затем выполните: cp login-local /bin/login чтобы перенести вашу локальную программу в нужное место. Запустите `dpkg-divert --list', чтобы узнать, какие замены (отклонения) уже имеются в вашей системе. Дополнительную информацию можно найти в справочной странице dpkg-divert(8). 11.9. Как включить самостоятельно собранный пакет в список доступных пакетов, известных системе управления пакетами? ---------------------------------------------------------------------------- Выполните команду: dpkg-scanpackages КАТ_ДВОИЧН_ФАЙЛОВ ФАЙЛ_OVERRIDE [ПРЕФИКС_ПУТИ] > my_Packages где: * КАТ_ДВОИЧН_ФАЙЛОВ --- это каталог, где находятся файлы-архивы Debian (обычно имеющие расширение «.deb»). * ФАЙЛ_OVERRIDE --- это файл, который редактируется сопровождающими дистрибутива и обычно хранится в FTP-архиве Debian в файле `indices/override.main.gz' для Debian-пакетов из раздела дистрибутива «main». Для локальных пакетов его использовать не обязательно. * ПРЕФИКС_ПУТИ --- это _необязательная_ строка, которая может предшествовать именам файлов в `my_Packages'. После создания файла `my_Packages', сообщите системе управления пакетами о новых пакетах командой: dpkg --merge-avail my_Packages Если вы используете APT, то можете также добавить этот локальный репозиторий в свой файл sources.list(5). 11.10. Некоторым пользователям нравится mawk, другим gawk; некоторым vim, другим elvis; некоторым trn, другим tin. Как осуществляется поддержка предпочтений в Debian? ---------------------------------------------------------------------------- Бывают случаи, когда в двух пакетах имеются две разные версии какой-либо программы, в целом обеспечивающих одну и ту же функциональность. Одни пользователи могут предпочитать одну из этих программ другой в силу привычки или более привлекательного интерфейса. У других же пользователей этой же системы может быть иное мнение. Для того, чтобы системные администраторы (или пользователи) могли выбирать для себя из нескольких пакетов с одинаковой функциональностью один предпочтительный, соблюдая в то же время зависимости без необходимости указания конкретного пакета, в Debian используется система «виртуальных» пакетов. Например, в системе может существовать две различные версии программ чтения новостей. Пакет сервера новостей может 'рекомендовать', чтобы в системе была установлена _некая_ программа для чтения новостей, но какая именно --- `tin' или `trn', предлагается выбрать пользователю. Решается это созданием виртуального пакета `news-reader', который предоставляется пакетами `tin' и `trn'. _Какая_ именно из этих программ будет вызываться, определяется символьной ссылкой файла виртуального пакета `/etc/alternatives/news-reader' на выбранный файл, например, на `/usr/bin/trn'. Простого создания символьной ссылки для полного решения задачи использования альтернативной программы недостаточно; обычно необходимо также заменить страницы руководства и, возможно, вспомогательные программы. Для обеспечения того, чтобы все эти файлы, относящиеся к указанному пакету, выбирались в системе по умолчанию, используется сценарий на Perl `update-alternatives'. Например, чтобы проверить, какие программы предоставляют «x-window-manager», выполните: update-alternatives --display x-window-manager Если вы хотите изменить программу: update-alternatives --config x-window-manager И следуйте инструкциям на экране (просто укажите номер желаемой программы из списка). Если пакет почему-то не зарегистрировал себя как оконный менеджер (если это ошибка, сообщите о ней), или если вы используете менеджер из каталога /usr/local, то на экране вы не увидите предпочитаемой вами программы. Ссылку можно обновить с помощью указания дополнительных параметров для команды, например: update-alternatives --install /usr/bin/x-window-manager \ x-window-manager /usr/local/bin/wmaker-cvs 50 Первый аргумент параметра «--install» представляет собой символьную ссылку на /etc/alternatives/NAME, где NAME задаётся вторым аргументом. Третий аргумент указывает программу, на которую должна указывать ссылка /etc/alternatives/NAME, а четвёртый задаёт приоритет (чем больше значение, тем больше вероятность автоматического выбора данной альтернативы). Чтобы удалить добавленный вами вариант, просто выполните: update-alternatives --remove x-window-manager /usr/local/bin/wmaker-cvs ------------------------------------------------------------------------------- 12. Поддержка Debian GNU/Linux --------------------------------------- 12.1. Какая ещё документация существует по системе Debian? ---------------------------------------------------------------------------- * Инструкции по установке текущего выпуска: http://www.debian.org/releases/stable/installmanual. * В справочнике по Debian GNU/Linux раскрываются многие аспекты системного администрирования на примерах из команд оболочки. В нём можно найти простые обучающие пособия, советы и другую информацию по множеству тем от системного администрирования до программирования. Он распространяется в пакете `debian-reference' и доступен по адресу http://www.debian.org/doc/user-manuals#quick-reference. * Руководство по политике Debian описывает требования, предъявляемые к дистрибутиву, т. е. структуру и содержимое архива Debian, некоторые вопросы дизайна операционной системы. Также в нём описаны технические требования, которым должен удовлетворять каждый пакет, чтобы он мог быть включён в дистрибутив, и краткое техническое описание двоичных пакетов и пакетов исходных кодов Debian. Оно распространяется в пакете `debian-policy' и доступно по адресу http://www.debian.org/doc/devel-manuals#policy. * Документация, разработанная в рамках проекта документирования Debian. Она доступна по адресу http://www.debian.org/doc/ и включает руководства для пользователей, руководства по администрированию и безопасности операционной системы Debian GNU/Linux. * Документация установленных пакетов Debian: большинство пакетов содержит файлы, которые распаковываются в каталог `/usr/share/doc/ПАКЕТ'. * Документация проекта Linux: из Debian-пакета `doc-linux' устанавливаются все самые новые версии HOWTO и mini-HOWTO проекта документации для Linux (http://www.tldp.org/). * Страницы «man» в стиле Unix: большинство команд имеют справочные страницы, написанные в духе самых первых man-файлов Unix. Например, чтобы посмотреть справочную страницу команды ls, запустите `man ls'. Запуск `man man' выдаст подробную информацию по поиску и просмотру справочных страниц. Для новых пользователей Debian заметим, что man-страницы многих основных системных команд недоступны, пока не установлены следующие пакеты: * `man-db', который содержит саму программу `man', и другие программы работы с справочными страницами. * `manpages', который содержит системные справочные страницы. (См. раздел 5.9, `Как в Debian поддерживаются языки, отличные от английского?'). * Страницы «info» в стиле GNU: пользовательская документация многих команд, особенно утилит GNU, доступна не в man-страницах, а в info-файлах, которые можно читать с помощью GNU программы `info', набрав `M-x info' в GNU Emacs, или с помощью другой программы просмотра страниц Info. Основное преимущество по сравнению с обычными man-страницами заключается в том, что Info является гипертекстовой системой. Однако, ей _не_ требуется для этого WWW; `info' может работать в обычной текстовой консоли. Она была разработана Ричардом Столлманом (Richard Stallman) и появилась раньше WWW. Заметим, что вы можете получить доступ ко всей документации системы с помощью веб-браузера с помощью команд «dwww», «dhelp» или «doccentral», которые находятся в соответствующих пакетах, или с помощью «yelp». 12.2. Есть ли какие-нибудь онлайн-ресурсы для обсуждения Debian? ---------------------------------------------------------------------------- Да. Фактически основным способом поддержки пользователей в Debian является электронная почта. Мы расскажем об этом и приведём список других полезных ресурсов. Дополнительные ресурсы представлены на странице поддержки Debian (http://www.debian.org/support). 12.2.1. Списки рассылки ------------------------------------- Существует большое количество списков рассылки по Debian (http://www.debian.org/MailingLists/). В системе с установленным пакетом `doc-debian' все имена списков рассылки можно найти в файле `/usr/share/doc/debian/mailing-lists.txt'. Списки рассылки Debian именуются следующим образом: debian-<тема-рассылки>. Например: debian-announce, debian-user, debian-news. Чтобы подписаться на какой-нибудь список debian-<тема-рассылки>, отправьте письмо на адрес debian-<тема-рассылки>-request@lists.debian.org со словом «subscribe» в Теме письма. Проверьте, что добавили _-request_ к адресу электронной почты при подписке или отписке. Иначе ваше письмо попадёт в сам список, что сбивает с толку или раздражает, в зависимости от вашей точки зрения. Подписаться на списки рассылки можно через эту WWW форму (http://www.debian.org/MailingLists/subscribe). Также можно отписаться через эту WWW форму (http://www.debian.org/MailingLists/unsubscribe). Если у вас возникли проблемы, вот адрес электронной почты менеджера списков рассылки: . Списки рассылки --- это публичные дискуссии. Все электронные письма, отправленные в рассылку, также копируются в публичный архив, доступный для всех (даже не подписчиков) для просмотра и поиска. Убедитесь, что вы не посылаете в списки рассылки никакой конфиденциальной или лицензированной информации. Это относится даже к адресам электронной почты. Стоит отметить, что бывали случаи, когда распространители спама злоупотребляли адресами электронной почты, полученными из наших списков рассылки. Для дополнительной информации обратитесь к политике в области приватности (http://www.debian.org/MailingLists/#disclaimer). Архивы списков рассылки Debian доступны через WWW по адресу http://lists.debian.org/. 12.2.1.1. Как вести себя в списках рассылки? ------------------------------------------------------------------------ При использовании списков рассылки Debian, пожалуйста, соблюдайте следующие правила: * Не посылайте спам. Прочтите об отношении к рекламе в списках рассылки Debian (http://www.debian.org/MailingLists/#ads). * Не болтайте попусту. Люди добровольно работают над Debian, тратя своё время, энергию и деньги. * Избегайте непристойностей; помимо всего прочего, некоторые люди получают списки рассылки с помощью пакетной радиосвязи, где ругательства запрещены. * Удостоверьтесь, что вы используете нужный список. _Никогда_ не посылайте запросов на (от)подписку в сам список рассылки[1] * См. раздел 12.5, `Как сообщить об ошибке в Debian?' с замечаниями по отправке сообщений об ошибках. [1] Пользуйтесь для этого адресом debian-<тема-рассылки>-REQUEST@lists.debian.org. 12.2.2. Веб-форумы --------------------------- debianHELP (http://debianhelp.org/) и форумы пользователей Debian (http://forums.debian.net/) --- это веб-форумы, на которых вы можете задать вопросы о Debian и получить ответы от других пользователей. (Эти форумы не являются частью проекта Debian.) 12.2.3. Вики ---------------- Решения общих проблем, howto, руководства, советы и другую документацию можно найти в постоянно обновляемой Debian вики (http://wiki.debian.org/). 12.2.4. Сопровождающие ------------------------------------ Пользователи могут задавать вопросы по определённым пакетам сопровождающим по электронной почте. Например, чтобы написать сопровождающему пакета xyz, отправьте письмо на адрес _xyz@packages.debian.org_. 12.2.5. Группы новостей Usenet -------------------------------------------- Пользователи могут отправлять вопросы, не относящиеся к Debian, в одну из групп Linux USENET comp.os.linux.* или linux.*. Через веб можно найти несколько списков новостных групп Linux Usenet и другие ресурсы, например, на сайте Linux Online (http://www.linux.org/docs/usenet.html) и LinuxJournal (http://www.linuxjournal.com/helpdesk.php). 12.3. Как быстро найти информацию по Debian GNU/Linux? ---------------------------------------------------------------------------- Существуют различные поисковые системы, с помощью которых можно получить информацию по Debian: * Поиск по Debian WWW (http://search.debian.org/). * Группы Google (http://groups.google.com/): поисковый движок по группам новостей. Например, чтобы выяснить, что удалось людям, которые искали драйверы для контроллеров Promise под Debian, попробуйте поискать по такой фразе: `Promise Linux driver'. По этому запросу будут выведены все сообщения, содержащие эти строки, то есть те, в которых люди обсуждали данную тему. Если вы добавите к строке поиска `Debian', то получите сообщения, относящиеся ещё и к Debian. * Для поиска в веб подойдёт любая из систем глобального поиска, например AltaVista (http://www.altavista.com/) или Google (http://www.google.com/), надо только правильно подбирать слова. Например, поиск по строке «cgi-perl» даёт более подробное объяснение об этом пакете, чем поле краткого описания в его управляющем файле. 12.4. Существуют ли журналы известных ошибок? ---------------------------------------------------------------------------- Сообщения о нерешённых (и закрытых) проблемах доступны всем: в общественном договоре Debian (http://www.debian.org/social_contract) даётся обещание, что никакие проблемы скрыты не будут. Дистрибутив Debian GNU/Linux имеет систему отслеживания ошибок (BTS), в файлах которой подробно описываются ошибки, присланные пользователями и разработчиками. Каждой ошибке присваивается номер, и она хранится в файле, пока не будет помечена как исправленная. Копия информации об ошибках доступна по адресу: http://www.debian.org/Bugs/. Почтовый сервер предоставляет доступ к базе данных системы отслеживания ошибок через электронную почту. Для получения инструкций пошлите письмо по адресу request@bugs.debian.org со словом «help» в теле сообщения. 12.5. Как сообщить об ошибке в Debian? ---------------------------------------------------------- Если вы обнаружили ошибку в Debian, прочтите, пожалуйста, инструкции по отправке ошибок в Debian. Эти инструкции можно найти в следующих местах: * Через WWW. Копию инструкций можно посмотреть здесь http://www.debian.org/Bugs/Reporting. * В любой системе Debian с установленным пакетом `doc-debian'. Инструкции находятся в файле `/usr/share/doc/debian/bug-reporting.txt'. * Через анонимный FTP. Зеркала сайта Debian содержат инструкции в файле `doc/bug-reporting.txt'. Вы можете воспользоваться пакетом `reportbug', который проведёт вас через процесс заполнения сообщения и отправит почту на соответствующий адрес с дополнительными подробностями о вашей системе, которые будут добавлены автоматически. Он также покажет список уже имеющихся ошибок в пакете, и если о вашей ошибке уже кто-то сообщил ранее, вы можете отправить дополнительную информацию по данной проблеме. Дождитесь автоматического подтверждения о получении вашего сообщения об ошибке. Также, автоматически ей будет присвоен контрольный номер, сделана запись в журнале об ошибках и письмо будет переслано в список рассылки debian-bugs-dist. ------------------------------------------------------------------------------- 13. Помощь проекту Debian -------------------------------------- Вы можете помочь проекту, уделив своё время (http://www.debian.org/donations) (на разработку новых, сопровождение существующих пакетов, или предоставления поддержки пользователям), предоставив ресурсы (для размещения зеркал FTP и WWW архивов) или финансы (на оплату тестового оборудования и аппаратного обеспечения архивов). 13.1. Как стать разработчиком программного обеспечения Debian? ---------------------------------------------------------------------------- Участие в процессе разработки Debian открыто для всех, и всегда есть необходимость в новых грамотных и/или желающих учиться пользователях, которые могли бы заняться сопровождением существующих пакетов («брошенных» их предыдущими сопровождающими), разработкой новых пакетов и предоставлением поддержки пользователям. О том, как стать разработчиком Debian подробно описано на странице Уголок нового сопровождающего (http://www.debian.org/devel/join/newmaint). 13.2. Как помочь проекту Debian своими ресурсами? ---------------------------------------------------------------------------- Так как проект нацелен на создание основы программного обеспечения, быстро и легко получаемой из любой точки земного шара, то крайне необходимы серверы-зеркала. Желательно, но не абсолютно необходимо иметь копии всех архивов. Пожалуйста, посетите страницу Размеры зеркала Debian (http://www.debian.org/mirror/size), где описаны требования к дисковому пространству. Большинство действий по зеркалированию полностью автоматизированы и выполняются без какого-либо вмешательства человека. Однако при случайных сбоях или изменениях в системе может потребоваться вмешательство человека. Если у вас есть высокоскоростной доступ к Интернет, ресурсы для зеркала всего дистрибутива или его части, и вы можете выделить своё время, или найти кого-то, кто может регулярно сопровождать систему, свяжитесь, пожалуйста, с нами по адресу . 13.3. Как оказать финансовую помощь проекту Debian? ---------------------------------------------------------------------------- Каждый может отправить пожертвования одной из двух организаций, которые принимают непосредственное участие в разработке проекта Debian. 13.3.1. Software in the Public Interest --------------------------------------- Software in the Public Interest (SPI) --- это IRS 501(c)(3) некоммерческая организация созданная после того, как FSF перестала спонсировать Debian. Эта организация разрабатывает и распространяет свободное программное обеспечение. Наши цели очень близки к целям FSF, и мы призываем программистов использовать для своих программ Универсальную Общественную Лицензию GNU. Однако наши взгляды по построению и распространению системы Linux несколько расходятся по множеству технических вопросов от планируемой FSF системы GNU. Мы продолжаем контактировать с FSF, и мы взаимодействуем в отправке изменений в ПО GNU и призываем наших пользователей помогать FSF и проекту GNU. С SPI можно войти в контакт через: http://www.spi-inc.org/. 13.3.2. Free Software Foundation -------------------------------- В настоящее время формальной связи между Debian и Free Software Foundation нет. Однако Free Software Foundation несёт ответственность за наиболее важные компоненты ПО в Debian, включая компилятор GNU C, GNU Emacs и множество библиотек времени выполнения языка C, используемых всеми программами системы. FSF сделала очень много для сегодняшнего свободного программного обеспечения: она написала Универсальную Общественную Лицензию (General Public License), которая используется для большинства ПО, включённого в Debian, и они запустили проект «GNU» по созданию полностью свободной системы Unix. Debian должен рассматриваться как потомок системы GNU. Информацию о FSF можно найти по адресу: http://www.fsf.org/. ------------------------------------------------------------------------------- 14. Распространение Debian GNU/Linux в коммерческом продукте ---------------------------------------------------------------------------- 14.1. Можно ли штамповать CD-диски Debian и продавать их? ---------------------------------------------------------------------------- Запросто! Вам не нужно разрешение на распространение всего, что мы _выпустили_, так что можете штамповать свои CD-диски, как только окончится этап бета-тестирования. Вы не должны ничего нам платить. Конечно, все производители CD-дисков должны соблюдать условия лицензий программ Debian. Многие программы, например, лицензированы под GPL, которая требует от вас распространять их исходный код. Также мы публикуем список производителей CD-дисков, жертвующих свои деньги, ПО и время для проекта Debian, и мы будем советовать пользователям приобретать продукцию этих производителей в качестве компенсации этих пожертвований. 14.2. Можно ли укомплектовать Debian несвободным ПО? ---------------------------------------------------------------------------- Да. В то время как все основные компоненты Debian являются свободным ПО, для тех программ, которые не распространяются свободно, мы предусмотрели каталог non-free. Производители CD-дисков _могут_ распространять программы, которые помещены в этот каталог, в зависимости от положений их лицензии или собственных пожеланий авторов этих пакетов программ. Кроме того, производители CD-дисков могут помещать на эти же CD несвободные программы, которые они получают из других источников. В этом нет ничего нового: многие производители распространяют свободные и несвободные программы на одном CD-диске. Мы же, конечно, стремимся к тому, чтобы авторы программ выпускали свои продукты как свободное ПО. 14.3. Я делаю специальный дистрибутив Linux для «вертикального маркетинга». Могу я использовать Debian GNU/Linux как основу этой системы и добавлять мои собственные приложения поверх него? ---------------------------------------------------------------------------- Да. Дистрибутивы, основанные на Debian, создаются в тесном сотрудничестве с проектом Debian или отдельно. Для этого можно использовать каркас специализированных дистрибутивов Debian (http://cdd.alioth.debian.org/) для совместной работы с Debian; Skolelinux (http://www.skolelinux.org/) является одним из таких проектов. На рынке есть уже несколько основанных на Debian дистрибутивов, например, Progeny Debian, Linspire, Knoppix и Ubuntu, имеющие несколько другую целевую аудиторию, чем собственно Debian GNU/Linux, но использующие в своих продуктах большую часть наших компонентов. Debian также предлагает механизм, который позволяет разработчикам и системным администраторам устанавливать локальные версии определённых файлов таким образом, что они не будут перезаписываться при обновлении пакетов. См. раздел 11.8, `Как заменить программу, установленную из какого-либо пакета, на свою собственную?'. 14.4. Можно ли создать «пакет» Debian из коммерческой программы, чтобы её можно было без проблем установить в любой системе Debian? ---------------------------------------------------------------------------- Да, это возможно. Средство управления пакетами --- свободное программное обеспечение; пакеты могут содержать как свободное, так и несвободное ПО, и любой из них легко установить. ------------------------------------------------------------------------------- 15. Изменения, ожидаемые в следующем выпуске Debian ---------------------------------------------------------------------------- 15.1. Расширенная поддержка не-англоговорящих пользователей ---------------------------------------------------------------------------- В Debian уже имеется очень хорошая поддержка не-англоговорящих пользователей, см. раздел 5.9, `Как в Debian поддерживаются языки, отличные от английского?'. Мы надеемся, что найдутся люди, которые добавят поддержку ещё большего количества языков и переводов. Некоторые программы уже имеют поддержку интернационализации, поэтому нам требуются только перевод каталогов сообщений. Многие программы ещё требуется интернационализировать. Проект переводов GNU ftp://ftp.gnu.org/pub/gnu/ABOUT-NLS работает над интернационализацией программ GNU. В частности, в Debian lenny мы работаем над следующими вещами: * Поддержка интернационализации во всех пакетах, использующих debconf: пакеты, использующие управление настройками Debian, должны позволять перевод всех видимых пользователем сообщений во время настройки пакета. * Поддержка интернационализации описаний пакетов: обновить программы управления пакетами так, чтобы они использовали перевод описаний пакетов. * Использовать кодировку UTF-8 для файлов debian/changelog и debian/control. Это позволит, например, правильно отображать в файлах журналов имена людей из азиатских стран. 15.2. Ускорение загрузки ОС: последовательность загрузки на основе зависимостей ---------------------------------------------------------------------------- Ведётся работа по преобразованию последовательности загрузки Debian (http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot), с тем чтобы вместо жёстко заданных последовательных номеров использовать динамический, основанный на зависимостях порядок. После того, как это будет сделано, системы Debian будут загружаться намного быстрее. 15.3. Улучшения в программе установки Debian ------------------------------------------------------------------------ Большая работа была проделана над программой установки Debian, что привело к значительным улучшениям. Хотелось бы упомянуть два из них. Запуск программы установки из Microsoft Windows: теперь возможно запустить программу установки прямо из Microsoft Windows без необходимости изменения настроек BIOS. Достаточно вставить CD-ROM, DVD-ROM или USB-накопитель, и запустится программа автозапуска, предлагающая пошаговый процесс запуска программы установки Debian. В debian-installer теперь включена экспериментальная поддержка установки Debian на системы с Serial ATA RAID. 15.4. Ещё больше архитектур ---------------------------------------------- Возможно, в lenny будет поддерживаться архитектура ARM EABI (http://wiki.debian.org/ArmEabiPort) (называемая «armel») (вместе со старым «arm»). Также скоро ожидается поддержка SuperH (http://wiki.debian.org/SHPort). Заметим, что хотя некоторые архитектуры исключены из данного выпуска, их всё ещё можно установить или обновить с помощью последней версии `sid'. 15.5. Больше ядер --------------------------- В дополнение к Debian GNU/Hurd, Debian также переносится на ядра BSD, а именно FreeBSD (http://www.debian.org/ports/kfreebsd-gnu/). Этот перенос работает на AMD64 («kfreebsd-amd64») и обычном Intel («kfreebsd-i386»). ------------------------------------------------------------------------------- 16. Общая информация о ЧаВо ----------------------------------------------- 16.1. Авторы ------------------ Первая редакция этих ЧаВо (FAQ) была написана и сопровождалась Дж.Х.М. Дассеном (J.H.M. Dassen (Ray)) и Чаком Стикельманом (Chuck Stickelman). Сьюзан Г. Клейман (Susan G. Kleinmann) и Свен Рудольф (Sven Rudolph) переписали Debian GNU/Linux FAQ. Затем ЧаВо стал сопровождать Сантьяго Вила (Santiago Vila), а позже Иосип Родин (Josip Rodin). Текущим сопровождающим является Хавьер Фернандес-Сангвино (Javier Fernandez-Sanguino). Откуда бралась информация: * Объявление о выпуске Debian-1.1, написанное Брюсом Перенсом (Bruce Perens) (http://www.perens.com/). * ЧаВо по Linux, написанные Яном Джексоном (Ian Jackson) (http://www.chiark.greenend.org.uk/~ijackson/). * Архивы списков рассылки Debian (http://lists.debian.org/), * Руководство программиста dpkg и Руководство по политике Debian (см. раздел 12.1, `Какая ещё документация существует по системе Debian?') * От многих разработчиков, добровольцев и бета-тестеров и * Чудных воспоминаний его авторов. :-) * Со страницы Choosing a Debian distribution FAQ (http://people.cornell.edu/pages/kk288/debian_choosing_distribution.html), написанной Камараджи Кусуманчи (Kamaraju Kusumanchi), и лицензированной под GPL, чтобы я мог включить это в виде новой главы (см. Глава 3, `Выбор дистрибутива Debian') Авторы хотели бы поблагодарить всех, кто сделал возможным выход этого документа в свет. Никаких гарантий. Все торговые марки являются собственностью их владельцев. 16.2. Обратная связь --------------------------------- Комментарии и дополнения к этому документу всегда приветствуются. Отправляйте их электронной почтой на адрес , или в виде сообщения об ошибке в пакете `debian-faq (http://bugs.debian.org/debian-faq)'. 16.3. Где взять ----------------------- Последнюю версию этого документа можно посмотреть на WWW странице Debian по адресу http://www.debian.org/doc/FAQ/. Также её можно скачать в виде простого текста, в форматах HTML и PostScript с http://www.debian.org/doc/user-manuals#faq. Там же есть переводы на несколько языков. Этот документ доступен в пакете `debian-faq'. Переводы доступны в пакетах `debian-faq-ru', `debian-faq-fr' и других. Исходные SGML-файлы, использовавшиеся при создании этого документа, также доступны в виде пакета с исходным кодом `debian-faq', или в SVN: `svn://svn.debian.org/svn/ddp/manuals/trunk/debian-faq' и http://svn.debian.org/viewsvn/ddp/manuals/trunk/debian-faq/. 16.4. Формат документа ------------------------------------- Для написания этого документа использовался DebianDoc SGML DTD (переписанный из LinuxDoc SGML). Система DebianDoc SGML позволяет создавать файлы в различных форматах из одного исходного текста, этот документ, например, можно посмотреть как HTML, простой текст, TeX DVI, PostScript, PDF или GNU info. Утилиты преобразования DebianDoc SGML находятся в пакете Debian `debiandoc-sgml'. ------------------------------------------------------------------------------- Часто задаваемые вопросы о Debian GNU/Linux Список авторов можно найти в ЧаВо о Debian: Авторы версия 5.0.2 от 2 Июнь 2013