Как правильно создать локальное зеркало с помощью debmirror?

Автор zzplex, 16 февраля 2024, 10:02:04

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

zzplex

Здравствуйте уважаемые. Подскажите пожалуйста что указывать в значении host команды debmirror.
На данном этапе открыл sources.list и для первой строчки:
deb http://deb.debian.org/debian/ bookworm main contrib non-free non-free-firmware
сделал локальное зеркало указав host=deb.debian.org
Все получилось, но в sources.list не одна же строчка. Взял еще одну строчку:
deb http://security.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware
и сделал то же самое для host=security.debian.org в другую директорию. Объем во втором случае оказался значительно меньше, но при беглом просмотре я нашел одинаковые файлы для первого и второго значения host.
Кроме того сегодня решил установить virtualbox и обнаружил, что в репозитории указанном в wiki.debian.org не все пакеты чтобы удовлетворить зависимости. Добавил
другой:
deb http://ftp.ru.debian.org/debian/ sid  main contrib
для того чтобы установить зависимый пакет, а тот что описан в wiki для virtualbox убрал и обаружил, что там есть все, и зависимые пакеты и virtualbox. Но после этого я совсем запутался, в одном репозитории есть одно, в другом другое, но может быть часть того что в первом. И как же создать локальное зеркало, чтобы избежать дубликатов файлов, например если я сделаю debmirror для каждой строчки sources.list в разные директории?


 

dzhoser

#1
Ветка security для исправления безопасности, как правило в ней содержатся патчи безопасности и пакеты  этим и отличаются  от главной ветки. Позже эти пакеты могут быть добавлены в ветку main. Если забить на безопасность учитывая локальность системы ветку securyty можно не использовать.
Ubuntu->Linux mint->Astra Linux SE->Debian 12
Для новичков

ogost

Не совсем в тему, но можно apt-cacher-ng использовать для кеширования пакетов.

zzplex

#3
Цитата: dzhoser от 16 февраля 2024, 10:35:37Если забить на безопасность учитывая локальность системы ветку securyty можно не использовать.
Полезная информация, спасибо. А не знаете случаем чем отличается http://deb.debian.org/debian/ от http://ftp.ru.debian.org/debian/?


16 февраля 2024, 18:44:56
Цитата: ogost от 16 февраля 2024, 13:45:05Не совсем в тему, но можно apt-cacher-ng использовать для кеширования пакетов.
Почитал, спасибо буду знать, но мне это не нужно пока.

yoric

#4
Давным-давно, когда я ещё был на дебиане, пользовался этим файлом, дать ему имя и права на запуск. Вроде даже конфига не надо, всё в нём. По-своему место загрузки отредактировать, дистрибутив, может ещё чего. Скачивает пакеты, кроме исходников, дебагнутых и ещё чего-то.

#!/bin/sh
REPO=/home/ALLES/debian
HOST=ftp.fi.debian.org
#HOST=mirror.yandex.ru
DISTS=jessie
SECTIONS=main
ARCH=amd64

debmirror -v --host=$HOST --root=debian --method=http --dist=$DISTS --section=$SECTIONS --arch=$ARCH \
    --nosource --i18n --getcontents --exclude=".*-dbg.*\.deb" --exclude="/i18n/Translation-.*\.bz2$" \
    --include="/i18n/Translation-(en|ru)\.bz2$"  --exclude-deb-section="debug" --postcleanup --diff=use $REPO

16 февраля 2024, 18:55:44
Цитата: zzplex от 16 февраля 2024, 18:42:15чем отличается http://deb.debian.org/debian/ от http://ftp.ru.debian.org/debian/?
Должен ничем. Первый официальный, второй доморощенный. На debian.org есть списко доверенных зеркал. И кстати, чтобы из локального хранилища устанавливалось без паники, надо ещё ключи доступа настраивать, где-то у меня тоже было. Если надо.

zzplex

Цитата: yoric от 16 февраля 2024, 18:52:40пользовался этим файлом
Тут вроде бы все понятно, и даже кое что я там увидел чего не использовал, возьму на заметку, спасибо.
Но вот еще кое чего я не понял, что указывать в секции dist. Я указал stable, все скачалось, указал sid, процесс идет, но закралось у меня, что вместо stable надо было bookworm, ведь на той машине Debian 12. Правильно ли я думаю?

Цитата: yoric от 16 февраля 2024, 18:52:40чтобы из локального хранилища устанавливалось без паники
Это в смысле что бы можно было систему переустановить используя локальное зеркало? До этого я еще не дорос и не знаю надо ли это будет мне когда нибудь.


yoric

Цитата: zzplex от 16 февраля 2024, 19:18:57что вместо stable надо было bookworm, ведь на той машине Debian 12
Что на машине стоит, то и указывать. Не уверен уже, что будут работать сокращения типа [un]stable, testing etc. И что будут скачиваться две или больше версий типа jessie, woody etc. Пробовать надо.

Цитата: zzplex от 16 февраля 2024, 19:18:57чтобы можно было систему переустановить используя локальное зеркало?
И даже установить пакет.

