![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Дистрибутив Debian известен своей исключительной стабильностью и надежностью, а также замечательной системой управления пакетами/разрешения зависимостей apt. Установка новых приложений осуществляется очень просто:
# apt-get программа |
Выборка и установка библиотек, от которых зависит работа приложения, производятся автоматически. Apt — изощренная, интеллектуальная программа, а официальный архив программного обеспечения Debian поддерживает жесткие стандарты качества пакетов. Официальный программный архив Debian содержит более 12 000 программ; это больше, чем у любой другой платформы.
Dpkg —аналог RPM для Debian, обладающий дополнительными возможностями; он также выполняет базовую настройку конфигурации. Например, при установке Postfix dpkg запрашивает кое-какую информацию о системе, устанавливает стартовые и конфигурационные файлы и инициализирует программу.
Debian существует в трех разных версиях: стабильной, тестовой и нестабильной (также существует четвертая версия для искателей приключений — экспериментальная). Они обозначаются терминами Woody, Sarge и Sid. Версия Woody чрезвычайно консервативна. Пакеты допускаются в версию Woody только после обширной проверки зависимостей и исправления всех дефектов безопасности. Версии Sarge и Sid содержат новые пакеты, не прошедшие столь подробного тестирования. «Заплатки» безопасности быстро выпускаются для Woody и весьма нерегулярно — для Sarge и Sid.
Какую версию использовать? Наиболее очевидный выбор — стабильная версия (Woody), надежная, как скала. Тем не менее за надежность приходится расплачиваться: программы в Woody на месяцы, а иногда и на годы отстают от даты официального выпуска. Woody идеально подходит для серверов. Для настольных систем и рабочих станций более актуальны тестовая версия (Sarge) и нестабильная версия (Sid). И несмотря на устрашающие названия («тестовая», «нестабильная»), они работают вполне нормально.
Кодовые обозначения выглядят симпатично, но не стоит использовать их в конфигурационных файлах. Нестабильной версии всегда будет соответствовать обозначение Sid, но Woody и Sarge не всегда будут связываться со стабильной и тестовой версиями — когда-нибудь текущая тестовая версия Sarge будет повышена до статуса стабильной, а текущая версия Woody уйдет на покой. При грамотном сопровождении система Debian постоянно обновляется без переустановки, поэтому не стоит нарушать ее работу использованием кодовых обозначений, которые со временем изменятся.
Далее перечислены кодовые названия версий. Все они позаимствованы из фильма «История игрушек»:
А теперь версии 3.x:
Вам понадобились программы для системы Debian. В Сети можно найти многие гигабайты программного обеспечения — но где найти программы, упакованные для Debian? И как выбрать архив?
Пакеты Debian устанавливаются из официальных архивов пакетов Debian, неофициальных архивов и с дисков CD-ROM. Источники указываются в файле /etc/apt/sources.list, после чего система управления пакетами Debian используется для установки пакетов из источников.
Списки адресов сайтов для загрузки программ:
Список поставщиков дисков CD-ROM по всему миру:
Для поиска отдельных пакетов можно воспользоваться страницей поиска Debian:
Следующим шагом должно стать редактирование файла /etc/apt/sources.list и занесение в него выбранных источников.
При наличии нескольких источников apt-get всегда использует самую новую версию пакета. Список начинается с наиболее предпочтительных источников, поскольку apt-get обрабатывает список от начала к концу.
Редактирование файла sources.list — абсолютно законный, простой способ управления установкой программ. Занесите в файл все записи, которые вы когда-либо планируете использовать, и закомментируйте строки, не задействованные в конкретной установке.
В список sources.list рекомендуется включить официальные зеркала Debian, чтобы снять нагрузку с серверов Debian.org. Полный список официальных зеркал находится по адресу http://www.debian.org/mirror/.
ПРЕДУПРЕЖДЕНИЕ Заплатки безопасности распространяются только с адреса http://www.debian.org/security/ и не копируются на зеркалах. |
sources.list(5); официальный список зеркал Debian (http://www.debian.org/mirror/); страница поиска пакетов Debian (http://www.debian.org/distrib/packages).
Требуется установить пакеты с компакт-диска. Процесс, описанный в предыдущем разделе, предполагает, что программы загружаются из архива. Как включить ссылку на CD-ROM в файл sources.list?
Измените файл /etc/apt/sources.list командой apt-cdrom; это единственный способ включения архивов на CD-ROM в sources.list. Диск должен находиться в дисководе, но монтировать его не обязательно. Затем введите команду:
# apt-cdrom add Using CD-ROM mount point /cdrom/ Unmounting CD-ROM Please insert a Disc in the drive and press enter Mounting CD-ROM Identifying.. [0eabc03d10414e59dfa1622326e20da7-2] Scanning Disc for index files.. Found 1 package indexes and 0 source indexes. This Disc is called: 'Libranet GNU/Linux 2.8.1 CD2' Reading Package Indexes...Done Wrote 1271 records. Writing new source list Source List entries for this Disc are: deb cdrom:[Libranet GNU/Linux 2.8.1 CD2]/ archive/ Repeat this process for the rest of the CDs in your set. |
Используйте ключ -d, чтобы добавить данные компакт-диска из другого дисковода:
# apt-cdrom -d /cdrom1 add |
Идентификация диска:
$ apt-cdrom ident Using CD-ROM mount point /cdrom/ Mounting CD-ROM Identifying.. [0eabc03d10414e59dfa1622326e20da7-2] Stored Label: 'Libranet GNU/Linux 2.8.1 CD2' $ |
apt-get всегда выбирает из всех доступных источников новейшие версии устанавливаемых пакетов. Мир Linux быстро развивается, поэтому самая свежая информация всегда находится в Интернете. Чтобы выполнить принудительную установку программы с компакт-диска, закомментируйте все остальные строки в файле sources.list.
ПРИМЕЧАНИЕ Не забывайте выполнять команду apt-get update при каждом изменении файла sources.list. |
apt-cdrom(8), apt-get(8); Debian on CD, архивы ISO (http://www.debian.org/CD/http-ftp/).
Все архивы программного обеспечения, компакт-диски и т. д. не принесут никакой пользы, если вы не умеете устанавливать программы. Итак, вы хотите знать, как установить новый пакет в Debian.
Воспользуйтесь командой apt-get install:
# apt-get install tuxkart |
Установка пакета с перезаписью файлов:
# apt-get install --reinstall tuxkart |
Чтобы установить сразу несколько программ, перечислите их, разделяя пробелами:
# apt-get install tuxkart gltron frozen-bubble tuxracer nethack galaga |
Загрузка программ без установки или распаковки:
# apt-get -d install tuxkart |
Чтобы протестировать команду перед выполнением, присоедините к строке ключ --dry-run:
# apt-get install tuxkart gltron frozen-bubble tuxracer nethack galaga --dry-run |
Для определения имен пакетов используйте страницу поиска Debian по адресу http://www.debian.org/distrib/packages/. Имена пакетов Debian часто отличаются от своих аналогов из RPM. Например, программа CyrusSASL оформляется в пакет sasl-2.x.rpm, а в Debian она разбивается на несколько пакетов с именами libsasl-*.
Не забудьте выполнить команду apt-get update после изменения /etc/apt/sources.list и периодически запускайте ее, чтобы получать обновленную информацию из архивов пакетов.
apt-get загружает и устанавливает (а при необходимости и удаляет) все пакеты, необходимые для разрешения всех зависимостей.
apt-get(8); локальная документация (/usr/share/doc/Debian/apt-howto).
Требуется удалить пакет или несколько пакетов из системы Debian.
Воспользуйтесь командой apt-get remove:
# apt-get remove tuxpaint Reading Package Lists... Done Building Dependency Tree... Done The following packages will be REMOVED: tuxkart 0 upgraded, 0 newly installed, 1 to remove and 79 not updated. Need to get 0B of archives. After unpacking 188 kB disk space will be freed. Do you want to continue? [Y/n] y (Reading database ... 141283 files and directories currently installed.) Removing tuxkart... # |
Предварительное тестирование команды remove:
# apt-get remove tuxpaint --dry-run |
Удаление всех следов существования пакета, включая конфигурационные файлы:
# apt-get --purge remove tuxpaint |
Чтобы удалить сразу несколько программ, перечислите их, разделяя пробелами:
# apt-get remove tuxkart gltron frozen-bubble tuxracer nethack galaga |
Apt-get(8); локальная документация (/usr/share/doc/Debian/apt-howto).
Требуется откомпилировать программу в системе (вместо установки двоичных файлов Debian). Возможно, вы хотите отредактировать код программы или запустить пакет из тестовой или нестабильной версии в стабильной (перекомпиляция обеспечивает построение правильных зависимостей).
Воспользуйтесь командой apt-get source и содействием dpkg.
Для начала загрузите заголовки и библиотеки, от которых зависит устанавливаемая программа, в каталог, в котором будет строиться пакет:
# cd /usr/src # apt-get build-dep tuxkart |
Загрузка и сборка пакета:
# apt-get -b source tuxkart |
Установка пакета:
# dpkg -i tuxkart.deb |
Построение пакетов .deb по исходным текстам чаще всего выполняется с целью использования пакетов из тестовой или нестабильной версии в стабильной. Перекомпиляция настраивает зависимости для стабильной версии.
Если потребуется установить программу, отсутствующую в архивах Debian, постройте .deb при помощи CheckInstall — утилиты, создающей пакеты RPM, .deb и Slackware (см. раздел 4.5).
apt-get(8), dpkg-source(1); локальная документация (/usr/share/doc/Debian/apt-howto); раздел 4.5.
Требуется обновить пакет в системе Debian, потому что новая версия обладает расширенными возможностями или в ней исправлены ошибки.
Воспользуйтесь командой apt-get install:
# apt-get install gltron Reading Package Lists... Done Building Dependency Tree... Done The following packages will be upgraded: gltron 1 upgraded, 0 newly installed, 0 to remove and 78 not upgraded. Need to get 89.5kB of archives. After unpacking 266kB of additional disk space will be used. Get:1 ftp://ftp.debian.org sid/main gltron 3.53 [89.5kB] Fetched 89.5kB in 5s (16.8kB/s) Preconfiguring packages... (Reading database... 141286 files and directories currently installed.) Preparing to replace adduser 3.52 (using .../archives/adduser_3.53_all.deb)... Unpacking replacement gltron... Setting up adduser (3.53)... # |
Обновление нескольких пакетов:
# apt-get install tuxkart gltron frozen-bubble tuxracer nethack galaga |
Команды обновления отдельных пакетов не существует. Команда apt-get install всегда устанавливает последнюю версию пакета.
apt-get(8); локальная документация (/usr/share/doc/Debian/apt-howto).
Требуется обновить все пакеты в системе и заменить их новейшими версиями.
Убедитесь в том, что файл /etc/apt/sourcs.list содержит ссылки на нужные источники, а затем выполните команду apt-get upgrade.
Всегда начинайте с обновления списков пакетов:
# apt-get update |
Следующая команда обновляет все установленные пакеты, но не удаляет пакеты для разрешения зависимостей:
# apt-get -u upgrade |
Обновление всех установленных пакетов с удалением или установкой пакетов по мере необходимости для разрешения всех зависимостей:
# apt-get -u dist-upgrade |
Флаг -u позволяет заранее просмотреть список всех изменений. Обновление может занять несколько часов, в зависимости от скорости подключения к Интернету и количества загружаемых пакетов.
Чтобы флаг -u применялся по умолчанию, отредактируйте (или создайте) файл /etc/apt/apt.conf:
// Всегда перечислять обновляемые пакеты // и запрашивать подтверждение у пользователя APT::Get::Show-Upgraded "true"; |
Перед каждым выполнением команды apt_get dist_upgrade сначала выполните команду apt-get upgrade, чтобы снизить вероятность ошибок при выполнении dist-upgrade.
apt-get(8); локальная документация (/usr/share/doc/Debian/apt-howto).
Требуется перейти на более новую версию Debian (например, с Woody на Sarge).
Прежде всего отредактируйте файл /etc/apt/sources.list, чтобы в нем содержались только записи Sarge. Затем выполните следующие команды:
# apt-get update # apt-get -u upgrade # apt-get -u dist-upgrade |
Флаг -u позволяет сначала просмотреть список изменений. В зависимости от скорости подключения к Интернету и количества необходимых пакетов процедура может занять несколько часов.
В какой-то момент Sarge повышается до статуса стабильной версии, а Woody «уходит на покой». Когда это произойдет, обновите свою систему так, как описано в настоящем разделе.
apt-get(8); локальная документация (/usr/share/doc/Debian/apt-howto).
Требуется установить базовую систему в стабильной версии, а также некоторые программы из тестовой версии. Другими словами, вы хотите иметь абсолютно надежную базовую систему, но в некоторых программах вам необходимы дополнительные возможности, присутствующие только в более новых версиях.
Отредактируйте файл /etc/apt/sources.list так, чтобы в нем содержались ссылки на источники как для стабильной, так и тестовой версий (за информацией о файле sources.list обращайтесь к разделу 3.2. Затем отредактируйте /etc/apt/apt.conf и задайте версию по умолчанию (в нашем примере это стабильная версия). Затем при установке или обновлении пакетов нужная версия выбирается при помощи флага -t.
Отредактированный (или созданный) файл /etc/apt/apt.conf должен выглядеть примерно так:
// Версия системы по умолчанию. // Допустимые значения: woody, sarge, sid // (или stable, testing, unstable) APT::Default-Release "stable"; |
Далее производится обновление списков пакетов:
# apt-get update |
Сейчас по умолчанию используется стабильная версия, поэтому указывать ее при установке пакетов не обязательно. Следующая команда устанавливает Tuxkart из стабильной версии:
# apt-get install tuxkart |
Для установки пакета из тестовой версии (Sarge) воспользуйтесь ключом -t:
# apt-get -t testing install tuxkart |
Чтобы гарантированно получить конкретную версию, укажите номер пакета:
# apt-get install tuxkart=0.2.0-3 |
Сопровождение смешанной системы требует осторожности, особенно если в качестве базовой версии используется Woody. По мере «старения» Woody могут возникнуть проблемы двоичной совместимости с Sarge/Sid. Различия между ключевыми системными файлами (такими как libc и gcc) могут стать настолько серьезными, что пакеты Sarge/Sid не будут устанавливаться в Woody. Если это произойдет, попробуйте построить пакеты по исходным текстам (см. раздел 3.6).
apt.conf(5), sources.list(5); страница поиска пакетов Debian (http://www.debian.org/distrib/packages).
Требуется узнать, какие пакеты установлены в системе, к какому пакету относятся те или иные файлы и что находится в отдельных пакетах.
Воспользуйтесь средствами обработки запросов dpkg.
Следующая команда выводит список всех установленных пакетов и направляет его в файл:
$ dpkg -l | tee dpkglist |
Поиск всех пакетов, удовлетворяющих критерию поиска, и вывод информации об их состоянии:
$ dpkg -l '*gnome*' Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed |/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad) ||/ Name Version Description +++-============================================================== pn gnome <none> (no description available) un gnome-about <none> (no description available) ii gnome-applets 2.4.2-1 Various applets for GNOME 2 panel rc gnome-bin 1.4.2-18 Miscellaneous binaries used by GNOME |
Поиск установленных пакетов, удовлетворяющих критерию поиска:
$ dpkg -l | grep gnome |
Вывод списка файлов, входящих в пакет:
$ dpkg -L gnome-applets . /usr/share /usr/share/lintian /usr/share/lintian/overrides /usr/share/lintian/overrides/gnome-applets ... |
Следующая команда определяет, к какому пакету относится файл:
$ dpkg -S boing.wav tuxkart-data: /usr/share/games/tuxkart/wavs/boing.wav |
Вывод полной информации о пакете:
$ dpkg -s kpoker Package: kpoker Status: install ok installed Priority: optional Section: games Installed-Size: 428 Maintainer: Daniel Schepler <schepler@debian.org> Source: kdegames Version: 4:3.1.5-1 .... |
Таблица, выводимая командой dpkg -l, выглядит довольно загадочно, поэтому я приведу расшифровку.
$ dpkg -l gnome* Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed |/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad) ||/ Name Version Description +++-============================================================== pn gnome <none> (no description available) un gnome-about <none> (no description available) ii gnome-applets 2.4.2-1 Various applets for GNOME 2 panel rc gnome-bin 1.4.2-18 Miscellaneous binaries used by GNOME |
В строке pn gnome поднимитесь от буквы p наверх по «стрелке». Она приведет вас к строке Desired=Unknown/Install/Remove/Purge/Hold с расшифровками первого символа (Purge в данном случае).
От следующего столбца, n, стрелка ведет к строке Status. По ней можно определить, что символ n означает Not/Installed.
В третьем столбце отображается код ошибки. В нашем случае он пуст (и хорошо). Как указано в конце строки, любые символы верхнего регистра в столбцах Status и Err ни к чему хорошему не приведут.
Получаем: пакет gnome когда-то был установлен в системе, но потом он был удален.
Код un означает, что пакет никогда не устанавливался.
Код ii означает, что пакет установлен.
Код rc означает, что пакет был установлен, а затем удален, но после него остались конфигурационные файлы. Состав этих файлов определяется легко:
$ dpkg -L gnome-bin /etc/logcheck/ignore.d.server/gnome-bin /etc/logcheck/ignore.d.workstation/gnome-bin |
dpkg(8).
Требуется обеспечить актуальность кэша пакетов и списков пакетов, чтобы программа apt работала правильно, без возникновения ложных проблем с зависимостями.
Воспользуйтесь программами apt и dpkg.
Не забывайте выполнять команду apt-get update после модификации файла /etc/apt/sources.list, а также регулярно выполняйте ее, чтобы список пакетов оставался актуальным.
Следующая команда выводит список загруженных, но не установленных пакетов:
$ dpkg --yet-to-unpack |
Проверка нарушенных зависимостей:
$ apt-get check |
Удаление кэшированных пакетов, которые стали ненужными:
$ apt-cache autoclean |
Удаление всех кэшированных пакетов:
$ apt-cache clean |
Вывод списка частично установленных пакетов:
$ dpkg --audit |
Если вызов dpkg --audit возвращает какие-либо результаты, как в следующем случае:
$ dpkg --audit vpw (no information available) |
для начала убедитесь в том, что возвращаемый пакет существует:
$ dpkg -l vpw Package 'vpw' is not installed and no info is available |
Если пакет существует, либо завершите установку, либо удалите ее. Если пакет не установлен, поищите соответствующую запись в /var/lib/dpkg/available и /var/lib/dpkg/status и удалите ее.
Кэш пакетов запросто может занимать десятки, если не сотни мегабайт. Загляните в /var/cache/apt/archives и проверьте сами. Чтобы сэкономить место на диске, создайте локальный кэш пакетов в своей сети (см. раздел 3.14).
dpkg(8), apt_cache(8), apt-get(8); локальная документация (/usr/share/doc/Debian/apt-howto); The Debian Reference Manual (http://qref.sourceforge.net/).
Программа не устанавливается из-за проблем с зависимостями, или команда apt-get dist-upgrade оставляет пакеты, которые нужно удалить.
Существует несколько команд, которые могут пригодиться для решения этой задачи; в этом разделе они перечисляются в том порядке, в котором их стоит попробовать.
Допустим, проблемы возникли с пакетом libpam-modules, который не желает обновляться:
# apt-get install libpam-modules ... The following packages have unmet dependencies: libpam-modules: Depends: libdb3 (>=3.2.9-19.1) but 3.2.9-19 is to be installed E: Broken packages |
Если вы работаете в смешанной системе, для начала попробуйте указать версию:
# apt-get install -t stable libpam-modules |
Если это не помогает или система не является смешанной, попробуйте воспользоваться системой разрешения конфликтов Debian:
# apt-get -f install |
Затем выполните команду:
# dpkg --configure -a |
И снова повторите команду:
# apt-get -f install |
Если будет получен следующий ответ, значит, попытка завершилась неудачей:
Reading Package Lists... Done Building Dependency Tree... Done 0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded. |
Теперь проверьте, что произойдет при удалении существующего пакета libpam-modules:
# apt-get remove --dry-run libpam-modules Reading Package Lists... Done Building Dependency Tree... Done The following packages will be REMOVED: adduser adminmenu apache at base-config courier-imap courier-imap-ssl courier-pop courier-pop-ssl cron cupsys cupsys-driver-gimpprint dict-elements dict-foldoc dict-gcide dict-jargon dict-vera dict-wn dictd gdm2... .... WARNING: The following essential packages will be removed This should NOT be done unless you know exactly what you are doing! login libpam-modules (due to login) |
В данном случае исправление конфликтов зависимостей потребует едва ли не полной перестройки системы. Чаще проблемы ограничиваются несколькими пакетами. В этом случае начинайте удалять наименее важные из них, пока конфликты зависимостей не будут разрешены, а затем переустановите все пакеты, которые вам нужны.
Если apt-get -u dist-upgrage отображает какие-либо задержанные (held) пакеты, от них лучше избавиться. Пакеты удерживаются из-за конфликтов зависимостей, которые не удается разрешить apt. Попробуйте воспользоваться следующей командой для поиска и исправления конфликтов:
# apt-get -o Debug::pkgProblemResolver=yes dist-upgrade |
Если исправить конфликты не удается, команда завершается с сообщением
0 upgraded, 0 newly installed, 0 to remove and 6 not upgraded. |
Удаляйте held-пакеты один за одним, каждый раз запуская dist-upgrade, пока не останется ни одного задержанного пакета. Затем установите заново все необходимые пакеты. Не забудьте использовать ключ --dry-run, чтобы заранее знать обо всех последствиях:
# apt-get remove --dry-run libsdl-perl |
В «монолитных» системах подобные конфликты версий встречаются редко. Пользователи смешанных систем сталкиваются с ними чаще. Чтобы предотвратить их, будьте чрезвычайно осмотрительны при выборе устанавливаемых программ — при первой установке Debian потратьте немного времени и выберите каждый необходимый пакет.
dpkg(8), apt-get(8); Debian User’s List с архивами (http://lists.debian.org/debian-user/).
Требуется создать в локальной сети хранилище пакетов для общего пользователя. Локальный архив особенно полезен в том случае, если пользователи сети совместно используют низкоскоростное подключение к Интернету. Вместо того чтобы загружать файлы из Интернет-архивов, рабочие станции Debian загружают их из локального архива.
Воспользуйтесь программой apt-proxy:
# apt-get proxy |
Apt-proxy запускается автоматически после установки.
Теперь отредактируйте секцию add_backend/debian/ файла /etc/apt-proxy/apt-proxy.conf так, чтобы она содержала ссылки на географически близкие зеркала (список зеркал с пакетами находится по адресу http://www.debian.org/mirror/list).
Затем отредактируйте файл /etc/apt/sources.list на клиентских компьютерах так, чтобы он содержал ссылку на сервер apt-proxy. По умолчанию используется порт 9999:
deb http://ip-or-hostname:9999/main stable main contrib non-free deb http://ip-or-hostname:9999/non-US stable/non-US main contrib non-free deb http://ip-or-hostname:9999/security stable/updates main contrib non-free |
Запустите apt-get update на клиентских машинах, и локальный архив начнет работать. Каждый раз, когда клиентский компьютер в локальной сети устанавливает программу, эта программа будет кэшироваться на сервере apt-proxy. Последующие запросы того же пакета будут обслуживаться из локального кэша.
Большинству параметров в файле /etc/apt-proxy/apt-proxy.conf, кроме источников пакетов, можно оставить значения по умолчанию. Исключение составляет частота «обновлений», определяющая периодичность загрузки списка пакетов. По умолчанию соответствующая секция выглядит так:
# Максимальная частота обновлений (в минутах) # Высокие значения снижают нагрузку. BACKEND_FREQ=240 |
Я обычно устанавливаю значение этого параметра равным 1440; ежедневной проверки вполне достаточно. Действительно важные события происходят не так часто. Проверку следует производить хотя бы раз в день главным образом для своевременной установки обновлений безопасности.
apt-proxy(8), apt-proxy.conf(5); официальный список зеркал Debian (http://www.debian.org/mirror/); домашняя страница apt-proxy (http://apt-proxy.sourceforge.net/).
Пакетные зеркала, содержащиеся по умолчанию в файле apt-proxy.conf, разбросаны по всему земному шару. Как выбрать те из них, которые вы хотите использовать? В идеальном варианте хотелось бы использовать зеркальные сайты, находящиеся поближе к вашему компьютеру.
По умолчанию записи /etc/apt-proxy.apt-proxy.conf выглядят так:
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/ |
На сайте http://www.debian.org/mirror/list приведен текущий список зеркал Debian. Например, вот некоторые германские зеркала в mirror/list:
DE Germany ---------- ftp.de.debian.org /debian/ /debian/ ftp2.de.debian.org /debian/ /debian/ ftp.tu-clausthal.de /pub/linux/debian/ /pub/linux/debian/ debian.uni-essen.de /debian/ /debian/ |
Замените стандартные записи apt-proxy.conf своими, предваряя каждую запись префиксом http://:
add_backend /debian/ \ $APT_PROXY_CACHE/debian/ \ http://ftp.de.debian.org/debian/ \ http://ftp2.de.debian.org/debian/ \ http://ftp.tu-clausthal.de/pub/linux/debian/ \ |
Файлы /etc/apt/sources.list на клиентских компьютерах изменять не нужно.
Команды ping и traceroute помогут определить, какие зеркала обладают минимальным временем отклика. Дело в том, что географическая близость еще не гарантирует быстрого отклика.
Указание трех источников обеспечивает необходимую избыточность. apt-proxy опрашивает их по порядку: если первый источник не отвечает, опрашивается второй и т. д.
apt-proxy(8), apt-proxy.conf(5), apt-proxy-import(8); официальный список зеркал Debian (http://www.debian.org/mirror/); домашняя страница apt-proxy (http://apt-proxy.sourceforge.net/).
На сервере apt-proxy уже существует довольно большой кэш пакетов. Вы хотели бы, чтобы программа apt-proxy использовала его вместо того, чтобы загружать все пакеты заново.
Сначала запустите apt-get update по крайней мере на одном клиентском компьютере, чтобы инициализировать кэш. Затем на сервере выполните команду
# apt-proxy-import -d /var/cache/apt/archives |
apt-proxy(8), apt-proxy.conf(5), apt-proxy-import(8); официальный список зеркал Debian (http://www.debian.org/mirror/); домашняя страница apt-proxy (http://apt-proxy.sourceforge.net/).
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |