Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
wiki:создание_зеркала_репозитория [2011/02/09 02:08] |
wiki:создание_зеркала_репозитория [2016/11/01 07:26] [Краткое описание руководства] отделю-ка кэширование, и так огромная статья |
||
---|---|---|---|
Строка 14: | Строка 14: | ||
Таким хранилищем может быть FTP или HTTP сервер, специально сформированный CD/DVD-диск, директория на жёстком диске или флешке. Данная статья описывает различные способы создания локального/сетевого зеркала репозиториев. | Таким хранилищем может быть FTP или HTTP сервер, специально сформированный CD/DVD-диск, директория на жёстком диске или флешке. Данная статья описывает различные способы создания локального/сетевого зеркала репозиториев. | ||
+ | |||
+ | <note>Собственный репозиторий нужен для установки программ на компьютеры, не имеющие доступа в интернет. Если доступ в интернет у вас есть, и вы хотите сэкономить время и трафик при установке программ на множество компьютеров, то лучше использовать [[Кэширование репозиториев|кэширование (проксирование) репозиториев.]]</note> | ||
FIXME - По возможности тут будут собраны все основные способы зеркалирования, создания и распространения репозиториев. | FIXME - По возможности тут будут собраны все основные способы зеркалирования, создания и распространения репозиториев. | ||
Строка 23: | Строка 25: | ||
==== Способ №1. При помощи debmirror ==== | ==== Способ №1. При помощи debmirror ==== | ||
- | FIXME | + | ==== Способ №2. При помощи ubuntu-repository.exe ==== |
+ | Многих также интересует вопрос "**Какой размер репозитория ubuntu**" и "**как удалить старые версии пакетов репозитория ubuntu**"? | ||
+ | {{:wiki:screen.jpg?nolink&400|http://mozgoed-mgoy.narod.ru/ubuntu-repository/screen.jpg}} | ||
+ | 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 более не хранится). | ||
+ | Жмёте кнопку скачивания. Программа скачивает пакеты связанные связанные с выбранными настройками. | ||
+ | **Внимание!** Возможность скачивания находится на стадии beta и при слабом Интернет соединении может падать программа. | ||
+ | |||
+ | 3. **Как удалить устаревшие пакеты из скачанного репозитория?** | ||
+ | Такой вопрос часто возникает когда вы несколько раз обновили репозиторий с помощью другой программы, но она забыла удалить устаревшие пакеты. А по причине огромного размера репозитория сделать это вручную очень-очень долго. | ||
+ | - Нажать кнопку "Обзор" и выбрать корневую папку репозитория. (в ней должны быть папки "//dists//" и "//pool//") | ||
+ | - Нажать кнопку "Удалить старые пакеты". Дождаться окончания сканирования пакетов в репозитории (окно может зависнуть, потому что ещё не успел распаралелить процессы), и дождаться окончания сканирования пакетов в папке "pool" (Процесс ещё более долгий... :( ) | ||
+ | - Откроется окошко о результатах предварительного сканирования. Согласившись с вопросом о начале Удаления, ждём окончания работы программы. | ||
+ | Совет: Если в pool'e файлов меньше, чем официально должно быть, значит репозиторий не полный. Если наоборот - много больше, то либо репозиторий перегружен старыми версиями, либо стоит подумать, жать ли кнопку "Да". Потому что вся эта разница будет наверняка удалена. | ||
+ | Для пытливых умов скажу алгоритм работы. Потому что возможно функция удаления старых пакетов Вас не устроит и удалит что-то лишнее из репозитория. Итак: | ||
+ | - Создаётся список всех файлов в папке pool. | ||
+ | - Находятся все Packages.gz в файле Release в корне репозитория и из каждого архива вынимаются все ссылки на файлы. | ||
+ | - Потом для каждого файла из первого списка ищется соответствие во втором списке. Если находится, то файл не трогается. Если не находится, то файл физически удаляется. | ||
+ | Данная функция программы тоже полностью Portable. | ||
+ | |||
+ | //BugFixes:// | ||
+ | |||
+ | -Исправлена ошибка при удалении старых пакетов (удалялся один пакет) | ||
+ | |||
+ | +При удалении старых пакетов пустые папки теперь удаляются | ||
+ | |||
+ | Скачать последнюю версию | ||
+ | [[http://mozgoed-mgoy.narod.ru/ubuntu-repository/ubuntu-repository.zip]] | ||
===== Создание "доверенного" репозитория ===== | ===== Создание "доверенного" репозитория ===== | ||
Строка 34: | Строка 82: | ||
FIXME - описание. | FIXME - описание. | ||
+ | |||
+ | ==== Прокси репозитория ==== | ||
+ | * [[fullcircle/26/apt_cacher|Apt-Cacher на нескольких ПК]] | ||
+ | * [[Установка программ на несколько компьютеров#Apt-proxy|Apt-proxy]] | ||
==== http доступ к репозиторию ==== | ==== http доступ к репозиторию ==== | ||
FIXME | FIXME | ||
+ | |||
==== Репозиторий на CD/DVD ==== | ==== Репозиторий на CD/DVD ==== | ||
+ | === APTonCD === | ||
+ | см. [[Установка программ на несколько компьютеров#APTonCD|APTonCD]] | ||
+ | |||
+ | === Вручную через debmirror === | ||
Описана последовательность действий для lucid (10.04) в других версиях некоторые шаги могут не понадобиться или наоборот - потребоваться что-то ещё. | Описана последовательность действий для lucid (10.04) в других версиях некоторые шаги могут не понадобиться или наоборот - потребоваться что-то ещё. | ||
Строка 55: | Строка 112: | ||
- | **3.** Готовим каталоги дисков: | + | **3.** Если создать каталоги дисков прямо сейчас, то пакеты на дисках будут расположены как попало. Чтобы этого избежать, отсортируем пакеты по популярности с помощью статистики сайта http://popcon.ubuntu.com: |
+ | |||
+ | <code>wget --output-document - http://popcon.ubuntu.com/all-popcon-results.txt.gz | zcat | ruby -ne '/(\S+)\s+(\d+)\s+\d+\s+(\d+)/ =~ $_; puts "#{$2.to_i+$3.to_i} #{$1}"' | sort -nr | cut -d' ' -f2 | grep -v Package | grep -v '^$' > ~/ubuntu_packages_popularity.txt</code> | ||
+ | |||
+ | После этого в домашнем каталоге появится файл ~/ubuntu_packages_popularity.txt, в котором содержится список пакетов, отсортированный по убыванию популярности. На следующем шаге мы подсунем его debpartial. Таким образом, все самые необходимые пакеты окажутся на первых двух-трех DVD. | ||
+ | |||
+ | |||
+ | **4.** Готовим каталоги дисков: | ||
<code>debpartial --nosource --dirprefix=ubuntu --section=main,restricted,multiverse,universe --dist=lucid,lucid-security,lucid-updates,lucid-backports --arch=i386 --size=DVD ubuntu/ ubuntu-dvd/</code> | <code>debpartial --nosource --dirprefix=ubuntu --section=main,restricted,multiverse,universe --dist=lucid,lucid-security,lucid-updates,lucid-backports --arch=i386 --size=DVD ubuntu/ ubuntu-dvd/</code> | ||
+ | |||
Соответственно, если нужен amd64 то замените слово **i386** на него. | Соответственно, если нужен amd64 то замените слово **i386** на него. | ||
+ | Если на предыдущем шаге вы создали список популярности пакетов, то нужно указать debpartial обрабатывать пакеты по порядку в соответствии с ним - добавьте опцию --include-from=//имя файла// | ||
+ | <code>debpartial --include-from=ubuntu_packages_popularity.txt --nosource --dirprefix=ubuntu --section=main,restricted,multiverse,universe --dist=lucid,lucid-security,lucid-updates,lucid-backports --arch=i386 --size=DVD ubuntu/ ubuntu-dvd/</code> | ||
- | **4.** Создаём скрипт ruby для копирования пакетов по дискам. | + | **5.** Создаём скрипт ruby для копирования пакетов по дискам. |
Любым текстовым редактором. Вот его содержимое, которое необходимо туда скопировать: | Любым текстовым редактором. Вот его содержимое, которое необходимо туда скопировать: | ||
Строка 254: | Строка 321: | ||
- | **5.** Распихиваем пакеты по дискам вышесозданным скриптом: | + | **6.** Распихиваем пакеты по дискам вышесозданным скриптом: |
<code>$ sudo ruby debcopy ubuntu/ ubuntu-dvd/ubuntu0 | <code>$ sudo ruby debcopy ubuntu/ ubuntu-dvd/ubuntu0 | ||
Строка 262: | Строка 329: | ||
- | **6.** Создаём идентификаторы дисков чтобы apt(synaptic) не ругался: | + | **7.** Создаём идентификаторы дисков чтобы apt(synaptic) не ругался: |
<code>mkdir ubuntu-dvd/ubuntu0/.disk | <code>mkdir ubuntu-dvd/ubuntu0/.disk | ||
Строка 278: | Строка 345: | ||
Можно написать что-нибудь свое. Номер **DVD-X** соответственно менять. | Можно написать что-нибудь свое. Номер **DVD-X** соответственно менять. | ||
- | **7.** И наконец последний шаг. **Закатываем пакеты в образы**: | + | **8.** И наконец последний шаг. **Закатываем пакеты в образы**: |
<code>mkisofs -f -J -r -V "Ubuntu 10.04 1/8" -o ubuntu-10.04-$(date -I)-complete-i386-dvd1.iso ubuntu-dvd/ubuntu0 | <code>mkisofs -f -J -r -V "Ubuntu 10.04 1/8" -o ubuntu-10.04-$(date -I)-complete-i386-dvd1.iso ubuntu-dvd/ubuntu0 | ||
Строка 358: | Строка 425: | ||
https://help.ubuntu.com/community/Repositories/Personal | https://help.ubuntu.com/community/Repositories/Personal | ||
- | {{tag> HOWTO FIXME Администрирование Server Linux_на_предприятии}} | + | {{tag> HOWTO FIXME Apt Администрирование Server Linux_на_предприятии}} |