Цитата: zzplex от 16 февраля 2024, 19:18:57До этого я еще не дорос и не знаю надо ли это будет мне когда нибудь.
А зачем тогда Вам локальное зеркало, не пойму?))

zzplex

#7
Насчет секции dist сомения были потому что в одном месте написано:
-d ветка дистрибутива (stable, testing, unstable) источник
а в другом:
-d, --dist=foo[,bar,..]
    Specify the distribution (etch, lenny, squeeze, sid) of Debian to mirror. This switch may be used multiple times, and multiple distributions may be specified at once, separated by commas.

    You may also use the stable, testing, unstable, names. источник
И если укажу stable, то не понимаю как debmirror поймет, что мне надо репозиторий Debian 12, там же в директории dists я увидел не только Debian 12, но и 11, и более старые. Но раз в sources.list написано bookworm, значит качаю его, а stable удалил. Всем еще раз спасибо, думаю вопросов больше не будет.

yoric

Потому что stable - это ссылка в хранилище на что там сейчас стабильное. Только и всего. И понимать нечего.

zzplex

Не стал создавать отдельную тему, спрошу тут. Не получается у меня использовать зеркало которое я создал. вот выхлоп apt update:
Открыть содержимое (спойлер)
$ sudo apt update
Пол:1 file:/mnt/data_store/repo/deb.debian.org/debian bookworm InRelease [151 kB]
Пол:1 file:/mnt/data_store/repo/deb.debian.org/debian bookworm InRelease [151 kB]
Пол:2 file:/mnt/data_store/repo/deb.debian.org/debian bookworm/main amd64 Packages [8 786 kB]
Игн:2 file:/mnt/data_store/repo/deb.debian.org/debian bookworm/main amd64 Packages
Пол:3 file:/mnt/data_store/repo/deb.debian.org/debian bookworm/main Translation-ru [459 kB]
Игн:3 file:/mnt/data_store/repo/deb.debian.org/debian bookworm/main Translation-ru
Пол:4 file:/mnt/data_store/repo/deb.debian.org/debian bookworm/main Translation-en [6 109 kB]
Игн:4 file:/mnt/data_store/repo/deb.debian.org/debian bookworm/main Translation-en
...
...
...
Пол:24 file:/mnt/data_store/repo/deb.debian.org/debian bookworm/non-free-firmware DEP-11 48x48 Icons [1 024 B]
Игн:24 file:/mnt/data_store/repo/deb.debian.org/debian bookworm/non-free-firmware DEP-11 48x48 Icons
Пол:25 file:/mnt/data_store/repo/deb.debian.org/debian bookworm/non-free-firmware DEP-11 64x64 Icons [1 024 B]
Игн:25 file:/mnt/data_store/repo/deb.debian.org/debian bookworm/non-free-firmware DEP-11 64x64 Icons
Пол:26 file:/mnt/data_store/repo/deb.debian.org/debian bookworm/non-free-firmware DEP-11 128x128 Icons [1 024 B]
Игн:26 file:/mnt/data_store/repo/deb.debian.org/debian bookworm/non-free-firmware DEP-11 128x128 Icons
Пол:2 file:/mnt/data_store/repo/deb.debian.org/debian bookworm/main amd64 Packages [12,1 MB]
Игн:2 file:/mnt/data_store/repo/deb.debian.org/debian bookworm/main amd64 Packages
Пол:3 file:/mnt/data_store/repo/deb.debian.org/debian bookworm/main Translation-ru [2 847 kB]
Ошб:3 file:/mnt/data_store/repo/deb.debian.org/debian bookworm/main Translation-ru
  Файл не найден - /mnt/data_store/repo/deb.debian.org/debian/dists/bookworm/main/i18n/Translation-ru (2: Нет такого файла или каталога)
Пол:4 file:/mnt/data_store/repo/deb.debian.org/debian bookworm/main Translation-en [32,7 MB]
Игн:4 file:/mnt/data_store/repo/deb.debian.org/debian bookworm/main Translation-en
Чтение списков пакетов... Готово
N: Загрузка выполняется от лица суперпользователя без ограничений песочницы, так как файл «/mnt/data_store/repo/deb.debian.org/debian/dists/bookworm/InRelease» недоступен для пользователя «_apt». - pkgAcquire::Run (13: Отказано в доступе)
E: Не удалось получить file:/mnt/data_store/repo/deb.debian.org/debian/dists/bookworm/main/i18n/Translation-ru  Файл не найден - /mnt/data_store/repo/deb.debian.org/debian/dists/bookworm/main/i18n/Translation-ru (2: Нет такого файла или каталога)
E: Некоторые индексные файлы скачать не удалось. Они были проигнорированы, или вместо них были использованы старые версии.
[свернуть]
Получается что нет прав у юзера _apt. Все вроде сделал, права настроил, но не работает.
Каталог /mnt/data_store/repo и все вложения принадлежат юзеру _apt который входит в группу zzplex. Вот если что атрибуты каталогов:
Открыть содержимое (спойлер)
$ ls -l mnt
итого 4
drwxrwx--- 8 zzplex zzplex 4096 фев 17 12:27 data_store

