Инструменты пользователя

Инструменты сайта


how-to:debmirror

Debmirror

Параметры

  • nosourse — не закачивать пакеты с исходным кодом (экономит место на диске);
  • passive — пассивный режим загрузки;
  • i18n — загружать перевод для описания пакетов;
  • host — URL репозитория;
  • root — путь к репозиторию на сайте (подкаталог, содержащий репозиторий);
  • method — метод скачивания (http, ftp, hftp, rsync);
  • progress — отображение состояния скачивания;
  • dist — версия дистрибутива ОС (lenny, squeeze, …);
  • arch — архитектура ОС (i386, amd64);
  • section — подраздел репозитория с пакетами (main,contrib,non-free; для Ubuntu — main,multiverse,univrese, …);
  • cleanup — принудительная очистка каталогов репозитория от неизвестного содержимого (неизвестных пакетов);
  • ignore-release-gpg — игнорировать отсутствие цифровой подписи (полезно при скачивании с некоторых интернет-зеркал официального репозитория, хотя и менее безопасно).

Nginx

Для доступа через nginx, добавляем сайт (пример default):

server {
    listen 80 default_server;

    root /var/www;
    server_name localhost;

    location ~ /ubuntu/ {
	autoindex    on;
    }
}

Ошибки

Release gpg signature does not verify

gpgv: keyblock resource `/root/.gnupg/trustedkeys.gpg': file open error
gpgv: Signature made Thu 17 Apr 2014 10:24:22 PM YEKT using DSA key ID 437D05B5
gpgv: Can't check signature: public key not found gpgv: Signature made Thu 17 Apr 2014 10:24:22 PM YEKT using RSA key ID C0B21F32
gpgv: Can't check signature: public key not found Release
gpg signature does not verify.

Для игнорирования данной ошибки добавляем опцию:

–ignore-release-gpg

Или же добавляем отсутствующие ключи из самого дистрибутива:

sudo gpg --no-default-keyring -a --keyring /usr/share/keyrings/ubuntu-archive-keyring.gpg --export <key_ID> | gpg --no-default-keyring --keyring ~/.gnupg/trustedkeys.gpg --import -

или если таких ключей нет, то из интернета:

sudo gpg --keyserver keyserver.ubuntu.com -a --no-default-keyring --keyring trustedkeys.gpg --recv-keys <key_ID>

где <key_ID> - ключ, которого недосчитался gpgv в debmirror.

http://oleg.in-da.ru/soft/debmirror/release_signature_does_not_verify

[GNUPG:] NO_PUBKEY

[GNUPG:] ERRSIG 40976EAF437D05B5 17 10 00 1441960676 9
[GNUPG:] NO_PUBKEY 40976EAF437D05B5
[GNUPG:] ERRSIG 3B4FE6ACC0B21F32 1 10 00 1441960676 9
[GNUPG:] NO_PUBKEY 3B4FE6ACC0B21F32
gpgv: Signature made Fri 11 Sep 2015 01:37:56 PM YEKT using DSA key ID 437D05B5
gpgv: Can't check signature: public key not found
gpgv: Signature made Fri 11 Sep 2015 01:37:56 PM YEKT using RSA key ID C0B21F32
gpgv: Can't check signature: public key not found
Release gpg signature does not verify.

Добавляем отсутствующий PUBKEY:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5 3B4FE6ACC0B21F32
sudo gpg --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5 3B4FE6ACC0B21F32
sudo gpg --no-default-keyring -a --export 40976EAF437D05B5 3B4FE6ACC0B21F32 | gpg --no-default-keyring --keyring trustedkeys.gpg --import -

и указываем debmirror файл trustedkeys.gpg (–keyring=…/trustedkeys.gpg)

Не скачиваются пакеты i18n

Применяем патч https://bugs.launchpad.net/ubuntu/+source/debmirror/+bug/1186976

patch -p0 <new-patch

Use of uninitialized value $size in numeric eq (==) at /usr/bin/debmirror line 1645.

Примеры

Создание репозитария mirror.sh:

#!/bin/bash
#mirror trusty ver0.2
 
arch=i386,amd64
section=main,restricted,universe,multiverse,main/debian-installer,restricted/debian-installer,universe/debian-installer,multiverse/debian-installer
release=trusty,trusty-security,trusty-updates
server=archive.ubuntu.com
inPath=/ubuntu
proto=rsync
outPath=/data/mirror/ubuntu
log=/data/mirror/mirror.log
 
debmirror       -a $arch \
                --no-source \
                --i18n \
                --exclude='/Translation-.*\.bz2$' \
                --include='/Translation-en\.*\.bz2$' \
                --include='/Translation-ru\.*\.bz2$' \
                -s $section \
                -h $server \
                -d $release \
                -r $inPath \
                --progress \
                -e $proto \
                --ignore-release-gpg \
                $outPath \
> $log
how-to/debmirror.txt · Последнее изменение: 127.0.0.1