Debmirror
Size: 10335
Comment: поправил по смыслу, добавил о настройке cron.
|
← Revision 10 as of 2009-04-18 08:10:52 ⇥
Size: 10385
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 5: | Line 5: |
Это не покроет все остальные варианты, но даст возможность поэксперементировать. Чтобы всё прошло успешно, понадобится 8,2 ГБ дискового пространства для основных исходников и бинарных пакетов. Это число со временем возростёт. | Это не покроет все остальные варианты, но даст возможность поэксперементировать. Чтобы всё прошло успешно, понадобится 8,2 ГБ дискового пространства для основных исходников и бинарных пакетов. Это число со временем возрастёт. |
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 33: | Line 33: |
Пожалуйста заранее убедитесь, что для пакетов, которые вы собираетесь скачать, достаточно места! <<BR>>(Если вы продвинутый, то можете создать разные части зеркала на разных носителях, но в этом путеводителе это не описывается.) |
Пожалуйста, заранее убедитесь, что для пакетов, которые вы собираетесь скачать, достаточно места! <<BR>>(Если вы продвинутый пользователь, то можете создать разные части зеркала на разных носителях, но в этом путеводителе этот вариант не описывается.) |
Line 43: | Line 43: |
<<BR>>Откройте вами предпочтимый редактор так | <<BR>>Откройте предпочитаемый вами редактор так |
Line 181: | 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
, обновления будут загружаться с вашего нового сервера!
RussianDocumentation/Debmirror (last edited 2009-04-18 08:10:52 by 195)