[ назад ] [ Содержание ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ вперед ]


APT HOWTO


Аннотация

Этот документ должен помочь пользователю разобраться с принципами работы утилиты управления пакетами Debian, APT. Его цель — облегчить жизнь новым пользователям Debian и помочь тем, кто хочет получить более глубокие знания по администрированию системы. Документ был создан для проекта Debian с целью улучшения поддержки пользователей этого дистрибутива.


Сведения об авторских правах

Copyright © 2001, 2002, 2003, 2004, 2005 Gustavo Noronha Silva

This manual is free software; you may redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.

This is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. See the GNU General Public License for more details.

A copy of the GNU General Public License is available as /usr/share/common-licenses/GPL in the Debian GNU/Linux distribution or on the World Wide Web at the GNU General Public Licence. You can also obtain it by writing to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.


Содержание


[ назад ] [ Содержание ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ вперед ]


APT HOWTO
Глава 1 - Введение


В начале был .tar.gz. Пользователи должны были компилировать каждую программу, которую они хотели использовать на своих системах GNU/Linux. Когда создавался Debian, возникла необходимость в системе управления пакетами, установленными на машине. Этой системе было дано имя dpkg. Этот известный `пакет' первым появился на GNU/Linux, прежде чем Red Hat решил создать собственную систему `rpm'.

Затем перед создателями GNU/Linux быстро возникла новая дилемма. Им понадобился быстрый, практичный и эффективный способ установки пакетов, который бы автоматически обслуживал зависимости и заботился бы о конфигурационных файлах при обновлении. Тут снова Debian вышел вперед и предложил миру APT, Advanced Packaging Tool, который был адаптирован некоторыми другими дистрибутивами и куда затем фирмой Conectiva была добавлена поддержка rpm.

В этом руководстве не рассматривается apt-rpm, как называется APT, перенесённый Conectiva, но "заплаты" к документу по этой теме приветствуются.

Это руководство основано на следующем выпуске Debian, Etch, по состоянию на 31 августа 2005 года.


1.1 Основные понятия и терминология

Ниже приведены основные понятия и термины, используемые в руководстве:

источник APT (APT source) — это место (часто в интернете, или на CDROM, или где-то ещё), где хранится репозиторий пакетов Debian, смотрите Файл /etc/apt/sources.list, раздел 3.1.

строка источника APT (APT source line) — это строка, которая добавляется в конфигурационный файл для указания APT "источников APT", которые нужно использовать, смотрите Файл /etc/apt/sources.list, раздел 3.1.

бинарный пакет (binary package) — это .deb-файл, подготовленный к установке с помощью менеджера пакетов (dpkg). Пакет может включать бинарные файлы, а также содержать архитектурно-независимые данные — в любом случае он считается бинарным пакетом.

исконный пакет (debian-native) — это пакет, созданный специально для Debian; этот тип пакетов часто содержит файлы управления пакетом в первоначальном исходном тексте, и каждая новая версия пакета является также новой версией программы и данных.

дебианизировать (debianize) — глагол, обычно используемый вместо фразы "подготовить для использования с Debian" или, более просто, упаковать в формат .deb.

пакет исходников (source package) — это, на самом деле, абстрактное название набора двух-трёх файлов, которые вместе составляют формат deb-исходников: .dsc файл, содержащий информацию о пакете, также называется файлом управления исходниками; .orig.tar.gz файл, содержащий первоначальную авторскую версию исходных текстов этого пакета (иногда может встретить .tar.gz файл без .orig в названии — это исконный пакет Debian); .diff.gz файл с дополнениями, сделанными при дебианизации первоначальных исходных текстов (для исконных пакетов Debian не бывает).

авторский (upstream) — это слово обычно обозначает нечто, пришедшее от основного разработчика программного обеспечения или данных, или самого разработчика.

виртуальные пакеты (virtual packages) — это несуществующие на самом деле пакеты, которые "предоставляются" другими определёнными пакетами; наиболее общим примером является пакет mail-transport-agen, указываемый пакетами, которым необходим MTA[1], в качестве зависимости, при этом за пользователем сохраняется право выбора конкретного MTA.


[ назад ] [ Содержание ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ вперед ]


APT HOWTO
Глава 2 - Введение в архив Debian


2.1 Введение в комплекты Debian

Модель разработки Debian состоит из трёх основных "веток", которые называются "комплектами" (suites): стабильный (stable) комплект — это последняя выпущенная версия Debian; тестовый (testing) комплект — теоретически содержит всегда-готовую-к-выпуску версию (пакеты попадают сюда из нестабильной ветки через 10 дней, если нет отчётов о критических ошибках и при условии, что он собирается под все выпускаемые архитектуры); нестабильный (unstable) комплект — является непосредственно местом разработки: все новые пакеты попадают в unstable для тестирования на пригодность к выпуску и затем попадают в testing.

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

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

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


2.2 Секции Debian

Обычно каждый комплект репозитория Debian состоит из одной или нескольких секций (sections); их названия и цели могут отличаться у разных дистрибьюторов. В самом Debian есть три секции: main, contrib и non-free.

Формально говоря, всё что на самом деле делает Debian — находится в секции main. В соответствии с общественным договором всё программное обеспечение, которое удовлетворяет критериям Debian по определению Свободного ПО (DFSG) и зависит только от DFSG-совместимого ПО, попадает в эту секцию архива. В соответствии с этими документами и обещанием включать в секцию main только ПО удовлетворяющее им, Debian предлагает понятный, совершенно простой критерий свободы, на который могут полагаться пользователи при установке ПО из секции main.

Секция contrib содержит DFSG-совместимое ПО, работа которого зависит от не DFSG-совместимого ПО или данных. Секция non-free содержит ПО, которое не удовлетворяет DFSG, но допускает распространение. Вы должны проверять условия (подходят ли они вам) лицензии каждого ПО из секции non-free, которое вы хотите установить для пробы.


2.3 Цепочка доверия APT

APT поставляется с криптографической цепочкой доверия, которая простирается от разработчиков debian к простым пользователям.

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

После проверки закачанного пакета, который был подписан сопровождающим, вычисляется сумма MD5 пакета и помещается в файл Packages. Затем вычисляются суммы MD5 всех файлов Packages и помещаются в файл Release. После этого файл Release подписывается ключом архива (archive key), который создаётся раз в год и распространяется через FTP-сервер. Также этот ключ входит в связку ключей (keyring) Debian.

Вследствие этого, конечный пользователь, добавив ключ архива в свою связку ключей, может проверить, что файл Release был подписан достоверным ключом, MD5-суммы всех файлов Packages и MD5-суммы всех пакетов Debian. APT автоматизирует этот процесс.

При обновлении (смотрите Обновление списка доступных пакетов, раздел 4.2), APT проверяет подпись файлов Release с помощью своей связки ключей (об этом смотрите Аутентификация пакетов, раздел 3.2) и суммы MD5 файлов Packages (о которых есть запись в файлах Release).

При обновлении или установке новой версии пакета (смотрите Обновление пакетов, раздел 4.7 и Установка и переустановка пакетов, раздел 4.4, соответственно) APT проверяет суммы MD5 пакетов (которые хранятся в файлах Packages).

Если любой из этих этапов завершится неудачно, об этом будет сообщено пользователю и процесс остановится.


[ назад ] [ Содержание ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ вперед ]


APT HOWTO
Глава 3 - Основная настройка


3.1 Файл /etc/apt/sources.list

Для работы APT использует файл, который описывает 'источники APT', откуда могут быть получены пакеты. Это файл /etc/apt/sources.list.

Обычно этот файл имеет следующий формат:

     deb http://host/debian distribution секция1 секция2 секция3
     deb-src http://host/debian distribution секция1 секция2 секция3

Конечно, вышеприведенные записи являются просто примером и не должны использоваться. Первое слово в каждой строке, либо deb, либо deb-src, указывает тип пакетов в архиве: либо это бинарные пакеты (deb), то есть предварительно скомпилированные пакеты, какие мы обычно и используем, либо пакеты исходников (deb-src), содержащие первоначальные исходные тексты программ плюс управляющий файл Debian (.dsc) и файл diff.gz с изменениями, необходимыми для дебианизации программы, смотрите Сборка из исходников, Глава 5.

В месте, где стоит слово distribution из примера выше, задаётся на какой комплект Debian мы нацелены. Здесь могут быть просто имена типа "stable", "testing" или специальные имена, типа "sarge" и "etch". Предположим, что текущий тестовый комплект называется "etch" и вы хотите оставить "etch" после того как он станет стабильным; в этом случае на месте distribution нужно указать "etch". Если вы хотите продолжить использовать тестовый комплект, то укажите вместо этого "testing".

Итак, если вы всегда хотите иметь последнюю стабильную версию и обновляться только с выходом нового выпуска, укажите "stable" вместо distribution. Это, вероятно, не очень хорошая мысль, так как вы можете планировать обновление до нового стабильного выпуска, при котором иногда возникают не слишком простые вопросы, и кроме того, перед этим лучше выполнять резервное копирование и тестирование, поэтому рекомендуется всегда использовать условные имена (codenames) выпуска.

Обычно в sources.list помещается следующее:

     deb http://http.us.debian.org/debian stable main
     deb http://security.debian.org stable/updates main
     
     #deb-src http://http.us.debian.org/debian stable
     #deb-src http://security.debian.org stable/updates main

Эти строки необходимы для базовой установки Debian. Первая строка deb указывает на официальный архив, вторая — на архив обновлений безопасности Debian.

