Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: [Wiki] [HOWTO] Создание зеркала репозиториев с помощью apt-mirror  (Прочитано 3010 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Malamut

  • Автор темы
  • Ubuntu Member
  • Администратор
  • Старожил
  • *
  • Сообщений: 3311
  • Я добрый, честно!
    • Просмотр профиля
    • Моя страница на Launchpad
Собственно само HOWTO на нашем ресурсе для документации:

http://help.ubuntu.ru/wiki/apt-mirror




В статье описан способ создания полного зеркала нужных репозиториев с помощью утилиты apt-mirror.



Вы можете свободно исправлять найденные ошибки и дополнять статью, поскольку она располагается на Wiki-ресурсе. Правки всячески приветствуются! Если вы тоже хотите написать полезную статью - пишите её на http://help.ubuntu.ru/wiki, этот раздел форума в идеале предназначен только для обсуждений.
"Носителем суверенитета и единственным источником власти в Российской Федерации является ее многонациональный народ" Конституция РФ

Оффлайн avi9526

  • Активист
  • *
  • Сообщений: 618
  • ахтыжъёшкинкот
    • Просмотр профиля
    • Блог av9526
apt-mirror у меня не захотело работать с каталогом который находится в моей домашней папке /home/avi9526/...
(у меня в / мало место, хватает только в /home)
touch: невозможно выполнить touch для «/home/avi9526/Setup/Repository/Ubuntu/var/apt-mirror.lock»: Отказано в доступекак я понял так делать нельзя (долго мучался а оно не работает), но в howto об этом не сказано
зато заработало с папкой
/home/apt-mirrorувы я плохо знаю линукс и мог нахимичить, но если я прав - прошу отредактировать howto с упоминанием маленького нюанса для чайников типа меня
Ubuntu 14.10

Оффлайн maxkamensky

  • Любитель
  • *
  • Сообщений: 94
    • Просмотр профиля
на тот каталог, куда будут сливаться файлы дай права на apt-mirror  и сделай его оунером
что-то типа:
chmod 777 /home/apt-mirror
chown -R apt-mirror:apt-mirror /home/apt-mirror

touch: невозможно выполнить touch для «/home/avi9526/Setup/Repository/Ubuntu/var/apt-mirror.lock»
первым делом пропиши каталог попроще в /etc/apt/mirror.list, чтобы не было такого длинного хвоста, потом будет проще и удобнее
сам делал недавно зеркало и столкнулся с той же проблемой
вместо этой команды sudo -u apt-mirror apt-mirror делал команду #apt-mirror, т.е. просто запускал от рута и все.
весь репозитарий зеркалился на ура.
статью пользовал эту же самую.
в системный кронтаб потом от рута записал команду для обновления и все.
все в тексте есть. что не понятно конкретно - спрашивай. на каком шаге проблема-то? :coolsmiley:
Зачем спрашивать "Как дела?", если мы живём в одной стране?

Оффлайн Mozgoed

  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Многих также интересует вопрос "Какой размер репозитория ubuntu" и "как удалить старые версии пакетов репозитория ubuntu"?

0.Требования к запуску программы.
Практически такие же как и у автора программы.
Windows 2000, Windows XP, Windows Server 2003 - Нужен .Net Framework 2.0
Windows Vista, Windows 7 - Ничего не нужно.
Ubuntu 10.10 - Нужен пакет Mono. Запускать можно через консоль "mono ubuntu-repository.exe".

1.Как узнать размер скачиваемого репозитория?
Моя программа позволяет в интерактивной форме узнать размеры репозитория и отдельных его частей.
а) Выбираете нужные дистрибутивы(первая колонка).
б) Выбираете компоненты распространения (вторая колонка).
в) Выбираете архитектуру процессора (третья колонка)
г)Повторяете операцию (а,б,в) для каждого релиза, который вам нужен (на момент публикации этого сообщения актуальной была Oneiric).
Жмёте "Анализ". Прога изучает все вкладки и по каждой выдаёт суммарный размер репозитория. И в конце выдаёт размер всего-всего, что вы выбрали вообще.
Программа не создаёт никаких временных файлов в процессе "Анализа", поэтому считается полностью Portable. (можно даже с CD запускать)

