Назад | Перейти на главную страницу

В каком формате указываются репозитории http в /etc/apt/sources.list?

После указания URL-адреса репозитория, что означают такие теги, как «стабильный», «несвободный» в записях /etc/apt/sources.list? Если мы знаем URL-адрес репозитория, как мы решаем эти дополнительные атрибуты при добавлении записи в /etc/apt/sources.list?

Раздел 2.1 следующего страница (воспроизведено ниже для простоты использования) - это то, что вам нужно.

2.1 Файл /etc/apt/sources.list В рамках своей работы APT использует файл, в котором перечислены «источники», из которых могут быть получены пакеты. Это файл /etc/apt/sources.list.

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

 deb http://host/debian distribution section1 section2 section3
 deb-src http://host/debian distribution section1 section2 section3

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

Обычно в списке Debian sources.list по умолчанию мы находим следующее:

 # See sources.list(5) for more information, especially
 # 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, о которых я знаю.

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

Если вы знаете URL-адрес репозитория, вы можете найти dists подкаталог, чтобы найти все дистрибутивы, доступные в этом репозитории. Если вы войдете в эти каталоги, вы сможете найти Release файл, в котором перечислены доступные разделы в Component поле.

Пример с официальным репозиторием Debian: http://ftp.debian.org/debian/

Доступные дистрибутивы можно увидеть по адресу: http://ftp.debian.org/debian/dists/

Если вы возьмете дистрибутив lenny, вы можете скачать файл Release здесь: http://ftp.debian.org/debian/dists/lenny/Release

Внутри этого файла вы можете найти список разделов:

Components: main contrib non-free

И, как уже объяснили, в /etc/apt/sources.lists у вас есть строки в следующем формате:

deb repository-url distribution section1 section2 section3

Теперь вы можете изучить любой хорошо поддерживаемый репозиторий Debian!

Каждый репозиторий может решить, как они хотят структурировать свои пакеты.

Некоторые предоставляют "стандартные" названия, например stable, unstable и non-free, но каждый может отличаться - добавление sarge, potato и больше.

Один из таких провайдеров можно увидеть на сайте Opera, Вот. Просматривая структуру каталога, вы можете увидеть, как deb директивы совпадают с фактическим используемым URL.