Две последние строки закомментированы (начинаются с `#'), так что APT будет их игнорировать. Строки deb-src указывают на пакеты исходников Debian. Если вы часто загружаете исходные тексты программ для тестирования и перекомпиляции, раскомментируйте их.

Файл /etc/apt/sources.list может содержать несколько типов. APT знает как обращаться с архивами типов http, ftp, file (локальные файлы, например, каталог, содержащий смонтированную файловую систему ISO9660) и ssh.

Помните: всегда, когда нужно добавить источник APT для получения пакетов — именно этот файл нужно редактировать.

Не забудьте обновить список пакетов после изменения файла /etc/apt/sources.list, смотрите Обновление списка доступных пакетов, раздел 4.2. Вы должны сделать это для того, чтобы система APT смогла узнать какие пакеты доступны в указанных вами источниках.


3.2 Аутентификация пакетов

Начиная с версии 0.6, APT выполняет аутентификацию пакетов для проверки что они получены из источника в неизменном виде. Это свойство безопасности является необязательным. Если система не может аутентифицировать пакет при установке, пользователю задаётся вопрос, нужно ли прервать или продолжить установку.

Так как аутентификация основывается на методах шифрования, APT содержит свою связку ключей. Каждая запись в вашем файле sources.list имеет соответствующий ключ. Иногда некоторые неофициальные источники APT не аутентифицируются. В этом случае предложите сопровождающему источника реализовать аутентификацию.

Чтобы получить выгоду от использования этой возможности усиления безопасности, вам нужно добавить ключ в связку ключей APT каждого аутентифицированного источника. Это можно сделать с помощью GPG, но с APT поставляется утилита, apt-key, которая упрощает работу с GPG.

Программой apt-key очень легко пользоваться. Сложная часть процесса — получение ключа каждого источника и проверка, что вы можете доверять этому ключу.

Ключ архива Debian устанавливается в файл /usr/share/apt/debian-archive.gpg, поэтому для добавления официального ключа архива в связку ключей APT вы можете просто использовать этот файл выполнив команду:

     # apt-key add /usr/share/apt/debian-archive.gpg

Для внешних, неофициальных источников, вам нужно выяснить, откуда можно получить их публичный ключ для последующего импорта в связку ключей APT.

Если вы хотите выключить криптографическую проверку файлов Release по какой-то причине, то можете добавить следующую строку в настройки APT (смотрите Файл настроек APT, раздел 3.4):

     APT::Get::AllowUnauthenticated "true";

3.3 Добавление CD-ROM в файл sources.list

Если вы предпочитаете использовать CD-ROM для установки пакетов или автоматического обновления вашей системы с помощью APT, то можно добавить его в sources.list. Для этого используется программа apt-cdrom:

     # apt-cdrom add

Debian CD-ROM должен находиться в приводе. Программа смонтирует CD-ROM и, если диск является Debian CD, найдёт на диске информацию о пакетах. Если у вас CD-ROM необычной конфигурации, то вы можете также использовать следующие параметры:

     -h           - справка к программе
     -d каталог   - точка монтирования CD-ROM
     -r           - переименовать распознанный CD-ROM
     -m           - не монтировать
     -f           - ускоренный режим, не проверять файлы пакетов
     -a           - режим тщательного поиска

Пример:

     # apt-cdrom -d /home/kov/mycdrom add

Также вы можете идентифицировать CD-ROM без добавления его в список:

     # apt-cdrom ident

Обратите внимание, что эта программа работает только если ваш CD-ROM правильно настроен в системном файле /etc/fstab.


3.4 Файл настроек APT

APT использует /etc/apt/apt.conf в качестве основного файла настроек. Несмотря на это, в установке по умолчанию файла с таким именем нет — вы можете создать его самостоятельно и внести свои правки. Но есть более гибкий путь управления настройками: вы можете поместить отдельные файлы с любыми именами в каталог /etc/apt/apt.conf.d/.

При выборе модульного пути вам следует помнить следующее: во-первых, некоторые пакеты Debian помещают свои файлы с настройками в этот каталог, поэтому для предотвращения конфликта имён вы можете, например, добавлять к своим файлам с настройками суффикс -local. Во-вторых, настройки из этого каталога читаются в порядке сортировки имён файлов, поэтому добавив число в начало имени файла, можно определить место в последовательности обработки. Например, если вы хотите, чтобы в начале рассматривались ваши настройки, то вы можете поместить их в файл с именем 00000myconf-local.

Чтобы узнать синтаксис и параметры, используемые файлами настроек, прочитайте страницу руководства apt.conf(5).


3.5 Уточнение приоритета пакетов для APT

APT использует алгоритм приоритезации при решении из какого репозитория должен быть получен пакет. Простой пример:

     $ apt-cache policy apt-howto
     apt-howto:
       Установлен: 1.8.10.3-1
       Кандидат: 1.8.11-1
       Таблица версий:
          1.8.11-1 0
             500 http://ftp.nl.debian.org sid/main Packages
      *** 1.8.10.3-1 0
             500 http://ftp.nl.debian.org sarge/main Packages
             100 /var/lib/dpkg/status

Здесь имеется два источника: sid и sarge.

Установленная версия помечена ***. Мы можем понять, что пакет установлен, по файлу /var/lib/dpkg/status, который содержит информацию о текущем состоянии системы. Также мы видим, что пакет пришёл из sarge. Версия в sid также доступна.

Как мы видим, APT назначает установленным пакетам приоритет 100 и 500 для всех других источников за одним исключением: экспериментальный комплект, который как уже упоминалось, воспринимается многими утилитами по-другому. Алгоритм APT выберет для установки пакет из источников с большим приоритетом. Если приоритеты одинаковы, то он выберет пакет с большей версией. Вы можете увидеть её в поле Кандидат, которое описывает самую последнюю версию, в данном случае из нестабильного комплекта: пакет будет заменён новой версией.

Если вы хотите использовать источник sid только для установки некоторых пакетов и не хотите, чтобы APT автоматически рассматривал пакеты из этого источника в качестве кандидатов для обновления, то вы должны отрегулировать его приоритет. Идентификацию можно провести по полю Archive файла Release из источника, которому вы хотите назначить приоритет. Вы можете найти эту информацию в файле Release, который был скачан в процессе обновления:

     # grep ^Archive /var/lib/apt/lists/ftp.nl.debian.org_debian_dists_sarge_main_binary-i386_Release
     Archive: stable

Заметим, что имя файла зависит от вашей строки источника. Для того, чтобы APT оставлял пакеты из стабильного комплекта, добавьте файл со следующим содержимым в /etc/apt/apt.conf.d/:

     APT::Default-Release "stable";

После этого политика APT изменится:

     $ apt-cache policy apt-howto
     apt-howto:
       Установлен: 1.8.10.3-1
       Кандидат: 1.8.10.3-1
       Таблица версий:
          1.8.11-1 0
             500 http://ftp.nl.debian.org sid/main Packages
      *** 1.8.10.3-1 0
             990 http://ftp.nl.debian.org sarge/main Packages
             100 /var/lib/dpkg/status

APT назначит приоритет 990 для всех пакетов из источника по умолчанию, приоритет других источников не изменится. Установленным пакетам из других источников приоритет будет повышен со 100 до 500. Почему APT не собирается установить их более старую версию? Потому что APT рассмотрит понижение версии в случае, если будет задан приоритет больше 1000. Тем не менее, это не означает, что APT выполнит автоматическое обновление версий из источников не по умолчанию, если используемые вами утилиты не помогут в этом, например aptitude.

Также возможно определение приоритета для групп пакетов основываясь на многих других критериях из файла настройки /etc/apt/preferences. Вы даже можете убедить APT попробовать понизить версию всей системы, хотя это не поддерживается и не должно выполняться людьми со слабым здоровьем. Более подробная информация об этом представлена на странице руководства apt_preferences(5).


3.6 Использование APT через прокси

Если вы используете APT в сети, использующей прокси для http и ftp соединений, то вам потребуется настроить APT для работы с прокси. Вы можете сделать это, поправив файл настроек /etc/apt/apt.conf или поместив файл с настройками в каталог /etc/apt/apt.conf.d/, что позволит легче организовать набор настроек (смотрите Файл настроек APT, раздел 3.4).

Если этот файл не существует — создайте его и добавьте строки наподобие следующих:

     Acquire::http::proxy "http://прокси_машина:порт";
     Acquire::ftp::proxy "http://прокси_машина:порт";

Замените прокси_машина и порт настройками, предоставленными вашим администратором сети. Если для прокси требуется имя и пароль, то вы можете указать их следующим образом:

     Acquire::http::proxy "http://пользователь:пароль@прокси_машина:порт";

Есть очень много полезных параметров для настройки APT через файл настроек /etc/apt/apt.conf, смотрите Файл настроек APT, раздел 3.4.


[ назад ] [ Содержание ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ вперед ]


APT HOWTO
Глава 4 - Управление пакетами


4.1 Использование программы управления пакетами Debian: aptitude

Debian долгое время существовал с программой управления пакетами, которая была, как известно, трудна для понимания и использования — dselect. Теперь же система Debian переходит к новой программе управления по умолчанию, называемой aptitude, также основанной на библиотеке APT.

Если у вас установлен Sarge, то aptitude установлена по умолчанию в базовой системе, иначе установите пакет aptitude запуском, например, команды:

     # apt-get install aptitude

Попытайтесь избегать использования apt-get, вместо него используйте aptitude, так как она знает об APT намного больше и имеет некоторые уникальные особенности, вроде пометки пакетов, которые были автоматически установлены для удовлетворения зависимостей, и запрос на их автоматическое удаление, в случае отсутствия необходимости их дальнейшего использования.

Программа aptitude имеет два основных режима работы: основанный на ncurses пользовательский интерфейс (UI), предоставляющий навигацию по списку пакетов как dselect, и управление из командной строки как apt-get. Большинство примеров в этом документе используют UI на основе командной строки, но тех же результатов можно добиться и при использовании dselect-подобного UI.

Для запуска этого UI наберите в терминале aptitude — это не требует привилегий суперпользователя, aptitude потребует права суперпользователя автоматически только когда они понадобятся. За основу усвойте: для доступа к строке меню в верхней части экрана вам нужно нажать F10, как советует вторая строка. Вторая строка содержит общую информацию о наиболее часто используемых функциях, таких как вызов справки, выход, обновление и обработка списка пакетов.

Посмотрите Руководство Пользователя, расположенное в меню помощи, чтобы понять как это всё работает.

Заметим, что работать с aptitude несколько проще чем с другими программами управления пакетами: вы делаете свой выбор и затем совершаете изменения. Почти все действия по управлению установкой пакета по завершении требуют двойного нажатия g для подтверждения вступления в силу. При первом нажатии g вам предоставят список изменений для выполнения, затем вы можете нажать g ещё раз для подтверждения изменений или q для отмены.

Также, вы можете нажать клавишу Enter для получения информации о пакете или группе пакетов. Например, вы можете нажать Enter при выбранной надписи 'Новые пакеты' для просмотра списка секций. При нажатии Enter на секции вы увидите список новых пакетов в этой секции, и вы сможете увидеть более детальную информацию о пакете нажатием Enter на нём. Заметим, что просмотр детальной информации о пакете изменяет контекст просмотра программы aptitude, для возврата обратно нужно нажать q.

Первоначально пакеты разбиты на категории по состоянию установки и некоторым другим специальным критериям. Вы увидите следующее при первом вызове aptitude:

     --- Новые пакеты
     --- Обновляемые пакеты
     --- Установленные пакеты
     --- Неустановленные пакеты
     --- Устаревшие и созданные локально пакеты
     --- Виртуальные пакеты
     --- Задачи

Новые пакеты — это пакеты, вошедшие в Debian с тех пор, как вы последний раз очищали ваш список новых пакетов через опцию Забыть о новых пакетах в меню Действия, или нажав клавишу "f".

Обновляемые пакеты — это установленные пакеты, для которых доступны новые версии. Установленные пакеты — соответственно, установленные пакеты, Неустановленные пакеты — пакеты, доступные хотя бы из одного источника APT. Устаревшие и созданные локально пакеты — это пакеты, более не доступные ни из одного источника APT, или созданные вами. Виртуальные пакеты — это пакеты, предоставляющие некий сервис в отличие от конкретного программного обеспечения и которые "предоставляются" некоторыми специализированными пакетами. Наконец, Задачи — сборники пакетов, объединённые по назначению, а также используемые программой tasksel.

Нажатие Enter на одной из категорий расширит дерево выбора до примерно следующего вида:

     --\ Неустановленные пакеты
       --- admin - Административные утилиты (для установки ПО, управления пользователями и т.д.)
       --- base - Базовая система Debian
     [...]

Переход глубже покажет:

       --\ games - Игры и забавные программы
         --- contrib - Программы, зависящие от ПО не из Debian
         --\ main - Главный архив Debian
     p     3dchess                                               <none>    0.8.1-10

Это показывает нам один пакет: он не установлен, это игра и она доступна в основном репозитории Debian, который входит в официальную поставку Debian.

В центре экрана располагается отмеченная строка, заполняемая некоторым текстом, когда вы выбираете пакет. Это то, что мы называем кратким описанием пакета. Ниже располагается текстовое поле, содержащее более детальную информацию о пакете. Это полное описание. Иногда полное описание не влезает в отведённое под него поле, и тогда нажатием клавиши "z" описание можно прокручивать вниз, а нажатием "a" — вверх.

Смотрите в Установка и переустановка пакетов, раздел 4.4 более полную информацию.


4.2 Обновление списка доступных пакетов

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

Чтобы обновить этот список, вы должны использовать команду aptitude update. Эта команда ищет списки пакетов в архивах, указанных в файле /etc/apt/sources.list; подробней об этом файле смотрите в Файл /etc/apt/sources.list, раздел 3.1. Также вы можете использовать клавишу "u" для обновления списка пакетов, если aptitude запущен в режиме ncurces-интерфейса.

Одним из этапов, который выполняет APT при обновлении базы данных, является проверка достоверности списка пакетов и их сумм MD5. Это выполняется с помощью сличения криптографической подписи и проверки сумм MD5; подробней смотрите Цепочка доверия APT, раздел 2.3. Если APT обнаруживает, что подпись неверна или что суммы MD5 не совпадают, то вы можете увидеть ошибку обновления базы данных пакетов. Это предотвращает установку троянских программ на ваш компьютер. Если это случается, то это также может быть проблема в настройках (например, устаревший ключ), которую вы можете решить. Если ничего не получается, свяжитесь с администратором неработающего источника apt.

Было бы неплохо запускать эту команду регулярно, чтобы ваша система всегда была в курсе об обновлениях доступных пакетов, особенно обновлениях безопасности.


4.3 Поиск пакетов

Aptitude предлагает очень гибкий и мощный инструмент поиска. Вы можете получить к нему доступ, нажав клавишу "/" (косая черта). Это откроет небольшое диалоговое окно в центре экрана.

Затем вы можете ввести имя пакета. Пока вы вводите, aptitude будет вести поиск. Если найденный пакет не совсем то, что вам нужно, вы можете выйти из диалога по клавише enter и затем нажать клавишу "n" для повторного поиска с тем же шаблоном.

Вы можете использовать регулярные выражения[2] в диалоговом окне поиска, только помните, что aptitude имеет собственный поисковый язык, частично совпадающий с регулярными выражениями. Давайте рассмотрим его на примерах. Для начала, если вы хотите найти точное совпадение со строкой "gnome" введите в окне поиска "^gnome$".

Заметим, что в примере выше поиск производился только среди имён пакетов. Если вы хотите вести поиск и в описаниях, вам нужно использовать подстроку "~d", введённую в начале поискового выражения. Таким образом, если вы хотите произвести поиск всех пакетов, ссылающихся на "isolinux" в своих описаниях, то вам нужно написать "~disolinux" в окне поиска.

Также вы можете произвести поиск всех сломанных на текущий момент пакетов, используя "~b"; искать все удалённые пакет с сохранившимися файлами настроек можно с помощью "~c".

Информацию о более сложных типах поиска в aptitude можно получить в руководстве пользователя Aptitude, которое можно найти в меню Помощь.

Также вы можете использовать командную строку для поиска пакетов следующим образом:

     $ aptitude search '~c'
     c A abiword-common                  - WYSIWYG word processor based on GTK2
     c A acme                            - Enables the "multimedia buttons" found on
     (...)

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


4.4 Установка и переустановка пакетов

Наконец, то, чего вы так ждали! Ваш sources.list готов, все ключи добавлены в связку APT и обновлён список доступных пакетов — вам остаётся только запустить aptitude для установки желаемого пакета.

После запуска aptitude, вы можете установить один или более пакетов нажатием клавиши "+", если требуемый пакет выделен. Для поиска необходимого пакета можно использовать клавишу "/", смотрите Поиск пакетов, раздел 4.3. После того как вы запросите установку пакета, он будет отмечен зелёным цветом, и строка будет выглядеть следующим образом:

     pi    celestia-gnome                                        <none>     1.3.0-1

Это означает, что пакет не установлен ('p') и отмечен для установки. Слово <none> означает, что никакая версия пакета не установлена, а номер версии далее означает отметку о запросе на установку.

Заметим, что когда вы запрашиваете установку, также автоматически отмечаются для установки другие дополнительные пакеты. Это зависимости, предложения и рекомендации для выбранного пакета. Они, вероятно, будут отмечены следующим образом:

     piA   gnome-bin                                             <none>     1.4.2-16

Заглавная буква 'A' показывает, что пакет будет установлен из-за того, что другой пакет зависит от него. Все пакеты, установленные таким образом, будут удалены после исчезновения необходимости в их использовании. Вы можете установить такую отметку вручную для пакета, выделив его курсором и нажав "M".

Буква 'U' в следующей колонке означает, что пакет поступает из недоверительного источника, то есть файл Release источника пакета не подписан или его публичный ключ не импортирован в связку ключей APT. Смотрите в Аутентификация пакетов, раздел 3.2, что нужно делать, чтобы доверять источнику. Также этот пакет может быть в одном из доверительных источников, поэтому, проверьте детальную информацию о доступных версиях пакета.

Вы можете получить подробную информацию о выделенном пакете нажатием Enter. При этом отобразиться примерно следующая информация:

     i A --\ xterm                                               4.2.1-14     4.2.1-14
       Описание
     xterm - X terminal emulator
     xterm is a terminal emulator for the X Window System.  It provides DEC VT102
     and Tektronix 4014 compatible terminals for programs that cannot use the
     window system directly.  This version implements ISO/ANSI colors and most of
     the control sequences used by DEC VT220 terminals.
       Приоритет: optional
       Секция: x11
       Сопровождающий: Branden Robinson <branden@debian.org>
       Упакованный размер: 547k
       Распакованный размер: 1130k
       Исходный пакет: xfree86
       --\ Зависит
         --- libc6 (>= 2.3.2.ds1-4)
         --- libfreetype6 (>= 2.1.5-1)
         --- libncurses5 (>= 5.3.20030510-1)
         --- libxaw7 (> 4.1.0)
         --- xlibs (> 4.1.0)
         --- xlibs (> 4.2.0)
       --\ Конфликтует
         --- xbase (< 3.3.2.3a-2)
         --- suidmanager (< 0.50)
       --\ Заменяет
         --- xbase (< 3.3.2.3a-2)
       --- Пакеты, зависящие от xterm
       --\ Версии
     p A 4.3.0-0pre1v4
     i A 4.2.1-14

У доверительных версий не будет буквы 'U' в четвёртой колонке, поэтому вы можете выбрать и указать его для установки aptitude. В нашем примере выше присутствуют разные версии из доверительных источников.

Заметим, что почти всегда, когда отображено три и более тире, вы можете нажать Enter для раскрытия списка. Тогда он будет выглядеть примерно так: --\. Теперь вы можете увидеть довольно много информации о пакете: от каких пакетов зависит, с какими конфликтует[3].

Также заметим, что внизу экрана (вы можете прокрутить экран вниз, используя клавиши стрелок и прокрутки страницы) отображены различные Версии пакета, доступные вам. Здесь пакет xterm имеет две доступные версии, потому что несколько источников APT предоставляют различные его версии.

Вы можете установить версию по желанию нажатием "+" на ней. Напомним, что вам нужно попросить aptitude выполнить отмеченные вами изменения. Для этого нажмите "g". Aptitude отобразит список действий, которые он выполнит по вашему требованию:

     --\ Автоматически устанавливаемые пакеты для удовлетворения зависимостей
     ciA calctool                                                <none>     4.3.16-2
     --\ Фиксируемые пакеты
     ih  libgnomeprintui2.2-0                                    2.4.0-1     2.4.2-1
     --\ Устанавливаемые пакеты
     pi  gwget2                                                  <none>     0.7-3
     --\ Удаляемые пакеты
     ip  qvwm                                                    1:1.1.12-1     1:1.1.12-1

Все элементы достаточно понятны. Правда, фиксируемый пакет здесь новое понятие. О нём вы можете прочитать в Фиксация пакетов, раздел 4.9. После проверки изменений, подтвердите сделанный выбор повторным нажатием клавиши "g".

Далее aptitude начнёт процесс загрузки и установки выбранных пакетов. Также APT может запустить обновление любых пакетов, которые нужно сейчас обновить (смотрите Обновление пакетов, раздел 4.7). Если выбранные пакеты из недоверительных источников, то aptitude покажет список этих пакетов и перед тем как получить пакеты спросит, действительно ли вы хотите установить их. Подробней про безопасные источники смотрите Цепочка доверия APT, раздел 2.3.

Если вы хотите переустановить пакет, скажем, чтобы восстановить случайно удалённые файлы, нажмите клавишу "L", чтобы отметить пакет для переустановки. После этого будет выполнен тот же процесс что и для установки.

Также для установки и переустановки пакетов вы можете использовать aptitude без диалогового UI следующим образом:

     # aptitude install пакет1 пакет2 ...
     # aptitude --reinstall install пакет1 пакет2 ...

4.5 Установка пакетов debian, загруженных вручную или созданных локально

Если вы вручную загрузили файл .deb из сети или получили .deb из какого-то другого источника, отличного от источников APT, то для его установки вы не сможете воспользоваться aptitude или какой-то другой основанной на APT программой.

Для этого вам придётся использовать базовый инструмент управления пакетами, на который ложится основная работа по установке пакетов — даже aptitude вызывает этот инструмент при установке: dpkg.

Вы может установить пакет, выполнив:

     # dpkg -i файл.deb

Если вы хотите использовать нестабильную ветку Debian или желаете создавать пакеты Debian, вам надо побольше узнать о dpkg! Это очень мощный инструмент и имеет множество полезных параметров.


4.6 Удаление пакетов

Если пакет вам больше не нужен, то вы можете удалить его из вашей системы с помощью APT. Чтобы сделать это, нажмите "-" для выделенного пакета в aptitude. Это действие отметит пакет для удаления строкой пурпурного цвета, как указано ниже:

     id    celestia-gnome                                       1.3.0-1     1.3.0-1

Заметим, что примерно так будет выглядеть строка после удаления пакета:

     c    ocaml-base                                             <none>     3.07.2a-1

Как видно, вместо p в начале строки присутствует c. Это означает, что в системе был удалён пакет ocaml-base, но остались файлы с настройками. Для удаления пакета вместе с его настройками вам надо использовать клавишу "_"[4] — это действие называется вычистка.

Одно важное замечание: если вы попытаетесь удалить пакет, от которого зависят установленные пакеты, появятся сломанные пакеты, как показывает верхняя часть экрана aptitude:

     aptitude 0.2.13      #Broken: 1   Will free 208MB of disk space

Сломанные пакеты будут отмечены следующим образом:

     iBA   openoffice.org                                       1.1.0-3     1.1.0-3

Вы можете попытаться всё исправить, найдя неправильно удалённые пакеты так, чтобы не осталось нарушенных зависимостей, или попросить aptitude выполнить это нажатием клавиши "g". Она попытается восстановить все повреждения. Если решение, найденное программой, не удовлетворит вас, вы можете вручную что-то исправить перед подтверждением клавишей "g".

Вы можете провести поиск сломанных пакетов нажав "/" и введя в качестве шаблона "~b", нажать Enter. Следующее совпадение можно найти нажав клавишу "\". Также для поиска сломанных пакетов можно просто нажать клавишу "b"; повторное нажатие покажет следующий сломанный пакет. Подробней о поиске пакетов смотрите Получение информации о пакетах, Глава 6.

Как обычно, вы имеете возможность удалить или вычистить пакеты используя командную строку:

     # aptitude remove пакет1 пакет2 ...
     # aptitude purge пакет1 пакет2 ...

4.7 Обновление пакетов

Обновление пакетов — главный плюс системы APT. Aptitude автоматически помечает для обновления пакеты, имеющие новые версии. Таким образом всё, что вам обычно нужно сделать для обновления системы — это обновить список пакетов (смотрите Обновление списка доступных пакетов, раздел 4.2), а затем попросить aptitude приняться за работу нажатием "g", и после просмотра необходимых изменений, подтвердить их повторным "g". Если aptitude что-то не отметила для для обновления автоматически, то вы можете нажать клавишу "U" (большая "u"), чтобы попросить сделать это. Этот параметр настройки находится в меню Параметры->Разное.

Вы можете проверить список пакетов, имеющих доступные новые версии, проверив категорию Обновляемые пакеты:

     --\ Обновляемые пакеты
       --\ libs - Библиотеки подпрограмм
         --\ main - Главный архив Debian
     iu    libgnomeprintui2.2-0                                 2.4.0-1     2.4.2-1

Пакеты, отмеченные для обновления, отображаются бирюзовым цветом и имеют отметку u в разряде выполняемых действий. Если же вы хотите обновить систему до нового выпуска Debian, то прочитайте следующий раздел Обновление до нового выпуска, раздел 4.8.


4.8 Обновление до нового выпуска

Эта возможность APT позволяет вам обновлять всю систему Debian за один приём, или через интернет, или с нового CD (купленного или загруженного в виде образа ISO).

Например, предположим, что вы используете выпуск 0 стабильной версии Debian и вы покупаете CD с выпуском 3. Вы можете использовать APT для обновления вашей системы с этого нового CD. Для этого используйте команду apt-cdrom (смотрите раздел Добавление CD-ROM в файл sources.list, раздел 3.3) для добавления CD в ваш файл /etc/apt/sources.list и запустите aptitude для продолжения установки, как описано выше.

Важно иметь в виду, что APT всегда ищет новейшие версии пакетов, но только после рассмотрения приоритетов источников, как описано в Уточнение приоритета пакетов для APT, раздел 3.5. Поэтому, если в вашем файле /etc/apt/sources.list были указаны архивы, которые имеют более новые версии пакетов, чем версия этого CD, APT будет загружать пакеты с них, если оба источника имеют одинаковый приоритет или другой архив имеет более высокий приоритет чем CD.

Если вы хотите обновить систему через интернет, вам необходимо соответствующим образом настроить файл /etc/apt/sources.list. Выпуск нового стабильного комплекта, обычно, является поводом для запуска стандартной операции обновления в aptitude. Если в вашем /etc/apt/sources.list используется условное имя выпуска[5], то вам надо сменить имя выпуска на новое или заменить на его `stable'.

Например, так:

     deb http://http.us.debian.org/debian etch main

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

     deb http://http.us.debian.org/debian stable main

Отличие здесь в том, что первый пример будет удерживать вас в etch столько сколько пожелаете, даже если появится новый стабильный выпуск. Это может быть полезным, если вы хотите сами определить момент обновления до нового стабильного выпуска. Во втором случае система будет обновлена автоматически до нового стабильного выпуска, как только он появится.


4.9 Фиксация пакетов

Как мы видели в предыдущем разделе, aptitude автоматически отмечает пакеты для обновления. Если же вы хотите сохранить установленной текущую версию — вы можете попросить зафиксировать (hold) пакет.

Этого можно добиться нажатием клавиши "=". Пакеты не будут обновляться, это может выглядеть следующим образом:

     ih    alien                                                   8.41     8.41

В этом примере, версия пакета alien останется 8.41 даже, если в APT источнике появится новая версия — обратите внимание на символ h слева. Чтобы перевести пакет в нормальное состояние, просто отметьте его для установки.

Также вы можете зафиксировать пакеты, используя интерфейс командной строки, следующим образом:

     # aptitude hold пакет1 пакет2 ...

4.10 Удаление неиспользуемых пакетных файлов: clean и autoclean

Когда вы устанавливаете пакет, APT получает необходимые файлы с серверов, перечисленных в /etc/apt/sources.list, и сохраняет их в локальном репозитории (каталог /var/cache/apt/archives/), а затем выполняет установку (смотрите Установка и переустановка пакетов, раздел 4.4).

С течением времени локальный репозиторий может разрастись и занимать значительную часть дискового пространства. На этот случай, в системе APT предусмотрены следующие средства: методы clean и autoclean программы aptitude.

Метод clean вызывается пунктом Очистить кэш пакетов в меню Действия. Он используется для удаления всех загруженных .deb файлов. Метод autoclean вызывается пунктом Очистить устаревшие файлы, также в меню Действия.

Метод autoclean, в основном, используется теми, кто хочет оставить локальную копию установленных на текущий момент пакетов. Этот метод удаляет только те .deb файлы, которые больше не предоставляются каким-либо APT источником, и, таким образом, являются устаревшими.


[ назад ] [ Содержание ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ вперед ]


APT HOWTO
Глава 5 - Сборка из исходников


5.1 Загрузка пакетов исходников

В мире свободного ПО общепринято изучать исходный код или даже исправлять найденные ошибки. Сборка из исходников может быть также полезна и для включения возможностей, заблокированных в официальном пакете, или наоборот, блокирования. Чтобы это сделать, вы должны загрузить исходный текст программы. Система APT предлагает лёгкий путь для получения исходных текстов для множества программ, составляющих дистрибутив, включая все файлы, необходимые для создания .deb-файлов программ.

Другая причина использования исходников Debian — установка более новых версий программ из, например, нестабильного дистрибутива в стабильный дистрибутив. Сборка пакета в среде стабильного дистрибутива обеспечит генерацию .deb с зависимостями от доступных в дистрибутиве версий пакетов.

Для этого запись deb-src в вашем файле /etc/apt/sources.list должна указывать на нестабильный комплект. Она должна быть разрешена (раскомментирована). Смотрите Файл /etc/apt/sources.list, раздел 3.1.

Aptitude, программа управление пакетами Debian, в основном, нацелена на управление бинарными пакетами. Для управления пакетами исходников вам нужно использовать apt-get. Для загрузки пакета исходников необходимо выполнить следующую команду:

     $ apt-get source имя_пакета

По команде скачаются три файла: .orig.tar.gz, .dsc и .diff.gz. В случае исконных пакетов Debian, последний из файлов не загружается, а первый файл, обычно, не имеет вставки "orig" в своём имени.

Файл .dsc используется командой dpkg-source для распаковки пакета исходников в каталог имя_пакета-версия. Внутри каждого загруженного пакета исходников есть каталог debian/, который содержит файлы, необходимые для создания пакета .deb.

Для автоматического построения пакета сразу после загрузки просто укажите параметр -b в командной строке, примерно так:

     $ apt-get -b source имя_пакета

Если вы решили не создавать .deb сразу после загрузки, то можете создать его позже, запустив следующую команду из каталога, созданного для пакета после загрузки:

     $ dpkg-buildpackage -rfakeroot -uc -b

Заметим, что для сборки большинства пакетов вам необходимы, по крайней мере, следующие пакеты: devscripts, dpkg-dev, debhelper, fakeroot — прочитайте Установка и переустановка пакетов, раздел 4.4 и установите их прежде, чем продолжить. Многие пакеты также зависят от средств компиляции, так что может оказаться полезным сначала установить пакет build-essential. Возможно, понадобятся ещё какие-нибудь пакеты — более подробно об этом в Пакеты, необходимые для компиляции пакета исходников, раздел 5.2.

Для установки пакета, собранного с помощью команд, приведённых выше, вы должны использовать непосредственно менеджер пакетов. Смотрите Установка пакетов debian, загруженных вручную или созданных локально, раздел 4.5. Пакет devscripts предоставляет полезную утилиту: debi. Если вы запустите debi находясь в каталоге с исходным текстом пакета, то эта программа обратится к файлу .changes, находящемуся в каталоге уровнем выше, чтобы найти уже собранные бинарные пакеты и запустит dpkg для их установки. Хотя это не очень полезно, если из пакета исходников получились конфликтующие пакеты, что чаще всего и случается. Естественно, для установки у вас должны быть права суперпользователя.

Есть разница между методом source команды apt-get и её другими методами. Метод source может быть использован обычными пользователями не имеющими прав суперпользователя. Файлы скачиваются в каталог, из которого была запущена команда apt-get source имя_пакета.


5.2 Пакеты, необходимые для компиляции пакета исходников

Обычно, для сборки пакета нужны некоторые заголовочные файлы и совместно-используемые библиотеки. Все пакеты исходников имеют в своих управляющих файлах поле 'Build-Depends:', указывающее дополнительные пакеты, необходимые для сборки пакета из исходных текстов. Также необходимы некоторые базовые пакеты, для продолжения предварительно ознакомьтесь с Загрузка пакетов исходников, раздел 5.1.

APT имеет простой метод установки этих пакетов. Просто запустите apt-get build-dep пакет, где `пакет' — это имя пакета, который вы собираетесь собрать. Например:

     # apt-get build-dep gmc
     Чтение списков пакетов... Готово
     Построение дерева зависимостей... Готово
     НОВЫЕ пакеты, которые будут установлены:
       comerr-dev e2fslibs-dev gdk-imlib-dev imlib-progs libgnome-dev libgnorba-dev
       libgpmg1-dev 
     обновлено 0, установлено 7 новых пакетов, для удаления отмечено 0 пакетов, и 1 пакетов не обновлено.
     Необходимо скачать 1069kБ архивов.
     После распаковки объем занятого дискового пространства возрастёт на 3514kБ.
     Хотите продолжить [Д/н]?

Будут установлены пакеты, необходимые для правильной сборки пакета gmc. Важно отметить, что команда не загружает сам пакет исходников. По этой причине вам потребуется дополнительно выполнить apt-get source.

Если вы хотите просто узнать, какие пакеты необходимы для сборки данного пакета, то можно воспользоваться методом showpkg команды apt-cache (смотрите Получение информации о пакетах, Глава 6), показывающим среди прочей информации строку Build-Depends со списком необходимых пакетов.

     # apt-cache showsrc имя_пакета

5.3 Сборка отладочного пакета

Если вы хотите собрать пакет с поддержкой отладочной информации, например, чтобы сообщить об ошибке, а может и исправить её, то вы можете использовать обычные переменные окружения, поддерживаемые большинством пакетов Debian.

Всё, что необходимо для сборки пакета, содержащего программы с отладочной информацией[6] — это предварительно установить переменную DEB_BUILD_OPTIONS=nostrip. Оптимизация также может усложнить отладку, её можно запретить, добавив noopt к переменной DEB_BUILD_OPTIONS. Пример:

     $ DEB_BUILD_OPTIONS="nostrip noopt" dpkg-buildpackage -rfakeroot -uc -b

5.4 Изменение параметров сборки пакета

Если вы хотите изменить процесс сборки пакета, то вам необходимо отредактировать файл debian/rules. Внутри основного каталога, созданного при распаковке пакета исходников, находится каталог debian, содержащий множество файлов. Один из них особый: файл rules.

Это обычный Makefile, содержащий цели для настройки, сборки, установки и создания пакета. Например, если нужно, чтобы пакет luola[7] был собран без поддержки звука, то после загрузки и распаковки исходников, необходимо поправить файл debian/rules следующим образом:

     [...]
     configure: configure-stamp
     configure-stamp:
     	dh_testdir
     	# Add here commands to configure the package.
     	./configure $(confflags) \
     		--prefix=/usr \
     		--mandir=share/man \
     		--infodir=share/info \
     		--datadir=share/games \
     		--bindir=games \
     		--enable-sound
     #		 --enable-sdl-gfx	
     
     	touch configure-stamp
     [...]

Нашли опцию --enable-sound? Если её удалить или заменить на --disable-sound и затем пересобрать пакет используя методику, описанную в Загрузка пакетов исходников, раздел 5.1, то мы получим пакет luola без поддержки звука.

Если же вы хотите постоянно работать с пакетами исходников, то рекомендуем вам прочесть руководство нового сопровождающего Debian и политику Debian. Также полезным будет чтение документации, доступной в уголке разработчиков Debian.


5.5 Создание пакетов зависимостей

Иногда, люди хотят использовать определённую версию программы, доступную только в исходных текстах, без пакета Debian. При этом могут возникнуть сложности с системой пакетов. Предположим, вы хотите скомпилировать новую версию вашего почтового сервера. Всё было бы отлично, но многие пакеты в Debian зависят от MTA (Mail Transport Agent). Так как вы устанавливаете нечто, собранное вами вручную, то система пакетов об этом не будет знать.

Тут на сцену выходит equivs. Чтобы его использовать, установите одноимённый пакет. Equivs создаёт пустой пакет, наполненный зависимостями, уведомляя, таким образом, систему пакетов, что все зависимости удовлетворены.

Прежде чем мы начнём, хорошо бы напомнить вам, что есть более безопасные способы компиляции программ, для которых уже есть пакеты Debian с различными параметрами, и что в этом случае лучше не использовать equivs для замены зависимостей, если вы не уверены в том, что всё делаете правильно. Подробней смотрите в Загрузка пакетов исходников, раздел 5.1.

Давайте вернёмся к примеру с MTA, вы только что установили свежесобранный postfix и переходите к установке mutt. Сразу же вы обнаруживаете, что mutt нужен установленный MTA. Но ведь у вас уже свой.

Зайдите в какой-нибудь каталог (/tmp, например) и запустите:

     # equivs-control имя

Замените имя на имя управляющего файла, который вы хотите создать. Будет создан следующий файл:

     Section: misc
     Priority: optional
     Standards-Version: 3.5.10
      
     Package: <enter package name; defaults to equivs-dummy>
     Version: <enter version here; defaults to 1.0>
     Maintainer: Your Name <yourname@foo.com>
     Pre-Depends: <packages>
     Depends: <packages>
     Recommends: <packages>
     Suggests: <package>
     Provides: <(virtual)package>
     Architecture: all
     Copyright: <copyright file; defaults to GPL2>
     Changelog: <changelog file; defaults to a generic changelog>
     Readme: <README.Debian file; defaults to a generic one>
     Extra-Files: <additional files for the doc directory, commaseperated>
     Description: <short description; defaults to some wise words>
      long description and info
      .
      second paragraph

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

     Section: misc
     Priority: optional
     Standards-Version: 3.0.1
     
     Package: mta-local
     Conflicts: mail-transport-agent
     Replaces: mail-transport-agent
     Provides: mail-transport-agent

Вот и всё. Пакет mutt зависит от mail-transport-agent, это виртуальный пакет, обеспечиваемый всеми MTA. Теперь mta-local регистрируется как mail-transport-agent, используя поле Provides.

Поля Conflicts и Replaces также необходимы, так как APT и dpkg должны понять, что нужно удалить имеющийся в системе пакет MTA, так как он будет заменён на новый, установленный вами.

Сейчас вам нужно собрать пакет:

     # equivs-build name
     dh_testdir
     touch build-stamp
     dh_testdir
     dh_testroot
     dh_clean -k
     # Add here commands to install the package into debian/tmp.
     touch install-stamp
     dh_testdir
     dh_testroot
     dh_installdocs
     dh_installchangelogs
     dh_compress
     dh_fixperms
     dh_installdeb
     dh_gencontrol
     dh_md5sums
     dh_builddeb
     dpkg-deb: building package `name' in `../name_1.0_all.deb'.
     
     The package has been created.
     Attention, the package has been created in the current directory,

Установите полученный .deb файл. Смотрите Установка пакетов debian, загруженных вручную или созданных локально, раздел 4.5.

Очевидно, существуют различные применения для equivs. Одно из них, например, создание пакета my-favorites, зависящего от программ, которые вы обычно устанавливаете. Просто включите своё воображение, но будьте осторожны.

Важно заметить, что примеры управляющих файлов есть в каталоге /usr/share/doc/equivs/examples. Посмотрите их.


[ назад ] [ Содержание ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ вперед ]


APT HOWTO
Глава 6 - Получение информации о пакетах


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

Но... наша цель состоит в изучении использования самого APT. Так как же найти имя пакета, который вам надо установить?

В этой главе мы попытаемся ответить на этот вопрос.


6.1 Нахождение имён пакетов

Например, допустим, что вы хотите вспомнить старые добрые денёчки Atari 2600. Вы хотите использовать APT для установки эмулятора Atari и загрузки некоторых игр. Можете сделать так:

     $ aptitude search atari
     p   atari-fdisk-cross               - Partition editor for Atari (running on no
     p   atari800                        - Atari emulator for X/curses/SDL
     p   console-keymaps-atari           - Keymaps for Atari keyboards.

В результате поиска отображены несколько пакетов с их кратким описанием. Буква p в начале строки, как и в curses-интерфейсе для aptitude, означает, что пакет не установлен. Важно заметить, что по умолчанию aptitude ищет только среди имён пакетов, но вы можете использовать для поиска весь набор возможностей, предлагаемых aptitude. Узнать эти возможности можно, прочитав руководство пользователя aptitude. Для поиска, например, в описаниях пакетов можно использовать следующее:

     $ aptitude search ~datari 
     p   aranym                          - Atari Running on Any Machine
     p   atari-fdisk-cross               - Partition editor for Atari (running on no
     p   atari800                        - Atari emulator for X/curses/SDL
     p   circuslinux                     - The clowns are trying to pop balloons to
     p   circuslinux-data                - Data files for circuslinux
     p   console-keymaps-atari           - Keymaps for Atari keyboards.
     [...]
     p   stella                          - Atari 2600 Emulator for SDL & X windows
     [...]

Сейчас, как вы видите, было обнаружено больше пакетов. Таким образом у нас появилось несколько решений нашей проблемы, давайте поглубже их изучим:

     $ aptitude show stella
     Пакет: atari-fdisk-cross
     Версия: 0.7.1-5
     Приоритет: дополнительный
     Раздел: otherosfs
     Сопровождающий: Roman Hodek <roman@hodek.net$gt;
     Размер в распакованном виде: 106k
     Описание: Partition editor for Atari (running on non-Atari)
      Atari-fdisk allows you to create and edit the partition table of a disk
      partitioned in Atari format. It supports both the AHDI 5.0 and ICD variations
      of the Atari format. It is an interactive tool with a menu similar to PC
      fdisk, and also supports most options of PC fdisk.

В этом выводе вы получили множество сведений о пакете, который вы хотите (или не хотите) установить, вместе с полным описанием пакета. Для получения подобной информации вы также можете использовать программу apt-cache. Если вы выберете этот инструмент, то станет возможным просмотр множества доступных версий пакета, например:

     $ apt-cache show muine
     Package: muine
     Version: 0.5.0-1
     Priority: optional
     Section: gnome
     Maintainer: Link Dupont <link@subpop.net>
     Depends: gstreamer-gconf (>= 0.6.4), libatk1.0-0 (>= 1.4.1), libbonobo2-0 (>= 2.4.3), libc6 (>= 2.3.2.ds1-4), libflac4, libgconf2-4 (>= 2.4.0.1), libgdbm3, libglib2.0-0 (>= 2.2.3), libgnomevfs2-0 (>= 2.4.1), libgnomevfs2-common (>= 2.4.1), libgstreamer0.6-0 (>= 0.6.1-2), libgtk2.0-0 (>= 2.2.1), libid3tag0 (>= 0.15.0b), libogg0 (>= 1.1.0), liborbit2 (>= 1:2.8.0), libpango1.0-0 (>= 1.2.1), libvorbis0a (>= 1.0.1), libvorbisfile3 (>= 1.0.1), libxml2 (>= 2.6.7), zlib1g (>= 1:1.2.1), gconf2 (>= 2.4.0), mono-jit (>= 0.30) | cli-virtual-machine, gtk-sharp (>= 0.17), gconf-sharp (>= 0.17), gnome-sharp (>= 0.17)
     Architecture: i386
     Filename: ./pool/main/m/muine/muine_0.5.0-1_i386.deb
     Size: 164314
     Installed-Size: 692
     MD5sum: 9885f13e5ef4f76b3bf6fe7bb3ea8634
     Description: Simple music player
      Muine is an innovative music player. It has a simple interface designed to
      allow the user to easily construct playlists from albums and/or single songs.
      Its goal is to be simply a music player, not to become a robust music
      management application.
      
     Package: muine
     Priority: optional
     Section: gnome
     Installed-Size: 492
     Maintainer: Link Dupont <link@subpop.net>
     Architecture: i386
     Version: 0.4.0-8
     Depends: gstreamer-gconf (>= 0.6.4), libatk1.0-0 (>= 1.4.1), libbonobo2-0 (>= 2.4.3), libc6 (>= 2.3.2.ds1-4), libflac4, libgconf2-4 (>= 2.4.0.1), libgdbm3, libglib2.0-0 (>= 2.2.3), libgnomevfs2-0 (>= 2.4.1), libgnomevfs2-common (>= 2.4.1), libgstreamer0.6-0 (>= 0.6.1-2), libgtk2.0-0 (>= 2.2.1), libid3tag0 (>= 0.15.0b), libogg0 (>= 1.1.0), liborbit2 (>= 1:2.8.0), libpango1.0-0 (>= 1.2.1), libvorbis0a (>= 1.0.1), libvorbisfile3 (>= 1.0.1), libxml2 (>= 2.6.6), zlib1g (>= 1:1.2.1), gconf2 (>= 2.4.0), mono-jit (>= 0.30) | cli-virtual-machine, gtk-sharp (>= 0.16), gconf-sharp (>= 0.16), gnome-sharp (>= 0.16)
     Filename: pool/main/m/muine/muine_0.4.0-8_i386.deb
     Size: 139864
     MD5sum: e746709ad6a6fcc1e9c46b46b3d6e5b2
     Description: Simple music player
      Muine is an innovative music player. It has a simple interface designed to
      allow the user to easily construct playlists from albums and/or single songs.
      Its goal is to be simply a music player, not to become a robust music
      management application.

Больше информации о пакете вы можете узнать, используя следующее:

     # apt-cache showpkg penguin-command
     Package: penguin-command
     Versions: 
     1.4.5-1(/var/lib/apt/lists/download.sourceforge.net_debian_dists_unstable_main_binary-i386_Packages)(/var/lib/dpkg/status)
     
     Reverse Depends: 
     Dependencies: 
     1.4.5-1 - libc6 (2 2.2.1-2) libpng2 (0 (null)) libsdl-mixer1.1 (2 1.1.0) libsdl1.1 (0 (null)) zlib1g (2 1:1.1.3) 
     Provides: 
     1.4.5-1 - 
     Reverse Provides:

А чтобы посмотреть только его зависимости:

     # apt-cache depends penguin-command
     penguin-command
       Depends: libc6
       Depends: libpng2
       Depends: libsdl-mixer1.1
       Depends: libsdl1.1
       Depends: zlib1g

В общем, мы имеем полный арсенал для поиска имён нужных нам пакетов.


6.2 Использование dpkg для поиска имён пакетов

Один из способов определить имя пакета — знать имя какого-либо важного файла, находящегося в этом пакете. Например, чтобы найти пакет, которому принадлежит некий файл ".h", нужный вам для компиляции, можно выполнить:

     $ dpkg -S stdio.h
     libc6-dev: /usr/include/stdio.h
     libc6-dev: /usr/include/bits/stdio.h
     perl: /usr/lib/perl/5.6.0/CORE/nostdio.h

или:

     $ dpkg -S /usr/include/stdio.h
     libc6-dev: /usr/include/stdio.h

Заметим, что этот способ работает только при поиске имени уже установленного в системе пакета. Вам необходимо использовать auto-apt (смотрите Установка пакетов "по запросу", раздел 7.1) или apt-file (смотрите Определение принадлежности файла пакету, раздел 6.3) для поиска по файлам ещё неустановленных пакетов. Также можно заглянуть на веб-сайт http://packages.debian.org/. Чтобы отобразить список имён пакетов, установленных на вашей системе, что полезно, например, если вы хотите "почистить" свой жёсткий диск, можно запустить:

     $ dpkg -l | grep mozilla
     ii  mozilla-browse 0.9.6-7        Mozilla Web Browser

Проблема этой команды в том, что она может показать обрезанное имя пакета. В примере выше, полное имя пакета — mozilla-browser. Чтобы это исправить, вы можете изменить значение переменной окружения COLUMNS:

     $ COLUMNS=132 dpkg -l | grep mozilla
     ii  mozilla-browser             0.9.6-7                     Mozilla Web Browser - core and browser

6.3 Определение принадлежности файла пакету

Если вы хотите установить пакет и не можете найти его название с помощью apt-cache, но знаете имя программы в этом пакете или название любого другого файла в пакете, то для поиска имени пакета можно воспользоваться программой apt-file. Пример:

     $ apt-file search имя_файла

Работает это примерно также как и dpkg -S, но будут показаны также и неустановленные пакеты, которые содержат указанный файл. Команда может применяться также для поиска заголовочных файлов, которые могут потребоваться при компиляции программ, хотя auto-apt в данном случае более хорош, смотрите Установка пакетов "по запросу", раздел 7.1.

Также вы можете посмотреть список файлов в пакете командой:

     $ apt-file list имя_пакета

Программа apt-file хранит базу данных, в которой отслеживается какие файлы содержат пакеты, также, как это делает auto-apt и эту базу нужно обновлять. Это делается так:

     # apt-file update

По умолчанию, apt-file использует базу данных auto-apt, смотрите Установка пакетов "по запросу", раздел 7.1.


6.4 Информация о пакетах в Сети

Существует много сетевых ресурсов, содержащих информацию о пакетах, имеющихся в дистрибутиве Debian, правда, большинство из них предназначены для разработчиков Debian, но многие могут быть полезны и обычным пользователям.

Страницы пакетов Debian позволяют производить поиск пакетов, доступных на различных поддерживаемых Debian архитектурах, а также искать по содержимому всех пакетов Debian. На страницах пакетов представлена информация о зависимостях и других связях между пакетами. Также есть ссылки для загрузки пакетов исходников и бинарных пакетов для всех архитектур. Для быстрого перехода к пакету можно использовать сокращенную ссылку вида http://packages.debian.org/имя_пакета.

Система отслеживания пакетов предоставляет информацию о том, что недавно произошло с пакетом, TODO-информацию, с точки зрения сопровождающих Debian, краткую информацию о сообщённых ошибках, а также некоторую другую очень нужную информацию. Одна из полезнейших возможностей системы отслеживания пакетов — это возможность "подписаться на пакет" для отслеживания всех сообщений о пакете по электронной почте, обычно получает только сопровождающий. Это позволит вам следить за разработкой пакетов, критичных для вашей работы или досуга. Здесь также имеется сокращённая ссылка http://packages.qa.debian.org/имя_пакета.

В заключение, Система отслеживания ошибок (BTS) предоставляет информацию об известных ошибках в пакетах, поставляемых Debian. Она полезна при поиске когда что-то не работает так как должно и, возможно, подскажет решение проблемы или способ обойти ошибку. Также, читая страницы системы отслеживания ошибок и документацию, можно будет составить для Debian подробные отчёты об ошибках. Кроме коротких ссылок http://bugs.debian.org/имя_пакета, в BTS также работают другие очень полезные ссылки http://bugs.debian.org/src:имя_пакета, отображающие все сообщения об ошибках в бинарных пакета, созданных из пакета исходников.


[ назад ] [ Содержание ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ вперед ]


APT HOWTO
Глава 7 - Технические приёмы и хитрости


7.1 Установка пакетов "по запросу"

Вы собираете программу, и вдруг, остановка! Произошла ошибка из-за того, что нет какого-то нужного файла .h. От такого поворота событий вас может спасти программа auto-apt, доступная в одноимённом пакете. Это программа спросит вас об установке пакетов, когда они понадобятся, при этом останавливается соответствующий процесс и затем продолжается уже после установки пакета.

Для этого запускайте команду так:

     # auto-apt run команда

Где команда - это команда, при выполнении которой может обнаружиться отсутствие некоего файла. Например:

     # auto-apt run ./configure

Она запросит установку необходимых пакетов и вызовет apt-get автоматически. Если вы работаете в X, то графический интерфейс заменит текстовый интерфейс по умолчанию.

Auto-apt использует базы данных, которые нужно обновлять, чтобы достичь большей эффективности. Для обновления используются команды: auto-apt update, auto-apt updatedb и auto-apt update-local.


7.2 Кэширование пакетов

Если у вас есть несколько компьютеров в сети, то может оказаться полезной система кэширования пакетов; таким образом вам не понадобится загружать пакеты для каждого компьютера. Это руководство описывает работу с пакетом apt-proxy, выполняющим представленную задачу. Хотя имеются и другие решения, например, apt-cacher. Вы можете перепробовать все имеющиеся средства, чтобы выбрать то, которое лучше подойдёт для вас.

Для начала, установите пакет apt-proxy. Программа зарегистрирует себя в службе inetd для прослушивания запросов по порту 9999; возможно, вам потребуется перезапустить inetd.

Далее вы можете отредактировать файл /etc/apt-proxy/apt-proxy.conf. В нём задаются серверы, с которых apt-proxy будет загружать списки пакетов и сами пакеты. В качестве протоколов передачи можно использовать http, ftp и rsync. Файл настроек по умолчанию имеет следующий вид:

     add_backend /debian/                                    \
             $APT_PROXY_CACHE/debian/                        \
             http://ftp.us.debian.org/debian/                \
             http://ftp.de.debian.org/debian/                \
             http://ftp.uk.debian.org/debian/                \
             +ftp.us.debian.org::debian/

Это означает, что когда клиент пытается что-то получить из /debian/, apt-proxy будет использовать сначала собственный кэш, затем перечисленные http-серверы зеркал Debian и в конце rsync-сервер, который более предпочтителен для загрузки списков пакетов (знак "+" показывает предпочтительность загрузки управляющих файлов).

Как же клиент сможет воспользоваться этим буфером? Просто добавьте следующую строку в файл /etc/apt/sources.list на стороне клиента (включая и систему, на которой установлен apt-proxy):

     deb http://сервер:9999/debian/ stable main

Указанная строка выглядит как обычная. Отличие лишь в том, что вы используете сервер apt-proxy там, где обычно указываются http или ftp зеркала, а также используется значение порта (9999) и выбирается буфер (/debian/). После завершения настройки можно обновить список пакетов на одной из машин и обновить её, то есть пакеты будут загружаться один раз. После обновления первой машины можно обновлять оставшиеся.

Вы можете использовать команду apt-proxy-import для импорта пакетов, находящихся в текущем кэше APT (/var/cache/apt/archives/), запустив apt-proxy-import /var/cache/apt/archives. Заметим, что перед использованием apt-proxy-import вы должны запустить процесс обновления на каком-либо клиенте для инициализации кэша apt-proxy.

Вы можете узнать гораздо больше о apt-proxy, прочитав комментарии в файле /etc/apt-proxy/apt-proxy.conf. Например, в конце файла вы сможете найти примеры настройки проксирования http и ftp для использования совместно с apt-proxy.


7.3 Определение наилучшего зеркала для включения в файл source.list: netselect, netselect-apt

Наиболее часто возникающий вопрос, в основном у новичков: "какое зеркало Debian включать в sources.list?". Для выбора зеркала есть множество способов. Эксперты вероятно пользуются сценариями, которые измеряют продолжительность ping`ов до некоторых зеркал. Но такая программа для вас уже имеется: netselect.

Чтобы установить netselect, сделайте как обычно:

     # aptitude install netselect

При запуске программы без параметров отображается справка. При запуске с указанными в качестве параметров, разделённых пробелами, именами компьютеров (зеркал), она выдаст оценку и имя одного из компьютеров. Эта оценка учитывает вычисленную продолжительность ping'а и количество переходов (компьютеров, которые должны быть пройдены до того, как пакеты дойдут до цели) и обратно пропорциональна вычисленной скорости загрузки (то есть, чем меньше, тем лучше). Программа указывает имя компьютера, который имеет наименьшую оценку (полный список оценок можно просмотреть добавив параметр -vv). Пример:

     # netselect ftp.debian.org http.us.debian.org ftp.at.debian.org download.unesp.br ftp.debian.org.br
       365 ftp.debian.org.br
     #

Это означает, что из указанных в качестве параметров зеркал, наилучшим является ftp.debian.org.br с оценкой 365. (Внимание!! Приведённые значения действительны только для машины автора текста, и для других машин всё может быть совсем по-другому).

Сейчас, просто поместите найденное netselect зеркало в файл /etc/apt/sources.list (смотрите Файл /etc/apt/sources.list, раздел 3.1) и следуйте советам Управление пакетами, Глава 4.

Примечание: список зеркал можно всегда найти в файле http://www.debian.org/mirror/mirrors_full.

Начиная с версии 0.3, пакет netselect включает сценарий netselect-apt, который делает вышеописанные процедуры автоматически. Просто введите в качества параметра ветку дерева дистрибутива (по умолчанию это stable) и файл sources.list будет настроен на наилучшее зеркало main и будет сохранён в текущем каталоге. Следующий пример генерирует sources.list стабильного дистрибутива:

     # ls sources.list
     ls: sources.list: File or directory not found
     # netselect-apt stable
     (...)
     # ls -l sources.list
     sources.list
     #

Помните: Файл sources.list генерируется в текущем каталоге, и должен быть перемещён в каталог /etc/apt.


7.4 Удаление неиспользуемых файлов локали: localepurge

Многие пользователи Debian используют только одну локаль (locale). Бразильские пользователи Debian, например, обычно используют локаль pt_BR и не интересуются локалью es.

localepurge — это очень полезный инструмент для таких пользователей. Вы можете освободить много места, если оставите только те локали, которые вы действительно используете. Просто дайте команду apt-get install localepurge.

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


7.5 Получение информации об изменениях в пакете

Каждый пакет устанавливает в свой каталог документации (/usr/share/doc/имя_пакета) файл, называемый changelog.Debian.gz, который содержит список изменений, сделанных в пакете в последней версии. Вы можете прочесть эти файлы, например, утилитой zless, но в общем-то не слишком удобно после полного обновления системы искать changelog-и каждого обновлённого пакета.

Можно автоматизировать эту задачу с помощью инструмента apt-listchanges. Для начала надо установить пакет apt-listchanges. Во время установки, Debconf настроит его. Отвечайте на вопросы так, как вам будет удобнее.

Настройка "Should apt-listchanges be automatically run by apt?" очень полезна, так как показывает список изменений, сделанных в каждом установленном при обновлении пакета, и позволяет вам проанализировать ситуацию перед тем, как продолжить. Настройка "Should apt-listchanges prompt for confirmation after displaying changes?" запрашивает у вас разрешения продолжать после чтения списка изменений. Если вы скажете, что не хотите продолжать, то apt-listchanges вернёт ошибку и apt прервёт установку.

После установки apt-listchanges, как только пакеты будут загружены (или получены с CD или смонтированного диска) с помощью apt, перед установкой будут показаны списки изменений, сделанные в пакетах.


[ назад ] [ Содержание ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ вперед ]


APT HOWTO
Глава 8 - Создание репозитория


Для создания репозитория необходимо иметь пакеты (исходников и/или бинарные), из которых будут созданы файлы Packages.gz и Sources.gz. В некоторых случаях у вас могут быть только бинарные пакеты — будьте внимательны, не нарушайте лицензии. Для программного обеспечения под лицензией GPL, например, вместе с бинарными пакетами требуется распространять их исходные тексты.

Для этого вам нужно воспользоваться программой apt-ftparchive, которая устанавливается из пакета apt-utils. Сначала соберите все свои пакеты в один каталог. Если для этого использовать, например, ~/public_html/debian, то мы уже можем распространять репозиторий через http-сервер!

Заходим в этот каталог и выполняем следующее:

     $ apt-ftparchive sources . > Sources
     $ apt-ftparchive packages . > Packages
     $ gzip -c Packages > Packages.gz
     $ gzip -c Sources > Sources.gz

Первые две команды сканируют указанный каталог (., в нашем случае) и его подкаталоги и сохраняют список найденных пакетов в стандартный вывод, который мы перенаправляем в файлы Sources и Packages.

Если для доступа к репозиторию используется только метод file, то первых двух строк достаточно. Если будет использован метод, предусматривающий удалённый доступ, типа ftp или http, то вам потребуются сжатые версии, так как именно их ищет APT при обновлении списка пакетов.

Вот строки, которые нужно добавить в файл /etc/apt/sources.list, чтобы APT узнал о вашем репозитории:

     # Эта строка сработает только при наличии локального
     # доступа к файловой системе
     deb file:/home/пользователь/public_html/debian/ ./
     
     # Эта строка пригодится пользователям, которые имеют доступ
     # к машине по сети и если у вас правильно настроен http-сервер
     deb http://host/~user/debian/ ./

Это основная идея. Вместо того, чтобы вызывать apt-ftparchive из каталога с пакетами, можно просто указывать полный путь, где располагаются пакеты, добавив ./ в конец пути. Ещё можно делать по-другому: вызывать apt-ftparchive с разными относительными путями вместо одного каталога с пакетами. Также вы можете разделить группы пакетов на секции, как это сделано в Debian. Подробней об этом можно прочитать на странице руководства apt-ftparchive(1) и попробовать разные комбинации.


[ назад ] [ Содержание ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ вперед ]


APT HOWTO
Глава 9 - Другие пользовательские интерфейсы для управления пакетами


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

Но существуют и другие пользовательские интерфейсы, например, графические Synaptic или GNOME-APT. Их мы и рассмотрим в этой главе.


9.1 Synaptic

Первоначально Synaptic был написан Альфредо Кожима (Alfredo Kojima) для Conectiva. Сейчас же он сопровождается людьми как из Conectiva, так и из Debian. В начале он был написан на wing, графической библиотеке Window Maker, но затем был переписан на Gtk+.

Чтобы использовать Synaptic нужно установить пакет synaptic.

Возможно, из всех графических пользовательских интерфейсов для APT Synaptic наиболее пригоден для использования, потому что у конечного пользователя с ним будет меньше всего проблем.


9.2 GNOME-APT

Изначально, GNOME-APT был написан Хавоком Пенингтоном (Havoc Pennington) и Диего Лагесом (Diego Lages) для системы Debian. Какое-то время он не сопровождался, но люди сохранили его для Woody. В Sarge пакет приобрёл нового сопровождающего, который продвигает его вперед. В отличие от Synaptic, GNOME-APT предназначен для людей, предпочитающих великолепный гибкий интерфейс Gtk+ в ущерб понятности.

Чтобы использовать GNOME-APT нужно установить пакет gnome-apt.


[ назад ] [ Содержание ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ вперед ]


APT HOWTO
Глава 10 - Что делать при возникновении ошибок


10.1 Распространённые ошибки

Ошибки будут всегда; многие происходят из-за невнимательности пользователей. Далее будут рассмотрены несколько распространённых ошибок и методы их устранения.

Если при выполнении команды apt-get install имя_пакета вы видите примерно такое сообщение:

     Чтение списков пакетов... Готово
     Построение дерева зависимостей... Готово
     W: Не удалось получить атрибуты списка пакетов 'http://people.debian.org unstable/ Packages' (/var/state/apt/lists/people.debian.org_%7ekov_debian_unstable_Packages) - stat (2 No such file or directory)
     W: Вы можете запустить 'apt-get update' для исправления этих ошибок
     E: Не могу найти пакет penguineyes

то забыли запустить apt-get update после изменения файла /etc/apt/sources.list.

Если вы видите ошибку:

     E: Не могу открыть файл блокировки /var/lib/dpkg/lock - open (13 Permission denied)
     E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

то скорее всего пытаетесь воспользоваться любым другим методом apt-get, кроме source, не имея прав суперпользователя, то есть с правами обычного пользователя.

Похожие ошибки могут возникать при запуске двух копий программы apt-get одновременно, или даже если вы пытаетесь запустить apt-get одновременно с dpkg. Одновременно с другими можно запускать только метод source.

Если установка прервалась на середине процесса, и вы больше не можете ни установить, ни удалить пакеты, то попробуйте выполнить эти две команды:

     # apt-get -f install
     # dpkg --configure -a

И затем запустите установку ещё раз. Может потребоваться запустить вторую из вышеуказанных команд более одного раза. Это важный урок для любителей приключений, использующих `unstable' (нестабильный комплект).

Если вы получили сообщение об ошибке "E: Dynamic MMap ram out of room" при запуске apt-get update, то добавьте следующую строку в файл /etc/apt/apt.conf:

     APT::Cache-Limit 10000000;

10.2 Где искать помощь?

Если вы в тупике, обратитесь к обширной документации по системе пакетов Debian. Вам могут помочь ключ --help и страницы руководств, а также документация в подкаталогах /usr/share/doc, например, в /usr/share/doc/apt.

Если чтение документации не помогло, попробуйте поискать ответ в списках почтовой рассылки Debian. Вы можете найти более подробную информацию о подходящих пользовательских списках рассылки на веб-сайте Debian: http://www.debian.org.

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


[ назад ] [ Содержание ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ вперед ]


APT HOWTO
Глава 11 - Какие дистрибутивы поддерживают APT?


Вот названия некоторых дистрибутивов, которые используют APT:

Debian GNU/Linux (http://www.debian.org/) — дистрибутив, в котором был разработан APT

Mandriva Conectiva (http://www.conectiva.com.br) — первый дистрибутив, который портировал APT для использования с rpm

Libranet (http://www.libranet.com)

Mandriva (http://www.mandriva.com/)

PLD (http://pld.org.pl)

Vine (http://www.vinelinux.org)

APT4RPM (http://apt4rpm.sf.net)

Alt Linux (http://www.altlinux.ru/)

Red Hat (http://www.redhat.com/)

Sun Solaris (http://www.sun.com/)

SuSE (http://www.suse.de/)

Sun Solaris (http://www.sun.com/)

Yellow Dog Linux (http://www.yellowdoglinux.com/)


[ назад ] [ Содержание ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ вперед ]


APT HOWTO
Глава 12 - Благодарности


Большое спасибо моим большим друзьям в проекте Debian-BR и в самом Debian, которые постоянно помогают мне и всегда придают сил для труда на благо человечества, а также помогают мне в стремлении спасти мир. :)

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

И особые благодарности:

Юсьёнг Янг (Yooseong Yang) <yooseong@debian.org>

Майкл Брамер (Michael Bramer) <grisu@debian.org>

Брайн Стилвел (Bryan Stillwell) <bryan@bokeoa.com>

Павел Тенча (Pawel Tecza) <pawel.tecza@poczta.fm>

Ньюго Мора (Hugo Mora) <h.mora@melix.com.mx>

Лука Мондуччи (Luca Monducci) <luca.mo@tiscali.it>

Томохиро Кубота (Tomohiro KUBOTA) <kubota@debian.org>

Пабло Лорензони (Pablo Lorenzzoni) <spectra@debian.org>

Стив Лангасик (Steve Langasek) <vorlon@netexpress.net>

Арнальдо Карвалло ди Мело (Arnaldo Carvalho de Melo) <acme@conectiva.com.br>

Эрик Россен (Erik Rossen) <rossen@freesurf.ch>

Росс Бойлан (Ross Boylan) <RossBoylan@stanfordalumni.org>

Мэт Край (Matt Kraai) <kraai@debian.org>

Аарон М. Уко (Aaron M. Ucko) <ucko@debian.org>

Джон Аслунд (Jon Åslund) <d98-jas@nada.kth.se>

Исаак Джонс (Isaac Jones) <ijones@syntaxpolice.org>


[ назад ] [ Содержание ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ вперед ]


APT HOWTO
Глава 13 - Новые версии этого руководства


Это руководство было создано проектом Debian Brasil с целью ежедневной помощи проекту Debian.

Новые версии этого документа будут доступны на странице проекта документации Debian по адресу http://www.debian.org/doc/ddp.

Комментарии и критику можно отправлять прямо мне на электронную почту kov@debian.org или в Debian BTS как сообщение об ошибке в пакете apt-howto.


APT HOWTO
Сноски

1

MTA (Mail Transport Agent) — обычно это сервер для отправки и приёма почты

2

регулярные выражения — специальные строки для поиска по условиям, составленные по некоторым правилам, смотрите страницу руководства regex (7)

3

пакет, конфликтующий с каким-то другим либо с какой-то определённой версией пакета, не может быть установлен одновременно с этим пакетом или этой версией пакета

4

клавиша подчёркивания, обычно располагается вместе с тире, для её нажатия, удерживая shift, нажмите тире.

5

например, Debian 3.0 назывался woody, Debian 3.1 — sarge

6

обычно, Debian удаляет отладочную информацию из программ и библиотек.

7

миленькая леталка без поддержки игры по сети. Кто-нибудь возьмётся доделать? =)


[ назад ] [ Содержание ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ вперед ]


APT HOWTO

версия 2.0.2, октябрь 2006 года

Густаво Норонья Сильва (Gustavo Noronha Silva) kov@debian.org