- APT в ALT Linux/IsoFromRepository
- Создание образа CD/DVD-диска из локального репозитория
- Alt linux iso репозиторий
- Глава 67. Добавление репозиториев
- 67.1. Программа управления пакетами Synaptic
- APT в ALT Linux/CreateRepository
- Структура APT-RPM репозитория
- Размещение пакетов
- Создание/обновление метаинформации
- Полезные советы
- Создание «скелета» репозитория
- Добавление произвольного набора пакетов в репозиторий
- Создание репозитория на основе содержимого кэша APT
- Автоматизация добавления пакетов в репозиторий
- Запись репозитория на CD/DVD
- rpm-dir
- Releases/Download
- Получение дистрибутивов ALT
- BitTorrent
- HTTP/FTP/RSYNC
- Зеркала
- Россия
- Беларусь
- Казахстан (8 платформа)
- Запад
- Локальные зеркала
- Keywords
APT в ALT Linux/IsoFromRepository
Создание образа CD/DVD-диска из локального репозитория
Структура диска с репозиторием, который можно подключить с помощью команды apt-cdrom, достаточно проста:
Канонический вариант создания таких дисков — утилита distribute из одноимённого пакета (см. документацию).
Для простых случаев можно использовать нижеприведённый скрипт, который создаёт iso-файл из локального репозитория (изначально предназначался для создания образов репозиториев updates и backports, и поэтому может требовать небольшого приложения напильника в других случаях).
Внимание: этот скрипт не умеет разбивать репозиторий на несколько CD/DVD-образов!
updates2iso.sh
#!/bin/sh ## Create apt-getable ISO image ## from ALT Linux updates/backports mirror ## Artem Zolochevskiy , 2006 PUBLISHER="" ### ---------------------------------- ### ### -- don't edit below this line -- ### ### ---------------------------------- ### PROG="$(basename $0)" VERSION="0.1" usage() < echo "usage: $PROG /path/to/mirror/" ># check arguments if [ $# = 0 ] then usage exit 1 fi for arg in $*; do case $arg in --version|-V|-v) echo "$PROG $VERSION" exit 0 ;; --help|-h) usage exit 0 ;; -*) echo "$PROG: $arg: unknown option" >&2 exit 1 esac done # check path to updates mirror if [ ! -f $1/i586/base/release ] then echo "$PROG: no release file found. wrong path to updates/backports mirror?" >&2 exit 1 fi # updates or backports if grep -s -q "^Description: Not Available" $1/i586/base/release then DESCRIPTION="ALT Linux $(basename $1) backports" else DESCRIPTION="$(grep ^Description: $1/i586/base/release | sed 's/^Description: //')" fi # some vars DATE="$(grep ^Date: $1/i586/base/release | cut -d" " -f3,4,5 | tr " " .)" DESCRIPRION_PLUS_DATE="$DESCRIPTION ($DATE)" ISO_IMAGE="$(echo "$DESCRIPTION-$DATE.iso" | tr [:upper:] [:lower:] | tr " " _)" # display what we are going to do echo " >>>" echo " >>> creating \"$DESCRIPRION_PLUS_DATE\" iso" echo " >>>" # create temporary .disk/info and README.txt files TMP_DIR="$(mktemp -d)" mkdir $TMP_DIR/.disk/ cat $TMP_DIR/.disk/info $DESCRIPRION_PLUS_DATE EOF cat $TMP_DIR/README.txt $DESCRIPRION_PLUS_DATE To add this disk do as root: apt-cdrom add EOF # set publisher and preparer for mkisofs if [ -z "$PUBLISHER" ] then PUBLISHER="$(whoami)" fi PREPARER="$PUBLISHER" # create iso image makeiso() < mkisofs -J -r -volid "$DESCRIPTION" \ --publisher $PUBLISHER \ --preparer $PREPARER \ --iso-level=4 --joliet-long \ -o $ISO_IMAGE \ $TMP_DIR \ $1 ># display result if makeiso $1 then rm -r -f $TMP_DIR echo " >>>" echo " >>> \"$DESCRIPRION_PLUS_DATE\" ISO gotov!" echo " >>> file: $ISO_IMAGE" echo " >>>" else rm -r -f $TMP_DIR echo "$PROG: creating \"$DESCRIPRION_PLUS_DATE\" ISO failed!" exit 1 fi exit 0
Применять так: updates2iso.sh /путь/к/зеркалу/
Alt linux iso репозиторий
Глава 67. Добавление репозиториев
Эта информация может пригодиться вам для установки дополнительного программного обеспечения из внешних репозиториев.
67.1. Программа управления пакетами Synaptic
Программа Synaptic может использоваться для выбора репозитория, совместимого с вашим дистрибутивом. Для указания конкретного репозитория в меню Параметры → Репозитории отметьте один из предлагаемых вариантов и нажмите кнопку OK . Если вы сомневаетесь, то выбирайте строки, содержащие ftp://ftp.altlinux.org/. К предложенному списку вы можете самостоятельно добавить любые репозитории, нажав на кнопку Создать и введя необходимые данные.
После добавления репозиториев обновите информацию о них: программа управления пакетами Synaptic : Правка → Получить сведения о пакетах .
После выбора и добавления репозиториев необходимо получить сведения о находящихся в них пакетах. В противном случае, список доступных для установки программ будет не актуален.
Непосредственная установка пакетов из добавленных репозиториев ничем не отличается от описанной выше в главе «Установка дополнительного ПО».
APT в ALT Linux/CreateRepository
Для создания репозитория достаточно создать правильную структуру директорий, разместить в ней rpm-пакеты и создать метаинформацию для APT.
Структура APT-RPM репозитория
APT-RPM репозиторий выглядит достаточно просто:
i586/ base/ # метаинформация release pkglist.reponame.bz2 . RPMS.reponame/ # пакеты архитектуры i586 foobar-1.2-5.i586.rpm x86_64/ base/ # метаинформация release pkglist.reponame.bz2 RPMS.reponame/ # пакеты архитектуры x86_64 foobar-1.2-5.x86_64.rpm noarch/ base/ # метаинформация release pkglist.reponame.bz2 RPMS.reponame/ # архитектурно-независимые пакеты
Такая структура формирует три источника для APT ( — место, где располагается репозиторий):
rpm file: i586 reponame rpm file: x86_64 reponame rpm file: noarch reponame
NB: указываем noarch и один из архитектурно-зависимых репозиториев, всё в кучу не надо!
Более изощрённую структуру директорий, когда в репозитории хранятся пакеты с иходным текстом (.src.rpm), общие для нескольких архитектур, а также когда в репозитории имеется несколько компонентов (в данном репозитории компонент один — reponame), можно посмотреть, к примеру, в репозитории ALT Linux Server. Обратите внимание, что в этом репозитории используется отдельная директория files для хранения всех пакетов, и директории RPMS.*/SRPMS.* являются символическими ссылками на поддиректории из files.
Размещение пакетов
Просто разложите пакеты по директориям /RPMS.reponame в зависимости от архитектуры пакета.
Создание/обновление метаинформации
Для создания/обновления метаинформации (файлов, хранящихся в директории base), используйте утилиту genbasedir из пакета apt-repo-tools (до 5.0/branch включительно — apt-utils):
#!/bin/sh REPO_DIR="$1" REPO_NAME="$2" for arch in i586 i686 x86_64 noarch; do genbasedir --bloat --progress --topdir=$REPO_DIR $arch $REPO_NAME done
Полезные советы
Создание «скелета» репозитория
#!/bin/sh REPO_DIR="$1" REPO_NAME="$2" for i in i586 i686 x86_64 noarch; do mkdir -p "$REPO_DIR/$i/base" "$REPO_DIR/$i/RPMS.$REPO_NAME" done
Добавление произвольного набора пакетов в репозиторий
Перед запуском этого скрипта, возможно нужно будет установить недостающие пакеты:
apt-get install /usr/bin/packages
Вот скрипт для добавления пакетов: Файл:Addpackages.sh
После этой операции необходимо обновить метаинформацию. Побочным эффектом является приведение имён файлов с пакетами к «каноническому» виду.
Создание репозитория на основе содержимого кэша APT
Добавьте содержимое кэша APT в репозиторий (см. выше) и обновите метаинформацию (см. выше).
Автоматизация добавления пакетов в репозиторий
Воспользуйтесь скриптами из пакета sisyphus.
Запись репозитория на CD/DVD
rpm-dir
Можно создать репозиторий в виде одного каталога без всяких индексов.
1. Создайте два вложенных каталога:
Примечание: Обратите внимание на наименование архитектуры (x86_64) и компонент dir (после RPMS.). Можете выбрать любые слова.
2. Скопируйте все файлы (например, все файлы *.rpm из /var/cache/apt/archives/ , которые устанавливались вручную или через обновления системы). Делать это нужно под root!
3. На машине, где нужны эти обновления, пропишите репозиторий:
apt-repo add 'rpm-dir file:/ x86_64 dir'
rpm-dir используется в случае, когда в репозитории нет каталога base с индексом пакетов. Его удобно использовать, например, для подключения репозитория с несколькими свежесобранными пакетами. Так делает hasher в режиме по умолчанию (—with-stuff). Однако в этом случае apt-get update будет открывать каждый пакет в репозитории, для большого набора (в частности, для зеркала) такой способ не годится.
Releases/Download
Доступен сайт, предназначенный для удобной загрузки дистрибутивов Альт — getalt.org; он предлагает те, что основаны на текущей стабильной ветке (обычно именно это и требуется).
Получение дистрибутивов ALT
Дистрибутивы ALT свободно доступны в сети по протоколам HTTP, FTP, а также в BitTorrent и с помощью rsync. Распространяются они в виде ISO-образов для записи на CD/DVD, в дополнение к ним поддерживаются репозитории пакетов для установки приложений по сети.
Где именно взять — см. на страничке конкретного варианта (как правило, pN/images/*/).
Если не нашли подходящий — загляните и в стартовые наборы.
Внимание! UNetbootin и UltraISO портят загрузку, штатные способы записи гибридных образов на CD/DVD и USB Flash описаны здесь.
BitTorrent
HTTP/FTP/RSYNC
Зеркала
Россия
- yandex
- http://mirror.yandex.ru/altlinux/ (стартовые наборы, регулярные сборки)
- ftp://mirror.yandex.ru/altlinux/
- rsync://mirror.yandex.ru/altlinux/
- msu
- http://mirror.cs.msu.ru/alt/
- rsync://mirror.cs.msu.ru/alt/
- mephi
- http://mirror.mephi.ru/ALTLinux/
- ftp://mirror.mephi.ru/ALTLinux/
- rsync://mirror.mephi.ru/ALTLinux/
- truenetwork
- https://mirror.truenetwork.ru/altlinux/ (стартовые наборы и регулярные сборки)
- http://mirror.truenetwork.ru/altlinux/ (стартовые наборы и регулярные сборки)
- rsync://mirror.truenetwork.ru/altlinux/
- rsync://mirror.truenetwork.ru/altlinux-nightly/
Беларусь
Казахстан (8 платформа)
Запад
- Университет Пьера и Марии Кюри (Франция)
- http://distrib-coffee.ipsl.jussieu.fr/pub/linux/altlinux/
- ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/altlinux/ (максимум 10 активных анонимных подключений)
- rsync://distrib-coffee.ipsl.jussieu.fr/pub/linux/altlinux
- https
- http
- ftp
- rsync://ftpmirror2.infania.net/ALTLinux/
Локальные зеркала
- Владимир
- http://89.113.204.142:8888/altlinux/ — реверс-прокси на ftp.altlinux.org (сеть Владинфо)
- nfs: 192.168.11.15:/var/ftp/pub/alt — внутренняя сеть БГУИР
- http://10.168.145.62/ — (сети HomeNet, NSUNet)
- http://dom-com.net/ALTLinux/ — локальный для домашней сети Telix
- http://altlinux.tomsk.ru/
- ftp://ftp.altlinux.tomsk.ru/
Keywords
Загрузить ALT Linux; скачать альтлинукс; дистрибутивы альт линукс; download basealt