Results 1 to 13 of 13

Thread: Создание зеркала репозитория Debian|Ubuntu

  1. #1

    Lightbulb Создание зеркала репозитория Debian|Ubuntu

    Есть цель - сделать на роутере зеркало репозитория для debian/ubuntu, гуглеж дал понимание того, что это удобно и просто делается на дебианобразной системе с помощью утилиты debmirror, как например тут. Как бы красиво и элегантно это реализовать для нашей коробочки?
    debmirror имеет такие вот зависомости
    Code:
    Пакет: debmirror
    Состояние: не установлен
    Версия: 20070123ubuntu3
    Приоритет: дополнительный
    Раздел: universe/net
    Сопровождающий: Ubuntu MOTU Developers <ubuntu-motu@lists.ubuntu.com>
    Размер в распакованном виде: 135k
    Зависимости: libnet-perl, libdigest-md5-perl, libdigest-sha1-perl, liblockfile-simple-perl, rsync, libcompress-zlib-perl, bzip2, libwww-perl
    debmirror - скрипт на перле, но как быть с зависимостями?

  2. #2
    Итак, сначала скачаем скрипт debmirror, как, например, я:
    sudo aptitude download debmirror

    Вытаскиваем оттуда модуль и копируем его на роутер.
    Положим, например, в /opt/bin/

    Устнавливаем perl:
    ipkg install perl

    Устанавливаем зависимости:
    ipkg install perl-libnet
    ipkg install perl-digest-perl-md5
    ipkg install perl-digest-sha1
    ipkg install perl-compress-zlib
    ipkg install perl-libwww
    ipkg install rsync
    ipkg install bzip2

    Ставим make:
    ipkg install make

    Качаем отсутствующий модуль:
    wget http://search.cpan.org/CPAN/authors/...e-0.207.tar.gz
    tar zxf СкачанныйМодуль.tar.gz
    cd СкачанныйМодуль

    perl Makefile.PL
    make
    make test
    make install

    Создаем папку для репозиториев:
    mkdir -p /opt/share/www/repo
    Даем права для пользователя p2p:
    chown p2p /opt/share/www/repo/
    Заходим под пользователем p2p и создаем папку ubuntu:
    mkdir ubuntu

    В скрипте меняем "#!/usr/bin/perl -w" на "#!/opt/bin/perl -w"

    Создадим скрипт /opt/bin/debmirrorscript.sh:
    "
    #!/bin/sh

    /opt/bin/debmirror /opt/share/www/repo/ubuntu/ --nosource -m --passive --host=archive.ubuntulinux.org --root=ubuntu/ --method=ftp --progress --dist=jaunty,jaunty-updates,jaunty-security,jaunty-backports --section=main,multiverse,universe,restricted --arch=i386 ubuntu/ --ignore-release-gpg
    "

    Дадим ему права на выполнение:
    chmod +x /opt/bin/debmirrorscript.sh

    Для добавления репозитория в источники пакетов вам нужно прописать в файле /etc/apt/sources.list примерно следующее

    deb http://Ваш IP адрес/repo/ubuntu/ jaunty main restricted multiverse universe

    Честно говоря, достали проблемы с кодировкой. Бывает и не сохраняет исправления сообщений (((
    Last edited by chemtech; 27-09-2009 at 15:08.

  3. #3
    Можно проще. Fast and dirty:
    Code:
    #!/bin/sh
    wget --output-file=/tmp/harddisk/backup/updatedeb.log --mirror --no-parent --no-host-directories  --cut-dirs=2 --directory-prefix=/tmp/harddisk/backup/ ftp://archive.ubuntulinux.org/ubuntu/dists/jaunty/
    В качестве фичи (или бага) при обновлении репозитария будут сохранены в том числе старые версии пакетов. В случае неприятностей при обновлении будет возможность откатиться к предыдущей версии.

    Или с Debian так просто не выйдет?

  4. #4
    Старые пакеты сами удалять будете, если они не нужны?

  5. #5
    Join Date
    May 2008
    Location
    Ufa
    Posts
    156
    и сколько гигов это займет?
    не легче ли просто обновлять как раньше?

  6. #6
    25 гигов где-то.
    Это статья/тема форума для тех кому это надо, а не для тех кто хочет обновлять как раньше, плюс для тех кому интересно.

  7. #7
    Join Date
    May 2008
    Location
    Ufa
    Posts
    156
    Quote Originally Posted by chemtech View Post
    25 гигов где-то.
    Это статья/тема форума для тех кому это надо, а не для тех кто хочет обновлять как раньше, плюс для тех кому интересно.
    да, я это понимаю. мне тоже стало интересно, но ,подумав, решил для себя что все равно репозитории регулярно обновляются(ubuntu), поэтому для меня это не очень то и надо а вообще, задумка интересная, тем более для тех, у кого в локалке не один комп убунту/дебиан и траффик не дешевый

  8. #8


    Зашел на роутер в screen, а там последние строки такие:
    Timeout at /opt/lib/perl5/5.8.8/Net/FTP.pm line 503
    releasing 1 pending lock... at /opt/lib/perl5/site_perl/5.8.8/LockFile/Simple.pm line 206.


    Наверное инет временно пропадал...

  9. #9
    Timeout at /opt/lib/perl5/5.8.8/Net/FTP.pm line 503
    releasing 1 pending lock... at /opt/lib/perl5/site_perl/5.8.8/LockFile/Simple.pm line 206.
    Сам по фтп обновлял, потом забил, и стал зеркалировать репозиторий через http, debmirror, в случае когда зеркалирование идет через http, качает их wget'ом (если меня не подводит память), и собственно это и решило проблемы с падениеми debmirror'а.
    Уже больше полугода зеркалирую репозитории убунты + куча других репозиториев, проблем нет.

  10. #10
    Сделал доступ для анонимусов только для чтения для папки где у меня лежит репозиторий.
    Итак, как это делается:
    Создаем пользователя ftp
    adduser -h /opt/share/www/repo/ ftp

    В vsftpd.conf пишем:
    anonymous_enable=YES
    anon_root=/opt/share/www/repo/

    А cat /etc/apt/sources.list:
    deb ftp://192.168.0.1/ubuntu/ jaunty main restricted universe multiverse
    deb ftp://192.168.0.1/ubuntu/ jaunty-updates main restricted universe multiverse
    deb ftp://192.168.0.1/ubuntu/ jaunty-security main restricted universe multiverse
    deb ftp://192.168.0.1/ubuntu/ jaunty-backports main restricted universe multiverse

  11. #11

    Q&A

    Спасибо!
    Только хотел вопрос задать, а тут уже и ответы понаписали

    Вопрос лишь один остался: реально ли сделать репозиторий (точнее кэш) только используемых пакетов (машинами во внутр. сети)? Правильно ли я понимаю, что нужен apt-cacher-ng?
    Last edited by IRVy; 07-11-2009 at 06:49.

  12. #12
    Join Date
    Nov 2009
    Location
    Люберцы МО
    Posts
    18
    При запуске скрипта показывает ошибку:

    "Use of uninitialized value in split at /opt/lib/perl5/5.8.8/mipsel-linux/DynaLoader.pm line 80.

    Patch binary missing, falling back to --pdiff=none

    Ed binary missing, falling back to --pdiff=none".

    Зеркалирование начинает, до конца так ни разу и не дошел почему то. Запускается ежедневно через Cron. Уже как месяц зазеркалировать не может. Вопрос. У всех есть такая ошибка при запуске, или только у меня?

  13. #13
    Join Date
    Oct 2009
    Posts
    529
    Blog Entries
    1

    Question

    Quote Originally Posted by IRVy View Post
    реально ли сделать репозиторий (точнее кэш) только используемых пакетов (машинами во внутр. сети)? Правильно ли я понимаю, что нужен apt-cacher-ng?
    Вполне реально. Если еще есть заинтересованные в apt-cacher-ng на роутере - прошу отозваться.
    (да, я знаю, что вопрос был задан в 2009 году )

Similar Threads

  1. Обновление репозитория Entware
    By ryzhov_al in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 47
    Last Post: 14-09-2017, 04:29
  2. Установка rTorrent + ruTorrent из репозитория Entware
    By ryzhov_al in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 174
    Last Post: 11-02-2016, 14:29
  3. Установка Debian на роутер Asus WL-500gP/RT-N10U/N16 (MIPS)
    By Oleg in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 156
    Last Post: 02-10-2014, 12:17
  4. Обсуждение названия прошивки и репозитория.
    By lly in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 69
    Last Post: 20-05-2013, 19:22
  5. Replies: 229
    Last Post: 19-10-2012, 14:40

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •