Здравствуйте друзья линуксоиды! Я бы хотел поделится опытом создания зеркала, для репозитория дистрибутива Ubuntu.
Причин по которым Вы захотите создать репозиторий может быть несколько: например у Вас нестабильно работающий или(и) медленный интернет и Вы бы хотели хранить репозиторий у себя на жестком диске, еще один вариант, это создание зеркала внутри локальной сети, именно так и поступил я и руководство будет для этого варианта.
Итак для начала нам потребуется сам репозиторий, для закачки его на винчестер нам потребуется программа debmirror, установить ее можно через ваш любимый менеджер пакетов Adept или Synaptic, ну или через консоль . Здесь я буду приводить примеры для консоли, ну а с графикой Вы и сами разберетесь
. Устанавливаем программу debmirror
Теперь подготовим папку в которую будет закачан репозиторий
Конечно же вы можете назвать папку как угодно.
Теперь нам нужно создать скрипт, в этой самой папке, который собственно и будет закачивать репозиторий.
Скрипт должен содержать следующие строки
#!/bin/bash -x
/usr/bin/debmirror --nosource -m --passive --host=archive.ubuntulinux.org \
--root=ubuntu --method=ftp --progress \
--dist=hardy,hardy-security,hardy-updates,hardy-backports \
--ignore-release-gpg --section=main,restricted,multiverse,universe \
--arch=i386 /путь/к/папке/репозитория/
Этот скрипт будет выкачивать репозиторий для версии Ubuntu 8.04. Наверное вы все заметили параметр —arch этот параметр указывает архитектуру для которой собраны пакеты Вы также можете установить значение параметра amd64.
Ну все теперь выполняем скрипт
Учтите что у меня например репозиторий занял около 22Гб (i386). Работу скрипта всегда можно завершить без каких либо последствий, а после следующего старта скрипта он проверит все md5 суммы пакетов и продолжит работу(учтите что проверка контрольных сумм занимает значительный ресурс процессора, так что по мере роста количества скачанных пакетов старайтесь реже прерывать работу скрипта)
Ну вот теперь у вас на жестком диске лежит копия репозитория, если вы желаете добавить его в источники пакетов вам нужно прописать строку примерно следующего вида
deb file:///blablabla/ubuntu/ru.archive.ubuntu.com/ hardy main restricted multiverse universe
Теперь собственно создание зеркала.
Итак для зеркала нам понадобится WEB-сервер Apache. Для установки индейца наберите в терминале
Установили? Запускаем и... ничего. Его еще нужно немного настроить, не бойтесь настроек там совсем немного
.
Большинство настроек хранятся в конфигурационном файле
открываем его для редактирования
Находим в этом файле строчки с параметрами
устанавливаем значение этих параметров в www-data. Должно получится следующее
Теперь нужно указать Apache имена файлов которые он будет открывать по умолчанию, когда браузер обратится к вашему сайту. Этот шаг необязателен, он нужен нам будет для проверки работоспособности сервера. Добавляем строку
Теперь можно проверить работоспособность сервера, запустив Apache и набрав в браузере свой IP адрес.
Я еще добавил (на всякий случай) строку
Которая указывает на директорию в которой находится сайт. Вы можете указать директорию где находится репозиторий. Или можете просто скопировать содержимое репозитория в эту папку. Я вот сделал немного по другому, разместил репозиторий на отдельном разделе и примонтировал его в /var/www/.
Все теперь удаляем файл index.html из директории с сайтом и опять набираем в браузере свой адрес, там должен появится репозиторий.
Для добавления репозитория в источники пакетов вам нужно прописать в файле /etc/apt/sources.list примерно следующее
deb http://Ваш IP адрес/ru.archive.ubuntu.com/ hardy main restricted multiverse universe
Обсудить этот и другие вопросы связаные с программным обепечением можно в разделе форума http://trambroid.com/forum/16
Комментарии
спасибо!!! очень полезная
спасибо!!! очень полезная статья
Ага, особенно для тебя,
Ага, особенно для тебя, Колян.
ага