Debmirror

Differences between revisions 7 and 10 (spanning 3 versions)
Revision 7 as of 2008-08-06 16:29:31
Size: 9437
Editor: localhost
Comment: converted to 1.6 markup
Revision 10 as of 2009-04-18 08:10:52
Size: 10385
Editor: 195
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
||<tablestyle="float:right; font-size: 0.9em; width:40%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;">'''Contents'''<<BR>><<TableOfContents(3)>>|| ||<tablestyle="float:right; font-size: 0.9em; width:40%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;"><<TableOfContents(3)>>||
Line 3: Line 3:
== Чтобы создать зеркало репозиторий, следуйте этим инструкциям == == Чтобы создать зеркало репозитория, следуйте этим инструкциям ==
Line 5: Line 5:
Это не покроет все остальные варианты, но даст возможность поэксперементировать. Чтобы всё прошло успешно, понадобится 8,2 ГБ дискового пространства для основных исходников и бинарных пакетов. Это число со временем возростёт. Это не покроет все остальные варианты, но даст возможность поэксперементировать. Чтобы всё прошло успешно, понадобится 8,2 ГБ дискового пространства для основных исходников и бинарных пакетов. Это число со временем возрастёт.
Line 11: Line 11:
Если вы желаете скачать все возможные бинарники apt для всех ящиков в один из сети, то возможно apt-cache или transparent proxy (т.е. [[http://help.ubuntu.com/community/HttpReplicator|http-replicator]]) - всё что вам нужно. Если вы желаете скачать все возможные бинарники apt для всех ящиков в один сетевой ящик, то возможно apt-cache или transparent proxy (т.е. [[http://help.ubuntu.com/community/HttpReplicator|http-replicator]]) - то что вам нужно.
Line 13: Line 13:
Ещё один метод - использование rsync. Страница [[http://help.ubuntu.com/community/Rsyncmirror|Rsyncmirror]] даёт лучшее детальное представление об этом методе. Rsync может создать полное зеркало сайта и выбирать файлы все без исключения. В свою очередь Debmirror, более контролируемый метод выбора файлов для зеркала и легче для выделения дискового пространства. Ещё один метод - использование rsync. Страница [[http://help.ubuntu.com/community/Rsyncmirror|Rsyncmirror]] даёт лучшее детальное представление об этом методе. Rsync может создать полное зеркало сайта и выбирает все файлы без исключения. В свою очередь, Debmirror, более контролируемый метод выбора файлов для зеркала и не так беспощаден к вашему дисковому пространству.
Line 15: Line 15:
[[http://www.howtoforge.com/local_debian_ubuntu_mirror|apt-mirror]] - Эта инструкция покажет как создать зеркало Debian/Ubuntu для вашей локальной сети при помощи утилиты apt-mirror. [[http://www.howtoforge.com/local_debian_ubuntu_mirror|apt-mirror]] - Эта инструкция покажет, как создать зеркало Debian/Ubuntu для вашей локальной сети при помощи утилиты apt-mirror.
Line 21: Line 21:
<<BR>>Откройте ваш лист источников (sudo sensible-editor /etc/apt/sources.list), и добавьте следующую строку <<BR>>Откройте ваш список источников (sudo sensible-editor /etc/apt/sources.list), и добавьте следующую строку
Line 33: Line 33:
Пожалуйста заранее определитесь с выбором места для пакетов, которые вы хотите скачать!
<<BR>>(Если вы продвинутый, то можете создать разные части зеркала на разных носителях, но в этом путеводителе здесь это не описывается.)
Пожалуйста, заранее убедитесь, что для пакетов, которые вы собираетесь скачать, достаточно места!
<<BR>>(Если вы продвинутый пользователь, то можете создать разные части зеркала на разных носителях, но в этом путеводителе этот вариант не описывается.)
Line 40: Line 40:
== Создание файла `mirrorbuild.sh` == == Создайте файл `mirrorbuild.sh` ==
Line 43: Line 43:
<<BR>>Откройте вами предпочтимый редактор так <<BR>>Откройте предпочитаемый вами редактор так
Line 48: Line 48:
Скопируйте из следующего поля в редактор.
<<BR>>Вы можете пропустить строки, начинающиеся с # (NB EXCEPTION строка, которая начинается с #!/bin/bash должна остаться не тронутой.)
Скопируйте текст из следующего поля в редактор.
<<BR>>Вы можете пропустить строки, начинающиеся с # (NB EXCEPTION строка, которая начинается с #!/bin/bash должна остаться.)
Line 122: Line 122:
 * И заключительная часть настраивания зеркала - скачивание файлов  * И заключительная часть настраивания зеркала - загрузка файлов
Line 128: Line 128:
== Установка зеркала == == Установите зеркало ==
Line 130: Line 130:
Нам нужно установить веб-сервер - Apache2, вы можете выбрать apache версии 1.3, но это выходит за рамки этого документа.
<<BR>> Мы можем сделать это так `sudo apt-get install apache2`
Нам нужно установить веб-сервер - Apache2. Вы можете выбрать apache версии 1.3, но это выходит за рамки этого документа.
<<BR>> Обычно это делается так: `sudo apt-get install apache2`
Line 133: Line 133:
<<BR>> Затем (ради упрощения) давайте сделаем ссылку из /home/UbuntuMirror на /var/www/ubuntu. <<BR>> Затем (для простоты) давайте сделаем ссылку из /home/UbuntuMirror на /var/www/ubuntu.
Line 139: Line 139:
<<BR>> Отлично! Значит так, у нас есть все пакеты и рабочий сервер. Теперь нам нужно настроить клиентов. <<BR>> Отлично! Значит так, у нас есть все пакеты и работающий сервер. Теперь нам нужно настроить клиентов.
Line 141: Line 141:
== Создайте cronjob чтобы зеркало обновлялось ==
Line 142: Line 143:
== Настройка клиенской системы == Чтобы зеркало оставалось актуальным, добавьте скрипт зеркала в cron. Чтобы отредактировать файл crontab пользователя root, выполните:
{{{
sudo crontab -e
}}}
Line 144: Line 148:
Откройте терминал и ввидите: И вставьте эту строку:
{{{
2 */12 * * * /usr/local/bin/mirrorbuild.sh
}}}

Она будет запускать скрипт каждые двенадцать часов на второй минуте часа. УБЕДИТЕСЬ что под добавленной строкой есть пустая строка, иначе команда никогда не выполнится. Если вам свойственна педантичность, перезапустите cron:
{{{
sudo /etc/init.d/cron restart
}}}

== Настройте клиенские системы ==

Откройте терминал и введите:
Line 150: Line 166:
Теперь в своём редакторе наберите следующие строки:
Line 152: Line 167:
Теперь в редакторе наберите следующие строки:
Line 159: Line 175:
После - сохранить и закрыть.
<<BR>> Если позже запустить
Затем сохраните и закройте файл.
<<BR>> Если теперь запустить
Line 165: Line 181:
вы должны будете обновиться с вашего нового сервера! , обновления будут загружаться с вашего нового сервера!

Чтобы создать зеркало репозитория, следуйте этим инструкциям

Это не покроет все остальные варианты, но даст возможность поэксперементировать. Чтобы всё прошло успешно, понадобится 8,2 ГБ дискового пространства для основных исходников и бинарных пакетов. Это число со временем возрастёт.

Альтернативная точка зрения

Создание локального репозитария - позволит вам создать локальный репозиторий для пакетов, принесенных на флешке или другом носителе, а потом использовать synaptic/kynaptic (или apt-get install package_name).

Если вы желаете скачать все возможные бинарники apt для всех ящиков в один сетевой ящик, то возможно apt-cache или transparent proxy (т.е. http-replicator) - то что вам нужно.

Ещё один метод - использование rsync. Страница Rsyncmirror даёт лучшее детальное представление об этом методе. Rsync может создать полное зеркало сайта и выбирает все файлы без исключения. В свою очередь, Debmirror, более контролируемый метод выбора файлов для зеркала и не так беспощаден к вашему дисковому пространству.

apt-mirror - Эта инструкция покажет, как создать зеркало Debian/Ubuntu для вашей локальной сети при помощи утилиты apt-mirror.

Начало процесса создания зеркала

Откройте gnome-terminal кликнув Приложения -> Стандартные -> Терминал.
Если в ваш лист репозитариев включён universe, то следующий шаг пропустите.
Откройте ваш список источников (sudo sensible-editor /etc/apt/sources.list), и добавьте следующую строку
deb http://cc.archive.ubuntu.com/ubuntu/ dapper universe
Затем сохраните и вернитесь к приглашению терминала (prompt).
В вышеуказанном примере, cc - код вашей страны (т.е. lv означает Latvia), а dapper замените на релиз, который вы используете.

Обновите список пакетов (sudo apt-get update), а затем установите debmirror (sudo apt-get install debmirror).
Сейчас мы должны создать папку, куда мы сохраним файлы. Примерный размер зеркала (только i386): # Временами меняется.

feisty

~27ГБ

main, restricted, universe, multiverse

dapper

15ГБ

main, restricted, universe, multiverse

Пожалуйста, заранее убедитесь, что для пакетов, которые вы собираетесь скачать, достаточно места!
(Если вы продвинутый пользователь, то можете создать разные части зеркала на разных носителях, но в этом путеводителе этот вариант не описывается.)
Своё зеркало мы будем создавать в /home/ при помощи

sudo mkdir /home/UbuntuMirror

Создайте файл `mirrorbuild.sh`

Чтобы создать файл mirrorbuild.sh
Откройте предпочитаемый вами редактор так

sudo sensible-editor /usr/local/bin/mirrorbuild.sh

Скопируйте текст из следующего поля в редактор.
Вы можете пропустить строки, начинающиеся с # (NB EXCEPTION строка, которая начинается с #!/bin/bash должна остаться.)

Содержимое скрипта зеркала, пожалуйста адаптируйте его под свои нужды

#### Start script to automate building of Ubuntu mirror #####
## THE NEXT LINE IS NEEDED THE REST OF THE LINES STARTING WITH A # CAN BE DELETED

#!/bin/bash

## Setting variables with explanations.

# Arch=         -a      # Architecture. For Ubuntu can be i386, powerpc or amd64.
# sparc, only starts in dapper, it is only the later models of sparc
#
arch=i386

# Minimum Ubuntu system requires main, restricted
# Section=      -s      # Section (One of the following - main/restricted/universe/multiverse).
#
section=main,restricted,universe,multiverse

# Release=      -d      # Release of the system (Dapper, Edgy, Feisty, Gutsy), and the -updates and -security ( -backports can be added if desired)
#
release=dapper,dapper-security,dapper-updates

# Server=       -h      # Server name, minus the protocol and the path at the end
# CHANGE "*" to equal the mirror you want to create your mirror from. au. in Australia  ca. in Canada.
# This can be found in your own /etc/apt/sources.list file, assuming you have Ubuntu installed.
#
server=cc.archive.ubuntu.com

# Dir=          -r      # Path from the main server, so http://my.web.server/$dir, Server dependant
#
inPath=/ubuntu

# Proto=        -e      # Protocol to use for transfer (http, ftp, hftp, rsync)
# Choose one - http is most usual the service, and the service must be avaialbe on the server you point at.
#
proto=http

# Outpath=              # Directory to store the mirror in
# Make this a full path to where you want to mirror the material.
#
outPath=/home/UbuntuMirror

# The --nosource option only downloads debs and not deb-src's
# The --progress option shows files as they are downloaded
# --source \ in the place of --no-source \ if you want sources also.
# Start script
#
debmirror       -a $arch \
                --no-source \
                -s $section \
                -h $server \
                -d $release \
                -r $inPath \
                --progress \
                -e $proto \
                --ignore-release-gpg \
                $outPath


#### End script to automate building of Ubuntu mirror ####

Как использовать файл

  • Сохраните файл и выйдите из редактора.
  • Теперь поменяйте права и владельца зеркала. Имя группы - ваше имя пользователя:

sudo chown -R root.username /home/UbuntuMirror
sudo chmod -R 571 /home/UbuntuMirror
  • И заключительная часть настраивания зеркала - загрузка файлов

mirrorbuild.sh

Теперь прогуляйтесь. Вашей машине придётся много чего скачать!

Установите зеркало

Нам нужно установить веб-сервер - Apache2. Вы можете выбрать apache версии 1.3, но это выходит за рамки этого документа.
Обычно это делается так: sudo apt-get install apache2

Затем (для простоты) давайте сделаем ссылку из /home/UbuntuMirror на /var/www/ubuntu.

ln -s /home/UbuntuMirror /var/www/ubuntu

Это означает, что когда вы захотите скачать с вашего зеркала, вы заходите на http://mirrorbox/ubuntu/.

Отлично! Значит так, у нас есть все пакеты и работающий сервер. Теперь нам нужно настроить клиентов.

Создайте cronjob чтобы зеркало обновлялось

Чтобы зеркало оставалось актуальным, добавьте скрипт зеркала в cron. Чтобы отредактировать файл crontab пользователя root, выполните:

sudo crontab -e

И вставьте эту строку:

2 */12 * * * /usr/local/bin/mirrorbuild.sh

Она будет запускать скрипт каждые двенадцать часов на второй минуте часа. УБЕДИТЕСЬ что под добавленной строкой есть пустая строка, иначе команда никогда не выполнится. Если вам свойственна педантичность, перезапустите cron:

sudo /etc/init.d/cron restart

Настройте клиенские системы

Откройте терминал и введите:

cd /etc/apt
sudo mv sources.list sources.list.orig
sudo sensible-editor sources.list

Теперь в редакторе наберите следующие строки:

# Зеркала локальной сети.
deb http://mirrorbox/ubuntu dapper main restricted universe multiverse
deb http://mirrorbox/ubuntu dapper-updates main restricted universe multiverse
deb http://mirrorbox/ubuntu dapper-security main restricted universe multiverse

Затем сохраните и закройте файл.
Если теперь запустить

sudo apt-get update
sudo apt-get dist-upgrade

, обновления будут загружаться с вашего нового сервера!


CategoryDocumentation CategoryNetworking

RussianDocumentation/Debmirror (last edited 2009-04-18 08:10:52 by 195)