Как часть своей работы, APT использует файл, который содержит список 'источников', из которых могут быть скачаны пакеты. Это файл /etc/apt/sources.list.
Обычно этот файл имеет следующий формат:
deb http://site.http.org/debian distribution раздел1 раздел2 раздел3
deb-src http://site.http.org/debian distribution раздел1 раздел2 раздел3
Конечно, вышеприведенные записи являются просто примером и не должны использоваться. Первое слово в каждой строке, либо deb, либо deb-src, указывает тип архива: либо это двоичные (binary) пакеты (deb), которые являются пред-компилированными пакетами, которые готовы к использованию, либо пакеты с исходными текстами (deb-src), которые являются первоначальными исходными текстами программ с управляющим файлом Debian (.dsc) и файлом diff.gz, содержащим изменения, необходимые для `дебианизации' программы.
Обычно в sources.list помещается следующее:
# See sources.list(5) for more information, especialy
# Remember that you can only use http, ftp or file URIs
# CDROMs are managed through the apt-cdrom tool.
deb http://http.us.debian.org/debian stable main contrib non-free
deb http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free
deb http://security.debian.org stable/updates main contrib non-free
# Uncomment if you want the apt-get source function to work
#deb-src http://http.us.debian.org/debian stable main contrib non-free
#deb-src http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free
Эти строки необходимы для базовой установки Debian. Первая строка deb указывает на официальный архив, вторая - на не-США архив и третья - на архив обновлений безопасности Debian.
Две последние строки закомментированы (начинаются с `#'), так что apt-get будет их игнорировать. Эти строки deb-src указывают на пакеты исходных текстов Debian. если вы часто скачиваете исходные тексты программ для тестированя и перекомпиляции, раскомментируйте их.
Файл /etc/apt/sources.list может содержать несколько типов строк. APT знает как обращаться с архивами типов http, ftp, file (локальные файлы, напр., каталог, содержащий смонтированную файловую систему ISO9660) и ssh, насколько я знаю.
Иногда, вы можете располагать кучей пакетов .deb, которые вам хотелось бы устанавливать с помощью APT, чтобы зависимости обрабатывались автоматически.
Чтобы это сделать, создайте каталог и поместите в него .deb`ы, которые вам
нужны. Например:
mkdir /root/debs
Вы можете изменить установки определений файла control из debian-пакета
напрямую для вашего репозитория с помощью файла override. В этом
файле вы можете определить какие-нибудь опции для перекрытия тех, которые
приходят с пакетом. Это может выглядеть так:
package priority section
package - это имя пакета, priority - имеет значения low, medium или high, а
section - это название раздела, в котором он находится. Имя файла не имеет
значения, позже вы будете указывать его в качестве аргумента для команды
dpkg-scanpackages
. Если вы не хотите составлять файл
override, тогда просто указывайте /dev/null
. при
вызове dpkg-scanpackages
.
Из каталога /root дайте команду:
dpkg-scanpackages debs file | gzip > debs/Packages.gz
In the above line, file is the override file, the
command generates a file Packages.gz
that contains various
informations about the packages, which are used by APT. To use the packages,
finally, add: В вышеприведенной команде, file - это файл
override, команда генерирует файл Packages.gz
,
который содержит различную информацию о пакетах, которые используются APT.
Чтобы использовать пакеты, наконец, добавьте:
deb file:/root debs/
После всех этих манипуляций вы можете использовать команды APT как обычно. Вы
также можете создать и репозиторий для исходных текстов. Для этого
используется та же процедура, но помните, что вам нужны файлы
.orig.tar.gz, .dsc и .diff.gz в
каталоге, и вместо Packages.gz надо использовать Sources.gz. Также нужно
использовать другую программу. Это программа dpkg-scansources
.
Командная строка выглядит примерно так:
dpkg-scansources debs | gzip > debs/Sources.gz
Обратите внимание на то, что программе dpkg-scansources
не нужен
override файл. Строка в sources.list:
deb-src file:/root debs/
Наиболее часто возникаемый вопрос, в основном у новичков: "какое зеркало Debian включать в sources.list?". Для выбора зеркала есть множество способов. Эксперты вероятно пользуются сценариями, которые измеряют продолжительность ping`ов до некоторых заркал. Но такая программа для вас уже имеется: netselect.
Чтобу установить netselect, сделайте как обычно:
apt-get install netselect
При запуске программы без параметров отображается справка. При запуске с
указанными в качестве параметров, разделенных пробелами, именами хостов
(зеркал), она выдаст оценку и один из хостов. Эта оценка учитывает ожидаемую
продолжительность пинга и количество переходов (хостов, которые должны быть
пройдены до того, как пакеты дойдут до цели) и обратна пропорциональна
ожидаемой скорости скачивания (т.е., чем она меньше, тем лучше). Программа
указывает имя хоста, который имеет наименьшую оценку (полный список оценок
можно просмотреть с помощью опции -vv ). См. пример:
bash$ netselect ftp.debian.org http.us.debian.org ftp.at.debian.org download.unesp.br ftp.debian.org.br
365 ftp.debian.org.br
bash$
Это означает, что из указанных в качестве параметров зеркал, наилучшим является ftp.debian.org.br, с оценкой 365. (Внимание!! Приведенные значения действительны только для моей машины, и для других машин все может быть совсем по-другому).
Сейчас, просто поместите найденное netselect зеркало в файл /etc/apt/sources.list (см. Файл /etc/apt/sources.list, раздел 2.1) и следуйте советам в Управление пакетами, Глава 3.
Примечание: список зеркал можно всегда найти в файле
http://www.debian.org/mirror/mirrors_full
.
Начиная с версии 0.3, пакет netselect включает сценарий
netselect-apt, который делает вышеописанные процедуры
автоматически. Просто введите в качества параметра имя дерева дистрибутива (по
умолчанию это stable) и файл sources.list будет настроен на
наилучшие зеркала main и non-US и будет сохранен в текущем каталоге. Следующий
пример генерирует sources.list стабильного дистрибутива:
bash$ ls sources.list
ls: sources.list: File or directory not found
bash$ netselect-apt stable
(...)
bash$ ls -l sources.list
sources.list
bash$
Помните: Файл sources.list генерируется в текущем каталоге, и должен быть перемещен в каталог /etc/apt.
Далее следуйте советам в Управление пакетами, Глава 3.
Если вы предпочитает использовать для автоматической установки или обновления
пакетов с помощью ваш CD-ROM, то можете поместить его в файл
sources.list. Для этого используется программа
apt-cdrom
:
apt-cdrom add
Debian CD-ROM должен находиться в приводе. Программа смонтирует CD-ROM и, если
диск является Debian CD, то найдет на нем информацию о пакетах. Если у вас
CD-ROM необычной конфигурации, то вы можете использовать следующие опции:
-h - справка к программе
-d directory - точка монтирования CD-ROM
-r - Переименовать распознанный CD-ROM
-m - Не монтировать
-f - Ускоренный режим, не проверять пакеты файлов
-a - Thorough scan mode
Например:
apt-cdrom -d /home/kov/mycdrom add
Также вы можете идентифицировать CD-ROM без добавления его в список:
apt-cdrom ident
Обратите внимание, что эта программа работает только, если ваш CD-ROM правильно настроен в системном файле настроек /etc/fstab.
APT HOWTO
1.8.2 - Ноябрь 2002
kov@debian.org