2. Как скачать Ubuntu репозиторий?
Данная программа может скачать ubuntu репозиторий с опциональным выбором его частей.
а) Выбираете нужные дистрибутивы(первая колонка).
б) Выбираете компоненты распространения (вторая колонка).
в) Выбираете архитектуру процессора (третья колонка)
г)Повторяете операцию (а,б,в) для каждого релиза, который вам нужен (Dapper в репозитории Ubuntu.com более не хранится).
Жмёте кнопку скачивания. Программа скачивает пакеты связанные с выбранными настройками.
+ Программа поддерживает настройку попыток скачивания каждого пакета. Нажмите кнопку "..." для изменения настроек. 0 - при любой ошибке пакет пропускается и начинается скачивание следующего. 1 - будет ещё одна попытка скачивания. 2 - и т.д.
+ Внимание Новая функция "Очистка" - позволяет очистить любой репозиторий от ненужных ветвей пакетов.
Допустим в вашем репозитории находятся полные релизы maverick и natty. Все компьютеры вы перевели на новую версию Natty. Получается, что репозиторий хранит целых 40 ГБ ненужных теперь пакетов. Вариант удаления репозитория и скачивания его заново с новыми параметрами долгий. гораздо проще очистить его от ненужных пакетов. Нажмите флажок "Очистка" и выберите те ветви репозитория, которые должны остаться после обновления.
Будьте внимательны! Лишние ветви репозитория будут безвозвратно удалены! Однако плюсом этой обработки будет то, что заодно будет произведено удаление устаревших версий пакетов и пустых папок.

2. Как автоматически обновлять репозиторий по расписанию?
Новая функция Ubuntu-repository позволяет выполнять обновление по расписанию с периодичностью от раза в 104 дня и 4 часа -> до одного раза в час. Новое обновление не начнётся пока не будет завершено предыдущее.
Для указания времени обновления нажмите кнопку "..." и укажите время обновления с помощью счётчиков. При сбросе счётчиков дней и часов в 0 - режим обновления по расписанию отключается.

3. Как удалить устаревшие пакеты из скачанного репозитория?
Такой вопрос часто возникает когда вы несколько раз обновили репозиторий с помощью другой программы, но она забыла удалить устаревшие пакеты. А по причине огромного размера репозитория сделать это вручную очень-очень долго.
а) Нажать кнопку "Обзор" и выбрать корневую папку репозитория. (в ней должны быть папки "dists" и "pool")
б) Нажать кнопку "Удалить старые пакеты". Дождаться окончания сканирования пакетов в репозитории (окно может зависнуть, потому что ещё не успел распаралелить процессы), и дождаться окончания сканирования пакетов в папке "pool" (Процесс ещё более долгий...  :( )
в) Откроется окошко о результатах предварительного сканирования. Согласившись с вопросом о начале Удаления, ждём окончания работы программы.
Совет: Если в pool'e файлов меньше, чем официально должно быть, значит репозиторий не полный. Если наоборот - много больше, то либо репозиторий перегружен старыми версиями, либо стоит подумать, жать ли кнопку "Да". Потому что вся эта разница будет наверняка удалена.
Для пытливых умов скажу алгоритм работы. Потому что возможно функция удаления старых пакетов Вас не устроит и удалит что-то лишнее из репозитория. Итак:
I) Создаётся список всех файлов в папке pool.
II) Находятся все Packages.gz в файле Release в корне репозитория и из каждого архива вынимаются все ссылки на файлы.
III) Потом для каждого файла из первого списка ищется соответствие во втором списке. Если находится, то файл не трогается. Если не находится, то файл физически удаляется.
Данная функция программы тоже полностью Portable.