$ ls -l /mnt/data_store
итого 32
drwx------ 12 zzplex zzplex  4096 фев  4 23:10 arh
drwx------  2 root   root   16384 окт 15 20:40 lost+found
drwx------  5 zzplex zzplex  4096 фев 21  2023 mbr
drwxr-x---  6 _apt   zzplex  4096 фев 22 23:28 repo
drwx------  4 zzplex zzplex  4096 дек 20 17:13 system

zzplex@Dungeon:/$ ls -l /mnt/data_store/repo
итого 20
-rwxr-x--- 1 _apt zzplex 2258 фев 22 01:24 archive.deb.debian.org.sh
-rwxr-x--- 1 _apt zzplex 2195 фев 22 01:24 archive.security.debian.org.sh
drwxr-x--- 4 _apt zzplex 4096 фев 22 01:20 deb.debian.org
drwxr-xr-x 3 root root   4096 фев 22 23:22 key
drwxr-x--- 4 _apt zzplex 4096 фев 22 22:32 security.debian.org
[свернуть]
У каталога mnt атрибуты 777 root:root. Уже и репозиторий подписал, думал в этом дело, но нет, все равно не работает. Подскажите пожалуйста, что не так, а то я сам не могу допетрить.

yoric

Не виже тут особых ошибок. Где попытка поставить пакет? Отсутствующие файлы - да и не особо нужны. Права на каталоги и файлы раньше были самые обычные простые - 755/644 root:root. И важно что ещё в sources.list[.d].

zzplex

#11
в Sources.list.d ничего не было, почитал что это, создал там файл deb.debian.org.list и поместил туда строчку:
deb file:///mnt/data_store/repo/deb.debian.org/debian/ bookworm main contrib non-free non-free-firmware
а в sources.list ее закоментировал. Ничего не изменилось, вот попытка поставить пакет:
Открыть содержимое (спойлер)
sudo apt install fish
Чтение списков пакетов... Готово
Построение дерева зависимостей... Готово
Чтение информации о состоянии... Готово
E: Невозможно найти пакет fish
[свернуть]
А насчет прав, хоть 777 на все, ничего не меняется.

ferum

Русские дебианщики против цифрового слабоумия !

zzplex

#13
Цитата: ferum от 23 февраля 2024, 09:41:28b  за чем ?

Это опечатка уже на форуме когда сообщение писал, прошу прощения. Опечатку в сообщении выше исправил.

23 февраля 2024, 10:24:48
Если что пакет fish в каталоге присутствует:
Открыть содержимое (спойлер)
zzplex@Dungeon:~$ ls -l /mnt/data_store/repo/deb.debian.org/debian/pool/main/f/fish/
итого 10976
-rwxr-x--- 1 _apt zzplex  985816 фев 17 06:17 fish_3.6.0-3.1+deb12u1_amd64.deb
-rwxr-x--- 1 _apt zzplex   21084 фев 17 06:17 fish_3.6.0-3.1+deb12u1.debian.tar.xz
-rwxr-x--- 1 _apt zzplex    2342 фев 17 06:17 fish_3.6.0-3.1+deb12u1.dsc
-rwxr-x--- 1 _apt zzplex 2892296 фев 17 06:17 fish_3.6.0.orig.tar.xz
-rwxr-x--- 1 _apt zzplex     833 фев 17 06:17 fish_3.6.0.orig.tar.xz.asc
-rwxr-x--- 1 _apt zzplex 1003156 фев 17 06:17 fish_3.7.0-1_amd64.deb
-rwxr-x--- 1 _apt zzplex   19420 фев 17 06:17 fish_3.7.0-1.debian.tar.xz
-rwxr-x--- 1 _apt zzplex    2250 фев 17 06:17 fish_3.7.0-1.dsc
-rwxr-x--- 1 _apt zzplex 2961912 фев 17 06:17 fish_3.7.0.orig.tar.xz
-rwxr-x--- 1 _apt zzplex     833 фев 17 06:17 fish_3.7.0.orig.tar.xz.asc
-rwxr-x--- 1 _apt zzplex 1669240 фев 17 06:17 fish-common_3.6.0-3.1+deb12u1_all.deb
-rwxr-x--- 1 _apt zzplex 1652940 фев 17 06:17 fish-common_3.7.0-1_all.deb           
[свернуть]
А debmirror использовал со следующими параметрами:
/usr/bin/debmirror --verbose --host=deb.debian.org --root=debian --method=http --dist=bookworm,sid  --section=main,contrib,non-free,non-free-firmware \
--arch=amd64 --i18n --progress --ignore-release-gpg --ignore-missing-release --md5sum --exclude="/i18n/Translation-.*\.bz2$" \
--include="/i18n/Translation-(en|ru)\.bz2$" --exclude-deb-section="games" /mnt/data_store/repo/deb.debian.org/

А потом в каталоге /mnt/data_store/repo/deb.debian.org/ создал каталог debian и перенес туда все вручную, чтобы дерево каталогов было такое же как на сервере, думал в этом причина.

ferum

Русские дебианщики против цифрового слабоумия !