Настройка репозитория Ubuntu.
Интерес к Linux у меня появился с Ubuntu. Интерес к Ubuntu у меня появился с версии Ubuntu 8.04. Первое, что требуется выяснить в Linux\Ubuntu, как и для любой другой ОС - это как ставить/удалять приложения. Оказалось, что на чисто установленную систему приложения накатываются из инета, но вот если его нет, то нужно организовывать локальный репозиторий, чтобы выкачать эти программы из инета. Вот о создании и пользовании локальным репозиторием я и расскажу.
Причины написания этой статьи: хоть в инете достаточно статей о локальном репозитории, и даже алгоритмы скачивания есть, а вот идёшь по шагам и не работает предложенный алгоритм. Берёшь другую статью и опять тот-же результат. Начинает складываться впечатление, что ребята разок поигрались и забили.
Часть 1. Установим репозиторий.
Давайте уж наконец сделаем репозиторий, а потом поговорим. Репозиторий делается на компьютере с установленной на нём Ubuntu. Версия Ubuntu не имеет значения. Но чем выше, тем лучше, потому что в новых версиях исправлены ошибки скрипта debmirror. Для примера сделаем репозиторий для версии Ubuntu 10.04 32/64 битных версий. Например, я скачиваю и обновляю репозиторий на Ubuntu 10.04.
В терминале выполните команду:
1. sudo apt-get install debmirror
2. Добавим ключи, которыми будем подписывать наш репозиторий:
sudo apt-get install debian-archive-keyring
В каталоге /usr/share/keyrings появятся файлы:
debian-archive-keyring.gpg
debian-archive-removed-keys.gp
debian-archive-removed-keys.gp
3. Добавить ключ в ubuntu:
gpg --no-default-keyring --keyring /usr/share/keyrings/debian-archive-keyring.gpg --export | gpg --no-default-keyring --keyring trustedkeys.gpg --import
4. У меня репозиторий копируется в путь "/media/sf_rep-mirrors/mirror_deb_ubuntu_1004", поэтому команда загрузки репозитория имеет вид:
debmirror --nocleanup --source --passive --host=mirror.yandex.ru --root=ubuntu --method=ftp --rsync-extra=none --progress --verbose --progress --dist=lucid,lucid-backports,lucid-proposed,lucid-security,lucid-update--section=main,restricted,multiverse,universe --arch=i386,amd64 /media/sf_rep-mirrors/mirror_deb_ubuntu_1004
Это самая тяжёлая часть загрузки репозитория. По продолжительности она может длиться сутки-двое и занимать около 100ГБ.
5. После окончания загрузки нужно на компьютерах, где используется эта версия Ubuntu выполнить следующую команду:
sudo nano /etc/apt/sources.list
Откроется текстовый файл в котором нужно закомментировать все ссылки на интернет (или вообще всё стереть) и в конец файла записать:
deb file:/media/sf_rep-mirrors/mirror_deb_ubuntu_1004/ lucid-security main multiverse restricted universe
deb file:/media/sf_rep-mirrors/mirror_deb_ubuntu_1004/ lucid main multiverse restricted universe
deb file:/media/sf_rep-mirrors/mirror_deb_ubuntu_1004/ lucid-updates main multiverse restricted universe
deb file:/media/sf_rep-mirrors/mirror_deb_ubuntu_1004/ lucid-proposed main multiverse restricted universe
deb file:/media/sf_rep-mirrors/mirror_deb_ubuntu_1004/ lucid-backports main multiverse restricted universe
deb file:/media/sf_rep-mirrors/mirror_deb_ubuntu_1004/ lucid main multiverse restricted universe
deb file:/media/sf_rep-mirrors/mirror_deb_ubuntu_1004/ lucid-updates main multiverse restricted universe
deb file:/media/sf_rep-mirrors/mirror_deb_ubuntu_1004/ lucid-proposed main multiverse restricted universe
deb file:/media/sf_rep-mirrors/mirror_deb_ubuntu_1004/ lucid-backports main multiverse restricted universe
После последней строчки обязательно вставить пустую строку. Сохраняем файл, выходим из редактора и набираем:
sudo apt-get update
sudo apt-get upgrade
Вот теперь система начнёт обновляться с локального репозитория. При этом она не будет говорить, что нет ключей для подписи, что очень актуально для версий Ubuntu больших 10.04.
Какие могут возникнуть сложности? Например, во время загрузки периодически отваливается соединение типа "pending lock". Ну что поделать. Тут либо у провайдера, либо у зеркала, откуда вы выкачиваете проблемы. В общем для решения этой проблемы нужно либо поменять источник загрузки, либо протокол, либо, чаще, просто перезапустить загрузку. У меня по этой схеме подключено несколько серверов Ubuntu. Обновляются с локального зеркала без проблем.
Часть 2. Немного о репозитории.
Само понятие репозитория не относится исключительно к операционной системе Ubuntu. Просто это место, откуда берутся пакеты для установки программ. Бывают и сторонние репозитории, например, были репозитории для MySQL, есть для FireFox, maria_db. Есть репозитории для FreeBSD, Debian, OpenSUSE, slackware. Причём локальными их можно делать не только под своей родной ОС, но и под той-же Ubuntu. Только нужно будет настроить загрузку репозиториев по другому протоколу: rsync.
Есть даже сайты, где можно посмотреть список репозиториев для различного ПО.
Часть 3. Несколько настроек для других репозиториев.
Репозиторий Debian:
debmirror --nocleanup --source --passive --host=mirror.yandex.ru --root=debian --method=ftp --progress --ignore-release-gpg --dist=squeeze --arch=i386,amd64 --section=main,contrib,non-free /media/sf_rep-mirrors/debian_squeeze
Репозиторий FreeBSD:
rsync -av -e ssh --progress u142721.almaz.cmdb:/media/USB640GB/mirrors/mirror_freeBSD/ /media/files/mirrors/mirror_freeBSD/
Для opensuse 11.4:
rsync -a -v -v --delete-after --progress --stats u142721.almaz.cmdb:/media/USB640GB/mirrors/mirror_opensuse_1104/repo/ /media/files/mirrors/mirror_opensuse_1104/repo/
Если вам пригодились мои настройки - пользуйтесь.
Если вам пригодились мои настройки - пользуйтесь.
Комментариев нет:
Отправить комментарий