BugFixes:
-Исправлена ошибка при удалении старых пакетов (удалялся один пакет)
+При удалении старых пакетов пустые папки теперь удаляются
-Исправлена ошибка расчёта времени скачивания
« Последнее редактирование: 18 Сентябрь 2011, 14:55:56 от Mozgoed »

Оффлайн autokilla47

  • Любитель
  • *
  • Сообщений: 90
    • Просмотр профиля
сделал все по инструкции с сайта http://help.ubuntu.ru/wiki/apt-mirror , запустил,оставил на ночь - пришел и пустые папки(((посмотрел один из логов в /var,а там следующее:
Устанавливается соединение с archive.ubuntu.com|91.189.88.40|:80... ошибка: Время ожидания соединения истекло.
Продолжение попыток.
в чем проблема????
заранее спасибо!

имеется прокся....
« Последнее редактирование: 07 Декабрь 2011, 14:23:25 от autokilla47 »

Оффлайн maxkamensky

  • Любитель
  • *
  • Сообщений: 94
    • Просмотр профиля
доброго localtime  :coolsmiley:
вывод команды:
cat /etc/apt/apt.conf
cat /etc/environment
возможно не совсем корректно прописан проксик
Зачем спрашивать "Как дела?", если мы живём в одной стране?

Оффлайн autokilla47

  • Любитель
  • *
  • Сообщений: 90
    • Просмотр профиля
Acquire::http::proxy "http://10.69.1.5:3318/";
Acquire::ftp::proxy "ftp://10.69.1.5:3318/";
Acquire::https::proxy "https://10.69.1.5:3318/";

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
http_proxy="http://10.69.1.5:3318/"
ftp_proxy="ftp://10.69.1.5:3318/"
https_proxy="https://10.69.1.5:3318/"

 все так...

Оффлайн maxkamensky

  • Любитель
  • *
  • Сообщений: 94
    • Просмотр профиля
Acquire::http::proxy "http://10.69.1.5:3318/";
Acquire::ftp::proxy "ftp://10.69.1.5:3318/";
Acquire::https::proxy "https://10.69.1.5:3318/";

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
http_proxy="http://10.69.1.5:3318/"
ftp_proxy="ftp://10.69.1.5:3318/"
https_proxy="https://10.69.1.5:3318/"

 все так...


а проксик без авторизации?? чисто прозрачный?
если не прозрачный, то должно быть так (для 10,04):
Acquire::http::proxy "http://username:userpass@10.69.1.5:3318/";

если прозрачный, то проверь, что просто идет хотя бы обновление через консоль
Зачем спрашивать "Как дела?", если мы живём в одной стране?

Оффлайн autokilla47

  • Любитель
  • *
  • Сообщений: 90
    • Просмотр профиля
Acquire::http::proxy "http://10.69.1.5:3318/";
Acquire::ftp::proxy "ftp://10.69.1.5:3318/";
Acquire::https::proxy "https://10.69.1.5:3318/";

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
http_proxy="http://10.69.1.5:3318/"
ftp_proxy="ftp://10.69.1.5:3318/"
https_proxy="https://10.69.1.5:3318/"

 все так...


а проксик без авторизации?? чисто прозрачный?
если не прозрачный, то должно быть так (для 10,04):
Acquire::http::proxy "http://username:userpass@10.69.1.5:3318/";

если прозрачный, то проверь, что просто идет хотя бы обновление через консоль
нет..у нас прокси по айпишнику...на клиенте через консоль тоже не обновляется...оч странно...полюбому какая то мелочь(

Оффлайн maxkamensky

  • Любитель
  • *
  • Сообщений: 94
    • Просмотр профиля
шаманьте проксю  ;)
apt-mirror тут не при чем  :coolsmiley:
Зачем спрашивать "Как дела?", если мы живём в одной стране?

 

Страница сгенерирована за 0.073 секунд. Запросов: 24.