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
