Настройка обновлений в Debian

Майор

Администратор
Команда форума
Регистрация
04.09.14
Сообщения
2.833
Реакции
1.939
Баллы
113
После установки Debian и настройки сети рекомендуется приступить к настройке обновлений. Для обновления и установки пакетов в Debian используются утилиты apt и aptitude. Независимо от того, какой из этих утилит Вы будете пользоваться, следует настроить файл конфигурации
/etc/apt/sources.list
. В зависимости от того, какой ответ был выбран в процессе установки системы, в файле sources.list уже присутствуют несколько записей: записи для обновлений безопасности и записи требующих частого обновления пакетов (squeeze-updates).
Эти записи и есть список репозиториев (источников) пакетов.
Репозиторий — это место, где хранятся и поддерживаются какие-либо данные. Утилиты apt и aptitude поддерживают различные источники пакетов такие как: ftp - репозиторий, http - репозиторий, cd-rom, file. Названия говорят сами за себя. Пакеты могут быть двух видов: бинарные и содержащие исходные тексты. Для каждого репозитория в файле sources.list делается запись следующего вида:
для бинарных пакетов
Код:
deb uri дистрибутив [компонент1] [компонент2] […]
для пакетов с исходными текстами
Код:
deb-src uri дистрибутив [компонент1] [компонент2] [...]
Как видим строки отличаются первыми частями, которые и говорят какой вид пакетов нужно выкачивать.

Uri — это адрес источника пакетов, по которому утилиты обновления могут получить всю информацию. Их великое множество. Адреса официальных репозиториев можно посмотреть на http://www.debian.org/mirror/list. Замечу что, Debian распространяется зеркалированием сотнями серверов в Интернет. Используя ближайший к вам сервер, вы ускорите скачивание, а также сократите нагрузку на центральные серверы Debian и Интернет в целом. Зеркала Debian бывают первичными и вторичными. Сайты с первичным зеркалом имеют хорошее подключение к Интернет, доступны 24 час в сутки, их легко запомнить по имени ftp.<страна>.debian.org. Они автоматически обновляются при изменениях в Debian архиве. Сайты с вторичным зеркалом могут содержать неполный архив (из-за нехватки места). HTTP-зеркала обычно быстрее, чем FTP. Например нам подойдёт http://ftp.ru.debian.org/
В адресе так же может присутствовать переменная $(ARCH), которая автоматически будет заменяться на реальную архитектуру системы (i386, sparc, s390 и т.д.). Но в реальной жизни использование переменной $ARCH нам не пригодится, так как утилиты обновлений будут автоматически генерировать URI с текущей архитектурой.
 

Майор

Администратор
Команда форума
Регистрация
04.09.14
Сообщения
2.833
Реакции
1.939
Баллы
113
Дистрибутив — это название релиза системы, пакеты которого мы хотим обновлять. Обычно пишется через пробел:
debian sqeeze

или так

debian stable

В первом случае после debian пишется кодовое имя, во втором — тип релиза (ветки) дистрибутива. На мой взгляд лучше использовать кодовое имя, чтобы не возникло неожиданностей в момент изменения релиза. Рассмотрим это подробнее. Релизы Debian разделены на несколько веток: стабильную (stable), тестируемую (testing), нестабильную (unstable) и экспериментальную (experimental). Существует ещё понятие предыдущей стабильной ветки. У каждой ветки есть своё кодовое имя. В нашем случае имя стабильной ветки squeeze, имя тестируемой ветки - wheeze, имя предыдущей стабильной - lenny. После того как тестируемая ветка будет доведена разработчиками «до ума» - она будет объявлена стабильной. Т. е. стабильной (stable) станет wheeze, а squeeze станет предыдущей стабильной веткой. Вот тут то могут и возникнуть неожиданности. По-моему лучше некоторое время поработать на предыдущей стабильной ветке, а потом уже обновить дистрибутив целиком. Пример обновления дистрибутива будет описан в статье "Обновить Debian 4 Etch до Debian 5 (Lenny)". Полные рекомендации по обновлению Debian смотрите на официальном сайте.
Компонент принимает одно из четырех значений: main, contrib, non-free или non-us. Различие их состоит в следующем:
main — эти пакеты подчиняются принципам свободного программного обеспечения. Они не зависят от других пакетов не входящих в «main» для компиляции или выполнения.
contrib — эти пакеты так же подчиняются принципам свободного программного обеспечения, но для удовлетворения их зависимостей нужны пакеты, не входящие в «main».
non-free — содержит пакеты, которые противоречат принципам свободного программного обеспечения или которые обременены патентами или другими юридическими тонкостями, что делает их распространение проблематичным
non-us — содержит программы с криптографическим программным кодом. Они должны содержаться на "не-us" сервере из-за экспортных ограничений США.
Теперь, когда разобрались со всеми составляющими пишем в начало файла /etc/apt/sources.list две следующие строки:
Код:
deb http://ftp.ru.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.ru.debian.org/debian/ squeeze main contrib non-free
Ниже обязательно добавляем репозитории безопасности и squeeze-updates. Репозиторий squeeze-updates позволяет обновлять те пакеты из текущей стабильной версии, которые требуют регулярного обновления. Нужен он для того, чтобы не вносить в стабильный репозиторий пакеты, не прошедшие стандартный путь через ветку testing. К таким пакетам могут относится антивирусные программы, фильтры спама, например clam или spamassassin.
 
Последнее редактирование:

Майор

Администратор
Команда форума
Регистрация
04.09.14
Сообщения
2.833
Реакции
1.939
Баллы
113
В результате получаем файл со следующим содержимым:
Код:
# binary and source packages
deb http://ftp.ru.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.ru.debian.org/debian/ squeeze main contrib non-free
# squeeze-updates
deb http://ftp.ru.debian.org/debian/ squeeze-updates main contrib non-free
deb-src http://ftp.ru.debian.org/debian/ squeeze-updates main contrib non-free
# security updates
deb http://security.debian.org/ squeeze/updates main contrib non-free
deb-src http://security.debian.org/ squeeze/updates main contrib non-free
В большинстве случаев этого достаточно, хотя можно добавить репозиторий backports, но закомментировать и подключать по мере необходимости. Backports - это ветка перекомпилированных пакетов из тестовой (testing) или нестабильной (unstable) веток. Собираются пакеты таким образом, чтобы они были работоспособными в стабильной (stable) ветке без наличия в системе каких-либо новых библиотек. Рекомендуется устанавливать из бэкпортов только те пакеты, которые необходимы, а не всю ветку целиком
Добавим следующие строки в /etc/apt/sources.list:
Код:
# Backports
#deb http://www.backports.org/debian squeeze-backports main contrib non-free
#deb-src http://www.backports.org/debian squeeze-backports main contrib non-free
Теперь даём команду
Код:
aptitude update
а потом
Код:
aptitude upgrade
Приведу ещё несколько примеров репозиториев. Выше мы рассмотрели http - репозитории. Записи о ftp — репозитории выглядит так:
Код:
deb ftp://ftp.ru.debian.org/debian/ squeeze main contrib non-free
deb-src ftp://ftp.ru.debian.org/debian/ squeeze main contrib non-free
Запись о локальном репозитории может выглядеть следующим образом:
Код:
deb file:/home/zolkin/debian stable main contrib non-free
Репозиторий на компакт-диске или DVD добавляется командой
Код:
apt-cdrom add
Автор: Золкин А. Н.
 
Сверху Снизу